[Insight-users] CenteredVersorTransformInitializer
Karthik Krishnan
Karthik.Krishnan at kitware.com
Thu Jun 23 12:07:29 EDT 2005
Hi Martin,
For landmark based initializations
1. constraining the transform to be VersorRigid3D:
Berthold K. P. Horn (1987),
"Closed-form solution of absolute orientation using unit quaternions,"
Journal of the Optical Society of America A, 4:629-642
http://people.csail.mit.edu/bkph/papers/Absolute_Orientation.pdf
and flicked from Hybrid/vtkLandmarkTransform.cxx
2. For the Rigid2DTransform, there is no reference, but its apparent:
Given that ITK transforms are
p' = R(p) + Offset
The transform that minimizes the least squares error between the fixed
landmarks, {f_i} and transformed moving landmarks, {m_i} [i=1.. n]
will have
- Offset = difference between the centroids of the landmarks
- Transfrom all both fixed and moving landmark co-ordinates into a
co-ordinate system with their centroid as center. This gets rid of the
offset and leaves us to solve for
t' = R(t).
- Rotation angle = arctan( CrossProduct( f, m) / DotProduct( f, m ) )
where CrossProduct( f, m ) = \sum_{i=1}^{n} {(m_i_y f_i_x) - (m_i_x f_i_y)}
DotProduct( f, m ) = \sum_{i=1}^{n} {(m_i_x f_i_x) +
(m_i_y f_i_y)}
Thanks
Regards
Karthik
Martin Urschler wrote:
> hi
>
> Karthik Krishnan wrote:
>
>> Possibly the M matrix in
>>
>> switch( transformType )
>> {
>> case VersorRigid3Dtransform:
>> {
>>
>> is to be replaced with the 3x3 matrix of second order momemts to get
>> the rotation. (Currently the M matrix is computed from second order
>> multiplication of the landmark locations.)
>
>
>
> I'm thinking of performing the implementation of this class, but I
> guess I'll need some more ideas about the mathematics behind it. Could
> you give me some links to papers or other resources for that?
>
> Martin
>
More information about the Insight-users
mailing list