# Details on ICP registration implementation

**URL:** <https://discourse.slicer.org/t/details-on-icp-registration-implementation/3343>\
**Category:** Support\
**Tags:** registration\
**Created:** [June 30, 2018, 10:40am UTC](https://discourse.slicer.org/t/details-on-icp-registration-implementation/3343 "2018-06-30T10:40:41Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![odiseo123](https://avatars.discourse-cdn.com/v4/letter/o/f08c70/32.png) [@odiseo123](https://discourse.slicer.org/u/odiseo123)\
**Post date:** [June 30, 2018, 10:40am UTC](https://discourse.slicer.org/t/details-on-icp-registration-implementation/3343/1 "2018-06-30T10:40:41Z")

</div>

Operating system: Windows 7 64bits  
Slicer version: 4.8.1  
Expected behavior: N/A  
Actual behavior: N/A

I am using the surface registration module with “Surface Registration” as “Type of Registration”. I just wanted some extra information about it:  
\*Is the registration algorithm a pure ICP method, i.e. it aligns points WITHOUT considering normals or curvature?  
\*Is the “Number Of Landmarks” the number of points sampled from the mesh surface? Is the sampling done randomly?

Thanks a lot for your help.

---

<div class="post-metadata">

**Author:** ![Andinet\_Enquobahrie](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/andinet_enquobahrie/32/75_2.png) [@Andinet\_Enquobahrie](https://discourse.slicer.org/u/Andinet_Enquobahrie)\
**Post date:** [July 1, 2018, 1:48pm UTC](https://discourse.slicer.org/t/details-on-icp-registration-implementation/3343/2 "2018-07-01T13:48:24Z")

</div>

Hi,

The Surface Registration module which is part of the CMFreg extension uses vtkIterativeClosestPointTransform. You can look into the details in the following links.

Surface registration python script

> <https://github.com/DCBIA-OrthoLab/CMFreg/blob/master/SurfaceRegistration/SurfaceRegistration.py>

vtkIterativeClosestPointTransform  
[https://www.vtk.org/doc/nightly/html/classvtkIterativeClosestPointTransform.html#details](https://www.vtk.org/doc/nightly/html/classvtkIterativeClosestPointTransform.html#details)

HTH,  
Andinet
