<!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>Ok, thank you!I ll check there for the changes. Just your opinion: Do you think I can start working with the current version and get the newer later, or the upcoming corrections are very important and affect the segmentation result?<BR>
<BR>
Thank you for all the help,<BR>
Eleni<BR>
<BR>
-----Original Message-----<BR>
From: alex gouaillard [<A HREF="mailto:alexandre_gouaillard@hms.harvard.edu">mailto:alexandre_gouaillard@hms.harvard.edu</A>]<BR>
Sent: Sun 6/7/2009 10:35 PM<BR>
To: Sgouritsa, Eleni<BR>
Cc: Arnaud Joel Florent Gelas; insight-users@itk.org; Luis Ibanez; Kishore Rao Rao Mosaliganti<BR>
Subject: Re: [Insight-users] itkScalarChanAndVeseSparseLevelSetImageFilter<BR>
<BR>
hi eleni,<BR>
<BR>
you can monitor cvs changes in the review directory using this link :<BR>
<A HREF="http://public.kitware.com/cgi-bin/viewcvs.cgi/Code/Review/?root=Insight&sortby=date#dirlist">http://public.kitware.com/cgi-bin/viewcvs.cgi/Code/Review/?root=Insight&sortby=date#dirlist</A><BR>
<BR>
There should be a lot of changes in the next days, so it might be <BR>
unpractical for us to let you know everytime we commit a change. We <BR>
will try to do it though.<BR>
<BR>
cheers.<BR>
<BR>
alex.<BR>
<BR>
<BR>
<BR>
On Jun 7, 2009, at 11:28 PM, Sgouritsa, Eleni wrote:<BR>
<BR>
> 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 <BR>
> 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] <BR>
> 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 <BR>
> 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 <BR>
> 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 <BR>
> 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 <BR>
> 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 <BR>
> 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 <BR>
> 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 <BR>
> 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>
> > > > _____________________________________<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>
><BR>
> <ATT00001.txt><BR>
<BR>
<BR>
</FONT>
</P>
</BODY>
</HTML>