Difference between revisions of "Modules:PythonSurfaceICPRegistration-Documentation-3.4"

From Slicer Wiki
Jump to: navigation, search
(New page: Return to Slicer 3.4 Documentation __NOTOC__ ===Module Name=== MyModule {| |thumb|280px|Caption 1 |[[Image:screenshotBlank.png|thumb|2...)
 
Line 1: Line 1:
[[Documentation-3.4|Return to Slicer 3.4 Documentation]]
+
[[Documentation-3.4|Return to Slicer 3.4 Documentation]]
 
__NOTOC__
 
__NOTOC__
 
===Module Name===
 
===Module Name===
MyModule
+
Python ICP Registration
 
 
{|
 
|[[Image:screenshotBlank.png|thumb|280px|Caption 1]]
 
|[[Image:screenshotBlank.png|thumb|280px|Caption 2]]
 
|[[Image:screenshotBlank.png|thumb|280px|Caption 3]]
 
|}
 
  
 
== General Information ==
 
== General Information ==
 
===Module Type & Category===
 
===Module Type & Category===
  
Type: Interactive or CLI
+
Type: CLI
  
Category: Base or (Filtering, Registration, ''etc.'')
+
Category: Surface Models
  
 
===Authors, Collaborators & Contact===
 
===Authors, Collaborators & Contact===
* Author1: Affiliation & logo, if desired
+
* Luca Antiga: Mario Negri Institute
* Contributor1: Affiliation & logo, if desired
+
* Daniel Blezek: Mayo Clinic
* Contributor2: Affiliation & logo, if desired
+
* Contact: Luca Antiga, antiga@marionegri.it
* Contact: name, email
 
  
 
===Module Description===
 
===Module Description===
Overview of what the module does goes here.
+
This Python module registers an input surface to a target surface using the Iterative Closest Point algorithm using rigid, similarity and affine transforms.
  
 
== Usage ==
 
== Usage ==
Line 30: Line 23:
 
===Examples, Use Cases & Tutorials===
 
===Examples, Use Cases & Tutorials===
  
* Note use cases for which this module is especially appropriate, and/or link to examples.
+
* The module is appropriate when there is need for aligning surfaces, e.g. for comparison of surface features.
* Link to examples of the module's use
+
* Possible improvements are the generation of the registration transform in output (TO DO).
* 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:
 
List all the panels in your interface, their features, what they mean, and how to use them. For instance:
  
* '''Input panel:'''
+
* '''Surface ICP Registration Parameters:'''
* '''Parameters panel:'''
+
** ''Landmark transform mode'': choose between RigidBody, Similarity or Affine transforms for registration of the surfaces.
* '''Output panel:'''
+
** ''Mean distance mode'': choose between square root of the average of the sum of squares of the closest point distances (RMS) or mean of the sum of absolute values of the closest point distances (Absolute)
* '''Viewing panel:'''
+
** ''Maximum number of iterations'': number of iterations beyond which the ICP algorithm won't proceed even if the maximum mean distance is above threshold.
 +
** ''Maximum number of landmarks'': maximum number of surface landmarks used to minimize distance between surfaces
 +
** ''Start by matching centroids'': initialize the transform by translating the input surface so that its centroid coincides the centroid of the target surface.
 +
** ''Check mean distance'': force checking distance between every two iterations (slower but more accurate)
 +
** ''Maximum mean distance'': distance threshold, the algorithm stops when the mean distance between the surfaces is below this threshold
 +
* '''IO:'''
 +
** ''Input Surface'': the input (moving) surface
 +
** ''Target Surface'': the target (not moving) surface
 +
** ''Output Surface'': the input surface registered on the target surface
  
 
== Development ==
 
== Development ==
Line 46: Line 46:
 
===Dependencies===
 
===Dependencies===
  
Other modules or packages that are required for this module's use.
+
Python
  
 
===Known bugs===
 
===Known bugs===
Line 60: Line 60:
 
===Source code & documentation===
 
===Source code & documentation===
  
Customize following [http://www.na-mic.org/ViewVC/index.cgi/ links] for your module.
+
Follow this [http://viewvc.slicer.org/viewcvs.cgi/trunk/Modules/Python/ link] to the module.
  
 
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.
 
[http://www.na-mic.org/Slicer/Documentation/Slicer3/html/ Links] to documentation generated by doxygen.
Line 68: Line 68:
  
 
===Acknowledgment===
 
===Acknowledgment===
Include funding and other support here.
 
  
 
===References===
 
===References===
Publications related to this module go here. Links to pdfs would be useful.
+
 
 +
[http://www.vtk.org/doc/nightly/html/classvtkIterativeClosestPointTransform.html vtkIterativeClosestPointTransform]

Revision as of 10:08, 11 February 2009

Home < Modules:PythonSurfaceICPRegistration-Documentation-3.4

Return to Slicer 3.4 Documentation

Module Name

Python ICP Registration

General Information

Module Type & Category

Type: CLI

Category: Surface Models

Authors, Collaborators & Contact

  • Luca Antiga: Mario Negri Institute
  • Daniel Blezek: Mayo Clinic
  • Contact: Luca Antiga, antiga@marionegri.it

Module Description

This Python module registers an input surface to a target surface using the Iterative Closest Point algorithm using rigid, similarity and affine transforms.

Usage

Examples, Use Cases & Tutorials

  • The module is appropriate when there is need for aligning surfaces, e.g. for comparison of surface features.
  • Possible improvements are the generation of the registration transform in output (TO DO).

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:

  • Surface ICP Registration Parameters:
    • Landmark transform mode: choose between RigidBody, Similarity or Affine transforms for registration of the surfaces.
    • Mean distance mode: choose between square root of the average of the sum of squares of the closest point distances (RMS) or mean of the sum of absolute values of the closest point distances (Absolute)
    • Maximum number of iterations: number of iterations beyond which the ICP algorithm won't proceed even if the maximum mean distance is above threshold.
    • Maximum number of landmarks: maximum number of surface landmarks used to minimize distance between surfaces
    • Start by matching centroids: initialize the transform by translating the input surface so that its centroid coincides the centroid of the target surface.
    • Check mean distance: force checking distance between every two iterations (slower but more accurate)
    • Maximum mean distance: distance threshold, the algorithm stops when the mean distance between the surfaces is below this threshold
  • IO:
    • Input Surface: the input (moving) surface
    • Target Surface: the target (not moving) surface
    • Output Surface: the input surface registered on the target surface

Development

Dependencies

Python

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

Follow this link to the module.

Links to documentation generated by doxygen.


More Information

Acknowledgment

References

vtkIterativeClosestPointTransform