[Insight-users] Re: the sigmoid image is entirely white for GeodesicActiveContourLevelSet

Luis Ibanez luis.ibanez at kitware.com
Tue Mar 27 16:48:47 EST 2007


Hi Goo,


That sounds strange...

Are you saving your images as DICOM images ?

As a viewer you may want to try using Slicer,
that you can download for free at:

     www.slicer.org

or ParaView, that you can download for free at:

     www.paraview.org


You can also build the ImageViewer application
that is available with InsightApplications:


    InsightApplications/ImageViewer

for this last one you will need FLTK 1.1.6.


   Regards,


      Luis



============
Goo wrote:
> I am using EZDicom to visualize my result.
> and discovering the value of intensity is full -32768.
> it seems like overflow.
> 
> 
> 
>     2007/3/27, Luis Ibanez < luis.ibanez at kitware.com
>     <mailto:luis.ibanez at kitware.com>>:
> 
> 
>         Hi Goo:
> 
> 
>         A couple of comments:
> 
> 
>         1) What are you using for visualizing the images ?
> 
>             e.g. what is the viewer that leads you to conclude
>             that your float images are "full white". ?
> 
> 
> 
>         2) If you get to a case where the Gradient Magnitude
>             looks fine, and the Sigmoid looks "full white", then
>             you need to *REDUCE* the value of the Beta parameter
>             in the Sigmoid filter.
> 
>             In order to find an appropriate value for Beta, you
>             should study the values of the Gradient Magnitude image
>             on the edges of the structures that you intend to segment.
> 
> 
> 
>             Please read the ITK Software Guide:
> 
>                  http://www.itk.org/ItkSoftwareGuide.pdf
> 
>             advice on how to set up the Alpha and Beta parameters
>             in the context of the LevelSets framework is given in
>             sections:
> 
> 
>              9.3.1 "Fast Marching Segmentation" in pdf-page 565.
>                    Please read attentively pdf-page 569 and the
>                    discussion about K1 and K2 values.
> 
>             and, of course, please read section:
> 
>             6.3.2.  "Non linear mappings", in pdf-page 181-183.
> 
> 
> 
> 
>         Regards,
> 
> 
>             Luis
> 
> 
> 
>         -------------
>         Goo wrote:
>>  notice something:
>>
>>  (1)
>>  if the ExternalImageType used as float, the image of result
>         will be white
>>  entirely in every step (smooth,gradient and sigmoid).
>>
>>  (2)
>>  And if both ExternalImageType and InternalImageType are signed
>         short,
>>
>>  the image of smooth and gradient are fine but sigmoid image is
>         whole white.
>>
>>  (3) Unfortunately , the format for level set must be float.
>>  How do I solve this problem???
>>
>>
>>  2007/3/27, Goo < gtshowtime at gmail.com
>         <mailto:gtshowtime at gmail.com> <mailto:gtshowtime at gmail.com
>         <mailto:gtshowtime at gmail.com>>>:
>>
>>     Hi All:
>>
>>     This question is so confused to me.
>>     The output of sigmoid image is shown white entirely but
>         gradient
>>     image fine.
>>
>>     The following are my programs:
>>     if the ExternalImageType used as float, the image of result
>         will be
>>     white entirely in smooth,gradient and sigmoid.
>>
>>     Please give me some guidance.
>>     Regards.
>>
>>    
>         //----------------------------------CODE-------------------------------------------
>>
>>         typedef itk::Image< signed short, 3 >  InternalImageType;
>>         typedef itk::Image< signed short, 3 >  ExternalImageType;
>>
>>         typedef itk::RescaleIntensityImageFilter<ExternalImageType,
>>     InternalImageType> InputCastType;
>>         typedef
>         itk::RescaleIntensityImageFilter<InternalImageType,
>>     ExternalImageType> OutputCastType;
>>
>>         OutputCastType::Pointer            m_SmoothObserver;
>>         OutputCastType::Pointer            m_GradientObserver;
>>         OutputCastType::Pointer            m_SigmoidObserver;
>>
>>             typedef itk::ResampleImageFilter<
>>                                 InternalImageType ,
>         InternalImageType >
>>     FilterType;
>>             FilterType::Pointer SubSample = FilterType::New();
>>
>>             typedef itk::AffineTransform< double, 3
>          >  TransformType;
>>             TransformType::Pointer transform =
>         TransformType::New();
>>
>>             typedef itk::NearestNeighborInterpolateImageFunction<
>>                                InternalImageType, double >
>>     InterpolatorType;
>>             InterpolatorType::Pointer interpolator =
>>     InterpolatorType::New();
>>
>>             SubSample->SetInterpolator( interpolator );
>>             SubSample->SetDefaultPixelValue( 50 );
>>
>>             double spacing[ 3 ];
>>             spacing[0] = InputCaster->GetOutput()->GetSpacing()[0];
>>             spacing[1] =
>         InputCaster->GetOutput()->GetSpacing()[1];
>>             spacing[2] = InputCaster->GetOutput()->GetSpacing()[2];
>>             SubSample->SetOutputSpacing( spacing );
>>
>>             double origin [3];
>>             origin[0] = 80*spacing[0];
>>             origin[1] = 80*spacing[1];
>>             origin[2] = 15*spacing[2];
>>             SubSample->SetOutputOrigin(origin);
>>
>>             InternalImageType::SizeType   size;
>>
>>             size[0] = 100;
>>             size[1] = 100;
>>             size[2] = 5;
>>
>>             SubSample->SetSize( size );
>>             SubSample->SetInput( InputCaster->GetOutput() );
>>             SubSample->SetTransform( transform );
>>             transform->SetIdentity();
>>
>>             SubSample->Update();
>>
>>
>>             typedef itk::CurvatureAnisotropicDiffusionImageFilter
>>                         < InternalImageType,InternalImageType >
>>     SmoothingFilterType;
>>
>>             typedef
>         itk::GradientMagnitudeRecursiveGaussianImageFilter
>>                         < InternalImageType,InternalImageType >
>>     GradientFilterType;
>>
>>             typedef itk::SigmoidImageFilter
>>                         < InternalImageType,InternalImageType >
>>     SigmoidFilterType;
>>
>>             SmoothingFilterType::Pointer    m_smoothing =
>>     SmoothingFilterType::New();
>>            
>         GradientFilterType::Pointer        m_gradientMagnitude =
>>     GradientFilterType::New();
>>             SigmoidFilterType::Pointer        m_sigmoid =
>>     SigmoidFilterType::New();
>>
>>             m_smoothing->SetNumberOfIterations(  m_SmoothIter );
>>             m_smoothing->SetConductanceParameter(
>         m_SmoothConductance );
>>             m_smoothing->SetTimeStep( m_TimeStep );
>>
>>             m_gradientMagnitude->SetSigma(  m_sigma  );
>>
>>             m_sigmoid->SetOutputMinimum(  m_SigmoidOutMin  );
>>             m_sigmoid->SetOutputMaximum(  m_SigmoidOutMax  );
>>             m_sigmoid->SetAlpha( m_alpha );
>>             m_sigmoid->SetBeta(  m_beta  );
>>
>>             m_smoothing->SetInput(     SubSample->GetOutput() );
>>             m_gradientMagnitude->SetInput(
>         m_smoothing->GetOutput() );
>>             m_sigmoid->SetInput(
>         m_gradientMagnitude->GetOutput() );
>>
>>             m_SmoothObserver->SetInput(m_smoothing->GetOutput());
>>            
>         m_GradientObserver->SetInput(m_gradientMagnitude->GetOutput());
>>             m_SigmoidObserver->SetInput(m_sigmoid->GetOutput());
>>
>>             m_SmoothObserver->Update();
>>             m_GradientObserver->Update();
>>             m_SigmoidObserver->Update();
>>
>>
>>
>>
>         ------------------------------------------------------------------------
>>
>>  _______________________________________________
>>  Insight-users mailing list
>>  Insight-users at itk.org <mailto:Insight-users at itk.org>
>>  http://www.itk.org/mailman/listinfo/insight-users
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users


More information about the Insight-users mailing list