Back to
Projects List
SlicerAdaptiveBrush - Adaptive Brush Segment Editor Effect
Key Investigators
- Ben Zwick (The University of Western Australia and Talk2View, Australia)
- Andy Huynh (Talk2View, Australia)
Project Description
SlicerAdaptiveBrush is a segment editor effect extension for 3D Slicer that provides an adaptive brush tool for semi-automatic segmentation. The brush automatically segments regions based on image intensity similarity within the brush area, adapting to image features (edges, boundaries) rather than using a fixed geometric shape.
Objective
- Submit to Extension Index
- Improve documentation and tutorials
- Optimize performance for real-time interaction
- Add GPU acceleration for Level Set algorithm
Approach and Plan
1. Submit to Extension Index
- Complete submission requirements
- Test on all platforms (Linux, macOS, Windows)
- Create extension icon and screenshots
2. Improve documentation
- Write user tutorial with example workflows
- Document algorithm selection guide
- Add parameter tuning recommendations
- Profile and optimize critical paths
- Implement ROI result caching for nearby brush positions
- Add slice-by-slice preview mode
4. GPU acceleration
- Implement OpenCL/CUDA backend for Level Set
- Benchmark CPU vs GPU performance
Progress and Next Steps
Completed
- Extension Index Submission (In Progress)
- CI/CD pipeline with GitHub Actions for automated builds
- Extension not yet in the Slicer Extension Index
- Documentation
- Performance Optimization
- Implemented PerformanceCache with gradient and threshold caching
- Undo/redo integration with single save per stroke
- Cache statistics and hit rate logging
- GPU Acceleration
- Backend selector UI prepared (Auto/CPU/GPU)
- GPU implementation deferred to v2.0+
Next Steps
- Complete Extension Index submission
- Parameter optimization and testing for different image modalities (CT, MRI T1/T2, PET) and tissue types (tumor, bone, vessels, brain tissue)
- Testing with Imaging Data Commons data using Claude skills:
- Mouse shortcuts can be configured using SlicerMouseMaster for workflow optimization
Illustrations

Selecting the Adaptive Brush effect in Segment Editor

Painting a brain tumor segmentation - the brush adapts to image boundaries

3D surface rendering of the segmented tumor
Background and References
Code repository: https://github.com/benzwick/SlicerAdaptiveBrush
Documentation: https://benzwick.github.io/SlicerAdaptiveBrush/
Features
- Multiple algorithm choices - Geodesic Distance, Watershed, Random Walker, Level Set, Connected Threshold, Region Growing, Threshold Brush
- Auto-threshold methods - Otsu, Huang, Triangle, Maximum Entropy, IsoData, Li
- Automatic intensity analysis - GMM-based threshold estimation adapts to image content
- Edge-aware boundaries - Respects anatomical boundaries automatically
- 2D and 3D modes - Works on single slices or volumetrically (sphere mode)
References