Common resampling and conversion utility functions in Slicer

From NAMIC Wiki
Jump to: navigation, search
Home < Common resampling and conversion utility functions in Slicer

Key Investigators

  • Isomics: Steve Pieper
  • UIowa: Hans
  • PMH Toronto: Kevin Wang
  • Queen's: Csaba Pinter


The goal is to develop common utility functions to perform resampling of vtkMRMLVolumeNode using a reference volume node and conversion of vtkMRMLVolumeNode to itkImage.

Approach, Plan

  • discuss during the project week using google hangout.
  • explain what has been done in SlicerRT to deal with these two functions.
  • Csaba has found a bug in vtkImageReslice so we need to follow up with this and report it back to David Gobbi.
    • Try this implementation to see if Csaba's use case works with it


  • Use cases
    • Convert images from VTK+MRML to ITK to supply input to Plastimatch algorithms (RT)
    • Resample a labelmap to match the lattice of another one for voxel-by voxel comparison (RT, validating/comparing segmentations)
    • Resample mask to match the input DWI image for DWI to DTI conversion (Hans Johnson, UIowa)
  • Plan is to implement the functions in volumes logic first, and then sink it to lower layers if necessary
    • Converters
      • ITK -> VTK+MRML
      • VTK+MRML -> ITK
    • Oriented resamplers (apply transform to a volume and resample it in a reference grid)
      • ITK (re-use code from Plastimatch)
      • VTK+MRML (vtkImageReslice)
  • Started implementation of two classes in volumes logic: vtkVolumesConvertUtility and vtkVolumesOrientedResampleUtility. Names and the details of the implementation can be of course changed.

Delivery Mechanism

This work will be delivered to the NA-MIC Kit as a Slicer module