-
Notifications
You must be signed in to change notification settings - Fork 75
Gaussian smoothing process for a segment #757
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Implements label-preserving Gaussian smoothing for 3D volume segmentation with: - Separable 3D convolution algorithm in pure JavaScript - Label-preserving approach to prevent boundary mixing - Preview/confirm/cancel workflow matching existing patterns - Configurable sigma parameter (0.1-5.0) with slider control
…and gaussianSmooth - Consolidate FillBetween and GaussianSmooth modes into unified Process mode - Add shared ProcessStore with common workflow (start/computing/previewing states) - Create ProcessControls with ProcessTypeSelector and ProcessWorkflow components - Replace individual control components with parameter-focused components - Add informative expansion panels explaining each algorithm
- Move gaussianSmooth.worker.ts to src/core/tools/paint/ directory - Remove standalone gaussianSmooth.ts wrapper - Integrate worker management directly into store - Maintain consistent architecture with other paint tools
…e extraction - Calculate minimal bounding box containing target segmentation label - Expand bounding box by kernel radius to handle potential growth - Extract and process only the relevant sub-volume instead of entire image - Copy filtered results back to original volume maintaining label integrity - Use VTK.js compatible bounding box format (6-element number array) - Significantly reduces computation time for sparse segmentations
✅ Deploy Preview for volview-dev ready!Built without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm still not 100% set on the workflow for choosing between the original and processed (something like "apply/cancel" with preview toggles makes more sense to me), but I don't have a better idea at the moment.
- Rename store from 'process' to 'paintProcess' to better reflect paint-oriented purpose - Rename computeProcess function to startProcess for clarity - Export sigma constants directly from module instead of through store - Update all import statements to use @/src/store alias pattern
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall I think this is just about ready to go.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice Job! I'm good with these changes.
Uh oh!
There was an error while loading. Please reload this page.