#include <itkShapeDetectionLevelSetFilter.h>
Inheritance diagram for itk::ShapeDetectionLevelSetFilter:
Public Types | |
typedef ShapeDetectionLevelSetFilter | Self |
typedef LevelSetImageFilter< TLevelSet > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef LevelSetTypeDefault< TLevelSet > | LevelSetType |
typedef LevelSetType::LevelSetImageType | LevelSetImageType |
typedef LevelSetType::LevelSetPointer | LevelSetPointer |
typedef LevelSetType::PixelType | PixelType |
typedef LevelSetType::NodeType | NodeType |
typedef LevelSetType::NodeContainer | NodeContainer |
typedef LevelSetType::NodeContainerPointer | NodeContainerPointer |
typedef TEdgeImage | EdgeImageType |
typedef EdgeImageType::Pointer | EdgeImagePointer |
typedef EdgeImageType::ConstPointer | EdgeImageConstPointer |
Public Methods | |
virtual const char * | GetClassName () const |
NodeContainerPointer | GetOutputNarrowBand () |
void | SetEdgeImage (const EdgeImageType *ptr) |
const EdgeImageType * | GetEdgeImage (void) |
virtual void | SetLengthPenaltyStrength (double _arg) |
virtual double | GetLengthPenaltyStrength () |
virtual void | SetPropagateOutwards (bool _arg) |
virtual bool | GetPropagateOutwards () |
Static Public Methods | |
Pointer | New () |
Protected Methods | |
ShapeDetectionLevelSetFilter () | |
~ShapeDetectionLevelSetFilter () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | AllocateOutput () |
void | GenerateData () |
virtual void | GenerateDataFull () |
virtual void | GenerateDataNarrowBand () |
virtual void | GenerateInputRequestedRegion () |
void | SetOutputNarrowBand (NodeContainer *ptr) |
ShapeDetectionLevelSetFilter is a level set approach for boundary detection. An initial contour is propagated outwards until it sticks to the shape boundaries. This is done by using a speed function which is based on image edge features.
Propagation is done by the evolution of a higher-order level-set with the propagation front embedded as the zero level set.
This class requires two inputs: an initial level set and and edge potential image.
The initial level set is a floating point image which contains the initial front as the zero level set. For example, a signed function from the intial front is typically used.
A signed function image can be constructed using the ReinitializeLevel class where the input is a binary image with all the pixels on the inside of the front assigned a value of -0.5 and all pixels on the outside assigned a value of +0.5.
The edge potential image has values close to zero in regions of high image gradient and values close to one in regions with relatively constant intensity. For example, functions
are typically used, where is image intensity and is the derivative of Gaussian operator.
EdgePotentialImageFilter computes the potential map using the latter equation with the image gradient as the input.
The user can force the propagation to go inwards via method SetPropagateOutwards( false ).
This class is templated on the image type which represent the level set and the type of the edge potential image.
This class supports narrowbanding, where at each iteration only a narrow band surrounding the propagating front is updated.
Implementation of this class is based on: "Shape Modeling with Front Propagation: A Level Set Approach", R. Malladi, J. A. Sethian and B. C. Vermuri. IEEE Trans. on Pattern Analysis and Machine Intelligence, Vol 17, No. 2, pp 158-174, February 1995
Possible improvements:
Definition at line 92 of file itkShapeDetectionLevelSetFilter.h.
|
Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 100 of file itkShapeDetectionLevelSetFilter.h. |
|
Definition at line 122 of file itkShapeDetectionLevelSetFilter.h. |
|
EdgeImagePointer typedef support. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 121 of file itkShapeDetectionLevelSetFilter.h. |
|
Typedef support for the edge image type. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 118 of file itkShapeDetectionLevelSetFilter.h. |
|
Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 110 of file itkShapeDetectionLevelSetFilter.h. |
|
Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 111 of file itkShapeDetectionLevelSetFilter.h. |
|
Typedef support for level set related types. Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 109 of file itkShapeDetectionLevelSetFilter.h. |
|
Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 114 of file itkShapeDetectionLevelSetFilter.h. |
|
Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 115 of file itkShapeDetectionLevelSetFilter.h. |
|
Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 113 of file itkShapeDetectionLevelSetFilter.h. |
|
Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 112 of file itkShapeDetectionLevelSetFilter.h. |
|
Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 99 of file itkShapeDetectionLevelSetFilter.h. |
|
Standard class typedefs. Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 97 of file itkShapeDetectionLevelSetFilter.h. |
|
Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. Definition at line 98 of file itkShapeDetectionLevelSetFilter.h. |
|
|
|
Definition at line 154 of file itkShapeDetectionLevelSetFilter.h. References HardConnectedComponentImageFilter::GenerateData(). |
|
|
|
This method causes the filter to generate its output. Reimplemented from itk::ImageSource< TLevelSet >. |
|
Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. |
|
Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. |
|
Specify the required input region to satisfiy the output request. The default is to request for the largest possible region for any output. Subclasses should override this method if a different input size is desired.
Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. |
|
Run-time type information (and related methods). Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. |
|
Set/Get the edge image. |
|
Set/Get the length penalty strength. This parameter can be viewed as the weighting given to length of the front in an energy functional. The larger the value, the smoother the resulting front. This is the "epsilon" parameter in the Malladi et al paper. Typically, the value is application dependent (e.g. noise level, shape complexity, intensity range). Default value is 0.05 |
|
Get the output narrow band. Definition at line 149 of file itkShapeDetectionLevelSetFilter.h. |
|
Set/Get the propagation direction. If PropagateOutwards is true then the front propagated outwards in each iteration. If set to false the front is propagated inwards. By default, PropagateOutwards is set to true. |
|
Method for creation through the object factory. Reimplemented from itk::ImageToImageFilter< TLevelSet, TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. |
|
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes. Reimplemented from itk::LevelSetImageFilter< TLevelSet >. Reimplemented in itk::GeodesicActiveContourImageFilter< TLevelSet, TEdgeImage, TDerivImage >. |
|
Set/Get the edge image. |
|
Set/Get the length penalty strength. This parameter can be viewed as the weighting given to length of the front in an energy functional. The larger the value, the smoother the resulting front. This is the "epsilon" parameter in the Malladi et al paper. Typically, the value is application dependent (e.g. noise level, shape complexity, intensity range). Default value is 0.05 |
|
Definition at line 163 of file itkShapeDetectionLevelSetFilter.h. |
|
Set/Get the propagation direction. If PropagateOutwards is true then the front propagated outwards in each iteration. If set to false the front is propagated inwards. By default, PropagateOutwards is set to true. |