#include <itkCannySegmentationLevelSetImageFilter.h>
Inheritance diagram for itk::CannySegmentationLevelSetImageFilter:
Public Types | |
typedef CannySegmentationLevelSetImageFilter | Self |
typedef SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::ValueType | ValueType |
typedef Superclass::OutputImageType | OutputImageType |
typedef Superclass::FeatureImageType | FeatureImageType |
typedef Superclass::VectorImageType | VectorImageType |
typedef ::itk::CannySegmentationLevelSetFunction< OutputImageType, FeatureImageType > | CannyFunctionType |
typedef CannyFunctionType::ScalarValueType | ScalarValueType |
Public Methods | |
virtual const char * | GetClassName () const |
void | SetThreshold (ScalarValueType v) |
ScalarValueType | GetThreshold () const |
void | SetVariance (double v) |
double | GetVariance () const |
Static Public Methods | |
Pointer | New () |
Protected Methods | |
~CannySegmentationLevelSetImageFilter () | |
CannySegmentationLevelSetImageFilter () |
The CannySegmentationLevelSetImageFilter can be a tool for refining an existing segmentation, or it can be used to try to segment a region by itself. Like all other level-set based segmentation filters (see SegmentationLevelSetImageFilter), it works by first constructing a scalar speed term and a vector advection field based on edge features in the image. The level set front is then moved according to these two terms with the addition of a third curvature term to contol the smoothness of the solution.
The speed term is constructed as the Danielsson distance transform of the Canny edge image, as calculated by the CannyEdgeDetectionImageFilter. This scalar speed can be tuned in and out of the final evolution equation by setting the PropagationScaling parameter (a value of 0 removes the speed term).
The advection field term is constructed by minimizing Danielsson distance squared. i.e. . This term moves the level set down the gradient of the distance transform.
In practice, you may set the speed (propagation) term to zero if your initialization is already close to the edge you are interested in. If you are trying to segment a region by seeding with a small surface (blob, sphere) then you will likely want to add speed (propagation) to the equation so that the levelsets can expand along zero gradients. The relative influence of these two terms are controlled by the SetPropagationScaling and SetAdvectionScaling parameters.
The second input is the feature image. This is the image from which the speed function will be calculated. For most applications, this is the image that you want to segment. The desired isosurface in your seed image should lie within the region of your feature image that you are trying to segment.
See SegmentationLevelSetImageFilter for more information on Inputs.
See SparseFieldLevelSetImageFilter and SegmentationLevelSetImageFilter for more information.
(1) Threshold. Sets the thresholding value of the Canny edge detection. See CannyEdgeDetectionImageFilter for more information.
(2) Variance. Controls the smoothing paramter of the gaussian filtering done during Canny edge detection.
(3) CurvatureScaling. Controls the degree to which curvature influences the evolution of the level set. Higher values relative to Propagation and Advection scalings will yield a smoother surface.
(4) PropagationScaling. Scales the propagation (speed) term of the level set equation. Set this term to zero to allow the level set to flow _only_ down the gradient of the distance transform.
(5) AdvectionScaling. Scales influence of the advection field relative to curvature and propagation terms.
Definition at line 129 of file itkCannySegmentationLevelSetImageFilter.h.
|
Type of the segmentation function Definition at line 150 of file itkCannySegmentationLevelSetImageFilter.h. |
|
|
|
|
|
Definition at line 152 of file itkCannySegmentationLevelSetImageFilter.h. |
|
Standard class typedefs Reimplemented from itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >. Definition at line 135 of file itkCannySegmentationLevelSetImageFilter.h. |
|
|
Inherited typedef from the superclass. Reimplemented from itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >. Definition at line 143 of file itkCannySegmentationLevelSetImageFilter.h. |
|
|
Definition at line 177 of file itkCannySegmentationLevelSetImageFilter.h. |
|
|
|
Run-time type information (and related methods). Reimplemented from itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >. |
|
Set the Threshold parameter of the CannyEdgeDetectionImageFilter used by the underlying level set function. Definition at line 164 of file itkCannySegmentationLevelSetImageFilter.h. |
|
Set the Variance parameter of the CannyEdgeDetectionImageFilter used by the underlying level set function. Definition at line 172 of file itkCannySegmentationLevelSetImageFilter.h. |
|
Method for creation through the object factory |
|
Set the Threshold parameter of the CannyEdgeDetectionImageFilter used by the underlying level set function. Definition at line 162 of file itkCannySegmentationLevelSetImageFilter.h. |
|
Set the Variance parameter of the CannyEdgeDetectionImageFilter used by the underlying level set function. Definition at line 170 of file itkCannySegmentationLevelSetImageFilter.h. |