Proposal for Revised Framework: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
Let us suppose we want to perform a registration with the new framework.  
Let us suppose we want to perform a registration with the new framework.  


Line 15: Line 14:


2.  For each transform within itkComposeTransform   
2.  For each transform within itkComposeTransform   
--- Optimize: the metric(s) associated with that transform for n iterations or convergence
3.  go to next level
In the case of a symmetric registration, pseudocode :
1.  Set up a multi-resolution optimization over the TransformImageFilter1 and  TransformImageFilter2
--- we usually would set up these filter symmetrically i.e. both have (affine,deformation) maps within and we optimize each pair together
2.  For each transform pair taken from ComposeTransform1  and ComposeTransform2


--- Optimize: the metric(s) associated with that transform for n iterations or convergence  
--- Optimize: the metric(s) associated with that transform for n iterations or convergence  
Line 21: Line 32:


For the Optimize step:
For the Optimize step:
for each transform within ComposeTransform :
--- compute the update to the transform given its associated metric(s)
--- the update may be one-sided (asymmetric) or two-sided (symmetric)
--- note: the metrics do not need access to the transform.  they only access outputs of ComposeTransform objects.

Revision as of 14:52, 14 September 2010

Let us suppose we want to perform a registration with the new framework.

There are a few key ingredients we need:

1. itkComposeTransform class , derived from itkTransform

2. itkDeformationFieldTransform class , derived from itkTransform

3. itkTransformImageFilter --- takes itkTransform as input

Then , pseudocode for a registration is:

1. Set up a multi-resolution optimization over the TransformImageFilter

2. For each transform within itkComposeTransform

--- Optimize: the metric(s) associated with that transform for n iterations or convergence

3. go to next level

In the case of a symmetric registration, pseudocode :

1. Set up a multi-resolution optimization over the TransformImageFilter1 and TransformImageFilter2

--- we usually would set up these filter symmetrically i.e. both have (affine,deformation) maps within and we optimize each pair together

2. For each transform pair taken from ComposeTransform1 and ComposeTransform2

--- Optimize: the metric(s) associated with that transform for n iterations or convergence

3. go to next level

For the Optimize step:

for each transform within ComposeTransform :

--- compute the update to the transform given its associated metric(s)

--- the update may be one-sided (asymmetric) or two-sided (symmetric)

--- note: the metrics do not need access to the transform. they only access outputs of ComposeTransform objects.