Repository navigation
Measure 3D shape on prepared label cohorts - #625
Merged
Merged
Conversation
Refs #624. Derive Lewiner geometry during existing family preparation and share the complete feature mapping between cohort measurements and the numerical reference path.
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.
Default 3-D AreaShape measurement reconstructs a binary bounding-box crop and full Lewiner mesh for every object, alongside separate region-property traversals. The existing shape backend now measures the complete label cohort: one pass captures bounds/counts, and a second collects local moments, cube surface counts and Euler contributions. This removes
SurfaceArea3DRegionsand its forwarding algorithms while preserving the existing feature mapping and ID/domain conventions.Unit triangle geometry comes from the installed scikit-image Lewiner algorithm during existing function-family preparation. Runtime spacing scales that geometry without marching again or retaining a per-spacing cache. Both default LEGACY_FAST and NUMBA providers inherit the implementation. Direct unprepared calls and integer-moment capacity limits retain the reference path; advanced measurements retain the required convex-hull calculation. Prepared writable/read-only signatures remain stable.
One public original 3-D baseline/candidate pair completed with all four strict comparisons against two retained native outputs passing. Both sources used the same eight dependencies, original 180 source refs, native binaries, normal registry/kernel READY boundary and default OUTCOMES/RSS observation. Startup, preparation, input acquisition and shutdown are outside the existing public clocks. No repeats, profiling, or new native runs were used.
The shape step demonstrates local production transfer. These are single observations, with substantial other-step variation: a later RescaleIntensity step increased by 360 ms. The pair does not establish a causal whole-pipeline gain or a cause for the higher RSS. The broader runtime and scaling targets remain unfinished.
The timed heads were baseline
47debb48ee81ddedaf1fd54ecdfcde107e34cb34and candidateb647d4344a0c96418356f318f62e726e189fd967. The immutable local decision, all 31 step deltas, guards, output comparisons and terminal PID/lease checks are retained undershape-main-ab-paired-v2/decision.json. The original prelaunch environment-guard RED is retained separately; it started no server/job. The admitted v2 environment is stored privately and represented by SHA only in the public packet.After qualification, this branch merged main's grouped-scope metadata fix #623. The focused shape/scope/plate/publication shard passed 29 controls on that integrated source, including all 15 shape controls. Main's later #629 change only updated primary-object docstring/help text and was also merged; the timed evidence remains explicitly tied to the frozen heads above.
The saved Cells/Nuclei replay passed all 17 features and IDs at relative spacing
(1.1153846153846152, 1, 1). Integer statistics and Euler match exactly; floating features use the approved absolute/relative 1e-6 tolerance. The largest Cells surface difference, 2.704e-6, passes the combined tolerance and exceeds an absolute-only 1e-6 assertion. The surface control uses the approved relative tolerance; 2-D exactness remains unchanged.Closes #624