Difference between revisions of "Modules:TransformFromFiducials-Documentation-3.6"

From Slicer Wiki
Jump to: navigation, search
(Start transform from fiducials documentation by copying template)
 
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Documentation-3.5|Return to Slicer 3.5 Documentation]]
+
[[Documentation-3.6|Return to Slicer 3.6 Documentation]]
  
[[Announcements:Slicer3.5#Highlights|Gallery of New Features]]
+
[[Announcements:Slicer3.6#Highlights|Gallery of New Features]]
  
__NOTOC__
+
===Transform From Fiducials===
===Module Name===
+
Transform From Fiducials
MyModule
 
  
 
{|
 
{|
|[[Image:screenshotBlank.png|thumb|280px|Caption 1]]
+
|[[Image:Fiducial_registration_before.jpg|thumb|280px|Images with fiducials attached by user]]
|[[Image:screenshotBlank.png|thumb|280px|Caption 2]]
+
|[[Image:Fiducial_registration_after.jpg|thumb|280px|Images with transform applied to moving image based on fiducial alignment]]
|[[Image:screenshotBlank.png|thumb|280px|Caption 3]]
 
 
|}
 
|}
  
Line 16: Line 14:
 
===Module Type & Category===
 
===Module Type & Category===
  
Type: Interactive or CLI
+
Type: CLI
  
Category: Base or (Filtering, Registration, ''etc.'')
+
Category: Registration
  
 
===Authors, Collaborators & Contact===
 
===Authors, Collaborators & Contact===
* Author1: Affiliation & logo, if desired
+
* Author1: Casey Goodlett, Kitware
* Contributor1: Affiliation & logo, if desired
+
* Contributor1: Dominik Meier, BWH
* Contributor2: Affiliation & logo, if desired
+
* Contact: Casey Goodlett
* Contact: name, email
 
  
 
===Module Description===
 
===Module Description===
Overview of what the module does goes here.
+
This module computs a linear transform from two lists of fiducials.  The transform can either be translation only, rigid transform, or similarity transform.
  
 
== Usage ==
 
== Usage ==
 +
The user must create two lists of fiducials with the ordering of the two lists implying correspondence.  That is point 1 of list 1 goes with point 1 of list 2.  Note that only points which are considered selected in the fiducials model are included.  For rigid and similarity transforms, the user must specify at least three points in each list.
  
 
===Examples, Use Cases & Tutorials===
 
===Examples, Use Cases & Tutorials===
  
* Note use cases for which this module is especially appropriate, and/or link to examples.
+
* Use case 1: Registration initialization.  If the user can specify a few anatomical points (at least 3), this module can be used to generate a transform which can be used to initialize image based registration.
* Link to examples of the module's use
+
* IGT tasks that generate landmarks from a tracker automatically can use this module to compute transforms.
* Link to any existing tutorials
 
  
 
===Quick Tour of Features and Use===
 
===Quick Tour of Features and Use===
List all the panels in your interface, their features, what they mean, and how to use them. For instance:
 
  
* '''Input panel:'''
+
* '''Main panel:'''
* '''Parameters panel:'''
+
** Fixed landmarks - target list of points.  The resulting transform maps an object onto the fixed landmarks.
* '''Output panel:'''
+
** Moving landmarks - source list of points.  The result transform maps objects from this space to the fixed landmark space.
* '''Viewing panel:'''
+
** Save Transform - Transform node to save the result in.  Typically a new transform should be created.
 +
** Transform Type
 +
*** Translation - The resulting transform is the translation vector between the centroid of the moving landmarks to the centroid of the fixed landmarks.
 +
*** Rigid - The resulting transform is the rigid transform that best moves the moving landmarks to the fixed landmarks in a least squares sense.  The translation component is identical to the translation produced by translation alone.
 +
*** Similarity - The resulting transform is the rigid transform that best moves the moving landmarks to the fixed landmarks in a least squares sense.  The translation component is identical to the translation produced by translation alone and the rotation is equivalent to that from the rigid transform.  This uses the symmetric formulation of computing the scaling factory given by Horn 1987, see reference below.
  
 
== Development ==
 
== Development ==
 
+
This module is based on [http://www.itk.org/Doxygen/html/classitk_1_1LandmarkBasedTransformInitializer.html itk::LandmarkBasedTransformInitializer].  Additional code is internally used in the module to compute the scaling factor for similarity transforms.  This code is based on (Horn 1987).
===Dependencies===
 
 
 
Other modules or packages that are required for this module's use.
 
  
 
===Known bugs===
 
===Known bugs===
Line 61: Line 58:
  
 
===Source code & documentation===
 
===Source code & documentation===
 
Customize following links for your module:
 
  
 
Source code:
 
Source code:
*[http://viewvc.slicer.org/viewcvs.cgi/trunk file.cxx ]  
+
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Applications/CLI/RegisterImagesModule/Applications/TransformFromFiducials.cxx TransformFromFidcuals.cxx ]
*[http://viewvc.slicer.org/viewcvs.cgi/trunk file.h ]
+
*[http://viewvc.slicer.org/viewcvs.cgi/trunk/Applications/CLI/RegisterImagesModule/Applications/TransformFromFiducials.xml TransformFromFidcuals.xml ]
 
Doxygen documentation:
 
*[http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classes.html class1]
 
 
 
== More Information ==
 
  
 
===Acknowledgment===
 
===Acknowledgment===
Include funding and other support here.
+
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on the National Centers for Biomedical Computing can be obtained from National Centers for Biomedical Computing.  
  
 
===References===
 
===References===
Publications related to this module go here. Links to pdfs would be useful.
+
Berthold K. P. Horn (1987),
 +
"Closed-form solution of absolute orientation using unit quaternions,"
 +
Journal of the Optical Society of America A, 4:629-642

Latest revision as of 17:50, 28 March 2010

Home < Modules:TransformFromFiducials-Documentation-3.6

Return to Slicer 3.6 Documentation

Gallery of New Features

Transform From Fiducials

Transform From Fiducials

Images with fiducials attached by user
Images with transform applied to moving image based on fiducial alignment

General Information

Module Type & Category

Type: CLI

Category: Registration

Authors, Collaborators & Contact

  • Author1: Casey Goodlett, Kitware
  • Contributor1: Dominik Meier, BWH
  • Contact: Casey Goodlett

Module Description

This module computs a linear transform from two lists of fiducials. The transform can either be translation only, rigid transform, or similarity transform.

Usage

The user must create two lists of fiducials with the ordering of the two lists implying correspondence. That is point 1 of list 1 goes with point 1 of list 2. Note that only points which are considered selected in the fiducials model are included. For rigid and similarity transforms, the user must specify at least three points in each list.

Examples, Use Cases & Tutorials

  • Use case 1: Registration initialization. If the user can specify a few anatomical points (at least 3), this module can be used to generate a transform which can be used to initialize image based registration.
  • IGT tasks that generate landmarks from a tracker automatically can use this module to compute transforms.

Quick Tour of Features and Use

  • Main panel:
    • Fixed landmarks - target list of points. The resulting transform maps an object onto the fixed landmarks.
    • Moving landmarks - source list of points. The result transform maps objects from this space to the fixed landmark space.
    • Save Transform - Transform node to save the result in. Typically a new transform should be created.
    • Transform Type
      • Translation - The resulting transform is the translation vector between the centroid of the moving landmarks to the centroid of the fixed landmarks.
      • Rigid - The resulting transform is the rigid transform that best moves the moving landmarks to the fixed landmarks in a least squares sense. The translation component is identical to the translation produced by translation alone.
      • Similarity - The resulting transform is the rigid transform that best moves the moving landmarks to the fixed landmarks in a least squares sense. The translation component is identical to the translation produced by translation alone and the rotation is equivalent to that from the rigid transform. This uses the symmetric formulation of computing the scaling factory given by Horn 1987, see reference below.

Development

This module is based on itk::LandmarkBasedTransformInitializer. Additional code is internally used in the module to compute the scaling factor for similarity transforms. This code is based on (Horn 1987).

Known bugs

Follow this link to the Slicer3 bug tracker.


Usability issues

Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.

Source code & documentation

Source code:

Acknowledgment

This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on the National Centers for Biomedical Computing can be obtained from National Centers for Biomedical Computing.

References

Berthold K. P. Horn (1987),
"Closed-form solution of absolute orientation using unit quaternions,"
Journal of the Optical Society of America A, 4:629-642