Fix mesh warp template index when shapes are excluded - #2617
Merged
Conversation
The stored mesh_warp_template_index was range-checked against all shapes but then used to index the non-excluded shapes, so an index falling between the two counts skipped the median-shape fallback and failed with "Unable to set reference mesh, invalid template shape". Check the stored index against the non-excluded shapes, and limit the template spinbox to that same range so an unusable index cannot be selected or persisted. Fixes #2616
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.
Fixes #2616.
AnalysisTool::initialize_mesh_warper()range-checked the storedmesh_warp_template_indexagainst all shapes, then used it to index thenon-excluded shapes. An index falling between the two counts passed the
first check, so the median-shape fallback never ran, and the second check
failed with
Unable to set reference mesh, invalid template shape. The meshwarper was then never initialized, leaving warped/reconstructed surfaces
unavailable for the session.
This can happen with DeepSSM, which marks the test split excluded: a
52-subject project with 13 excluded (39 remaining) and a stored index of 43
logs the error on every project load and analysis step.