Difference between revisions of "2013 Summer Project Week:Deformable transforms"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(8 intermediate revisions by one other user not shown)
Line 35: Line 35:
 
<h3>Progress</h3>
 
<h3>Progress</h3>
  
* Questions
+
* Meeting minutes of the discussions: [[Handling deformable transforms in Slicer meeting minutes|Handling deformable transforms]]
** Should it be handled on the MRML level (Transformable, VolumesLogic?) or in a CLI (BRAINSResample)
+
* Use cases:
** Ivertability / reversibility
+
** RT fractions: Contours are made on the planning CT, which we want to warp to fit the day 2 CT (and be able to warp day 2 dose to match the day 1 dose in terms of geometry so that we can accumulate them)
*** Should it create clones of the 'hardened' objects?
+
** PET-CT: Follow the progress of a tumor by registering the CT images together and applying this transform to the PET images so that the tumors have the same coordinate frame
*** Should we maintain a history in the hardened nodes?
+
* Decisions
 +
** Always harden & clone if applying deformable transfotmation
 +
** Keep track of registered resampling algorithms
 +
** Pop up window when dropping to confirm and possibly choose from options
 +
** Store inverse of transforms if invertable
 +
*** Try to estimate inverse otherwise, for example converting BSpline to vector field and invert that
 +
 
  
 
</div>
 
</div>
Line 50: Line 56:
 
==References==
 
==References==
 
* Relevant tickets in the SlicerRT system: [https://www.assembla.com/spaces/slicerrt/tickets/247#/activity/ticket: #247] and [https://www.assembla.com/spaces/slicerrt/tickets/37#/activity/ticket: #37]
 
* Relevant tickets in the SlicerRT system: [https://www.assembla.com/spaces/slicerrt/tickets/247#/activity/ticket: #247] and [https://www.assembla.com/spaces/slicerrt/tickets/37#/activity/ticket: #37]
* [http://www.slicer.org/slicerWiki/index.php/Documentation/4.2/Modules/Transforms Transforms module documentation]
+
* [https://www.slicer.org/wiki/Documentation/4.2/Modules/Transforms Transforms module documentation]

Latest revision as of 17:12, 10 July 2017

Home < 2013 Summer Project Week:Deformable transforms

Key Investigators

  • Queen's: Csaba Pinter, Andras Lasso
  • Isomics: Alex Yarmarkovich, Steve Pieper
  • GE Research: Jim Miller

Objective

Enable handling of deformable transforms in the Transforms module, very similarly to the way linear transforms are handled.

  • Drop TransformableNodes under deformable transform (possible already but ignored and hardening for rendering not enabled)
  • Harden deformable transform on
    • Models (should be straightforward)
    • Volumes (confirmation popup window, resampling on choosing yes)

Approach, Plan

The approach is to enhance the Transform node (and Transforms module) to be able to use deformable transform nodes as parents to transformable objects and harden them

The plan for the project week is to discuss the best way to implement it, and start the implementation.

Progress

  • Meeting minutes of the discussions: Handling deformable transforms
  • Use cases:
    • RT fractions: Contours are made on the planning CT, which we want to warp to fit the day 2 CT (and be able to warp day 2 dose to match the day 1 dose in terms of geometry so that we can accumulate them)
    • PET-CT: Follow the progress of a tumor by registering the CT images together and applying this transform to the PET images so that the tumors have the same coordinate frame
  • Decisions
    • Always harden & clone if applying deformable transfotmation
    • Keep track of registered resampling algorithms
    • Pop up window when dropping to confirm and possibly choose from options
    • Store inverse of transforms if invertable
      • Try to estimate inverse otherwise, for example converting BSpline to vector field and invert that


Delivery Mechanism

This work will be delivered to the NA-MIC Kit as an enhancement in Slicer core.

References