[vtkusers] vtkIterativeClosestPoint

jedhoo at web.de jedhoo at web.de
Thu Feb 6 08:51:28 EST 2003


Hello vtkusers
I have got a question concerning the usage of the ICP-Implementation
in vtk. Im working in speech production on a three-dimensional tongue
model based on MRI-data. For example, I have three stacks of image volume data
from a speaker producing a sustained /a/ acquired in sagittal, coronal
and axial position. As these stacks were recorded in different
sessions, there are more or less profound registration artifacts.
As I make heavy use of Matlab, I wrote a mex-file that returns the
4x4-Transformationmatrix. However, for testing purposes, I took a
single patch (MATLAB terminology, compatible with vtkPolydata) and perturbed it by rotation and translation -as described
in the vtk-book- by premultiplying my (the 4th row resp. column of my 3d-data is
padded with ones) data with 

  T = T_T(p_x + o_x, p_y + o_y,  p_z + o_z)T_{R_z} T_{R_x} T_{R_y} T_S
  T_T(-o_x, -o_y, -o_z)

However, my transformation is never accurately recovered and the
situation does not seem to improve wit an increasing number of
iterations or number of landmarks.
So, my question is, what are the possible reasons for this behaviour?
I have a couple of hypotheses concerning this problem (apart from
that one concerning a stupid bug somewhere in my own code):
1. the ICP is not ill-specified for the problem I have (as I remember,
in the Besl-McKay paper there were a couple of examples given in
which the algorithm fails.
2. I didn't understand the concept of the cell locator, so I did not
provide my own one
3. Something with the centroid which is used in the resulting
transformation matrix?
I could of course supply example data and source code
etc.
Best wishes
Christian
 
______________________________________________________________________________
Ihre Freunde sind in Italien? Schicken Sie ihnen trotzdem eine SMS
mit WEB.DE FreeMail http://freemail.web.de/features/?mc=021172




More information about the vtkusers mailing list