From Scalars to Tensors: How to add new volume types? Raul San Jose, BWH, LMI Steve Pieper, Isomics Alex Yarmarkovich, Isomics
Goals Support Diffusion Tensor Imaging Port Slicer 2 functionality in terms of visualization and analysis. Make DTI a core feature so it becomes a native Slicer 3 type. Community can contribute/integrate their DTI analysis work based upon this core functionality. Challenges: Move from Only Scalars thinking to other Volume types.
The good news Diffusion Weighted Images and Diffusion Tensor Images can be read (write pending) into Slicer 3. Corresponding MRML nodes are created. Display MRML nodes are in place. Storage done through vtkNRRDReader CLP support this new node types: You can now integrate your favorite ITK DTI filter into Slicer 3. Tensor estimation through Teem: Least Squares, Weighted Least Squares, Maximum Likelihood.
How to add a new volume type Libs/MRML vtkMRMLMyTypeVolumeNode vtkMRMLMyTypeVolumeDisplayNode Node Storage Display vtkMRMLMyTypeReaderStorageNode Base/Logic vtkSlicerVolumesLogic VtkSlicerLayerLogic vtkSlicerMyTypeOptionsLogic I/O Layer vtkSlicerVolumesGUI Base/GUI vtkSlicerMyTypeVolumeDisplayWidget Display Options vtkSlicerMyTypeVolumeOptionsWidget
How to add a new volume type Making the new type available to the Command line module Command Line Module vtkCommandLineModuleLogic
MRML DTI Nodes Class Hierarchy (vtkMRML)Node TransformableNode VolumeNode NRRDStorageNode ScalarVolumeNode DiffusionWeightedVolumeNode TensorVolumeNode DisplayNodes VectorVolumeNode DiffusionTensorVolumeNode