Hi Eleni,<br><br>Thank you for pointing out these problems. You are right that the Review code is not very stable as yet. We are working on fixing them. During the transfer from the IJ paper to the Review directory, a lot of modifications were made. We might have inadvertently introduced new errors.<br>
<br>Regarding your problems:<br><br>2. The level-set function is defined by convention as inside is negative and outside is positive. So the negative values become your foreground and positive values become the background. This controls the propagation direction.<br>
<br>3. I am looking at the Halt function. Looks like the boundary case of 0 iterations is not coded right.<br><br>4.  Regarding the high RMS values, the level-set function is re-initialized to a signed distance function after every few iterations. It so happens that the default setting is 1 iteration. Hence, the RMS change is being calculated after the reinitialization while it needs to be done before. We are also working on correcting this. Thank you for pointing this out.<br>
<br><br>Is it possible for you to post a small sample of your data for us to work on the errors.<br><br><br>Kishore<br><br><div class="gmail_quote">On Tue, Jun 2, 2009 at 11:24 AM, Sgouritsa, Eleni <span dir="ltr">&lt;<a href="mailto:esgourit@central.uh.edu">esgourit@central.uh.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">






<div>


<p><font size="2">Hello,<br>
I m sorry if my point was not clear. The problems that I am facing using this class to segment 3D data are the following:<br>
<br>
1. My data has negative origin (for example (-100, -100, -60). Unless I do SetOrigin(0,0,0) (or I guess any origin &gt;=0) my program crashes. I have to set my negative origin as zero for my program to run. Does the class assumes positive origin of the input image?<br>

<br>
2. I initialize my level set inside (so the evolution should be outwards). In this case I can not make my level set expand (it can just shrink, or not move). I think I should use something like SetReverseExpansionDirection to control the propagation direction, but I can not find this option in the class public members. (This is currently my main problem where I am stuck, any help would be very useful!)<br>

<br>
3. The maximum RMS Error serves (along with the number of iterations) as a stopping criteria inside the Halt function (of itkMultiphaseFiniteDifferenceImageFilter.txx file).<br>
Lets say I set maximum RMS Error = 0.01.<br>
The Halt function returns the following:<br>
return ( (this-&gt;GetElapsedIterations() &gt;= this-&gt;m_NumberOfIterations) ||<br>
      ( this-&gt;GetMaximumRMSError() &gt;= m_RMSChange ) );<br>
While the Halt function returns false the evolution continues.<br>
However, in iteration 0, I get m_RMSChange = 0, so the evolution always stops doing 0 iterations (since the condition this-&gt;GetMaximumRMSError() &gt;= m_RMSChange becomes true)<br>
If I modify the Halt function to returm the following:<br>
if(this-&gt;GetElapsedIterations()==0)<br>
        return false;<br>
else<br>
        return ( (this-&gt;GetElapsedIterations() &gt;= this-&gt;m_NumberOfIterations) || ( this-&gt;GetMaximumRMSError() &gt;= m_RMSChange ) );<br>
then it works.<br>
The other problem is that RMSChange in the next iterations (1,2,3...) has very big values (like 5000) even near convergence. So the only way to stop the evolution is through the iterations number.<br>
<br>
I am still investigating the class and I am not absolutely sure about the points mentioned but I would like to share with you for more advice.<div class="im"><br>
<br>
<br>
Thank you very much,<br>
Lena<br>
<br>
<br>
<br>
<br>
-----Original Message-----<br></div><div class="im">
From: Luis Ibanez [<a href="mailto:luis.ibanez@kitware.com" target="_blank">mailto:luis.ibanez@kitware.com</a>]<br>
Sent: Mon 6/1/2009 8:39 PM<br>
To: Sgouritsa, Eleni<br></div><div><div></div><div class="h5">
Cc: alex gouaillard; <a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a><br>
Subject: Re: [Insight-users] itkScalarChanAndVeseSparseLevelSetImageFilter<br>
<br>
<br>
Hi Lena,<br>
<br>
Could you please be more specific about your problem report on<br>
item (2) ?<br>
<br>
Is there a chance that you can report this in a form that<br>
we could reproduce ?<br>
<br>
<br>
    Thanks<br>
<br>
<br>
       Luis<br>
<br>
<br>
-----------------------------<br>
Sgouritsa, Eleni wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; I have two more questions.<br>
&gt; 1. In the insight journal code there was an option<br>
&gt; SetReverseExpansionDirection to control if the expansion of the level<br>
&gt; set will be inwards or outwards. How can I do it using the <br>
&gt; itkScalarChanAndVeseSparseLevelSetImageFilter of 3.14 release?<br>
&gt;<br>
&gt; 2. I still have a problem when my 3D data have negative origin.<br>
&gt;<br>
&gt; Thanks and regards,<br>
&gt; Lena<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: Sgouritsa, Eleni<br>
&gt; Sent: Mon 6/1/2009 4:00 AM<br>
&gt; To: alex gouaillard<br>
&gt; Cc: <a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a><br>
&gt; Subject: RE: [Insight-users] itkScalarChanAndVeseSparseLevelSetImageFilter<br>
&gt;<br>
&gt; Hello,<br>
&gt; finally the second issue was my fault (I just had a problem while<br>
&gt; including the header files of the review folder).<br>
&gt; For the first, the inconsistency is just a matter of name. The code runs<br>
&gt; correctly, just the name assignement in the txx is a little misleading.<br>
&gt;<br>
&gt; Thank you very much,<br>
&gt; Lena<br>
&gt;<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: alex gouaillard [<a href="mailto:alexandre_gouaillard@hms.harvard.edu" target="_blank">mailto:alexandre_gouaillard@hms.harvard.edu</a>]<br>
&gt; Sent: Sun 5/31/2009 11:34 PM<br>
&gt; To: Sgouritsa, Eleni<br>
&gt; Cc: <a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a><br>
&gt; Subject: Re: [Insight-users] itkScalarChanAndVeseSparseLevelSetImageFilter<br>
&gt;<br>
&gt; hi eleni,<br>
&gt;<br>
&gt; we&#39;ll take a look tomorrow.<br>
&gt;<br>
&gt; thanks for the feedback.<br>
&gt;<br>
&gt; alex.<br>
&gt;<br>
&gt; On May 31, 2009, at 11:52 PM, Sgouritsa, Eleni wrote:<br>
&gt;<br>
&gt;  &gt; Hello,<br>
&gt;  &gt; I know that the review folder of the new release (3.14) is not<br>
&gt;  &gt; stable yet but I would just like to give two comments:<br>
&gt;  &gt;<br>
&gt;  &gt; 1. I found an inconsistency between the template arguments of the<br>
&gt;  &gt; itkScalarChanAndVeseSparseLevelSetImageFilter.h and the<br>
&gt;  &gt; itkScalarChanAndVeseSparseLevelSetImageFilter.txx.<br>
&gt;  &gt; Specifically, in the header file, the template is :<br>
&gt;  &gt; template &lt; class TInputImage, class TFeatureImage, class<br>
&gt;  &gt; TOutputImage, class TFunction,<br>
&gt;  &gt;   class TSharedData, typename TIdCell = unsigned int &gt;<br>
&gt;  &gt; whereas in the txx it is:<br>
&gt;  &gt; template &lt; class TInput, class TFeature, class TFunction,<br>
&gt;  &gt; class TOutputPixel, class TSharedData, typename TIdCell &gt;<br>
&gt;  &gt; There is a change in the order of the 3rd and 4th argument.<br>
&gt;  &gt;<br>
&gt;  &gt; 2. I can not find this class<br>
&gt;  &gt; (itkScalarChanAndVeseSparseLevelSetImageFilter)  incuded in the<br>
&gt;  &gt; CMakeLists of the review folder<br>
&gt;  &gt;<br>
&gt;  &gt; Regards,<br>
&gt;  &gt; Lena<br>
&gt;  &gt;<br>
&gt;  &gt; &lt;ATT00001.txt&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; ------------------------------------------------------------------------<br>
&gt;<br>
&gt; _____________________________________<br>
&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;<br>
&gt; Visit other Kitware open-source projects at<br>
&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;<br>
&gt; Please keep messages on-topic and check the ITK FAQ at: <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;<br>
&gt; Follow this link to subscribe/unsubscribe:<br>
&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br>
</div></div></font>
</p>

</div>
<br>_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at: <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br>