[vtkusers] vtkLandmarkTransform incorrect results?

David Doria daviddoria+vtk at gmail.com
Thu Nov 12 18:09:02 EST 2009


On Tue, Nov 10, 2009 at 2:57 PM, David Gobbi <david.gobbi at gmail.com> wrote:
> On Tue, Nov 10, 2009 at 11:59 AM, David Doria <daviddoria+vtk at gmail.com> wrote:
>> On Tue, Nov 10, 2009 at 11:06 AM, David Gobbi <david.gobbi at gmail.com> wrote:
>>> Hi David,
>>>
>>> The vtkLandmarkTransform requires that the two sets of vtkPoints are
>>> homologous with each other, i.e. they must each represent the same set
>>> of landmarks listed in the same order.  Using it to register polydata
>>> by taking the points from each data set is a bad idea, since the
>>> points are probably not going to be homologous.  You should use
>>> iterative closest point instead.
>>>
>>>    David

David,

Here is a good example:
http://www.rpi.edu/~doriad/Paraview_List/LandmarkFilter/Data/

If you use Source.vtp for both the Source Dataset AND the Source
Landmarks (because we want to use all of the points anyway)

and use Target.vtp for Target Landmarks, you will see that the
resulting alignment is way off.

Source.vtp was generated FROM Target.vtp by scaling it [2,1,1] and
then translating it [0,5,0]. The resulting inverse transformation
should then be

    1.0000         0         0   -5.0000
         0    0.5000         0         0
         0         0    1.0000         0
         0         0         0    1.0000

Please let me know what you find.

Thanks,

David



More information about the vtkusers mailing list