Difference between revisions of "Documentation/Nightly/Modules/SurfaceRegistration"

From Slicer Wiki
Jump to: navigation, search
 
(11 intermediate revisions by 2 users not shown)
Line 12: Line 12:
 
Author: Jean-Baptiste Vimort (University of Michigan)<br>
 
Author: Jean-Baptiste Vimort (University of Michigan)<br>
 
Contributors: Francois Budin (UNC), Juan Carlos Prieto (UNC), Beatriz Paniagua (UNC), Lucia Cevidanes (University of Michigan)<br>
 
Contributors: Francois Budin (UNC), Juan Carlos Prieto (UNC), Beatriz Paniagua (UNC), Lucia Cevidanes (University of Michigan)<br>
Contact: Jean-Baptiste Vimort, <email>jvimort@umich.edu</email><br>
+
Contact: Jean-Baptiste Vimort, <email>jb.vimort@gmail.com</email><br>
 
{{documentation/{{documentation/version}}/module-introduction-row}}
 
{{documentation/{{documentation/version}}/module-introduction-row}}
 
<gallery>
 
<gallery>
Line 24: Line 24:
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Module Description}}
 
{{documentation/{{documentation/version}}/module-section|Module Description}}
This module allows user to compute and apply registrations between 3D models (VTK file). The user can either use the entire mesh of both models (Surface Registration), just a region of interest (ROI Registration), or two fiducial lists which can be projected on the meshes (Fiducial Registration).
+
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).
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Use Cases}}
 
{{documentation/{{documentation/version}}/module-section|Use Cases}}
 
==Fiducials Registration==
 
==Fiducials Registration==
===pictures===
+
===Pictures===
 
{|
 
{|
 
|[[Image:SurfaceRegistrationFR.png|thumb|400px|Before fiducial registration]]
 
|[[Image:SurfaceRegistrationFR.png|thumb|400px|Before fiducial registration]]
 
|[[Image:SurfaceRegistrationFRInterface.png|thumb|400px|Fiducial Registration Interface]]
 
|[[Image:SurfaceRegistrationFRInterface.png|thumb|400px|Fiducial Registration Interface]]
|[[Image:SurfaceRegistrationFRResult.png|thumb|400px|Result of fiducial registration]]
+
|[[Image:SurfaceRegistrationFRResult.png|thumb|400px|Result after fiducial registration]]
 
|}
 
|}
  
===inputs/outputs===
+
===Inputs/Outputs===
 
* <span style="color:blue">'''Inputs'''</span>:  
 
* <span style="color:blue">'''Inputs'''</span>:  
 
** <span style="color:green">'''Fixed Model'''</span>: 3D model (vtk file) that won't move.  
 
** <span style="color:green">'''Fixed Model'''</span>: 3D model (vtk file) that won't move.  
 
** <span style="color:green">'''Moving Model'''</span>: 3D model (vtk file) that will move.
 
** <span style="color:green">'''Moving Model'''</span>: 3D model (vtk file) that will move.
** <span style="color:green">'''Fixed Landmarks'''</span>: ordered list of landmarks associated to the Fixed Model.  
+
** <span style="color:green">'''Fixed Landmarks'''</span>: ordered landmark list (fiducial list) associated with the Fixed Model.  
** <span style="color:green">'''Moving Landmarks'''</span>: ordered list of landmarks associated to the Fixed Model.  
+
** <span style="color:green">'''Moving Landmarks'''</span>: ordered landmark list (fiducial list) associated with the Fixed Model.  
 
* <span style="color:blue">'''Outputs'''</span>:  
 
* <span style="color:blue">'''Outputs'''</span>:  
** <span style="color:green">'''Output model'''</span>: 3D model that will save the result of the moving model after the transformation.  
+
** <span style="color:green">'''Output model'''</span>: 3D model node that in which the transformed moving model will be saved.  
** <span style="color:green">'''output transform'''</span>: linear transform that will save the transform compute by the algorithm.
+
** <span style="color:green">'''output transform'''</span>: linear transform node in which the transformation computed by the algorithm will be saved.
===description===
+
 
The fiducial registration will compute a rigid, similarity or affine transform from a matched list of fiducials based on the SurfaceRegistration module, the algorithm need the same number of fiducials in each list, and at least 3 fiducials in each list. <br>
+
===Description===
The add landmarks section will allow user to add and move landmarks either on the surface or not.
+
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. <br>
 +
The 'add landmarks' section allows the user to add and move landmarks. Landmarks can be projected on the surfaces or not.
 +
 
 
==Surface Registration==
 
==Surface Registration==
===pictures===
+
===Pictures===
 
{|
 
{|
|[[Image:SurfaceRegistrationSR.png|thumb|400px|Before the surface registration]]
+
|[[Image:SurfaceRegistrationSR.png|thumb|400px|Before Surface Registration]]
|[[Image:SurfaceRegistrationSRInterface.png|thumb|400px|Interface of the surface registration]]
+
|[[Image:SurfaceRegistrationSRInterface.png|thumb|400px|Surface Registration Interface]]
|[[Image:SurfaceRegistrationSRResult.png|thumb|400px|Result of the surface registration]]
+
|[[Image:SurfaceRegistrationSRResult.png|thumb|400px|Result after Surface Registration]]
 
|}
 
|}
===inputs/outputs===
+
 
 +
===Inputs/Outputs===
 
* <span style="color:blue">'''Inputs'''</span>:  
 
* <span style="color:blue">'''Inputs'''</span>:  
 
** <span style="color:green">'''Fixed Model'''</span>: 3D model (vtk file) that won't move.  
 
** <span style="color:green">'''Fixed Model'''</span>: 3D model (vtk file) that won't move.  
 
** <span style="color:green">'''Moving Model'''</span>: 3D model (vtk file) that will move.
 
** <span style="color:green">'''Moving Model'''</span>: 3D model (vtk file) that will move.
 
* <span style="color:blue">'''Outputs'''</span>:  
 
* <span style="color:blue">'''Outputs'''</span>:  
** <span style="color:green">'''Output model'''</span>: 3D model that will save the result of the moving model after the transformation.  
+
** <span style="color:green">'''Output model'''</span>: 3D model node in which the transformed moving model will be saved.  
** <span style="color:green">'''output transform'''</span>: linear transform that will save the transform compute by the algorithm.
+
** <span style="color:green">'''output transform'''</span>: linear transform node in which the computed transformation is saved.
===description===
+
 
The fiducial registration will compute a rigid, similarity or affine transform from a matched models based on the Iterative Closest Point algorithm. This algorithm don't necessitate that the two models to have the same number of points.
+
===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==
 
==ROI Registration==
===pictures===
+
===Pictures===
 
{|
 
{|
|[[Image:SurfaceRegistrationROIR.png|thumb|400px|Before the Region Of Interest registration]]
+
|[[Image:SurfaceRegistrationROIR.png|thumb|400px|Before ROI (Region Of Interest) Registration]]
|[[Image:SurfaceRegistrationROIRInterface.png|thumb|400px|Interface of the Region Of Interest registration]]
+
|[[Image:SurfaceRegistrationROIRInterface.png|thumb|400px|Interface of ROI (Region Of Interest) Registration]]
|[[Image:SurfaceRegistrationROIRResult.png|thumb|400px|Result of the Region Of Interest registration]]
+
|[[Image:SurfaceRegistrationROIRResult.png|thumb|400px|Result after ROI (Region Of Interest) Registration]]
 
|}
 
|}
===inputs/outputs===
+
 
 +
===Inputs/Outputs===
 
* <span style="color:blue">'''Inputs'''</span>:  
 
* <span style="color:blue">'''Inputs'''</span>:  
 
** <span style="color:green">'''Fixed Model'''</span>: 3D model (vtk file) that won't move.  
 
** <span style="color:green">'''Fixed Model'''</span>: 3D model (vtk file) that won't move.  
Line 80: Line 86:
 
** <span style="color:green">'''Output model'''</span>: 3D model that will save the result of the moving model after the transformation.  
 
** <span style="color:green">'''Output model'''</span>: 3D model that will save the result of the moving model after the transformation.  
 
** <span style="color:green">'''output transform'''</span>: linear transform that will save the transform compute by the algorithm.
 
** <span style="color:green">'''output transform'''</span>: linear transform that will save the transform compute by the algorithm.
===description===
+
===Description===
The fiducial registration will compute a rigid, similarity or affine transform from a matched part of models based on the Iterative Closest Point algorithm. This algorithm don't necessitate that the two part of models to have the same number of points.
+
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 will allow user to define the regions of interest (ROIs) by positioning a landmark on the 3D model and defining a radius for the region (the radius is defined in term of neighbors and not in millimeter).
+
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).
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->

Latest revision as of 21:05, 29 February 2016

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