<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Hi, Luis,<div><br></div><div>Thanks for your reply.</div><div><br></div><div>&gt; A) Did you make *any* changes to the source code<br>&gt; of the DeformableRegistration8.cxx example ?<br>I believe I did not.</div><div><br></div><div>&gt; B) How are you reading your images ?<br></div>&gt; Are they DICOM files ?<br>&gt; Are you using a Series Reader ?<div>They are raw data with mhd or mha header files and I used following filter to read them.</div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>VolumeReaderType::Pointer fixVolumeReader = VolumeReaderType::New();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>fixVolumeReader-&gt;SetFileName(fixVolumeFileName);</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>fixVolumeReader-&gt;Update();</div><div><br></div><div>&gt; C) How *exactly* have you been removing slices from them.<br></div><div>My original volume are 512X512. First I down-sampled them to 256X256 with&nbsp;itk::ResampleImageFilter and then</div><div>run&nbsp;itk::ExtractImageFilter with following setting</div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Input3DImageType::RegionType sliceRegion;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Input3DImageType::IndexType sliceStartPoint;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>sliceStartPoint[0] = 0;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>sliceStartPoint[1] = 0;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>sliceStartPoint[2] = 0;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Input3DImageType::SizeType NewVolumeSize;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>NewVolumeSize[0]=fixVolumeSize[0];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>NewVolumeSize[1]=fixVolumeSize[1];</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>NewVolumeSize[2]=59; //or 60 &nbsp;!!!!! here is the way I selecting the number of slices !!!!!</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>sliceRegion.SetSize(NewVolumeSize);</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>sliceRegion.SetIndex(sliceStartPoint);</div><div>It is my understanding that the volume size should not affect the results that much. But like what I experienced&nbsp;</div><div>earlier, changing that number could result in&nbsp;reaching&nbsp;"Convergence: function tolerance reached." without a good result.&nbsp;</div><div>I hope it can always reach&nbsp;"Convergence: gradient tolerance reached."&nbsp;</div><div><br></div><div>Thanks.</div><div><br></div><div>Sean</div></div><br>&gt; Date: Wed, 8 Jul 2009 18:08:48 -0400<br>&gt; From: luis.ibanez@kitware.com<br>&gt; To: kevinseanlee@live.com<br>&gt; CC: insight-users@itk.org<br>&gt; Subject: Re: [Insight-users] problems on deformable registration 8<br>&gt; <br>&gt; <br>&gt; Hi Sean,<br>&gt; <br>&gt; <br>&gt; The Exception<br>&gt; <br>&gt;               itk::InvalidRequestedRegionError<br>&gt; <br>&gt; <br>&gt; doesn't seem to be related to the registration process.<br>&gt; <br>&gt; <br>&gt; A) Did you make *any* changes to the source code<br>&gt;     of the DeformableRegistration8.cxx example ?<br>&gt; <br>&gt; <br>&gt; B) How are you reading your images ?<br>&gt;     Are they DICOM files ?<br>&gt;     Are you using a Series Reader ?<br>&gt; <br>&gt; <br>&gt; C) How *exactly* have you been removing slices from them.<br>&gt; <br>&gt; <br>&gt; D) 2Gb of RAM should be enough for registering two images of<br>&gt;     64 slices with 256x256 pixels each.<br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>&gt; Something else is going on here....<br>&gt; <br>&gt; <br>&gt; <br>&gt;     Please let us know about (A),(B) and (C)<br>&gt; <br>&gt; <br>&gt; <br>&gt;        Thanks<br>&gt; <br>&gt; <br>&gt; <br>&gt;          Luis<br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>&gt; ------------------<br>&gt; Sean lee wrote:<br>&gt; &gt; Hi, Luis,<br>&gt; &gt; <br>&gt; &gt; Thank you for your reply.<br>&gt; &gt; <br>&gt; &gt; I have 2GB RAM. Here is the error message if I run more than 62 slices: <br>&gt; &gt; Unhandled exception at 0x7c812afb in RegTest.exe: Microsoft C++ <br>&gt; &gt; exception: itk::InvalidRequestedRegionError at memory location 0x0013fbbc..<br>&gt; &gt; <br>&gt; &gt; My CT volumes are liver images from two different phases. <br>&gt; &gt; <br>&gt; &gt; I also did another test on these two volumes by switch them (switch <br>&gt; &gt; fixed and moving volumes). If I run 62 slices,, it would come with same <br>&gt; &gt; memory problem (see above error message). This time if I run 60 slices, <br>&gt; &gt; it would reach "CONVERGENCE: REL_REDUCTION_OF_F &lt;= FACTR*EPSMCH" after <br>&gt; &gt; one iteration; but it seems 59 slices allow me to run 34 iterations and <br>&gt; &gt; gave me a good result.<br>&gt; &gt; <br>&gt; &gt; So, it seems the good results came with "reach Projected Gradient <br>&gt; &gt; Tolerance". If it reaches "CONVERGENCE: REL_REDUCTION_OF_F &lt;= <br>&gt; &gt; FACTR*EPSMCH" first, it come with a "bad" result. How can I control this <br>&gt; &gt; situation?<br>&gt; &gt; <br>&gt; &gt; Thanks.<br>&gt; &gt; <br>&gt; &gt; Sean<br>&gt; &gt; <br>&gt; &gt;  &gt; Date: Wed, 8 Jul 2009 17:39:25 -0400<br>&gt; &gt;  &gt; From: luis.ibanez@kitware.com<br>&gt; &gt;  &gt; To: kevinseanlee@live.com<br>&gt; &gt;  &gt; CC: insight-users@itk.org<br>&gt; &gt;  &gt; Subject: Re: [Insight-users] problems on deformable registration 8<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Hi Sean,<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; This is very suspicious.<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; A) your images do not seem to be that big...<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; One image of:<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; 64 slices of 256 x 256 in 16bits<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; will take 8 Mb<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; How much RAM do you have ?<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; B) Just removing one slice (out of 60) from your<br>&gt; &gt;  &gt; dataset shouldn't lead the registration to<br>&gt; &gt;  &gt; behave differently.<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Unless...<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; There is some special content in that slice...<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Are any objects in Slice 60 that have very<br>&gt; &gt;  &gt; different intensities to those objects visible<br>&gt; &gt;  &gt; in slice 59 ?<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; ...and...<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; C) How are you removing that slice ?<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Are you using a region of interest extraction first ?<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Please let us know,<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Thanks<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; Luis<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt;<br>&gt; &gt;  &gt; ---------------<br>&gt; &gt;  &gt; Sean lee wrote:<br>&gt; &gt;  &gt; &gt; Hello,<br>&gt; &gt;  &gt; &gt;<br>&gt; &gt;  &gt; &gt; I am trying to use the example of deformable registration 8 on two ct<br>&gt; &gt;  &gt; &gt; image volumes (64 256X256 slices). The problem is If i use more <br>&gt; &gt; than 62<br>&gt; &gt;  &gt; &gt; slices, I would have memory problem; I run 60 slice, I got a perfect<br>&gt; &gt;  &gt; &gt; results with 20 iterations; but if I run 59 slices, it only run one<br>&gt; &gt;  &gt; &gt; iteration and reaches "CONVERGENCE: REL_REDUCTION_OF_F &lt;= <br>&gt; &gt; FACTR*EPSMCH".<br>&gt; &gt;  &gt; &gt; I tried to reduce the Cost Function Convergence Factor to 1e+1 and it<br>&gt; &gt;  &gt; &gt; still comes same results. What could be the problem and any suggested<br>&gt; &gt;  &gt; &gt; solutions? Thanks. Sean<br>&gt; &gt;  &gt; &gt; &gt;<br>&gt; &gt;  &gt; &gt;<br>&gt; &gt;  &gt; &gt; <br>&gt; &gt; ------------------------------------------------------------------------<br>&gt; &gt;  &gt; &gt;<br>&gt; &gt;  &gt; &gt; _____________________________________<br>&gt; &gt;  &gt; &gt; Powered by www.kitware.com<br>&gt; &gt;  &gt; &gt;<br>&gt; &gt;  &gt; &gt; Visit other Kitware open-source projects at<br>&gt; &gt;  &gt; &gt; http://www.kitware.com/opensource/opensource.html<br>&gt; &gt;  &gt; &gt;<br>&gt; &gt;  &gt; &gt; Please keep messages on-topic and check the ITK FAQ at: <br>&gt; &gt; http://www.itk.org/Wiki/ITK_FAQ<br>&gt; &gt;  &gt; &gt;<br>&gt; &gt;  &gt; &gt; Follow this link to subscribe/unsubscribe:<br>&gt; &gt;  &gt; &gt; http://www.itk.org/mailman/listinfo/insight-users<br>&gt; &gt; <br>&gt; &gt; ------------------------------------------------------------------------<br>&gt; &gt; Windows Live™ SkyDrive™: Get 25 GB of free online storage. Get it on <br>&gt; &gt; your BlackBerry or iPhone. <br>&gt; &gt; &lt;http://windowslive.com/online/skydrive?ocid=TXT_TAGLM_WL_SD_25GB_062009&gt;<br></div><br /><hr />Hotmail® has ever-growing storage! Don’t worry about storage limits. <a href='http://windowslive.com/Tutorial/Hotmail/Storage?ocid=TXT_TAGLM_WL_HM_Tutorial_Storage_062009' target='_new'>Check it out.</a></body>
</html>