[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