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