Difference between revisions of "2009 Winter Project Week Transform Management"

From NAMIC Wiki
Jump to: navigation, search
Line 31: Line 31:
 
* Identify places in slicer3 code where linear transforms are assumed - these either need generalization or informative warning/error messages  
 
* Identify places in slicer3 code where linear transforms are assumed - these either need generalization or informative warning/error messages  
 
* Incorporate itkDisplacementFieldTransform/vtkGridTransform for vector field style transformations.
 
* Incorporate itkDisplacementFieldTransform/vtkGridTransform for vector field style transformations.
** Need to extend itk::TransformIO. Prototype using Base64/Zipped vector fields. Alternative, reference external image to hold vectors in file format.
+
** Need to extend itk::TransformIO. Prototype using Base64/Zipped vector fields. Alternative, allow binary data in ITK Transform files or reference an external image to hold vectors in file format.
 
* Coordinate frame manager to map between any two data sets verses mapping to parent/world.  
 
* Coordinate frame manager to map between any two data sets verses mapping to parent/world.  
 
</div>
 
</div>
Line 39: Line 39:
 
<h1>Progress</h1>
 
<h1>Progress</h1>
  
 +
* Linear transformations are always stored in Slicer as modeling transformations.
 +
* Slicer assumes that pluins using ITK Transform file format want/return resampling transforms
 +
* Initial prototype of itkDisplacementFieldTransform using ITK Transform file format by Base64 encoding a Zipped version of a vector field (ITK Transform format is ASCII).
 +
* Mike Halle has a coordinate frame manager written in Python
  
 
</div>
 
</div>

Revision as of 16:08, 8 December 2008

Home < 2009 Winter Project Week Transform Management
MRML scene graph.
Transform node in a MRML scene.



Key Investigators

  • Jim Miller, GE
  • Steve Pieper, Isomics, Inc.

Objective

Provide the infrastructure to handle non-linear transformations as both modeling and resampling transforms.

Approach, Plan

We will continue the plans from the Summer 2008 project event (here).

  • Add attribute to transform nodes to indicate whether they represent a "Transform to World/Parent" or "Transform from World/Parent"
  • Extend visualization system for "Transform to World/Parent" or "Transform from World/Parent" _
  • Extend command line modules to annotate a transformation as a "Transform to World/Parent" or "Transform from World/Parent"
  • Identify places in slicer3 code where linear transforms are assumed - these either need generalization or informative warning/error messages
  • Incorporate itkDisplacementFieldTransform/vtkGridTransform for vector field style transformations.
    • Need to extend itk::TransformIO. Prototype using Base64/Zipped vector fields. Alternative, allow binary data in ITK Transform files or reference an external image to hold vectors in file format.
  • Coordinate frame manager to map between any two data sets verses mapping to parent/world.

Progress

  • Linear transformations are always stored in Slicer as modeling transformations.
  • Slicer assumes that pluins using ITK Transform file format want/return resampling transforms
  • Initial prototype of itkDisplacementFieldTransform using ITK Transform file format by Base64 encoding a Zipped version of a vector field (ITK Transform format is ASCII).
  • Mike Halle has a coordinate frame manager written in Python