From Computational Biology Group
Iterative Closest Point (ICP) is a widely used method to match two sets of points related by a rigid-body transformation. For example, you are imaging a sample using confocal microscopy before and after some treatment, and you want to be able to realign your sample in order to compare the two image stacks.
In this the following paper, we provided a novel method to perform ICP by using an iterative estimation scheme. The source code for this method is available here. This code assumes relatively good quality data, and does not handle partially overlapping data sets. It works on linux, mac and windows. It uses no fancy libraries. Note that this code is not optimized for very large data sets (for example by using k-d trees). If I have time, I may include it into libpointmatcher.
This code is used in the MorphographX software.
- Hersch M, Billard A, Bergmann S. Iterative Estimation of Rigid Body Transformations - Application to robust object tracking and Iterative Closest Point. Journal of Mathematical Imaging and Vision. 2011 pdf.