[Insight-users] Watersheds performace in Debug mode

Luis Ibanez luis.ibanez at kitware.com
Wed Aug 27 08:58:11 EDT 2008


Hi Wassim,


It seems that you are working on Windows.
Is that correct ?


Did you complied the code in "Release" mode ?


The closest machine I have to yours is an Ubuntu Linux
machine with 1Gb of RAM, with a Pentium 4, 3.0Ghz.

When running the program in this machine, compiled with
Gcc 4.1, in Release mode (as setup by CMake), the memory
usage of this process peaks at 622Mb, and it completes
in 18 minutes 37 seconds.


Depending on what other processes you have in memory,
your computer may be swapping memory to disk.

Please keep the Task Manager open while you are running
the program and take a look at the "Performance" tab.

 From that, you should be able to verify if the system
is swapping or not.


    Please let us know what you find.


       Thanks


         Luis


---------------------------------
wassim_belhadj at topnet.tn wrote:
> Thank you very much for your reply
> 
> I tried  the wathershed segmentation example applied to "Patient01" from
> http://public.kitware.com/pub/itk/Data/LiverTumor/ so :
> 
> Number of pixels in X, Y , Z  is 512 512 35
> ElementSpacing = 0.601563 0.601563 5
> Pixel type  is MET_USHORT
> 
> My CPU is Pentium 4, 3.00Ghz and 1Gb of Ram
> 
> 
> The comand line was  : Watersheds3D.exe Patient01.mhd ResSegmentation.mhd
> 0.001 0.1
> 
> 
> Thank you in advance
> 
> 
> On Wed, 27 Aug 2008 08:06:51 -0400, Luis Ibanez <luis.ibanez at kitware.com>
> wrote:
> 
>>Hi Wassim,
>>
>>
>>What are the characteristics of your image ?
>>
>>1) Number of pixels in X, Y , Z ?
>>2) Pixel spacing in X, Y, Z ?
>>3) Pixel type ?
>>
>>
>>What arguments did you use in the command line ?
>>
>>
>>What are the characteristics of your computer ?
>>
>>a) Processor & clock rate
>>b) Operating system
>>c) Compiler ?
>>d) Compilation options ? Relese/Debug ?
>>e) Amount of RAM memory ?
>>
>>
>>My guess is that your computer is currently
>>swapping memory...
>>
>>
>>   Please let us know, so we don't have to guess.
>>
>>
>>      Thanks
>>
>>
>>         Luis
>>
>>
>>--------------------------------
>>wassim_belhadj at topnet.tn wrote:
>>
>>>Hi
>>>The code has been executed for more than 20 hours but nothing !!!!!!
>>>The code still running as it get stuck in a loop
>>>
>>>
>>>On Wed, 27 Aug 2008 11:20:07 +0000 (GMT), sara meghellati
>>><sara_meghellati at yahoo.fr> wrote:
>>>
>>>
>>>>Hi,
>>>>the code that I have past and the one of Luis are both working. there is
>>>>nothing wrong with the code. it deos just take time to produce result
>>
>>and
>>
>>>>this depends in your machine performance. for example I tried the code
>>
>>in
>>
>>>>other computer P4,...and it still running for more than one hour
>>>>without producing the result, so I stoped it.  let your code run for
>>>
>>>more
>>>
>>>
>>>>time.
>>>>Cheers
>>>>Sara
>>>>
>>>>--- En date de : Mer 27.8.08, wassim_belhadj at topnet.tn
>>>><wassim_belhadj at topnet.tn> a écrit :
>>>>
>>>>De: wassim_belhadj at topnet.tn <wassim_belhadj at topnet.tn>
>>>>Objet: Re: [Insight-users] Watersheds performace in Debug mode
>>>>À: "Luis Ibanez" <luis.ibanez at kitware.com>
>>>>Cc: sara_meghellati at yahoo.fr, "insight itk" <insight-users at itk.org>
>>>>Date: Mercredi 27 Août 2008, 8h40
>>>>
>>>>Hi
>>>>I tried  the wathershed segmentation example applied to "Patient01"
>>>>from
>>>>http://public.kitware.com/pub/itk/Data/LiverTumor/.
>>>>The code still running as it get stuck in a loop. I used 0.001 for
>>>>threshold and 0.1 for the level parameter.
>>>>My CPU is Pentium 4, 3.00Ghz and 1Gb of Ram
>>>>How have you been able to Operate the example ?
>>>>I need Your Help Please.
>>>>This is the  source code  :
>>>>/**********************************************************************/
>>>>/**********************************************************************/
>>>>/**********************************************************************/
>>>>/**********************************************************************/
>>>>
>>>>#include "itkWatershedImageFilter.h"
>>>>#include "itkImage.h"
>>>>#include "itkImageFileReader.h"
>>>>#include "itkImageFileWriter.h"
>>>>#include "itkScalarToRGBPixelFunctor.h"
>>>>#include "itkUnaryFunctorImageFilter.h"
>>>>#include "itkGradientMagnitudeRecursiveGaussianImageFilter.h"
>>>>
>>>>
>>>>int main( int argc, char *argv[] )
>>>>{
>>>>
>>>>
>>>> if( argc < 5 )
>>>>   {
>>>>   std::cerr << "Missing Parameters " << std::endl;
>>>>   std::cerr << "Usage: " << argv[0];
>>>>   std::cerr << " inputImage  outputImage lowerThreshold
>>>>outputScaleLevel" << std::endl;
>>>>   return 1;
>>>>   }
>>>>
>>>> typedef float                             InternalPixelType;
>>>> typedef itk::RGBPixel<unsigned char>      RGBPixelType;
>>>>
>>>> const   unsigned int                      Dimension = 3;
>>>>
>>>>
>>>> typedef itk::Image< InternalPixelType,  Dimension > 
>>
>>InternalImageType;
>>
>>>> typedef itk::Image< RGBPixelType,       Dimension >  RGBImageType;
>>>>
>>>>
>>>> //
>>>> // We instantiate reader and writer types
>>>> //
>>>> typedef  itk::ImageFileReader< InternalImageType   >  ReaderType;
>>>> typedef  itk::ImageFileWriter< RGBImageType  >        WriterType;
>>>>
>>>> ReaderType::Pointer reader = ReaderType::New();
>>>> WriterType::Pointer writer = WriterType::New();
>>>>
>>>> reader->SetFileName( argv[1] );
>>>> writer->SetFileName( argv[2] );
>>>>
>>>>
>>>> //
>>>> //  Instantiate the GradientMagnitude image filter
>>>> //
>>>> typedef   itk::GradientMagnitudeRecursiveGaussianImageFilter<
>>>>                                                    InternalImageType,
>>>>                                                    InternalImageType
>>>>                                                         >
>>>>GradientMagnitudeFilterType;
>>>>
>>>> GradientMagnitudeFilterType::Pointer gradienMagnitudeFilter =
>>>>GradientMagnitudeFilterType::New();
>>>>
>>>> gradienMagnitudeFilter->SetInput( reader->GetOutput() );
>>>> gradienMagnitudeFilter->SetSigma( 1.0 );
>>>>
>>>>
>>>> //
>>>> //  Instantiate the Watershed filter
>>>> //
>>>>
>>>> typedef  itk::WatershedImageFilter<
>>>>                             InternalImageType
>>>>                                           > WatershedFilterType;
>>>>
>>>> WatershedFilterType::Pointer watershedFilter =
>>>>WatershedFilterType::New();
>>>>
>>>> watershedFilter->SetInput( gradienMagnitudeFilter->GetOutput() );
>>>>
>>>> watershedFilter->SetThreshold( atof( argv[3] ) );
>>>> watershedFilter->SetLevel(     atof( argv[4] ) );
>>>>
>>>>
>>>> //
>>>> //  Instantiate the filter that will encode the label image
>>>> //  into a color image (random color attribution).
>>>> //
>>>>
>>>> typedef itk::Functor::ScalarToRGBPixelFunctor<
>>>>                                          unsigned long
>>>>                                                   >
>>>
>>>ColorMapFunctorType;
>>>
>>>
>>>> typedef WatershedFilterType::OutputImageType  LabeledImageType;
>>>>
>>>> typedef itk::UnaryFunctorImageFilter<
>>>>                               LabeledImageType,
>>>>                               RGBImageType,
>>>>                               ColorMapFunctorType
>>>>                                               > ColorMapFilterType;
>>>>
>>>> ColorMapFilterType::Pointer colorMapFilter =
>>
>>ColorMapFilterType::New();
>>
>>>> colorMapFilter->SetInput(  watershedFilter->GetOutput() );
>>>>
>>>> writer->SetInput( colorMapFilter->GetOutput() );
>>>>
>>>> try
>>>>   {
>>>>   writer->Update();
>>>>   }
>>>> catch( itk::ExceptionObject & excep )
>>>>   {
>>>>   std::cerr << "Exception caught !" << std::endl;
>>>>   std::cerr << excep << std::endl;
>>>>   }
>>>>
>>>>
>>>> return 0;
>>>>
>>>>}
>>>>/**********************************************************************/
>>>>/**********************************************************************/
>>>>/**********************************************************************/
>>>>
>>>>
>>>>
>>>>
>>>>On Tue, 26 Aug 2008 11:04:50 -0400, Luis Ibanez
>>
>><luis.ibanez at kitware.com>
>>
>>>>wrote:
>>>>
>>>>
>>>>>Sara,
>>>>>
>>>>>When reporting performance issues,
>>>>>please build first under *Release* mode.
>>>>>
>>>>>As Dan described, you can easily find differences of one order of
>>>>>magnitude between the performance on Debug and Release modes.
>>>>>
>>>>>This is mainly due to the heavy use we made of C++ templates in ITK.
>>>>>
>>>>>
>>>>>   Regards,
>>>>>
>>>>>
>>>>>       Luis
>>>>>
>>>>>
>>>>>-------------------------
>>>>>sara meghellati wrote:
>>>>>
>>>>>
>>>>>>No, it was in debug mode. I will give a try at release mode.
>>>>>>Thanks Dan.
>>>>>>Cheers
>>>>>>Sara
>>>>>>
>>>>>>--- En date de : *Mar 26.8.08, Dan Mueller
>>>>
>>>>/<dan.muel at gmail.com>/* a
>>>>
>>>>
>>>>>écrit :
>>>>>
>>>>>
>>>>>>   De: Dan Mueller <dan.muel at gmail.com>
>>>>>>   Objet: Re: [Insight-users] nobody could answer me ? Fw : Please
>>>>>>   help:problem with wathershed segmentation applied to 3D grayscale
>>>>>
>>>>>Image
>>>>>
>>>>>
>>>>>>   À: sara_meghellati at yahoo.fr
>>>>>>   Cc: "Luis Ibanez" <luis.ibanez at kitware.com>,
>>>>
>>>>"insight itk"
>>>>
>>>>
>>>>>>   <insight-users at itk.org>
>>>>>>   Date: Mardi 26 Août 2008, 10h42
>>>>>>
>>>>>>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 <sara_meghellati at yahoo.fr>:
>>>>>>
>>>>>>
>>>>>>>Dear Luis,
>>>>>>>I would like to thank you and all the other itk members who have
>>>>>
>>>>>replied
>>>>>
>>>>>
>>>>>>me
>>>>>>
>>>>>>
>>>>>>>regarding my question.
>>>>>>>I have gave a try with your code. my CPU is Intel core 2, 2.41 Ghz
>>>>
>>>>and
>>>>
>>>>
>>>>>2
>>>>>
>>>>>
>>>>>>Gb
>>>>>>
>>>>>>
>>>>>>>of Ram. it takes nearly 34 minutes. So I have tried my code, its
>>>>>
>>>>>working
>>>>>
>>>>>
>>>>>>and
>>>>>>
>>>>>>
>>>>>>>it takes also nearly 34 minutes. I used 0.001 for threshold and
>>>>
>>>>0.1 for
>>>>
>>>>
>>>>>>the
>>>>>>
>>>>>>
>>>>>>>level parameter.
>>>>>>>Sara
>>>>>>>Best regards
>>>>>>>
>>>>>>>--- En date de : Ven 22.8.08, Luis Ibanez
>>>>
>>>><luis.ibanez at kitware.com>
>>>>
>>>>>>a
>>>>>>
>>>>>>
>>>>>>>écrit :
>>>>>>>
>>>>>>>De: Luis Ibanez <luis.ibanez at kitware.com>
>>>>>>>Objet: Re: [Insight-users] nobody could answer me ? Fw : Please
>>>>>>
>>>>>>help:problem
>>>>>>
>>>>>>
>>>>>>>with wathershed segmentation applied to 3D grayscale Image
>>>>>>>À: sara_meghellati at yahoo.fr
>>>>>>>Cc: "insight itk" <insight-users at itk.org>
>>>>>>>Date: Vendredi 22 Août 2008, 18h59
>>>>>>>
>>>>>>>
>>>>>>>Hi Sara,
>>>>>>>
>>>>>>>Thanks for your detailed question regarding Watersheds.
>>>>>>>
>>>>>>>
>>>>>>>Please take a look at the attached code.
>>>>>>>
>>>>>>>It process the image "Patient01" from
>>>>>>>
>>>>>>>       http://public.kitware.com/pub/itk/Data/LiverTumor/.
>>>>>>>
>>>>>>>in a time of
>>>>>>>
>>>>>>>                   4 minutes 38 seconds.
>>>>>>>
>>>>>>>This was profiled in an QuadCore Intel Xeon 2.66 Ghz. (with 16Gb
>>>>
>>>>RAM).
>>>>
>>>>
>>>>>>>(although the process uses only one of the cores)
>>>>>>>
>>>>>>>Note that the process peaks 1Gb of memory allocation when it is
>>>>>
>>>>>running.
>>>>>
>>>>>
>>>>>>>Depending on the configuration of your system, it may be that the
>>>>>
>>>>>program
>>>>>
>>>>>
>>>>>>>started swapping memory at some point.
>>>>>>>
>>>>>>>Please give a try at the attached code and let us know what you
>>>>
>>>>find.
>>>>
>>>>
>>>>>>>    Regards,
>>>>>>>
>>>>>>>
>>>>>>>         Luis
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
> -----------------------------------------------------------------------------------------------------------------------------------
> 
>>>>>>>On Fri, Aug 22, 2008 at 11:19 AM, sara meghellati
>>>>>>
>>>>>><sara_meghellati at yahoo.fr>
>>>>>>
>>>>>>>wrote:
>>>>>>>
>>>>>>>
>>>>>>>>I'm sending again my questions as nobody have answered me.
>>>>>>>>
>>>>>>>>--- En date de : Ven 22.8.08, sara meghellati
>>>>>>
>>>>>><sara_meghellati at yahoo.fr> a
>>>>>>
>>>>>>
>>>>>>>>écrit :
>>>>>>>>
>>>>>>>>De: sara meghellati <sara_meghellati at yahoo.fr>
>>>>>>>>Objet: [Insight-users] Please help:problem with wathershed
>>>>>>
>>>>>>segmentation
>>>>>>
>>>>>>
>>>>>>>>applied to 3D grayscale Image
>>>>>>>>À: "insight itk" <insight-users at itk.org>
>>>>>>>>Date: Vendredi 22 Août 2008, 13h48
>>>>>>>>
>>>>>>>>Dear itk experts,
>>>>>>>>
>>>>>>>>I'm segmenting a volume (3D grayscale image) using
>>>>
>>>>watershed
>>>>
>>>>
>>>>>>method
>>>>>>
>>>>>>
>>>>>>>>inspired from the WatershedSegmentation1
>>>>>>>>
>>>>>>>>(2D RGB image as input)example provided within itk.
>>>>>>>>
>>>>>>>>My code is well working for 2D grayscale images but when I
>>>>
>>>>change
>>>>
>>>>
>>>>>>>>the dimension to 3, the code
>>>>>>>>still running as it get stuck in a
>>>>>>>>
>>>>>>>>loop!! I wait for more than 18min but no results!! Is it
>>>>
>>>>normal
>>>>
>>>>
>>>>>>>>that this kind of segmentation takes age to give the result in
>>>>
>>>>3d
>>>>
>>>>
>>>>>>>>image or there is some thing wrong with my code? Please could
>>>>
>>>>you help
>>>>
>>>>
>>>>>>me
>>>>>>
>>>>>>
>>>>>>>>on that? Also, how can I follow the progress of the code?
>>>>>>>>
>>>>>>>>I pass my code bellow. In this example I used the 3D data
>>>>
>>>>provided
>>>>
>>>>
>>>>>>>>in http://public.kitware.com/pub/itk/Data/LiverTumor/.
>>>>>>>>
>>>>>>>>#include <iostream>
>>>>>>>>
>>>>>>>>#include "itkImage.h"
>>>>>>>>
>>>>>>>>#include
>>>>
>>>>"itkGradientAnisotropicDiffusionImageFilter.h"
>>>>
>>>>
>>>>>>>#include "itkGradientMagnitudeImageFilter.h"
>>>>>>>
>>>>>>>#include "itkWatershedImageFilter.h"
>>>>>>>
>>>>>>>#include "itkImageFileReader.h"
>>>>>>>
>>>>>>>#include "itkImageFileWriter.h"
>>>>>>>
>>>>>>>#include "itkVectorCastImageFilter.h"
>>>>>>>
>>>>>>>#include "itkUnaryFunctorImageFilter.h"
>>>>>>>
>>>>>>>#include "itkScalarToRGBPixelFunctor.h"
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>#include "itkVTKImageExport.h"
>>>>>>>
>>>>>>>#include "itkVTKImageImport.h"
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>#include "vtkImageData.h"
>>>>>>>
>>>>>>>#include "vtkImageImport.h"
>>>>>>>
>>>>>>>#include "vtkImageExport.h"
>>>>>>>
>>>>>>>#include "vtkImageActor.h"
>>>>>>>
>>>>>>>#include "vtkRenderer.h"
>>>>>>>
>>>>>>>#include "vtkRenderWindow.h"
>>>>>>>
>>>>>>>#include "vtkRenderWindowInteractor.h"
>>>>>>>
>>>>>>>#include "vtkInteractorStyleTrackballCamera.h"
>>>>>>>
>>>>>>>#include "vtkImageShiftScale.h"
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>// This function will connect the given itk::VTKImageExport filter
>>>>
>>>>to
>>>>
>>>>
>>>>>the
>>>>>
>>>>>
>>>>>>>given vtkImageImport filter.
>>>>>>>
>>>>>>>template <typename ITK_Exporter, typename VTK_Importer>
>>>>>>>
>>>>>>>void ConnectPipelines(ITK_Exporter exporter, VTK_Importer*
>>>>
>>>>importer)
>>>>
>>>>
>>>>>>>{
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
> importer->SetUpdateInformationCallback(exporter->GetUpdateInformationCallback());
> 
>>>>>>>
> importer->SetPipelineModifiedCallback(exporter->GetPipelineModifiedCallback());
> 
>>>>importer->SetWholeExtentCallback(exporter->GetWholeExtentCallback());
>>>>
>>>>
>>>>importer->SetSpacingCallback(exporter->GetSpacingCallback());
>>>>
>>>>
>>>>importer->SetOriginCallback(exporter->GetOriginCallback());
>>>>
>>>>
>>>>importer->SetScalarTypeCallback(exporter->GetScalarTypeCallback());
>>>>
>>>>
>>>>>>>
> importer->SetNumberOfComponentsCallback(exporter->GetNumberOfComponentsCallback());
> 
>>>>>>>
> importer->SetPropagateUpdateExtentCallback(exporter->GetPropagateUpdateExtentCallback());
> 
>>>>importer->SetUpdateDataCallback(exporter->GetUpdateDataCallback());
>>>>
>>>>
>>>>importer->SetDataExtentCallback(exporter->GetDataExtentCallback());
>>>>
>>>>
>>>>importer->SetBufferPointerCallback(exporter->GetBufferPointerCallback());
>>>>
>>>>
>>>>importer->SetCallbackUserData(exporter->GetCallbackUserData());
>>>>
>>>>
>>>>>>>}
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>int main( )
>>>>>>>
>>>>>>>{
>>>>>>>
>>>>>>>     typedef itk::Image<float, 3>           ImageType;
>>>>>>>
>>>>>>>     typedef itk::Image<unsigned long, 3>
>>>>
>>>>LabeledImageType;
>>>>
>>>>
>>>>>>>     typedef itk::Image<float, 3>
>>>>
>>>>ScalarImageType;
>>>>
>>>>
>>>>>>>     // for visualization purposes
>>>>>>>
>>>>>>>     typedef itk::RGBPixel<unsigned char>   RGBPixelType;
>>>>>>>
>>>>>>>     typedef itk::Image<RGBPixelType, 3>    RGBImageType;
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     typedef itk::ImageFileReader<ImageType>
>>>>
>>>>FileReaderType;
>>>>
>>>>
>>>>>>>     typedef
>>>>
>>>>itk::GradientAnisotropicDiffusionImageFilter<ImageType,
>>>>
>>>>
>>>>>>>ImageType>  DiffusionFilterType;
>>>>>>>
>>>>>>>     typedef
>>>>
>>>>itk::GradientMagnitudeImageFilter<ImageType,ImageType>
>>>>
>>>>>>>GradientMagnitudeFilterType;
>>>>>>>
>>>>>>>     typedef itk::WatershedImageFilter<ScalarImageType>
>>>>>>>WatershedFilterType;
>>>>>>>
>>>>>>>     typedef itk::ImageFileWriter<RGBImageType>
>>>>
>>>>FileWriterType;
>>>>
>>>>
>>>>>>>
>>>>>>>     FileReaderType::Pointer reader = FileReaderType::New
>>>>>>>
>>>>>>>     reader->SetFileName(
>>>>
>>>>"c:/images/3DImages/Patient01.mhd"
>>>>
>>>>
>>>>>>);
>>>>>>
>>>>>>
>>>>//reader->SetFileName("c:/Images/BrainProtonDensitySlice.png");
>>>>
>>>>
>>>>>>>
>>>>>>>     DiffusionFilterType::Pointer diffusion =
>>>>>
>>>>>DiffusionFilterType::New();
>>>>>
>>>>>
>>>>>>>     diffusion->SetNumberOfIterations( atoi("10") );
>>>>>>>
>>>>>>>     diffusion->SetConductanceParameter( atof("2.0")
>>>>
>>>>);
>>>>
>>>>
>>>>>>>     diffusion->SetTimeStep(0.0625);
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     GradientMagnitudeFilterType::Pointer gradient =
>>>>>>>GradientMagnitudeFilterType::New();
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     WatershedFilterType::Pointer watershed =
>>>>>
>>>>>WatershedFilterType::New();
>>>>>
>>>>>
>>>>>>>     watershed->SetLevel( atof("0.15") );
>>>>>>>
>>>>>>>     watershed->SetThreshold( atof("0.001") );
>>>>>>>
>>>>>>>     typedef itk::Functor::ScalarToRGBPixelFunctor<unsigned
>>>>
>>>>long>
>>>>
>>>>>>>ColorMapFunctorType;
>>>>>>>
>>>>>>>     typedef itk::UnaryFunctorImageFilter<LabeledImageType,
>>>>>>>RGBImageType, ColorMapFunctorType> ColorMapFilterType;
>>>>>>>
>>>>>>>     ColorMapFilterType::Pointer colormapper =
>>>>>
>>>>>ColorMapFilterType::New();
>>>>>
>>>>>
>>>>>>>
>>>>>>>     FileWriterType::Pointer writer = FileWriterType::New();
>>>>>>>
>>>>>>>
>>>>
>>>>writer->SetFileName("c:/Images/WatershedSegImg.mhd");
>>>>
>>>>
>>>>>>>
>>>>>>>     diffusion->SetInput(reader->GetOutput());
>>>>>>>
>>>>>>>     gradient->SetInput(diffusion->GetOutput());
>>>>>>>
>>>>>>>     watershed->SetInput(gradient->GetOutput());
>>>>>>>
>>>>>>>     colormapper->SetInput(watershed->GetOutput());
>>>>>>>
>>>>>>>     writer->SetInput(colormapper->GetOutput());
>>>>>>>
>>>>>>>     writer->Update();
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>try
>>>>>>>
>>>>>>>   {
>>>>>>>
>>>>>>>           writer->Update();
>>>>>>>
>>>>>>>   }
>>>>>>>
>>>>>>> catch (itk::ExceptionObject &e)
>>>>>>>
>>>>>>>   {
>>>>>>>
>>>>>>>           std::cerr << e << std::endl;
>>>>>>>
>>>>>>>   }
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> return 0;
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>}
>>>>>>>
>>>>>>>Thanks
>>>>>>>
>>>>>>>Sara
>>>>>>
>>>>>>
>>>>>>
>>>>------------------------------------------------------------------------
>>>>
>>>>
>>>>>>Envoyé avec Yahoo! Mail
>>>>>>
>>>>>
> <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>.
> 
>>>>>>Une boite mail plus intelligente.
>>>>>
>>>>>_______________________________________________
>>>>>Insight-users mailing list
>>>>>Insight-users at itk.org
>>>>>http://www.itk.org/mailman/listinfo/insight-users
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
> _____________________________________________________________________________
> 
>>>>Envoyez avec Yahoo! Mail. Une boite mail plus intelligente
>>>>http://mail.yahoo.fr
>>>
>>>
>>>
> 
> 


More information about the Insight-users mailing list