Gaussian smoothing process for a segment #757
Merged
floryst merged 15 commits intoKitware:mainfrom Jun 27, 2025
Merged
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. |
floryst
reviewed
Jun 25, 2025
Contributor
floryst
left a comment
There was a problem hiding this comment.
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
Collaborator
Author
floryst
reviewed
Jun 26, 2025
Contributor
floryst
left a comment
There was a problem hiding this comment.
Overall I think this is just about ready to go.
floryst
approved these changes
Jun 26, 2025
Contributor
floryst
left a comment
There was a problem hiding this comment.
Nice Job! I'm good with these changes.
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.

Uh oh!
There was an error while loading. Please reload this page.