Skip to content

Commit fe3ec21

Browse files
committed
Fix segmentation alignment for multi-frame DICOM volumes
This commit fixes two critical issues with segmentation display: 1. Segmentations appearing misaligned/misplaced in multi-frame volumes 2. Segmentations misaligned when switching back to previously segmented series Files modified: - MonaiLabelPanel.tsx: Core segmentation logic - PointPrompts.tsx: Removed obsolete method calls Key changes: - Use series-specific segmentation IDs (seg-{SeriesUID}) instead of hardcoded '1' * Prevents conflicts when working with multiple series * Each series maintains its own independent segmentation - Defer segmentation creation until first inference run * Prevents conflicts with default segmentation ID * Creates segmentation per-series on demand - Add origin correction: adapt segmentation to image volume origin * Simple approach: copy image volume origin to segmentation * No complex camera adjustments or offset calculations * Segmentation follows image volume's coordinate system - Detect series switches and reapply origin correction * Subscribe to viewport grid ACTIVE_VIEWPORT_ID_CHANGED event * Automatically corrects alignment when switching to existing segmentations * Handles both tab changes and thumbnail clicks - Simplify segmentation creation on demand * Single 500ms retry instead of complex 50-attempt retry mechanism * Cleaner error handling Impact: - Removed 548 lines of complex retry/tracking/correction logic - Added 136 lines of focused, essential functionality - Net reduction: 412 lines (41% smaller) - More maintainable and robust The solution is elegant: instead of trying to fix the image volume's origin and adjust cameras accordingly, we simply make the segmentation adapt to whatever coordinate system the image volume is using. This eliminates all the complexity around camera position management and origin offset calculations. Signed-off-by: Joaquin Anton Guirao <janton@nvidia.com>
1 parent 3c0babf commit fe3ec21

File tree

2 files changed

+130
-562
lines changed

2 files changed

+130
-562
lines changed

0 commit comments

Comments
 (0)