[Insight-users] Advection in ThresholdLevelSetImageFilter

Luis Ibanez luis.ibanez at kitware.com
Mon Sep 22 12:30:13 EDT 2008


Hi Dario,

Yes, the EdgeWeight plays in the ThresholdSegmentationLevelSet
a simlar role to the AdvectionWeight in the GeodesicActiveContour.

When you set the EdgeWeight to non-zero, the filter computes a
Laplacian and uses it to drive the zero set closer to the
zero-crossings of the Laplacian.


The SmoothingConductance is used as a parameter for the Gradient
Anisotropic diffusion filter that is used inside of the Threshold
SegmentationLevelSetFunction, to smooth the image before computing
the Laplacian on it. Otherwise, the Laplacian will find a large
number of zero-crossings in all the small details (high spatial
frequency) of the image.


BTW: You can review all this by simply looking at the source code
of the file:


    Insight/Code/Algorithms/
       itkThresholdSegmentationLevelSetFunction.txx


in particular by looking at


lines 43-57:
=============

   if (m_EdgeWeight != 0.0)
     {
     diffusion->SetInput(this->GetFeatureImage());
     diffusion->SetConductanceParameter(m_SmoothingConductance);
     diffusion->SetTimeStep(m_SmoothingTimeStep);
     diffusion->SetNumberOfIterations(m_SmoothingIterations);

     laplacian->SetInput(diffusion->GetOutput());
     laplacian->Update();

     lit = ImageRegionIterator<FeatureImageType>(laplacian->GetOutput(),

     this->GetFeatureImage()->GetRequestedRegion());
     lit.GoToBegin();
     }


and lines 77-85:
================


     if ( m_EdgeWeight != 0.0)
       {
       sit.Set( static_cast<ScalarValueType>(threshold + m_EdgeWeight * 
lit.Get()) );
       ++lit;
       }
     else
       {
       sit.Set( static_cast<ScalarValueType>(threshold) );
       }


----------------


    "Glimpsing at the Source leaves no Doubt"



    Regards,


        Luis


-----------------------
Dário Oliveira wrote:
> Dear all,
> 
> I guess I miss something here. Why the advection scaling term is not
> applied in ThresholdLevelSetImageFilter? I performed some tests, and
> the value of advection scaling term makes no difference at all in the
> final result. Does the EdgeWeight term play the role of advection
> scaling?
> 
> Another question... What does the smoothing conductance term?
> 
> Thanks for your attention!


More information about the Insight-users mailing list