I first posted the problem few months back and Prof: Lassoan help me with it. Now i have had time to read about this topic and play around I would like to have a better understanding of the problem as i am not 100% happy with the results that i am getting with CMF surface registraion module and IGT fiducial registration wizard. i am no mathematician or programmer and many parts of this will be copy pasted from other published work whici i read.
Original Problem : We have a STL files from surface scans of bone from preop and post op with changes. We have initially put landmarks on the bone.
I have attached the sample data from our original scan. Blue is the pre op and the yellow is the post op.
We need to align the two meshes perfectly so we can see the difference of bone volume. (model to model distance and shape population viewer.)
As i understand mathematical problem
Given the coordinates of a set of points measured in two Cartesian coordinate systems (left, right) find the rigid transformation, T, between the two systems so that for corresponding points Pr , Pl we have:
Pr = T(Pl )
From what i read on this,
-
Pairing between points is known â closed form (analytic) solutions.
-
Pairing between points is unknown, â iterative solutions (require initialization and only guarantee convergence to local optimum).
And the advantages and disadvantages of the each method are,
Analytic solution
- requires pairing
- sensitive to outliers
- guarantees optimality
- assumes noise is isotropic and IID (~N(0,ďł))
Iterative solution
- does not require a known pairing
- sensitive to outliers
- does not guarantee optimality
- assumes noise is isotropic and IID (~N(0,ďł))
- requires initialization
- requires use of spatial data structures to achieve reasonable running times on a reasonably large data set.
My Question 01
CMF surface registration falls under ICP right ?
My Question 02
IGT Fiducial registration wizard â Is it ICP or Analytic solution ??? or a hybird ???
My Experiment
I made 3 stl models with Blender.
Red and Green models are exact duplicates but with two locations. (2 origins)
Yellow models is also a exact duplicate but i distorted one part of the mesh and with as you can see different origin.
Then I use CMF registriaon of Red and Green models. And the results are excellent.
However when i use it to align the distorted model (yellow) it gives very very bad results. ( with max iterations 10000 and max landmarks 4000 )
Also i used IGT Fiducial registration with 4 landmarks and the results were not good but better than CMF registration.
Then i used the cloud compare on the same and even with the default settings it gives very good results.
So my question 3
Why is 3D slicer ICP method in CMF registration module gives inferior results to cloudcompare ?
For my original study i did registration with IGT module with manual landmarks and the results were good as evident by the colour map. we can see exact superimposition on the landmarks we fixed.
But i could get the same results with the cloud compare too in which alignment was as above completely automated. ( I think with ICP registration - cloud compare fine alignment)
So Question 04
Where is the problem with CMF registration module in comparison to cloud compare ? Why is it failing ? I edited the source file of CMF slicer module and tried it with 10000 landmarks and the results were the same albeit it was lot of computer power for my laptop - had to wait a long time !.
Question 05
In IGT Fiducial registration wizard is there any part which is automatic or done by a algorithm ? or is it s just transform or move the mesh landmarks we select on to each other without any kind of matching ?
Question 06
Is there a remedy to improve this ? As i prefer a fully automated system (without selecting landmarks) to align the models with better precision.