[vtkusers] procrustes alignment in similarity mode

Rasmus Reinhold Paulsen rrp at imm.dtu.dk
Thu Sep 15 06:49:40 EDT 2005


Hi Leon,

Sorry for replying after such a long time.

On Sun, 28 Aug 2005, Leon Chen wrote:

> I have some corresponding landmarks and try to use procrustes filter
> to align them. in rigidbody mode, the result seems right, but when I
> use the similarity, which allow the scaling during transformation, all
> of these points converge into one point.

I am somewhat confused here. Procrustes works on a set of shapes, where
the points on the shapes have correspondence. Meaning that point 17 on
shape 4 is placed on the "same place" as point 17, on shape 43.

I guess that is what you have? Procrustes do not make sence, if you only
have two shapes with correspondence. In that case you should use the
vtkLandmarkTransform.

In the similarity mode the mean shape is normalised to have centroid
(0,0,0) and centroid size 1. I have just check vtkProcrustes and unless my
eyes tricks me, it is implemented correctly. This should avoid shrinking.

> What confuse me is that,  I tried to transform the objects (where the
> landmarks are sticked) with the vtkLandmarkTransform whose destination
> is the result of the procrustes filter, which is a single point! and
> it worked! these object goes together but not shrink to a point again,
> (rigid mode in landmark trans, if use similarity mode, they are really
> shrinked...)

I think that is obvious. If you use a similarity transform with a single
point as target, your source shape will be transformed into a single point
as well. In rigid mode, there is no scale so it can not shrink your
source. However, the transform done will be very il-defined.

> So my question is what is the transformation between the result from
> procrustes and original position of these landmark points? and how do
> they successfully transform the object together?

I am not really sure what you mean. If you call

GetLandmarkTransform()->SetModeToRigidBody()

before "running" the Procrustes, the resulting aligned shapes, will be
aligned in a least squares sence using the rigid body transformation.

For a very good introduction to Procustes etc. I can recommend Cootes
online report:

http://www.isbe.man.ac.uk/~bim/Models/app_models.pdf

Cheers,
Rasmus






More information about the vtkusers mailing list