Documentation/Nightly/Modules/SurfaceRegistration

From Slicer Wiki
Jump to: navigation, search
Home < Documentation < Nightly < Modules < SurfaceRegistration


For the latest Slicer documentation, visit the read-the-docs.


Introduction and Acknowledgements

Extension: CMFreg
Acknowledgments: This work was supported by the National Institute of Dental & Craniofacial Research and the National Institute of Biomedical Imaging and Bioengineering under Award Number R01DE024450. The content is solely the responsibility of the authors and does not necessarily represent the official views of the National Institutes of Health.
Author: Jean-Baptiste Vimort (University of Michigan)
Contributors: Francois Budin (UNC), Juan Carlos Prieto (UNC), Beatriz Paniagua (UNC), Lucia Cevidanes (University of Michigan)
Contact: Jean-Baptiste Vimort, <email>jb.vimort@gmail.com</email>

Module Description

This module allows the user to compute and apply transformations (registration) between two 3D models (VTK file). The registration can be computed using the entire mesh of both models (Surface Registration), just a region of interest (ROI Registration) on each model, or two fiducial lists which can be projected on the meshes (Fiducial Registration).

Use Cases

Fiducials Registration

Pictures

Before fiducial registration
Fiducial Registration Interface
Result after fiducial registration

Inputs/Outputs

  • Inputs:
    • Fixed Model: 3D model (vtk file) that won't move.
    • Moving Model: 3D model (vtk file) that will move.
    • Fixed Landmarks: ordered landmark list (fiducial list) associated with the Fixed Model.
    • Moving Landmarks: ordered landmark list (fiducial list) associated with the Fixed Model.
  • Outputs:
    • Output model: 3D model node that in which the transformed moving model will be saved.
    • output transform: linear transform node in which the transformation computed by the algorithm will be saved.

Description

The fiducial registration computes a rigid, similarity, or affine transform from a matched list of fiducials using the SurfaceRegistration module. The algorithm needs the same number of fiducial in each list, and at least 3 fiducials per list.
The 'add landmarks' section allows the user to add and move landmarks. Landmarks can be projected on the surfaces or not.

Surface Registration

Pictures

Before Surface Registration
Surface Registration Interface
Result after Surface Registration

Inputs/Outputs

  • Inputs:
    • Fixed Model: 3D model (vtk file) that won't move.
    • Moving Model: 3D model (vtk file) that will move.
  • Outputs:
    • Output model: 3D model node in which the transformed moving model will be saved.
    • output transform: linear transform node in which the computed transformation is saved.

Description

The fiducial registration computes a rigid, similarity, or affine transform to register two models using the Iterative Closest Point algorithm. This algorithm doesn't require the two models to have the same number of points.

ROI Registration

Pictures

Before ROI (Region Of Interest) Registration
Interface of ROI (Region Of Interest) Registration
Result after ROI (Region Of Interest) Registration

Inputs/Outputs

  • Inputs:
    • Fixed Model: 3D model (vtk file) that won't move.
    • Moving Model: 3D model (vtk file) that will move.
    • Fixed Landmarks: list of landmarks associated to the Fixed Model.
    • Moving Landmarks: list of landmarks associated to the Fixed Model.
  • Outputs:
    • Output model: 3D model that will save the result of the moving model after the transformation.
    • output transform: linear transform that will save the transform compute by the algorithm.

Description

The fiducial registration computes a rigid, similarity, or affine transform from a matched part of models based on the Iterative Closest Point algorithm. This algorithm doesn't require the regions of each model to have the same number of points. The 'add landmarks' section allows user to define the regions of interest (ROIs) by positioning a landmark on a 3D model and defining a radius for the region (the radius is defined in term of neighbors and not in millimeters).

Similar Modules

N/A

Information for Developers

The source code is available on github