You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Preserve native POINT kind and geometry in ImageJ ROI archive roundtrips #12
Pinned/current main 0efe67f, verified against the remote. A tiny synthetic native codec diagnostic uses a PointShape at Y/X=(1.25,3.5), stable object/source metadata and Z plane index2; no biological images, pipeline execution or viewer mutation.
Observed:
PointImageJROIShapeConverter.imagej_roi (src/polystore/roi_converters.py:547) uses ImagejRoi.frompoints without setting ROI_TYPE.POINT. The stored record is FREEHAND rather than POINT.
load_rois_from_zip (src/polystore/roi.py) maps every non-POLYLINE record to PolygonShape. Both the production point-writer archive and an independently constructed standard ImageJ POINT archive fail with ValueError: Polygon must have at least 3 vertices, got 1.
The native polygon writer/reader control passes exact XY and metadata checks.
Floating XY coordinates and sidecar Z/object/source identity are present; a shape-kind failure must not be masked by a caller-side decoder.
Evidence environment: Python3.14.6, numpy2.5.1, roifile2026.2.10, own pinned PolyStore/arraybridge/metaclass-registry/zmqruntime sources. This is codec evidence only, not an installed OpenHCS/MCP/viewer or biological proof.
Required owner-level repair
Keep external ImageJ format semantics and put encode/decode behavior on the existing nominal geometry/codec declaration owners; derive dispatch from declarations/capabilities, not a parallel shape roster or extension/type ladder. Preserve POINT kind, exact YX and Z/label/object/source metadata; reject unsupported/malformed types truthfully. Protect polygon/polyline/ellipse behavior with family/native external-contract regressions.
Complete source/dependency NRA and R1 ownership evidence plus bounded native tests are required before implementation is accepted. Do not edit shared/installed dependencies or bypass the OpenHCS managed viewer.
This is a prerequisite of OpenHCSDev/openhcs#134 / draft OpenHCSDev/openhcs#153: fixing result-directory admission alone would leave point reopening broken. Parent gitlink integration follows validated dependency changes; no current scientific artifact is rewritten.
Draft PR #13 now tracks the authorised native codec repair on fix/native-imagej-point-roi-20260929 at 05c4e7d. Documentation only; no production edits. The distinct canonical metadata diagnostic reproduced 1 polygon control pass and 2 POINT failures in 0.28 seconds, peak RSS 51808 KiB. It preserves the original codec failure receipts and separates native coordinates/Z from logical JSON metadata. Common full NRA/R1 remains incomplete, so implementation is still gated. The OpenHCS pinned clone/gitlink remains unchanged.
Activity
trissim commentedon Sep 29, 2026
Draft PR #13 now tracks the authorised native codec repair on fix/native-imagej-point-roi-20260929 at 05c4e7d. Documentation only; no production edits. The distinct canonical metadata diagnostic reproduced 1 polygon control pass and 2 POINT failures in 0.28 seconds, peak RSS 51808 KiB. It preserves the original codec failure receipts and separates native coordinates/Z from logical JSON metadata. Common full NRA/R1 remains incomplete, so implementation is still gated. The OpenHCS pinned clone/gitlink remains unchanged.