<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>RE: [Insight-users] itkScalarChanAndVeseSparseLevelSetImageFilter</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Thank you very much.<BR>
Yes, I think too that my problem was coming from the foreground term.<BR>
Is it possible to notify me when you finish with the other changes of the class so I can work directly with the corrected version?<BR>
<BR>
Regards,<BR>
Eleni<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: Arnaud Gelas [<A HREF="mailto:arnaud_gelas@hms.harvard.edu">mailto:arnaud_gelas@hms.harvard.edu</A>]<BR>
Sent: Sun 6/7/2009 6:48 PM<BR>
To: Sgouritsa, Eleni<BR>
Cc: Kishore Mosaliganti; insight-users@itk.org; Luis Ibanez<BR>
Subject: Re: [Insight-users] itkScalarChanAndVeseSparseLevelSetImageFilter<BR>
<BR>
Dear Eleni,<BR>
<BR>
I have corrected a bug in the formula of the foreground constant&nbsp;<BR>
calculation. This error could really affect the results of your&nbsp;<BR>
segmentation process.<BR>
You can get the new version from the cvs repository.<BR>
<BR>
Note that this code may change a lot in the next couple of days&nbsp;<BR>
(Kishore and I will be fixing various parts of the code).<BR>
<BR>
Arnaud<BR>
<BR>
On Jun 7, 2009, at 6:12 PM, Sgouritsa, Eleni wrote:<BR>
<BR>
&gt; What I understand is that the result should be independent of how we&nbsp;<BR>
&gt; define the distance function (negative inside or outside). And if we&nbsp;<BR>
&gt; initialize the level set totally inside the data , the level set&nbsp;<BR>
&gt; should expand according to equation (7) of the paper where you&nbsp;<BR>
&gt; describe the method, whereas if we initialize outside it should&nbsp;<BR>
&gt; shrink. In insight journal it happens like that but not in the itk&nbsp;<BR>
&gt; release.<BR>
&gt; Thank you very much,<BR>
&gt; Eleni<BR>
&gt;<BR>
&gt;<BR>
&gt; -----Original Message-----<BR>
&gt; From: Sgouritsa, Eleni<BR>
&gt; Sent: Sun 6/7/2009 3:30 PM<BR>
&gt; To: Kishore Mosaliganti<BR>
&gt; Cc: Luis Ibanez; insight-users@itk.org<BR>
&gt; Subject: RE: [Insight-users]&nbsp;<BR>
&gt; itkScalarChanAndVeseSparseLevelSetImageFilter<BR>
&gt;<BR>
&gt; Hello,<BR>
&gt; thank you very much for the help. Unfortunately I work with medical&nbsp;<BR>
&gt; data that I am not supposed to give.<BR>
&gt; Can you explain a little more point 2. You mean that I have to&nbsp;<BR>
&gt; define my level set as inside positive and outside negative to have&nbsp;<BR>
&gt; the opposite propagation direction?<BR>
&gt; I tried it but it did not work. I both cases, if I initialize the LS&nbsp;<BR>
&gt; inside the boundary of my data, it shrinks. I use mu=0, nu=0, l1=1&nbsp;<BR>
&gt; and l2=1. Do I need negative l1?When I initialize almost the whole&nbsp;<BR>
&gt; LS outside my data it seems to work in some cases.Generally, I get&nbsp;<BR>
&gt; different results from the insight journal that I was getting correct.<BR>
&gt;<BR>
&gt; Thank you,<BR>
&gt; Eleni<BR>
&gt;<BR>
&gt;<BR>
&gt; -----Original Message-----<BR>
&gt; From: Kishore Mosaliganti [<A HREF="mailto:kishoreraom@gmail.com">mailto:kishoreraom@gmail.com</A>]<BR>
&gt; Sent: Fri 6/5/2009 1:02 PM<BR>
&gt; To: Sgouritsa, Eleni<BR>
&gt; Cc: Luis Ibanez; insight-users@itk.org<BR>
&gt; Subject: Re: [Insight-users]&nbsp;<BR>
&gt; itkScalarChanAndVeseSparseLevelSetImageFilter<BR>
&gt;<BR>
&gt; Hi Eleni,<BR>
&gt;<BR>
&gt; Thank you for pointing out these problems. You are right that the&nbsp;<BR>
&gt; Review<BR>
&gt; code is not very stable as yet. We are working on fixing them.&nbsp;<BR>
&gt; During the<BR>
&gt; transfer from the IJ paper to the Review directory, a lot of&nbsp;<BR>
&gt; modifications<BR>
&gt; were made. We might have inadvertently introduced new errors.<BR>
&gt;<BR>
&gt; Regarding your problems:<BR>
&gt;<BR>
&gt; 2. The level-set function is defined by convention as inside is&nbsp;<BR>
&gt; negative and<BR>
&gt; outside is positive. So the negative values become your foreground and<BR>
&gt; positive values become the background. This controls the propagation<BR>
&gt; direction.<BR>
&gt;<BR>
&gt; 3. I am looking at the Halt function. Looks like the boundary case&nbsp;<BR>
&gt; of 0<BR>
&gt; iterations is not coded right.<BR>
&gt;<BR>
&gt; 4.&nbsp; Regarding the high RMS values, the level-set function is re-<BR>
&gt; initialized<BR>
&gt; to a signed distance function after every few iterations. It so&nbsp;<BR>
&gt; happens that<BR>
&gt; the default setting is 1 iteration. Hence, the RMS change is being<BR>
&gt; calculated after the reinitialization while it needs to be done&nbsp;<BR>
&gt; before. We<BR>
&gt; are also working on correcting this. Thank you for pointing this out.<BR>
&gt;<BR>
&gt;<BR>
&gt; Is it possible for you to post a small sample of your data for us to&nbsp;<BR>
&gt; work on<BR>
&gt; the errors.<BR>
&gt;<BR>
&gt;<BR>
&gt; Kishore<BR>
&gt;<BR>
&gt; On Tue, Jun 2, 2009 at 11:24 AM, Sgouritsa, Eleni<BR>
&gt; &lt;esgourit@central.uh.edu&gt;wrote:<BR>
&gt;<BR>
&gt; &gt;&nbsp; Hello,<BR>
&gt; &gt; I m sorry if my point was not clear. The problems that I am facing&nbsp;<BR>
&gt; using<BR>
&gt; &gt; this class to segment 3D data are the following:<BR>
&gt; &gt;<BR>
&gt; &gt; 1. My data has negative origin (for example (-100, -100, -60).&nbsp;<BR>
&gt; Unless I do<BR>
&gt; &gt; SetOrigin(0,0,0) (or I guess any origin &gt;=0) my program crashes. I&nbsp;<BR>
&gt; have to<BR>
&gt; &gt; set my negative origin as zero for my program to run. Does the&nbsp;<BR>
&gt; class assumes<BR>
&gt; &gt; positive origin of the input image?<BR>
&gt; &gt;<BR>
&gt; &gt; 2. I initialize my level set inside (so the evolution should be&nbsp;<BR>
&gt; outwards).<BR>
&gt; &gt; In this case I can not make my level set expand (it can just&nbsp;<BR>
&gt; shrink, or not<BR>
&gt; &gt; move). I think I should use something like&nbsp;<BR>
&gt; SetReverseExpansionDirection to<BR>
&gt; &gt; control the propagation direction, but I can not find this option&nbsp;<BR>
&gt; in the<BR>
&gt; &gt; class public members. (This is currently my main problem where I&nbsp;<BR>
&gt; am stuck,<BR>
&gt; &gt; any help would be very useful!)<BR>
&gt; &gt;<BR>
&gt; &gt; 3. The maximum RMS Error serves (along with the number of&nbsp;<BR>
&gt; iterations) as a<BR>
&gt; &gt; stopping criteria inside the Halt function (of<BR>
&gt; &gt; itkMultiphaseFiniteDifferenceImageFilter.txx file).<BR>
&gt; &gt; Lets say I set maximum RMS Error = 0.01.<BR>
&gt; &gt; The Halt function returns the following:<BR>
&gt; &gt; return ( (this-&gt;GetElapsedIterations() &gt;= this-<BR>
&gt; &gt;m_NumberOfIterations) ||<BR>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( this-&gt;GetMaximumRMSError() &gt;= m_RMSChange ) );<BR>
&gt; &gt; While the Halt function returns false the evolution continues.<BR>
&gt; &gt; However, in iteration 0, I get m_RMSChange = 0, so the evolution&nbsp;<BR>
&gt; always<BR>
&gt; &gt; stops doing 0 iterations (since the condition this-<BR>
&gt; &gt;GetMaximumRMSError() &gt;=<BR>
&gt; &gt; m_RMSChange becomes true)<BR>
&gt; &gt; If I modify the Halt function to returm the following:<BR>
&gt; &gt; if(this-&gt;GetElapsedIterations()==0)<BR>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<BR>
&gt; &gt; else<BR>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ( (this-&gt;GetElapsedIterations() &gt;=<BR>
&gt; &gt; this-&gt;m_NumberOfIterations) || ( this-&gt;GetMaximumRMSError() &gt;=&nbsp;<BR>
&gt; m_RMSChange )<BR>
&gt; &gt; );<BR>
&gt; &gt; then it works.<BR>
&gt; &gt; The other problem is that RMSChange in the next iterations&nbsp;<BR>
&gt; (1,2,3...) has<BR>
&gt; &gt; very big values (like 5000) even near convergence. So the only way&nbsp;<BR>
&gt; to stop<BR>
&gt; &gt; the evolution is through the iterations number.<BR>
&gt; &gt;<BR>
&gt; &gt; I am still investigating the class and I am not absolutely sure&nbsp;<BR>
&gt; about the<BR>
&gt; &gt; points mentioned but I would like to share with you for more advice.<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; Thank you very much,<BR>
&gt; &gt; Lena<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; -----Original Message-----<BR>
&gt; &gt; From: Luis Ibanez [<A HREF="mailto:luis.ibanez@kitware.com">mailto:luis.ibanez@kitware.com</A>&lt;luis.ibanez@kitware.com<BR>
&gt; &gt;<BR>
&gt; &gt; ]<BR>
&gt; &gt; Sent: Mon 6/1/2009 8:39 PM<BR>
&gt; &gt; To: Sgouritsa, Eleni<BR>
&gt; &gt; Cc: alex gouaillard; insight-users@itk.org<BR>
&gt; &gt; Subject: Re: [Insight-users]&nbsp;<BR>
&gt; itkScalarChanAndVeseSparseLevelSetImageFilter<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; Hi Lena,<BR>
&gt; &gt;<BR>
&gt; &gt; Could you please be more specific about your problem report on<BR>
&gt; &gt; item (2) ?<BR>
&gt; &gt;<BR>
&gt; &gt; Is there a chance that you can report this in a form that<BR>
&gt; &gt; we could reproduce ?<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Thanks<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Luis<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; -----------------------------<BR>
&gt; &gt; Sgouritsa, Eleni wrote:<BR>
&gt; &gt; &gt; Hi,<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; I have two more questions.<BR>
&gt; &gt; &gt; 1. In the insight journal code there was an option<BR>
&gt; &gt; &gt; SetReverseExpansionDirection to control if the expansion of the&nbsp;<BR>
&gt; level<BR>
&gt; &gt; &gt; set will be inwards or outwards. How can I do it using the<BR>
&gt; &gt; &gt; itkScalarChanAndVeseSparseLevelSetImageFilter of 3.14 release?<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; 2. I still have a problem when my 3D data have negative origin.<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; Thanks and regards,<BR>
&gt; &gt; &gt; Lena<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; -----Original Message-----<BR>
&gt; &gt; &gt; From: Sgouritsa, Eleni<BR>
&gt; &gt; &gt; Sent: Mon 6/1/2009 4:00 AM<BR>
&gt; &gt; &gt; To: alex gouaillard<BR>
&gt; &gt; &gt; Cc: insight-users@itk.org<BR>
&gt; &gt; &gt; Subject: RE: [Insight-users]<BR>
&gt; &gt; itkScalarChanAndVeseSparseLevelSetImageFilter<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; Hello,<BR>
&gt; &gt; &gt; finally the second issue was my fault (I just had a problem while<BR>
&gt; &gt; &gt; including the header files of the review folder).<BR>
&gt; &gt; &gt; For the first, the inconsistency is just a matter of name. The&nbsp;<BR>
&gt; code runs<BR>
&gt; &gt; &gt; correctly, just the name assignement in the txx is a little&nbsp;<BR>
&gt; misleading.<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; Thank you very much,<BR>
&gt; &gt; &gt; Lena<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; -----Original Message-----<BR>
&gt; &gt; &gt; From: alex gouaillard&nbsp;<BR>
&gt; [<A HREF="mailto:alexandre_gouaillard@hms.harvard.edu">mailto:alexandre_gouaillard@hms.harvard.edu</A>&lt;alexandre_gouaillard@hms.harvard.edu<BR>
&gt; &gt;<BR>
&gt; &gt; ]<BR>
&gt; &gt; &gt; Sent: Sun 5/31/2009 11:34 PM<BR>
&gt; &gt; &gt; To: Sgouritsa, Eleni<BR>
&gt; &gt; &gt; Cc: insight-users@itk.org<BR>
&gt; &gt; &gt; Subject: Re: [Insight-users]<BR>
&gt; &gt; itkScalarChanAndVeseSparseLevelSetImageFilter<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; hi eleni,<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; we'll take a look tomorrow.<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; thanks for the feedback.<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; alex.<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; On May 31, 2009, at 11:52 PM, Sgouritsa, Eleni wrote:<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt;&nbsp; &gt; Hello,<BR>
&gt; &gt; &gt;&nbsp; &gt; I know that the review folder of the new release (3.14) is not<BR>
&gt; &gt; &gt;&nbsp; &gt; stable yet but I would just like to give two comments:<BR>
&gt; &gt; &gt;&nbsp; &gt;<BR>
&gt; &gt; &gt;&nbsp; &gt; 1. I found an inconsistency between the template arguments of&nbsp;<BR>
&gt; the<BR>
&gt; &gt; &gt;&nbsp; &gt; itkScalarChanAndVeseSparseLevelSetImageFilter.h and the<BR>
&gt; &gt; &gt;&nbsp; &gt; itkScalarChanAndVeseSparseLevelSetImageFilter.txx.<BR>
&gt; &gt; &gt;&nbsp; &gt; Specifically, in the header file, the template is :<BR>
&gt; &gt; &gt;&nbsp; &gt; template &lt; class TInputImage, class TFeatureImage, class<BR>
&gt; &gt; &gt;&nbsp; &gt; TOutputImage, class TFunction,<BR>
&gt; &gt; &gt;&nbsp; &gt;&nbsp;&nbsp; class TSharedData, typename TIdCell = unsigned int &gt;<BR>
&gt; &gt; &gt;&nbsp; &gt; whereas in the txx it is:<BR>
&gt; &gt; &gt;&nbsp; &gt; template &lt; class TInput, class TFeature, class TFunction,<BR>
&gt; &gt; &gt;&nbsp; &gt; class TOutputPixel, class TSharedData, typename TIdCell &gt;<BR>
&gt; &gt; &gt;&nbsp; &gt; There is a change in the order of the 3rd and 4th argument.<BR>
&gt; &gt; &gt;&nbsp; &gt;<BR>
&gt; &gt; &gt;&nbsp; &gt; 2. I can not find this class<BR>
&gt; &gt; &gt;&nbsp; &gt; (itkScalarChanAndVeseSparseLevelSetImageFilter)&nbsp; incuded in the<BR>
&gt; &gt; &gt;&nbsp; &gt; CMakeLists of the review folder<BR>
&gt; &gt; &gt;&nbsp; &gt;<BR>
&gt; &gt; &gt;&nbsp; &gt; Regards,<BR>
&gt; &gt; &gt;&nbsp; &gt; Lena<BR>
&gt; &gt; &gt;&nbsp; &gt;<BR>
&gt; &gt; &gt;&nbsp; &gt; &lt;ATT00001.txt&gt;<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt;&nbsp;<BR>
&gt; ------------------------------------------------------------------------<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; _____________________________________<BR>
&gt; &gt; &gt; Powered by www.kitware.com<BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; Visit other Kitware open-source projects at<BR>
&gt; &gt; &gt; <A HREF="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</A><BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; Please keep messages on-topic and check the ITK FAQ at:<BR>
&gt; &gt; <A HREF="http://www.itk.org/Wiki/ITK_FAQ">http://www.itk.org/Wiki/ITK_FAQ</A><BR>
&gt; &gt; &gt;<BR>
&gt; &gt; &gt; Follow this link to subscribe/unsubscribe:<BR>
&gt; &gt; &gt; <A HREF="http://www.itk.org/mailman/listinfo/insight-users">http://www.itk.org/mailman/listinfo/insight-users</A><BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; _____________________________________<BR>
&gt; &gt; Powered by www.kitware.com<BR>
&gt; &gt;<BR>
&gt; &gt; Visit other Kitware open-source projects at<BR>
&gt; &gt; <A HREF="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</A><BR>
&gt; &gt;<BR>
&gt; &gt; Please keep messages on-topic and check the ITK FAQ at:<BR>
&gt; &gt; <A HREF="http://www.itk.org/Wiki/ITK_FAQ">http://www.itk.org/Wiki/ITK_FAQ</A><BR>
&gt; &gt;<BR>
&gt; &gt; Follow this link to subscribe/unsubscribe:<BR>
&gt; &gt; <A HREF="http://www.itk.org/mailman/listinfo/insight-users">http://www.itk.org/mailman/listinfo/insight-users</A><BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; &lt;ATT00001.txt&gt;<BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>