[Insight-users] RE: VersorRigid3DTransform

Radhika Sivaramakrishna radhika.sivaramakrishna at synarc.com
Thu, 8 Jan 2004 09:46:07 -0800


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C3D60F.4B7E4208
Content-Type: text/plain

Hi Luis,
Thanks for your explanation. I was trying to run use the new optimizer for
registering my two 3D images where one has been created from the other using
a 10 degree rotation about the slice direction (so each slice is rotated by
10 degrees). I used the following values for the parameters of the
optimization:

I used the preset values in the ImageRegistration8.cxx example: 
Maximum Step Length = 1.0
Minimum Step Length = 0.001
Number of Iterations = 200

Even after 200 iterations, the metric value had not budged and was very high
(e+9) and basically, the final result was a blank image with all voxels set
to the default value. However, in the intermediate steps, the translation
values were steadily moving along almost monotonically. So I don't
understand how the metric value is practically the same, but some movement
in the parameter is taking place.

Then I decided to change the Step length etc so I set the following values:
Maximum Step Length = 3.0
Minimum Step Length = 0.01
Number of Iterations = 200

Now, I find even after 24 iterations, the metric value is still more or less
the same high value as previously and has hardly changed at all, in fact it
is not following any trend, it decreased marginally, increased marginally,
so it appears stuck, meanwhile the translation parameters are steadily
changing monotically (almost change of 2 for each translation parameter). So
I don't understand what is going on. Can you help me?

Thanks
Radhika

-----Original Message-----
From: Luis Ibanez [mailto:luis.ibanez at kitware.com] 
Sent: Thursday, January 08, 2004 8:26 AM
To: Radhika Sivaramakrishna
Cc: 'insight-users at itk.org'
Subject: Re: VersorRigid3DTransform


Hi Radhika,

The Center of rotation was removed because it
is not really needed for the optimization and
it costs 50% more on computing time to attempt
to optimize the center (9 parameters versus
6 parameters).

In practice it is enough to get close to the
real center of rotation in order stabilize the
optimization. Note that in principle, we could
have stick to always use the origin of coordinates
as center of rotation. Mathematically it is enough
to rotate around the origin and to apply a translation
in order to get any rigid transformation.

The only reason for introducing an arbitrary center
of rotation is that it reshapes the cost function in
such a way that is is easy to perform a gradient
descent on it.

The Center of rotation is set to the origin by default.
I *strongly* suggest you to set the Center of rotation
with the helper class

      CenteredTransformInitializer
http://www.itk.org/Insight/Doxygen/html/classitk_1_1CenteredTransformInitial
izer.html

as is illustrated in the Example file

   Insight/Examples/Registration/ImageRegistration8.cxx


Regards,


    Luis


---------------------------------

Radhika Sivaramakrishna wrote:

> Hi Luiz,
> Thanks for making this code available so fast. I tried to use the new 
> VersorRigid3DTransformOptimizer for my problem. I noticed that it only 
> has 6 parameters. Why was the center of rotation removed?
> 
> Also, does it assume origin is the center of rotation?
> 
> Thanks
> Radhika
> 
> 
> -----Original Message-----
> From: Luis Ibanez [mailto:luis.ibanez at kitware.com]
> Sent: Monday, January 05, 2004 1:59 PM
> To: Radhika Sivaramakrishna
> Cc: 'insight-users at itk.org'
> Subject: Re: VersorRigid3DTransform
> 
> 
> Hi Radhika,
> 
> 
> Bug #475  has been fixed & closed.
> 
> The new class
> 
>       itkVersorRigid3DTransformOptimizer
> 
> is now available under
> 
>       Insight/Code/Numerics
> 
> Its test is passing and an example
> on its use was setup under
> 
>    Insight/Examples/Registration/
>                 ImageRegistration8.cxx
> 
> 
> Please let us know if you encounter
> any problems using this class.
> 
> 
>    Thanks
> 
> 
>       Luis
> 
> 
> -------------------------------
> Radhika Sivaramakrishna wrote:
> 
>  > Hi Luis,
>  >
>  > Thanks for your detailed responses on the optimizer for the
>  > VersorRigid3DTransform.
>  >
>  > 
>  >
>  > Could you let me know the timeframe when you anticipate this optimizer
>  > to be available. Is there a way to check for it on my own for eg. on
the
>  > dashboard?
>  >
>  > 
>  >
>  > 
>  >
> 
> 
>                                                     
> ----------------------------------------------------- 
> Confidentiality Notice.
> This email message is for the sole use of the intended recipient(s) and 
> may contain confidential and privileged information. Any unauthorized 
> review, use, disclosure or distribution is prohibited. If you are not 
> the intended recipient, please contact the sender by reply email and 
> destroy all copies of the original message. If you are the intended 
> recipient, please be advised that the content of this message is subject 
> to access, review and disclosure by the sender's Email System
Administrator.
> 


                                                     
-----------------------------------------------------  
Confidentiality Notice. 
This email message is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. Any unauthorized review,
use, disclosure or distribution is prohibited. If you are not the intended
recipient, please contact the sender by reply email and destroy all copies
of the original message. If you are the intended recipient, please be
advised that the content of this message is subject to access, review and
disclosure by the sender's Email System Administrator.

------_=_NextPart_001_01C3D60F.4B7E4208
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2656.87">
<TITLE>RE: VersorRigid3DTransform</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=3D2>Hi Luis,</FONT>
<BR><FONT SIZE=3D2>Thanks for your explanation. I was trying to run use =
the new optimizer for registering my two 3D images where one has been =
created from the other using a 10 degree rotation about the slice =
direction (so each slice is rotated by 10 degrees). I used the =
following values for the parameters of the optimization:</FONT></P>

<P><FONT SIZE=3D2>I used the preset values in the =
ImageRegistration8.cxx example: </FONT>
<BR><FONT SIZE=3D2>Maximum Step Length =3D 1.0</FONT>
<BR><FONT SIZE=3D2>Minimum Step Length =3D 0.001</FONT>
<BR><FONT SIZE=3D2>Number of Iterations =3D 200</FONT>
</P>

<P><FONT SIZE=3D2>Even after 200 iterations, the metric value had not =
budged and was very high (e+9) and basically, the final result was a =
blank image with all voxels set to the default value. However, in the =
intermediate steps, the translation values were steadily moving along =
almost monotonically. So I don't understand how the metric value is =
practically the same, but some movement in the parameter is taking =
place.</FONT></P>

<P><FONT SIZE=3D2>Then I decided to change the Step length etc so I set =
the following values:</FONT>
<BR><FONT SIZE=3D2>Maximum Step Length =3D 3.0</FONT>
<BR><FONT SIZE=3D2>Minimum Step Length =3D 0.01</FONT>
<BR><FONT SIZE=3D2>Number of Iterations =3D 200</FONT>
</P>

<P><FONT SIZE=3D2>Now, I find even after 24 iterations, the metric =
value is still more or less the same high value as previously and has =
hardly changed at all, in fact it is not following any trend, it =
decreased marginally, increased marginally, so it appears stuck, =
meanwhile the translation parameters are steadily changing monotically =
(almost change of 2 for each translation parameter). So I don't =
understand what is going on. Can you help me?</FONT></P>

<P><FONT SIZE=3D2>Thanks</FONT>
<BR><FONT SIZE=3D2>Radhika</FONT>
</P>

<P><FONT SIZE=3D2>-----Original Message-----</FONT>
<BR><FONT SIZE=3D2>From: Luis Ibanez [<A =
HREF=3D"mailto:luis.ibanez at kitware.com">mailto:luis.ibanez at kitware.com</=
A>] </FONT>
<BR><FONT SIZE=3D2>Sent: Thursday, January 08, 2004 8:26 AM</FONT>
<BR><FONT SIZE=3D2>To: Radhika Sivaramakrishna</FONT>
<BR><FONT SIZE=3D2>Cc: 'insight-users at itk.org'</FONT>
<BR><FONT SIZE=3D2>Subject: Re: VersorRigid3DTransform</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>Hi Radhika,</FONT>
</P>

<P><FONT SIZE=3D2>The Center of rotation was removed because it</FONT>
<BR><FONT SIZE=3D2>is not really needed for the optimization and</FONT>
<BR><FONT SIZE=3D2>it costs 50% more on computing time to =
attempt</FONT>
<BR><FONT SIZE=3D2>to optimize the center (9 parameters versus</FONT>
<BR><FONT SIZE=3D2>6 parameters).</FONT>
</P>

<P><FONT SIZE=3D2>In practice it is enough to get close to the</FONT>
<BR><FONT SIZE=3D2>real center of rotation in order stabilize =
the</FONT>
<BR><FONT SIZE=3D2>optimization. Note that in principle, we =
could</FONT>
<BR><FONT SIZE=3D2>have stick to always use the origin of =
coordinates</FONT>
<BR><FONT SIZE=3D2>as center of rotation. Mathematically it is =
enough</FONT>
<BR><FONT SIZE=3D2>to rotate around the origin and to apply a =
translation</FONT>
<BR><FONT SIZE=3D2>in order to get any rigid transformation.</FONT>
</P>

<P><FONT SIZE=3D2>The only reason for introducing an arbitrary =
center</FONT>
<BR><FONT SIZE=3D2>of rotation is that it reshapes the cost function =
in</FONT>
<BR><FONT SIZE=3D2>such a way that is is easy to perform a =
gradient</FONT>
<BR><FONT SIZE=3D2>descent on it.</FONT>
</P>

<P><FONT SIZE=3D2>The Center of rotation is set to the origin by =
default.</FONT>
<BR><FONT SIZE=3D2>I *strongly* suggest you to set the Center of =
rotation</FONT>
<BR><FONT SIZE=3D2>with the helper class</FONT>
</P>

<P><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
CenteredTransformInitializer</FONT>
<BR><FONT SIZE=3D2><A =
HREF=3D"http://www.itk.org/Insight/Doxygen/html/classitk_1_1CenteredTran=
sformInitializer.html" =
TARGET=3D"_blank">http://www.itk.org/Insight/Doxygen/html/classitk_1_1Ce=
nteredTransformInitializer.html</A></FONT>
</P>

<P><FONT SIZE=3D2>as is illustrated in the Example file</FONT>
</P>

<P><FONT SIZE=3D2>&nbsp;&nbsp; =
Insight/Examples/Registration/ImageRegistration8.cxx</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>Regards,</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp; Luis</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>---------------------------------</FONT>
</P>

<P><FONT SIZE=3D2>Radhika Sivaramakrishna wrote:</FONT>
</P>

<P><FONT SIZE=3D2>&gt; Hi Luiz,</FONT>
<BR><FONT SIZE=3D2>&gt; Thanks for making this code available so fast. =
I tried to use the new </FONT>
<BR><FONT SIZE=3D2>&gt; VersorRigid3DTransformOptimizer for my problem. =
I noticed that it only </FONT>
<BR><FONT SIZE=3D2>&gt; has 6 parameters. Why was the center of =
rotation removed?</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; Also, does it assume origin is the center of =
rotation?</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; Thanks</FONT>
<BR><FONT SIZE=3D2>&gt; Radhika</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; -----Original Message-----</FONT>
<BR><FONT SIZE=3D2>&gt; From: Luis Ibanez [<A =
HREF=3D"mailto:luis.ibanez at kitware.com">mailto:luis.ibanez at kitware.com</=
A>]</FONT>
<BR><FONT SIZE=3D2>&gt; Sent: Monday, January 05, 2004 1:59 PM</FONT>
<BR><FONT SIZE=3D2>&gt; To: Radhika Sivaramakrishna</FONT>
<BR><FONT SIZE=3D2>&gt; Cc: 'insight-users at itk.org'</FONT>
<BR><FONT SIZE=3D2>&gt; Subject: Re: VersorRigid3DTransform</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; Hi Radhika,</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; Bug #475&nbsp; has been fixed &amp; =
closed.</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; The new class</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
itkVersorRigid3DTransformOptimizer</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; is now available under</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
Insight/Code/Numerics</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; Its test is passing and an example</FONT>
<BR><FONT SIZE=3D2>&gt; on its use was setup under</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp; =
Insight/Examples/Registration/</FONT>
<BR><FONT =
SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ImageRegistration8.cxx</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; Please let us know if you encounter</FONT>
<BR><FONT SIZE=3D2>&gt; any problems using this class.</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp; Thanks</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Luis</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; -------------------------------</FONT>
<BR><FONT SIZE=3D2>&gt; Radhika Sivaramakrishna wrote:</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; Hi Luis,</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; Thanks for your detailed responses =
on the optimizer for the</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; VersorRigid3DTransform.</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; Could you let me know the timeframe =
when you anticipate this optimizer</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; to be available. Is there a way to =
check for it on my own for eg. on the</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; dashboard?</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT =
SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT>
<BR><FONT SIZE=3D2>&gt; =
----------------------------------------------------- </FONT>
<BR><FONT SIZE=3D2>&gt; Confidentiality Notice.</FONT>
<BR><FONT SIZE=3D2>&gt; This email message is for the sole use of the =
intended recipient(s) and </FONT>
<BR><FONT SIZE=3D2>&gt; may contain confidential and privileged =
information. Any unauthorized </FONT>
<BR><FONT SIZE=3D2>&gt; review, use, disclosure or distribution is =
prohibited. If you are not </FONT>
<BR><FONT SIZE=3D2>&gt; the intended recipient, please contact the =
sender by reply email and </FONT>
<BR><FONT SIZE=3D2>&gt; destroy all copies of the original message. If =
you are the intended </FONT>
<BR><FONT SIZE=3D2>&gt; recipient, please be advised that the content =
of this message is subject </FONT>
<BR><FONT SIZE=3D2>&gt; to access, review and disclosure by the =
sender's Email System Administrator.</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
</P>
<BR>

<P><FONT =
SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT>
<BR><FONT =
SIZE=3D2>-----------------------------------------------------&nbsp; =
</FONT>
<BR><FONT SIZE=3D2>Confidentiality Notice. </FONT>
<BR><FONT SIZE=3D2>This email message is for the sole use of the =
intended recipient(s) and may contain confidential and privileged =
information. Any unauthorized review, use, disclosure or distribution =
is prohibited. If you are not the intended recipient, please contact =
the sender by reply email and destroy all copies of the original =
message. If you are the intended recipient, please be advised that the =
content of this message is subject to access, review and disclosure by =
the sender's Email System Administrator.</FONT></P>

</BODY>
</HTML>
------_=_NextPart_001_01C3D60F.4B7E4208--