From SlicerWiki
Home < Modules:PythonSurfaceICPRegistration-Documentation-3.6Return to Slicer 3.6 Documentation
Gallery of New Features
Module Name
Python ICP Registration
|
| Figure 1: Full model of aneurysm and (unregistered) aneurysm dome
| Figure 2: Aneurysm dome registered on the full model
|
General Information
Module Type & Category
Type: CLI
Category: Surface Models
Authors, Collaborators & Contact
- Luca Antiga: Orobix Srl & Mario Negri Institute
- Daniel Blezek: Mayo Clinic
- Contact: Luca Antiga, luca.antiga@orobix.com
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
Use Cases, Examples
- 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).
Tutorials
NA
Quick Tour of Features and Use
- 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:
- Initial Transform: the (optional) initial transform that is applied to the input surface prior to registration
- Input Surface: the input (moving) surface
- Target Surface: the target (not moving) surface
- Output Surface: the output surface, i.e. the input surface registered on the target surface. Optional.
- Output Transform: the computed ICP transform MRML node. Optional (if both Output Surface and Output Transform are specified, the output surface is placed as a child of the output transform).
|
|
Development
Notes from the Developer(s)
The module internally uses vtkIterativeClosestPointTransform.
Dependencies
Python
Tests
NA
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
Links to the module's source code:
Source code:
More Information
Acknowledgment
NA
References
NA