[Insight-users] setOffset vs setTranslation
Dan Mueller
dan.muel at gmail.com
Fri Sep 25 04:17:33 EDT 2009
Hi Patrick,
Please see the documentation in Code/Common/itkMatrixOffsetTransformBase.h
/** Set offset (origin) of an MatrixOffset TransformBase.
*
* This method sets the offset of an MatrixOffsetTransformBase to a
* value specified by the user.
* This updates Translation wrt current center. See the warning regarding
* offset-versus-translation in the documentation for SetCenter.
* To define an affine transform, you must set the matrix,
* center, and translation OR the matrix and offset */
void SetOffset(const OutputVectorType &offset)
/** Set center of rotation of an MatrixOffsetTransformBase
*
* This method sets the center of rotation of an MatrixOffsetTransformBase
* to a fixed point - for most transforms derived from this class,
* this point is not a "parameter" of the transform - the exception is that
* "centered" transforms have center as a parameter during optimization.
*
* This method updates offset wrt to current translation and matrix.
* That is, changing the center changes the transform!
*
* WARNING: When using the Center, we strongly recommend only changing the
* matrix and translation to define a transform. Changing a transform's
* center, changes the mapping between spaces - specifically, translation is
* not changed with respect to that new center, and so the offset is updated
* to * maintain the consistency with translation. If a center is not used,
* or is set before the matrix and the offset, then it is safe to change the
* offset directly.
* As a rule of thumb, if you wish to set the center explicitly, set
* before Offset computations are done.
*
* To define an affine transform, you must set the matrix,
* center, and translation OR the matrix and offset */
void SetCenter(const InputPointType & center)
/** Set translation of an MatrixOffsetTransformBase
*
* This method sets the translation of an MatrixOffsetTransformBase.
* This updates Offset to reflect current translation.
* To define an affine transform, you must set the matrix,
* center, and translation OR the matrix and offset */
void SetTranslation(const OutputVectorType & translation)
Hope this helps.
Cheers, Dan
2009/9/25 Patrik Brynolfsson <patrik.brynolfsson at radfys.umu.se>:
> I just have a quick question; what is the difference between the
> setTranslation and setOffset methods for e.g. the VersorRigid3DTransform?
>
> --
> Patrik Brynolfsson
More information about the Insight-users
mailing list