Difference between revisions of "Common resampling and conversion utility functions in Slicer"

From NAMIC Wiki
Jump to: navigation, search
m
 
(8 intermediate revisions by 3 users not shown)
Line 25: Line 25:
 
* discuss during the project week using google hangout.
 
* discuss during the project week using google hangout.
 
* explain what has been done in SlicerRT to deal with these two functions.
 
* 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 [https://github.com/pieper/Regimatic/blob/master/Regimatic.py#L330-371 this] implementation to see if Csaba's use case works with it
  
 
</div>
 
</div>
Line 31: Line 33:
  
 
<h3>Progress</h3>
 
<h3>Progress</h3>
* .
+
* 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)
'''To do''':
+
** Resample mask to match the input DWI image for DWI to DTI conversion (Hans Johnson, UIowa)
* to do...
+
* 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.
  
 
</div>
 
</div>
Line 43: Line 51:
 
==Delivery Mechanism==
 
==Delivery Mechanism==
  
This work will be delivered to the NA-MIC Kit as a Slicer module, as part of the SlicerRT extension
+
This work will be delivered to the NA-MIC Kit as a Slicer module
 
 
  
 
==References==
 
==References==
* [http://plastimatch.org Plastimatch]
 
 
* [https://www.assembla.com/spaces/slicerrt/wiki SlicerRT]
 
* [https://www.assembla.com/spaces/slicerrt/wiki SlicerRT]
* [https://www.assembla.com/spaces/slicerrt/tickets/55#/activity/ticket: Corresponding SlicerRT ticket]
+
* [http://massmail.spl.harvard.edu/public-archives/slicer-devel/2013/012510.html: discussion on resampling issue]
 +
* [https://www.assembla.com/spaces/slicerrt/tickets/303#/activity/ticket: ticket in SlicerRT regarding conversion]
 +
* [https://github.com/pieper/Regimatic/blob/master/Regimatic.py#L330-371 python code that performs the desired resampling]

Latest revision as of 17:42, 20 June 2013

Home < Common resampling and conversion utility functions in Slicer

Key Investigators

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

Objective

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

Progress

  • 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

References