<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><DIV>No, it was in debug mode. I will give a try at release mode.</DIV>
<DIV>Thanks Dan.</DIV>
<DIV>Cheers</DIV>
<DIV>Sara <BR><BR>--- En date de&nbsp;: <B>Mar 26.8.08, Dan Mueller <I>&lt;dan.muel@gmail.com&gt;</I></B> a écrit&nbsp;:<BR></DIV>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: rgb(16,16,255) 2px solid">De: Dan Mueller &lt;dan.muel@gmail.com&gt;<BR>Objet: Re: [Insight-users] nobody could answer me ? Fw : Please help:problem with wathershed segmentation applied to 3D grayscale Image<BR>À: sara_meghellati@yahoo.fr<BR>Cc: "Luis Ibanez" &lt;luis.ibanez@kitware.com&gt;, "insight itk" &lt;insight-users@itk.org&gt;<BR>Date: Mardi 26 Août 2008, 10h42<BR><BR><PRE>Hi Sara,

Did you compile the code in Release mode? Compiling in Release mode
(as opposed to Debug mode) significantly improves performance...

2008/8/26 sara meghellati &lt;sara_meghellati@yahoo.fr&gt;:
&gt; Dear Luis,
&gt; I would like to thank you and all the other itk members who have replied
me
&gt; regarding my question.
&gt; I have gave a try with your code. my CPU is Intel core 2, 2.41 Ghz and 2
Gb
&gt; of Ram. it takes nearly 34 minutes. So I have tried my code, its working
and
&gt; it takes also nearly 34 minutes. I used 0.001 for threshold and 0.1 for
the
&gt; level parameter.
&gt; Sara
&gt; Best regards
&gt;
&gt; --- En date de : Ven 22.8.08, Luis Ibanez &lt;luis.ibanez@kitware.com&gt;
a
&gt; écrit :
&gt;
&gt; De: Luis Ibanez &lt;luis.ibanez@kitware.com&gt;
&gt; Objet: Re: [Insight-users] nobody could answer me ? Fw : Please
help:problem
&gt; with wathershed segmentation applied to 3D grayscale Image
&gt; À: sara_meghellati@yahoo.fr
&gt; Cc: "insight itk" &lt;insight-users@itk.org&gt;
&gt; Date: Vendredi 22 Août 2008, 18h59
&gt;
&gt;
&gt; Hi Sara,
&gt;
&gt; Thanks for your detailed question regarding Watersheds.
&gt;
&gt;
&gt; Please take a look at the attached code.
&gt;
&gt; It process the image "Patient01" from
&gt;
&gt;         http://public.kitware.com/pub/itk/Data/LiverTumor/.
&gt;
&gt; in a time of
&gt;
&gt;                     4 minutes 38 seconds.
&gt;
&gt; This was profiled in an QuadCore Intel Xeon 2.66 Ghz. (with 16Gb RAM).
&gt; (although the process uses only one of the cores)
&gt;
&gt; Note that the process peaks 1Gb of memory allocation when it is running.
&gt;
&gt; Depending on the configuration of your system, it may be that the program
&gt; started swapping memory at some point.
&gt;
&gt; Please give a try at the attached code and let us know what you find.
&gt;
&gt;
&gt;      Regards,
&gt;
&gt;
&gt;           Luis
&gt;
&gt;
&gt;
-----------------------------------------------------------------------------------------------------------------------------------
&gt; On Fri, Aug 22, 2008 at 11:19 AM, sara meghellati
&lt;sara_meghellati@yahoo.fr&gt;
&gt; wrote:
&gt;&gt;
&gt;&gt; I'm sending again my questions as nobody have answered me.
&gt;&gt;
&gt;&gt; --- En date de : Ven 22.8.08, sara meghellati
&lt;sara_meghellati@yahoo.fr&gt; a
&gt;&gt; écrit :
&gt;&gt;
&gt;&gt; De: sara meghellati &lt;sara_meghellati@yahoo.fr&gt;
&gt;&gt; Objet: [Insight-users] Please help:problem with wathershed
segmentation
&gt;&gt; applied to 3D grayscale Image
&gt;&gt; À: "insight itk" &lt;insight-users@itk.org&gt;
&gt;&gt; Date: Vendredi 22 Août 2008, 13h48
&gt;&gt;
&gt;&gt; Dear itk experts,
&gt;&gt;
&gt;&gt; I'm segmenting a volume (3D grayscale image) using watershed
method
&gt;&gt; inspired from the WatershedSegmentation1
&gt;&gt;
&gt;&gt; (2D RGB image as input)example provided within itk.
&gt;&gt;
&gt;&gt; My code is well working for 2D grayscale images but when I change
&gt;&gt;
&gt;&gt; the dimension to 3, the code
&gt;&gt;  still running as it get stuck in a
&gt;&gt;
&gt;&gt; loop!! I wait for more than 18min but no results!! Is it normal
&gt;&gt;
&gt;&gt; that this kind of segmentation takes age to give the result in 3d
&gt;&gt;
&gt;&gt; image or there is some thing wrong with my code? Please could you help
me
&gt;&gt; on that? Also, how can I follow the progress of the code?
&gt;&gt;
&gt;&gt; I pass my code bellow. In this example I used the 3D data provided
&gt;&gt;
&gt;&gt; in http://public.kitware.com/pub/itk/Data/LiverTumor/.
&gt;&gt;
&gt;&gt; #include &lt;iostream&gt;
&gt;&gt;
&gt;&gt; #include "itkImage.h"
&gt;&gt;
&gt;&gt; #include "itkGradientAnisotropicDiffusionImageFilter.h"
&gt;
&gt; #include "itkGradientMagnitudeImageFilter.h"
&gt;
&gt; #include "itkWatershedImageFilter.h"
&gt;
&gt; #include "itkImageFileReader.h"
&gt;
&gt; #include "itkImageFileWriter.h"
&gt;
&gt; #include "itkVectorCastImageFilter.h"
&gt;
&gt; #include "itkUnaryFunctorImageFilter.h"
&gt;
&gt; #include "itkScalarToRGBPixelFunctor.h"
&gt;
&gt;
&gt;
&gt; #include "itkVTKImageExport.h"
&gt;
&gt; #include "itkVTKImageImport.h"
&gt;
&gt;
&gt;
&gt; #include "vtkImageData.h"
&gt;
&gt; #include "vtkImageImport.h"
&gt;
&gt; #include "vtkImageExport.h"
&gt;
&gt; #include "vtkImageActor.h"
&gt;
&gt; #include "vtkRenderer.h"
&gt;
&gt; #include "vtkRenderWindow.h"
&gt;
&gt; #include "vtkRenderWindowInteractor.h"
&gt;
&gt; #include "vtkInteractorStyleTrackballCamera.h"
&gt;
&gt; #include "vtkImageShiftScale.h"
&gt;
&gt;
&gt;
&gt; // This function will connect the given itk::VTKImageExport filter to the
&gt; given vtkImageImport filter.
&gt;
&gt; template &lt;typename ITK_Exporter, typename VTK_Importer&gt;
&gt;
&gt; void ConnectPipelines(ITK_Exporter exporter, VTK_Importer* importer)
&gt;
&gt; {
&gt;
&gt;
&gt;
importer-&gt;SetUpdateInformationCallback(exporter-&gt;GetUpdateInformationCallback());
&gt;
&gt;
&gt;
importer-&gt;SetPipelineModifiedCallback(exporter-&gt;GetPipelineModifiedCallback());
&gt;
&gt;  
importer-&gt;SetWholeExtentCallback(exporter-&gt;GetWholeExtentCallback());
&gt;
&gt;   importer-&gt;SetSpacingCallback(exporter-&gt;GetSpacingCallback());
&gt;
&gt;   importer-&gt;SetOriginCallback(exporter-&gt;GetOriginCallback());
&gt;
&gt;  
importer-&gt;SetScalarTypeCallback(exporter-&gt;GetScalarTypeCallback());
&gt;
&gt;
&gt;
importer-&gt;SetNumberOfComponentsCallback(exporter-&gt;GetNumberOfComponentsCallback());
&gt;
&gt;
&gt;
importer-&gt;SetPropagateUpdateExtentCallback(exporter-&gt;GetPropagateUpdateExtentCallback());
&gt;
&gt;  
importer-&gt;SetUpdateDataCallback(exporter-&gt;GetUpdateDataCallback());
&gt;
&gt;  
importer-&gt;SetDataExtentCallback(exporter-&gt;GetDataExtentCallback());
&gt;
&gt;  
importer-&gt;SetBufferPointerCallback(exporter-&gt;GetBufferPointerCallback());
&gt;
&gt;   importer-&gt;SetCallbackUserData(exporter-&gt;GetCallbackUserData());
&gt;
&gt; }
&gt;
&gt;
&gt;
&gt; int main( )
&gt;
&gt; {
&gt;
&gt;       typedef itk::Image&lt;float, 3&gt;           ImageType;
&gt;
&gt;       typedef itk::Image&lt;unsigned long, 3&gt;   LabeledImageType;
&gt;
&gt;       typedef itk::Image&lt;float, 3&gt;           ScalarImageType;
&gt;
&gt;       // for visualization purposes
&gt;
&gt;       typedef itk::RGBPixel&lt;unsigned char&gt;   RGBPixelType;
&gt;
&gt;       typedef itk::Image&lt;RGBPixelType, 3&gt;    RGBImageType;
&gt;
&gt;
&gt;
&gt;       typedef itk::ImageFileReader&lt;ImageType&gt; FileReaderType;
&gt;
&gt;       typedef itk::GradientAnisotropicDiffusionImageFilter&lt;ImageType,
&gt; ImageType&gt;  DiffusionFilterType;
&gt;
&gt;       typedef itk::GradientMagnitudeImageFilter&lt;ImageType,ImageType&gt;
&gt; GradientMagnitudeFilterType;
&gt;
&gt;       typedef itk::WatershedImageFilter&lt;ScalarImageType&gt;
&gt; WatershedFilterType;
&gt;
&gt;       typedef itk::ImageFileWriter&lt;RGBImageType&gt; FileWriterType;
&gt;
&gt;
&gt;
&gt;       FileReaderType::Pointer reader = FileReaderType::New
&gt;
&gt;       reader-&gt;SetFileName( "c:/images/3DImages/Patient01.mhd"
 );
&gt;
&gt;      
//reader-&gt;SetFileName("c:/Images/BrainProtonDensitySlice.png");
&gt;
&gt;
&gt;
&gt;       DiffusionFilterType::Pointer diffusion = DiffusionFilterType::New();
&gt;
&gt;       diffusion-&gt;SetNumberOfIterations( atoi("10") );
&gt;
&gt;       diffusion-&gt;SetConductanceParameter( atof("2.0") );
&gt;
&gt;       diffusion-&gt;SetTimeStep(0.0625);
&gt;
&gt;
&gt;
&gt;       GradientMagnitudeFilterType::Pointer gradient =
&gt; GradientMagnitudeFilterType::New();
&gt;
&gt;
&gt;
&gt;       WatershedFilterType::Pointer watershed = WatershedFilterType::New();
&gt;
&gt;       watershed-&gt;SetLevel( atof("0.15") );
&gt;
&gt;       watershed-&gt;SetThreshold( atof("0.001") );
&gt;
&gt;       typedef itk::Functor::ScalarToRGBPixelFunctor&lt;unsigned long&gt;
&gt; ColorMapFunctorType;
&gt;
&gt;       typedef itk::UnaryFunctorImageFilter&lt;LabeledImageType,
&gt; RGBImageType, ColorMapFunctorType&gt; ColorMapFilterType;
&gt;
&gt;       ColorMapFilterType::Pointer colormapper = ColorMapFilterType::New();
&gt;
&gt;
&gt;
&gt;       FileWriterType::Pointer writer = FileWriterType::New();
&gt;
&gt;       writer-&gt;SetFileName("c:/Images/WatershedSegImg.mhd");
&gt;
&gt;
&gt;
&gt;       diffusion-&gt;SetInput(reader-&gt;GetOutput());
&gt;
&gt;       gradient-&gt;SetInput(diffusion-&gt;GetOutput());
&gt;
&gt;       watershed-&gt;SetInput(gradient-&gt;GetOutput());
&gt;
&gt;       colormapper-&gt;SetInput(watershed-&gt;GetOutput());
&gt;
&gt;       writer-&gt;SetInput(colormapper-&gt;GetOutput());
&gt;
&gt;       writer-&gt;Update();
&gt;
&gt;
&gt;
&gt; try
&gt;
&gt;     {
&gt;
&gt;             writer-&gt;Update();
&gt;
&gt;     }
&gt;
&gt;   catch (itk::ExceptionObject &amp;e)
&gt;
&gt;     {
&gt;
&gt;             std::cerr &lt;&lt; e &lt;&lt; std::endl;
&gt;
&gt;     }
&gt;
&gt;
&gt;
&gt;   return 0;
&gt;
&gt;
&gt;
&gt; }
&gt;
&gt; Thanks
&gt;
&gt; Sara
</PRE></BLOCKQUOTE></td></tr></table><br>


      <hr size="1"> 
Envoyé avec <a href="http://us.rd.yahoo.com/mailuk/taglines/isp/control/*http://us.rd.yahoo.com/evt=52423/*http://fr.docs.yahoo.com/mail/overview/index.html">Yahoo! Mail</a>.<br>Une boite mail plus intelligente. </a>