[Insight-users] RE: VersorRigid3DTransform

Radhika Sivaramakrishna radhika.sivaramakrishna at synarc.com
Fri, 9 Jan 2004 11:28:31 -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_01C3D6E6.C3A1043C
Content-Type: text/plain

Hi Luis,
Has the documentation for the modified VersorRigid3DTransform been created?
I looked at the itk website for the latest documentation under Doxygen but
found the old one which talks of the 9 parameters. 

Also, is the SetCenter method still available?

Thanks
Radhika

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


Hi Radhika,

Checking if the input images
are valid is always useful !  :-)

The only reason for the metric
to go up is when the parametric
space has a small valley and the
current step length is larger
thant the valley width. The typical
solution is to use a smaller step
size.

Note that it can also be due to
inapropriate parameterScales values.
In that case you should compare how
much the optimizer is advancing in
translation with respect to how much
it is advancing in rotation specially
on the iterations where the metric
goes up.

Keep in mind that you are walking
over a function in 6 dimensions
and the variety of configurations
is much larger than what we are used
in 2D where we only know the trivial
hill, valley and saddle points.

The number of parameters in the
optimizer and the transform now
match. Both of them are using 6
parameters. 3 for the Versor that
represents the rotation and 3 for
the Vector that represents the
translation.

The center of rotation does not
make part of the transform paramters.
You simply set its value at the
begining of the registration process
and it remains constant during the
whole process.

---

Did you verified origin and spacing ?

If endianess was wrong you may as well
suspect of origin and spacing.

---


Regards,


     Luis


------------------------------
Radhika Sivaramakrishna wrote:

> Hi Luis,
> 
> Just a quick update: I figured out part of the problem:
> It had something to do with Endianness, I am assuming since although the 
> old image had values which appeared much larger than the new although on 
> my display program (ImageJ), they appeared the same. So I basically 
> created a new version of my fixed image using an identity transform and 
> now I am getting much more reasonable values for the metric [
> 
> However, I am still playing around with SetMaximumStepLength because 
> even with a value of 0.1, the metric starts getting lowered upto a point 
> and then starts increasing. Would you say that this is a problem with 
> SetMaximumStepLength or could it be something else?
> 
> I also had another doubt regarding the optimizer and the example. Since 
> the optimizer uses only 6 parameters, however the transform uses 9 
> parameters, in the example ImageRegistration8.cxx, after the 
> registration is completed, where are we setting the 3 parameters 
> corresponding to the center of rotation?
> 
> We basically do:
> 
> OptimizerType::ParametersType finalParameters =
>                     registration->GetLastTransformParameters();
> 
> transform->SetParameters( finalParameters );
> 
> How does SetParameters for this transform accept a 6 parameter result?
> 
> 
> Thanks
> Radhika
> 
> 
> -----Original Message-----
> From: Luis Ibanez [mailto:luis.ibanez at kitware.com]
> Sent: Thursday, January 08, 2004 11:35 AM
> To: Radhika Sivaramakrishna
> Cc: 'insight-users at itk.org'
> Subject: Re: VersorRigid3DTransform
> 
> 
> 
> Hi Radhika,
> 
> 
> A) This message means that you transform is so far
>     off that the images are not overlapping anymore.
> 
>     This usually happens when you use an optimization
>     step that is too large and make the transform diverge.
> 
> 
> B) If the images are of the same modality and about the
>     same histogram you should be ok using the MeanSquares
>     ImageMetric. However... the metric value shouldn't
>     be that high. It is
> 
> 
> 
> C) You can verify the origin and spacing by printing out
> 
>     std::cout << fixedImage->GetSpacing() << std::endl;
>     std::cout << fixedImage->GetOrigin()  << std::endl;
> 
>     or by printing all the image information with
> 
>     fixedImage->Print( std::cout );
> 
> 
> D) ok, The initialization should be fine.
> 
> 
> E) In MyPACS you have the option of posting "shared" (public)
>     cases as well as "private" cases. The private level is
>     supposed to be as secure as any other PACS system.
> 
> 
> F) You can try the equivalent registration algorithm
>     with the free version of VolView
>     http://www.kitware.com/products/volview.html
>     Just load one image, then go to the View->Filters
>     menu and select
> 
>      "Registration" ---> "Image Registration (ITK)"
> 
>     then in the button "Second input" browse for the
>     second image (the moving image).
> 
> 
> G) Please post the tracing messages that are printed out
>     when the example runs (the sequence that displays the
>     values of the metric and the values of the parameters
>     for each iteration).
> 
> 
> 
> 
> Regards,
> 
> 
>    Luis
> 
> 
> ----------------------------------
> Radhika Sivaramakrishna wrote:
> 
>  > Hi Luis,
>  >
>  > Basically I used your example in ImageRegistration8.cxx as is, so I 
> did use
>  > Optimizerscale.
>  >
>  > To answer your questions in order:
>  >
>  > A) I used the metric MeanSquaresImageToImageMetric (as the example
does)
>  > and after about 89 iterations this is the error I got!
>  >
>  >
>  > ExceptionObject caught !
>  >
>  > itk::ExceptionObject (0x82c4738)
>  > Location: "Unknown"
>  > File:
>  > 
>
/home/rsivaram/Insight/Code/Algorithms/itkMeanSquaresImageToImageMetric.txx
>  > Line: 103
>  > Description: itk::ERROR: MeanSquaresImageToImageMetric(0x82bc698): All
>  > the points mapped to outside of the moving image
>  >
>  > B) These images are brain MRI T1-weighted images.
>  >
>  > C) How do I verify the origin and spacing? Basically I am trying to
test
>  > this currently on a simulated case where I have created one of the
>  > images from the other by a known transformation, so is this still an 
> issue?
>  >
>  > D) Again initialization of the transform is exactly as in
>  > ImageRegistration8.cxx.
>  >
>  > My concern about posting the images is privacy issues since these are
>  > from a hospital and there may be HIPAA issues. How accessible are
>  >
>  > these images to the outside world?
>  >
>  > Thanks
>  > Radhika
>  >
>  >
>  >
> 
> 
>                                                     
> ----------------------------------------------------- 
> 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_01C3D6E6.C3A1043C
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: [Insight-users] RE: VersorRigid3DTransform</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=3D2>Hi Luis,</FONT>
<BR><FONT SIZE=3D2>Has the documentation for the modified =
VersorRigid3DTransform been created? I looked at the itk website for =
the latest documentation under Doxygen but found the old one which =
talks of the 9 parameters. </FONT></P>

<P><FONT SIZE=3D2>Also, is the SetCenter method still available?</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 2:33 PM</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: [Insight-users] RE: =
VersorRigid3DTransform</FONT>
</P>
<BR>

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

<P><FONT SIZE=3D2>Checking if the input images</FONT>
<BR><FONT SIZE=3D2>are valid is always useful !&nbsp; :-)</FONT>
</P>

<P><FONT SIZE=3D2>The only reason for the metric</FONT>
<BR><FONT SIZE=3D2>to go up is when the parametric</FONT>
<BR><FONT SIZE=3D2>space has a small valley and the</FONT>
<BR><FONT SIZE=3D2>current step length is larger</FONT>
<BR><FONT SIZE=3D2>thant the valley width. The typical</FONT>
<BR><FONT SIZE=3D2>solution is to use a smaller step</FONT>
<BR><FONT SIZE=3D2>size.</FONT>
</P>

<P><FONT SIZE=3D2>Note that it can also be due to</FONT>
<BR><FONT SIZE=3D2>inapropriate parameterScales values.</FONT>
<BR><FONT SIZE=3D2>In that case you should compare how</FONT>
<BR><FONT SIZE=3D2>much the optimizer is advancing in</FONT>
<BR><FONT SIZE=3D2>translation with respect to how much</FONT>
<BR><FONT SIZE=3D2>it is advancing in rotation specially</FONT>
<BR><FONT SIZE=3D2>on the iterations where the metric</FONT>
<BR><FONT SIZE=3D2>goes up.</FONT>
</P>

<P><FONT SIZE=3D2>Keep in mind that you are walking</FONT>
<BR><FONT SIZE=3D2>over a function in 6 dimensions</FONT>
<BR><FONT SIZE=3D2>and the variety of configurations</FONT>
<BR><FONT SIZE=3D2>is much larger than what we are used</FONT>
<BR><FONT SIZE=3D2>in 2D where we only know the trivial</FONT>
<BR><FONT SIZE=3D2>hill, valley and saddle points.</FONT>
</P>

<P><FONT SIZE=3D2>The number of parameters in the</FONT>
<BR><FONT SIZE=3D2>optimizer and the transform now</FONT>
<BR><FONT SIZE=3D2>match. Both of them are using 6</FONT>
<BR><FONT SIZE=3D2>parameters. 3 for the Versor that</FONT>
<BR><FONT SIZE=3D2>represents the rotation and 3 for</FONT>
<BR><FONT SIZE=3D2>the Vector that represents the</FONT>
<BR><FONT SIZE=3D2>translation.</FONT>
</P>

<P><FONT SIZE=3D2>The center of rotation does not</FONT>
<BR><FONT SIZE=3D2>make part of the transform paramters.</FONT>
<BR><FONT SIZE=3D2>You simply set its value at the</FONT>
<BR><FONT SIZE=3D2>begining of the registration process</FONT>
<BR><FONT SIZE=3D2>and it remains constant during the</FONT>
<BR><FONT SIZE=3D2>whole process.</FONT>
</P>

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

<P><FONT SIZE=3D2>Did you verified origin and spacing ?</FONT>
</P>

<P><FONT SIZE=3D2>If endianess was wrong you may as well</FONT>
<BR><FONT SIZE=3D2>suspect of origin and spacing.</FONT>
</P>

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

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

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

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

<P><FONT SIZE=3D2>&gt; Hi Luis,</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; Just a quick update: I figured out part of the =
problem:</FONT>
<BR><FONT SIZE=3D2>&gt; It had something to do with Endianness, I am =
assuming since although the </FONT>
<BR><FONT SIZE=3D2>&gt; old image had values which appeared much larger =
than the new although on </FONT>
<BR><FONT SIZE=3D2>&gt; my display program (ImageJ), they appeared the =
same. So I basically </FONT>
<BR><FONT SIZE=3D2>&gt; created a new version of my fixed image using =
an identity transform and </FONT>
<BR><FONT SIZE=3D2>&gt; now I am getting much more reasonable values =
for the metric [</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; However, I am still playing around with =
SetMaximumStepLength because </FONT>
<BR><FONT SIZE=3D2>&gt; even with a value of 0.1, the metric starts =
getting lowered upto a point </FONT>
<BR><FONT SIZE=3D2>&gt; and then starts increasing. Would you say that =
this is a problem with </FONT>
<BR><FONT SIZE=3D2>&gt; SetMaximumStepLength or could it be something =
else?</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; I also had another doubt regarding the =
optimizer and the example. Since </FONT>
<BR><FONT SIZE=3D2>&gt; the optimizer uses only 6 parameters, however =
the transform uses 9 </FONT>
<BR><FONT SIZE=3D2>&gt; parameters, in the example =
ImageRegistration8.cxx, after the </FONT>
<BR><FONT SIZE=3D2>&gt; registration is completed, where are we setting =
the 3 parameters </FONT>
<BR><FONT SIZE=3D2>&gt; corresponding to the center of rotation?</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; We basically do:</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; OptimizerType::ParametersType finalParameters =
=3D</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; =
registration-&gt;GetLastTransformParameters();</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; transform-&gt;SetParameters( finalParameters =
);</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; How does SetParameters for this transform =
accept a 6 parameter result?</FONT>
<BR><FONT SIZE=3D2>&gt; </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: Thursday, January 08, 2004 11:35 =
AM</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; </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; A) This message means that you transform is so =
far</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; off that the images are =
not overlapping anymore.</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; This usually happens =
when you use an optimization</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; step that is too large =
and make the transform diverge.</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; B) If the images are of the same modality and =
about the</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; same histogram you =
should be ok using the MeanSquares</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; ImageMetric. However... =
the metric value shouldn't</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; be that high. It =
is</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; C) You can verify the origin and spacing by =
printing out</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; =
fixedImage-&gt;GetSpacing() &lt;&lt; std::endl;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; =
fixedImage-&gt;GetOrigin()&nbsp; &lt;&lt; std::endl;</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; or by printing all the =
image information with</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; fixedImage-&gt;Print( =
std::cout );</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; D) ok, The initialization should be =
fine.</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; E) In MyPACS you have the option of posting =
&quot;shared&quot; (public)</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; cases as well as =
&quot;private&quot; cases. The private level is</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; supposed to be as =
secure as any other PACS system.</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; F) You can try the equivalent registration =
algorithm</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; with the free version =
of VolView</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <A =
HREF=3D"http://www.kitware.com/products/volview.html" =
TARGET=3D"_blank">http://www.kitware.com/products/volview.html</A></FONT=
>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Just load one image, =
then go to the View-&gt;Filters</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; menu and select</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&quot;Registration&quot; ---&gt; &quot;Image Registration =
(ITK)&quot;</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; then in the button =
&quot;Second input&quot; browse for the</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; second image (the =
moving image).</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; G) Please post the tracing messages that are =
printed out</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; when the example runs =
(the sequence that displays the</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; values of the metric =
and the values of the parameters</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; for each =
iteration).</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; Regards,</FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt; </FONT>
<BR><FONT SIZE=3D2>&gt;&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; Basically I used your example in =
ImageRegistration8.cxx as is, so I </FONT>
<BR><FONT SIZE=3D2>&gt; did use</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; Optimizerscale.</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; To answer your questions in =
order:</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; A) I used the metric =
MeanSquaresImageToImageMetric (as the example does)</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; and after about 89 iterations this =
is the error I got!</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; ExceptionObject caught !</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; itk::ExceptionObject =
(0x82c4738)</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; Location: &quot;Unknown&quot;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; File:</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; </FONT>
<BR><FONT SIZE=3D2>&gt; /home/rsivaram/Insight/Code/Algorithms/itkMeanSq=
uaresImageToImageMetric.txx</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; Line: 103</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; Description: itk::ERROR: =
MeanSquaresImageToImageMetric(0x82bc698): All</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; the points mapped to outside of the =
moving image</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; B) These images are brain MRI =
T1-weighted images.</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; C) How do I verify the origin and =
spacing? Basically I am trying to test</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; this currently on a simulated case =
where I have created one of the</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; images from the other by a known =
transformation, so is this still an </FONT>
<BR><FONT SIZE=3D2>&gt; issue?</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; D) Again initialization of the =
transform is exactly as in</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; ImageRegistration8.cxx.</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; My concern about posting the images =
is privacy issues since these are</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; from a hospital and there may be =
HIPAA issues. How accessible are</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; these images to the outside =
world?</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; Thanks</FONT>
<BR><FONT SIZE=3D2>&gt;&nbsp; &gt; Radhika</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_01C3D6E6.C3A1043C--