ENH: Add missing cancel checks to lots of filters#1582
Conversation
nyoungbq
left a comment
There was a problem hiding this comment.
All looks good, I was torn on the AlignGeometries changes on whether that cancel should be in the functions within the individual switch cases at the top level loop, but I do think that the loops would possibly suffer a minor slowdown and a single walk and read with no serious calculations shouldn't be too long for in-core applications so I am okay leaving it as is.
Side Note: Out of the scope of this PR, but align geometries could really use some user feedback around those functions. Not progress feedback in the loops in the function itself since that is basically a worse case senario for how much of the workload would be messaging, but notices for "Finding moving Centroid...", "Finding target Centroid...", "Beginning translation...", etc.
Batch C covers orientation/c-axis math filters in OrientationAnalysis. All reports remain DRAFT pending developer review of the tentative Algorithm Relationship and Oracle classifications. * ComputeAvgOrientationsFilter — PR #1577 added vMF and Watson EM-based averaging methods; the filter now hosts three distinct algorithms under one UUID. v2 exemplars for the new methods are likely self-referential (added in the same PR). PR #1472 downgraded to pruned after scoped diff inspection (API rename only for this filter). * ComputeAvgCAxesFilter — PR #1438 silently changed three things: float-to-double accumulation, antipodal-flip behavior via counter reorder, and error-code renumbering. Exemplar 7_2_AvgCAxis.tar.gz is likely circular (regenerated post-fix). Mixed-phase warning path and counter==0 rescue path uncovered. * ComputeCAxisLocationsFilter — PR #1472 silently rewrote the qu-to-om path through a different EbsdLib API (Quaternion::toOrientationMatrix vs explicit qu2om), proposed as Deviation D4 pending comparison. PR #1582 cancel path returns success while leaving output partially zero-filled (D3 internal correctness issue). * ComputeFeatureReferenceCAxisMisorientationsFilter — PR #1438 has an explicit REV: review tag and StdDev double-precision fix that per the PR description brings output into agreement with DREAM3D > 6.5.172, but the change is not regression-locked by any new test in the same PR. * ComputeFeatureNeighborMisorientationsFilter — suspected port-fidelity bug: tempMisoList = featureNeighborList.size() is reassigned inside the inner j-loop, so the divisor reflects only the last neighbor's match state instead of a true matched-phase count. The ComputeAvgMisors=true test is an [.][UNIMPLEMENTED] stub, so the entire average-misorientation control flow has zero CI coverage. Cross-cutting: PR #1438 is the largest hidden-deviation hotspot surfaced in the audit so far — its "ENH" label is misleading; the PR was actually a correctness sweep with multiple silent algorithmic shifts. Multiple exemplar archives in this batch appear to be circular (regenerated from post-fix SIMPLNX output), so existing tests cannot prove legacy conformance even where they appear to. Signed-off-by: Michael Jackson <mike.jackson@bluequartz.net>
No description provided.