[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