ENH: Add MinMaxCurvatureFlow alternate baselines for ITK 3D threshold fix#2627
Draft
hjmjohnson wants to merge 1 commit into
Draft
ENH: Add MinMaxCurvatureFlow alternate baselines for ITK 3D threshold fix#2627hjmjohnson wants to merge 1 commit into
hjmjohnson wants to merge 1 commit into
Conversation
… fix ITK PR InsightSoftwareConsortium/ITK#6603 corrects the polar angle in the 3D MinMaxCurvatureFlowFunction threshold (context in InsightSoftwareConsortium/ITK#6619), changing MinMaxCurvatureFlowImageFilter output on 3D volumes. Add the post-fix center slices as .1.nrrd alternate baselines so the defaults and longer tests pass with both current and fixed ITK. The Binary variant is unaffected.
Member
Please create a PR for SimpleITK/SimpleITKExternalData with the data. I am unfortunately unable to locate developer documentation on uploading data. Hopefully making the PR to the data repo is straight forward enough. |
Member
|
@hjmjohnson Please see the newly added sitk-upload-binary-data skill to upload data. |
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.
Adds
.1.nrrdalternate baselines for theMinMaxCurvatureFlowImageFilterdefaultsandlongertests, so they pass with both current ITK and an ITK containing InsightSoftwareConsortium/ITK#6603 (3D polar-angle threshold fix; full context in InsightSoftwareConsortium/ITK#6619).Note: the two data objects are pending upload to data.kitware.com — CI will fail to fetch them until then.
Why the output changes, and by how much
ITK's 3D
MinMaxCurvatureFlowFunction::ComputeThresholdnormalized the gradient to lengthStencilRadius(2) instead of unit length beforeacos(), silently selecting the wrong polar angle since 2002. ITK#6603 restores the published algorithm (Sethian 1999). Measured onRA-Float.nrrdwith this repo's exact test parameters, the center-slice RMS versus the current baselines is 55.6 (defaults) and 130.9 (longer) against a tolerance of 0.01. The 2D dispatch andBinaryMinMaxCurvatureFlowImageFilter(user-supplied threshold, never callsComputeThreshold) are bit-identical — their baselines need no change.How the alternates were generated and validated
The filter was run on
Input/RA-Float.nrrd(float, 64³) withTimeStep=0.05/NumberOfIterations=5(defaults) and0.1/10(longer),StencilRadius=2, against ITK main + PR 6603; the center z-slice was extracted to matchImageCompare's comparison. Validation: outputs from unpatched ITK reproduce the existing baselines at RMS = 0 (bit-exact, confirming the pipeline replicates the test harness), and the patched outputs match these new alternates at RMS = 0. The generated test commands reference baselines asDATA{...nrrd,:}, so the.1.nrrdseries members are fetched automatically — no CMake changes needed.