[Insight-users] Inverse of affine not inplemented
Lodron, Gerald
Gerald.Lodron at joanneum.at
Tue Dec 22 10:35:28 EST 2009
Hmm, sorry, i thougt the base class is the itk::Transform class which always returns false. I did not see that the base class is MatrixOffsetTransformBase. My fault!
Thanks for answer!
________________________________
Von: Wes Turner [mailto:wes.turner at kitware.com]
Gesendet: Dienstag, 22. Dezember 2009 16:17
An: Lodron, Gerald
Cc: insight-users at itk.org
Betreff: Re: [Insight-users] Inverse of affine not inplemented
I took a (very) quick look. If it is returning NULL then it appears that either your matrix is singular, or you are not calling it correctly. BTW: bool GetInverse(transform) expects the transform to be passed in and only returns true or false depending on if the matrix inversion was successful or not. YOu probably want to make a call to transform->GetInverseMatrix() instead.
Code is included below.
- Wes
// Recompute the inverse matrix (internal)
template<class TScalarType, unsigned int NInputDimensions,
unsigned int NOutputDimensions>
const typename MatrixOffsetTransformBase<TScalarType,
NInputDimensions,
NOutputDimensions>::InverseMatrixType &
MatrixOffsetTransformBase<TScalarType, NInputDimensions, NOutputDimensions>
::GetInverseMatrix( void ) const
{
// If the transform has been modified we recompute the inverse
if(m_InverseMatrixMTime != m_MatrixMTime)
{
m_Singular = false;
try
{
m_InverseMatrix = m_Matrix.GetInverse();
}
catch(...)
{
m_Singular = true;
}
m_InverseMatrixMTime = m_MatrixMTime;
}
return m_InverseMatrix;
}
// return an inverse transformation
template<class TScalarType, unsigned int NInputDimensions,
unsigned int NOutputDimensions>
bool
MatrixOffsetTransformBase<TScalarType, NInputDimensions, NOutputDimensions>
::GetInverse( Self * inverse) const
{
if(!inverse)
{
return false;
}
this->GetInverseMatrix();
if(m_Singular)
{
return false;
}
inverse->m_Matrix = this->GetInverseMatrix();
inverse->m_InverseMatrix = m_Matrix;
inverse->m_Offset = -(this->GetInverseMatrix() * m_Offset);
inverse->ComputeTranslation();
inverse->ComputeMatrixParameters();
return true;
}
On Tue, Dec 22, 2009 at 10:04 AM, Lodron, Gerald <Gerald.Lodron at joanneum.at<mailto:Gerald.Lodron at joanneum.at>> wrote:
The method is there but it always returns NULL. I looked in the code it really always returns NULL but i think in most ways the affine should be invertable so the code in the function should be changed
________________________________
Von: Wes Turner [mailto:wes.turner at kitware.com<mailto:wes.turner at kitware.com>]
Gesendet: Dienstag, 22. Dezember 2009 16:02
An: Lodron, Gerald
Cc: insight-users at itk.org<mailto:insight-users at itk.org>
Betreff: Re: [Insight-users] Inverse of affine not inplemented
There appears to be a GetInverse() method for the Affine Transform. Can you give a better description of your problem.
- Wes
http://www.itk.org/Doxygen316/html/classitk_1_1AffineTransform.html#d294a8a59b93d3663de46705490a189e
On Tue, Dec 22, 2009 at 8:10 AM, Lodron, Gerald <Gerald.Lodron at joanneum.at<mailto:Gerald.Lodron at joanneum.at>> wrote:
Hello
Is there a reason for the missing GetInverse() implementation of the affine transformation or is it a missing issue?
Best regards
_____________________________________
Powered by www.kitware.com<http://www.kitware.com>
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.html
Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-users
--
Wesley D. Turner, Ph.D.
Kitware, Inc.
Technical Leader
28 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4920
--
Wesley D. Turner, Ph.D.
Kitware, Inc.
Technical Leader
28 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4920
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20091222/c3e3a6ad/attachment.htm>
More information about the Insight-users
mailing list