We are working on developing a general purpose model registration tool in Slicer. At this moment, I developed a simple test module (https://github.com/chz31/registration_test) using rigid registration functions (RANSAC + ICP) from Open3D and new ITK-based ALPACA module. This can allow people to test registration for purposes such as ALPACA automated landmarking.
We are thinking about expanding this module into its own system for other purposes related to model registrations. One purpose is to register and align models that represent different parts of an object with overlapping area, and fuse them together. This could be useful for some purposes. For example, it would allow align and fuse models acquired from different angles, such as different parts of an object acquired by photogrammetry techniques. It would also allow virtual fossil reconstruction, which is usually done using commercial software such as Geomagic Studio.
Current GUI testing version is here: https://github.com/chz31/registration_test. It implements rigid registration functions (RANSAC + ICP) and new ITK-based ALPACA module.
These are the models acquired by photogrammetry from two angles. The yellow one has no top, and the red one has no bottom. Rigid registration from Open3D can align them pretty well, though not perfect.
A sample virtual reconstruction in Geomagic Studio. The skull missed a part at the right side. The yellow part is the mirror image of the counter part at the left side.
Current testing version is here: https://github.com/chz31/registration_test. It uses rigid registration functions (RANSAC + ICP) from Open3D and new ITK-based ALPACA module.
ALPACA module (including the ITK version) repository: https://github.com/SlicerMorph/SlicerMorph/tree/master/ALPACA
ALPACA tutorial: https://github.com/SlicerMorph/Tutorials/tree/main/ALPACA
Open3D rigid registration utilized in ALPACA: http://www.open3d.org/docs/release/tutorial/pipelines/global_registration.html