Image Processing with Slicer Chand T. John Neuromuscular Biomechanics Lab Computer Science Department
Biomedical Image Consumers Driving Biomedical Fields Neuromuscular Biomechanics Brain Imaging Virtual Endoscopy Molecular Dynamics Biomedical Imaging
Biomedical Image Processing Different fields, similar general needs Different fields, different specific needs Currently: context-specific solutions only Where’s the good, cheap, non-pirated software?! Bold claim: a single extensible, open-source application can satisfy the image processing needs of all fields
A Solution Was Born SPL (Harvard) Image Guided Surgery and Visualization Slicer pulled together by David Gering 1997-1999 at MIT using VTK and Tcl Lauren O’Donnell’s further development 1999-2001 Ongoing development of Slicer’s Base by Steve Pieper and Nicole Aucoin Individual developers inject their modules
What Slicer Does Registration (manual, automatic) Segmentation (manual, automatic) Model Construction Visualization Measurements Individual modules…
Simbios and NAMIC Simbios NA-MIC Biomedical simulation Modeling of muscles, blood, RNA, myosin NA-MIC Biomedical modeling, image processing Modeling of brain tissue, some other organs
NMBL-SPL Similarities Need good general segmentation tools Automatic Manual Need accurate, fast model building tools for clinical non-programmer end users Need software to manipulate models: modification, registration, Boolean operations
NMBL-SPL Differences Conventional segmentation practices NMBL: All manual SPL: Some automatic, some manual Conventional segmentation detail level NMBL: Subpixel accuracy SPL: Pixel-level accuracy Modeling pipeline NMBL: Points, cardinal spline, samples, model via 3D Delaunay-based lofting SPL: Points, marching cube, decimation, smoothing
What did Chand Do, and Why? Slicer developers focused mostly on automated segmentation tools Thresholding Mathematical morphological operators Level set segmentation As a result, the image editor was largely untouched since David Gering’s initial version Clinical researchers want that extra level of manual control (e.g. NMBL) I developed more sophisticated manual segmentation tools based on users’ needs and existing commercial software
Slicer Architecture VTK (C++) wrapped in Tcl/Tk Create, control C++ objects in Tcl code Do most computation in C++ code Debugging can be a pain
Slicer Demo! Load Dicom knee data, 6-slices only Manual segmentation of cartilage Draw; intuitive select, move, insert* Sample density*, cardinal splines* Clear before apply*, delete after apply Unapply* and edit operations* Model construction (note SimTK export*, greater compatibility, reusability) Visualization: turn off backface culling * My contributions
Neuromusculoskeletal…gezundheit Musculoskeletal modeling More accurate biomechanical models of muscle, tendon, bone, cartilage Current pipeline mixes (too?) many shape representations Neuromusculoskeletal simulation Conventionally: dynamic optimization, slow New methods: computed muscle control