Skip to content

ShapesOut: outlines as annotations - #7

Merged
guijacquemet merged 1 commit into
mainfrom
claude/shapes-out
Oct 7, 2026
Merged

guijacquemet merged 1 commit into
mainfrom
claude/shapes-out

Conversation

@guijacquemet

Copy link
Copy Markdown
Contributor

Host side of ShapesOut (Tools PR CellMigrationLab/LabConstrictor-Tools#31, merged). GeoJSON outlines become annotations named <app>:<output> <label> on the image they were found in (when that was the image open in QuPath): holes and parts are kept (JTS geometry), numeric properties become measurements, Replace() removes the previous annotations of the output, up to 50 000 are added and the message says how many were left out. Pixel centres are respected (+0.5).

Two Groovy traps found and fixed on the way (commented in the code): on a Gson map feature.properties and feature["properties"] return Groovy's bean properties, not the JSON key (use .get), and Gson reads every number as a double (labels are printed as integers).

New GUI test body gui_test_shapes_body.groovy (6 checks: one annotation per blob, names, measurements, hole kept, on the image, Replace). All suites re-run (earlier bodies plus widgets, copy and shapes): 71 PASS, no failures.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN


Generated by Claude Code

…perties as measurements, Replace); GUI test body

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
@guijacquemet
guijacquemet merged commit 4acda8e into main Oct 7, 2026
@guijacquemet
guijacquemet deleted the claude/shapes-out branch October 14, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants