[Insight-users] Bug in RigidXDTransform

Mark Hastenteufel M.Hastenteufel@dkfz-heidelberg.de
Wed, 20 Nov 2002 16:38:29 +0100


Hallo Developers!

I've found a bug in itkRigi3DTranform/itkRigid2DTranform.

I wanted to use the tranform->Inverse() method. 
But the result was not the one I've expected. The same 
when calling transform->BackTransform(). 

The problem seems to be the internal variable 
m_InverseTransform, which is never set correctly
to m_RotationMatrix.GetInverse() but is always 
the identity. One have to set in transform->SetRotationMatrix()
m_InverseTransform=m_RotationMatrix.GetInverse() and
things work.

Furthermore in the transform->Compose() method 
m_InverseMatrix is set to m_RotationMatrix.GetTranspose(),
and not to the inverse matrix.

A further thing is when using rotation matrices with
coefficients greater than 1. My application aborts without
an error message. I know that rotation matrices with 
coefficients graeter than 1 should not apperas, but if 
happen there should there should be 
descriptive error message.




-- 
Mark Hastenteufel
Deutsches Krebsforschungszentrum         (German Cancer Research Center)
Div. Medical and Biological Informatics H0100    Tel: (+49) 6221-42 2353
Im Neuenheimer Feld 280                          Fax: (+49) 6221-42 2345
D-69120 Heidelberg              e-mail            M.Hastenteufel@DKFZ.de
Germany                         http://www.dkfz.de/mbi/people/markh.html