[Insight-users] Re: MultiResMIRegistration Example

Luis Ibanez luis.ibanez@kitware.com
Wed, 11 Sep 2002 13:11:28 -0400


Hi Christina,

The MultiResMIRegistration examples uses a Rigid Transform.
The rotational component of the transform is represented
by a Quaternion (4 components) while the translational
component is a 3D vector.

Hence, the full rigid transform is represented by seven
parameters.

For example, in the test that you just run:

Quaternion  = [  0.00475697, 0.00893481, 0.00112444, 0.999948]
Translation = [ -9.47947, -0.159299, -19.911]

The four components of the quaternion can be interpreted
as follows:

1) the first three are the componenet a vector parallel to
    the axis in which the rotation was made. The lenght of
    this vector is equal to :  sin( angle / 2 )

2) the fourth component of the quaternion is equal to
    cos( angle / 2 ). In your case, for example, the reported
    angle is  2.0* cos^-1(  0/999948 ) = 1.16 degrees.


If your original translation was actually : [10,0,0] the
result reported by the registration is totally of in the
z direction. In fact given that your volume is of size 40
along Z. it seems that the registration is just diverging.

You may want to tune the parameters associated with the
translation scale and the learning rate.


About the memory consumption problem, no changes have
been made so far. A potential good option is to trade
memory by computing time, this can be done by not computing
the full pyramids of both images at the beggining, but only
compute the current resolution level that is being registered.
Something for the TODO list...

Please let us know if you encounter further problems,

Thanks


   Luis


===================================

Christina Lee wrote:

> Hi Luis & Lydia,
> 
> How are you?
> I created a phantom (a 256x256x40 cube) & I applied no
> noise, no rotation & only a translation in x-dir of 10
> pixels to it (just to make things simple). And I ran
> the multiresmiregistration program on the phantom &
> its translated version. The final parameters I got
> were [0.00475697, 0.00893481, 0.00112444, 0.999948,
> -9.47947, -0.159299, -19.911]. I guess that the first
> three parameters are the rotations, the next three the
> translations - what is the last parameter?
> 
> The overall transform matrix was: 
> 0.999838      0.00233376     -0.017858
> -0.00216375   0.999952       0.00953355
> -0.0178794    -0.00949336    0.999795
> 
> ==> I guess this is reasonable since the elements of
> the diagonal have the value 1 - which is what we would
> expect. But the final parameters made me really
> suspicious...
> 
> BTW, what is the overall transform offset?  
> 
> I too encountered the excess memory consumption
> problem posted by one of the users back in April. Has
> any attempt been made to resolve this issue?
> 
> Thanks,
> 
> Christina
> 
> 
> 
> 
> __________________________________________________
> Yahoo! - We Remember
> 9-11: A tribute to the more than 3,000 lives lost
> http://dir.remember.yahoo.com/tribute
> 
>