[Insight-users] Similarity3DTransform
Heike Moll
Heike.Moll at rwth-aachen.de
Wed Jun 4 10:11:25 EDT 2008
Hi,
I am trying to implement a class named CenteredSimilarity3DTransform.
This class is derived from Similarity3DTransform and is suposed to optimize the center of transformation (like CenteredSimilarity2DTransform).
My problem is the method GetJacobian( const InputPointType & p )!!
I have to rewrite the Jacobian matrix for 3D, so I tried to understand the calculation in the VersorRigid3DTransform class.
You used the equation P`=R*P+T.
But if I recalculate the jacobian matrix (whose elements are the partial derivatives of the output point with respect to the transform parameters) with above equation and the (quaternion) rotation matrix R:
R=1-2(y²+z²), 2xy-2wz, 2xz+2wy;
2xy+2wz, 1-2(x²+z²), 2yz-2wx;
2xz-2wy, 2yz+2wx, 1-2(x²+y²),
I get another result as the one used in VersorRigid3DTransform. The versor differs in all positions accept in the diagonal.
Why? Did I use the wrong rotation matrix R? Or have I a logical mistake in my thoughts?
Thx Heike
More information about the Insight-users
mailing list