Repository navigation
Form labels never shrink to their ⓘ; many outlines are classified instead of named - #47
Merged
Merged
Conversation
…sified, not named - The label column of every form grid keeps the labels' preferred width: with a wide control (an image row) JavaFX kept only the ⓘ graphic of each label and dropped its text, so the form showed no parameter names. - Outline annotations get the classification <app>:<output>. Above 50 outlines they get no names: QuPath draws every name over the image, which hid a segmentation of hundreds of nuclei; the label stays a measurement. Replace() removes the previous outlines by name or classification. - Tests: the shapes body checks the classification; the UI audit oracle finds unnamed outlines by classification. README and user guide updated. Found while testing a StarDist 2D app (284 nuclei) in QuPath 0.7.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WX6rdRdA72nsUjZvTXFSbP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two problems found while running a StarDist 2D LabConstrictor app (284 nuclei on one image) in QuPath 0.7.0.
1. The tool form showed no parameter names, only the ⓘ markers.
LcHelp.markputs the ⓘ as the label's graphic. The grid's label column had no minimum width, and the control column grows. With a wide control (an image row: chooser, area, file field), JavaFX squeezed the column and kept the graphic but dropped the label text.newGrid(), the label column keeps its labels' preferred width (c0.minWidth = Region.USE_PREF_SIZE).2. Hundreds of outlines covered the image with their names.
<app>:<output> <label>, and QuPath draws annotation names by default.<app>:<output>(one per output), so they can be counted, coloured and selected together.LcConst.MAX_NAMED_SHAPES = 50outlines, annotations get no name. The label stays a measurement; when the GeoJSON has nolabelproperty, the outline's number becomes thelabelmeasurement.Replace()removes the previous outlines by name or by classification.SPEC_WAVE1.md("QuPath: annotations named<app>:<output>") at least as closely as before.Docs: README (new "Outlines" bullet) and
docs/user-guide.md.Tests
Run locally on QuPath 0.7.0 (release tarball, checksum verified), extension built with
build.sh(JDK 25), xvfb, throughtests/run_gui_ci.sh. All bodies pass:one_classification_per_outputTotal: 340 checks.
tests/ui_audit_oracle.groovynow also finds unnamed outlines by their classification. The UI audit itself was not run here.With the StarDist2D app (284 outlines), all of these pass:
StarDist2D:stardist_outlines;label/probmeasurements;Replace()leaves one set.The test body and screenshots are in CellMigrationLab/Stardist2D#2, under
docs/screenshots/qupath/.Not run here: the listing matrix, playground, trust, retention, async and identity bodies. They don't touch forms or outlines.
Generated by Claude Code