Repository navigation
Repair extraction and modernize tooling - #129
Merged
Merged
Conversation
This was referenced Oct 20, 2026
This was referenced Oct 20, 2026
This was referenced Oct 20, 2026
Open
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.
Repair extraction for small, edge-touching, and 3D masks, including the original files in #121. Correct SVD orientation, centered neighborhoods, the documented 13-feature mapping, maximal correlation, and difference-variance selection. Version 0.4.0 changes numerical results: cached 0.3.x features must be recomputed; the public import and output axis order remain compatible.
Complete the medical-image CLI and repair Slicer labelmaps, segmentations, both-angle outputs, parameter forwarding, progress, cancellation, and geometry. Share typed validation/I/O/statistics helpers. Refresh dependencies, examples, documentation, container targets, Conda support, and release validation. Slicer dependency installation now requires an explicit Install action.
Validation: 110 tests pass on the minimum Python 3.10 stack and current Python 3.11 stack; CI covers 3.10–3.13. Eight integration tests pass in native Slicer 5.12.4. The original #121 case returns finite features for all 92,918 masked pixels. Documentation builds with warnings as errors; the notebook executes headlessly; Conda packages build and run 2D/3D tests; both Docker targets pass extraction/notebook smoke tests. Core and CLI distributions rebuild from sdists, pass strict Twine checks, and install together in a fresh environment. The refreshed lockfile passes pip-audit.
Supersedes Dependabot PRs #123, #125, and #126 with a coordinated dependency refresh. Catalog/feedstock acceptance and service ownership (#25, #73, #78, #83) remain external follow-ups with prepared contribution files; publishing is not triggered by merging this PR.
Closes #11, closes #24, closes #43, closes #52, closes #53, closes #54, closes #55, closes #59, closes #60, closes #62, closes #63, closes #68, closes #69, closes #77, closes #80, closes #81, closes #84, closes #85, closes #86, closes #90, closes #91, closes #97, closes #121, closes #124.