[Insight-users] Bug in GetJacobian() of Similarity3DTransform

Thomas Albrecht Thomas.Albrecht at unibas.ch
Thu Feb 3 10:06:52 EST 2011


Hi,

in the GetJacobian() method of itk::Similarity3DTransform, the jacobian 
of the transform is computed, first for the versor (rotation) part, then 
for the translation part and finally for the scale part of the parameters.

However, there is no scale factor in the derivative of the versor part. 
I think there should be.

Here's why: The transform can be represented as:

     s A(u,v,w) x + t ,

where s is the scale factor, u,v,w the versor parameters, t the 
translation vector and A the matrix that u,v,w represent, and x the 
input point.

Now we have:

     d/du (s A(u,v,w) x + t) = s  d/du A(u,v,w) x

The derivative d/du A(u,v,w) of the rotation with respect to the first 
versor parameter can be taken from itk::VersorRigid3DTransform, which it 
is in the current form of itk::Similarity3DTransform. However, the s is 
missing. The same goes of course for the derivatives with respect to v 
and w.

Or am I missing something?


Tom





More information about the Insight-users mailing list