ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes
itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType > Class Template Reference

A base class which defines the API for implementing a level set segmentation filter with statistical shape influence. More...

#include <itkShapePriorSegmentationLevelSetImageFilter.h>

Inheritance diagram for itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >:
Collaboration diagram for itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef CostFunctionType::Pointer CostFunctionPointer
typedef
ShapePriorMAPCostFunctionBase
< TFeatureImage,
TOutputPixelType > 
CostFunctionType
typedef
Superclass::FeatureImageType 
FeatureImageType
typedef NodeContainerType::Pointer NodeContainerPointer
typedef
CostFunctionType::NodeContainerType 
NodeContainerType
typedef CostFunctionType::NodeType NodeType
typedef OptimizerType::Pointer OptimizerPointer
typedef
SingleValuedNonLinearOptimizer 
OptimizerType
typedef Superclass::OutputImageType OutputImageType
typedef TOutputPixelType OutputPixelType
typedef
CostFunctionType::ParametersType 
ParametersType
typedef SmartPointer< SelfPointer
typedef
ShapePriorSegmentationLevelSetImageFilter 
Self
typedef ShapeFunctionType::Pointer ShapeFunctionPointer
typedef
ShapePriorSegmentationFunctionType::ShapeFunctionType 
ShapeFunctionType
typedef
ShapePriorSegmentationLevelSetFunction
< OutputImageType,
FeatureImageType
ShapePriorSegmentationFunctionType
typedef
SegmentationLevelSetImageFilter
< TInputImage, TFeatureImage,
TOutputPixelType > 
Superclass
typedef Superclass::ValueType ValueType

Public Member Functions

virtual const char * GetNameOfClass () const
virtual ShapeFunctionTypeGetShapeFunction ()
ValueType GetShapePriorScaling () const
virtual
ShapePriorSegmentationFunctionType
GetShapePriorSegmentationFunction ()
virtual void SetShapeFunction (ShapeFunctionType *s)
virtual void SetShapePriorSegmentationFunction (ShapePriorSegmentationFunctionType *s)
virtual void SetCostFunction (CostFunctionType *_arg)
virtual CostFunctionTypeGetCostFunction ()
virtual void SetOptimizer (OptimizerType *_arg)
virtual OptimizerTypeGetOptimizer ()
virtual void SetInitialParameters (ParametersType _arg)
virtual ParametersType GetInitialParameters () const
void SetShapePriorScaling (ValueType v)

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Protected Member Functions

void ExtractActiveRegion (NodeContainerType *ptr)
void GenerateData ()
virtual void InitializeIteration ()
virtual void PrintSelf (std::ostream &os, Indent indent) const

Private Member Functions

void operator= (const Self &)
 ShapePriorSegmentationLevelSetImageFilter (const Self &)

Private Attributes

CostFunctionPointer m_CostFunction
ParametersType m_CurrentParameters
ParametersType m_InitialParameters
OptimizerPointer m_Optimizer
ShapeFunctionPointer m_ShapeFunction
ShapePriorSegmentationFunctionTypem_ShapePriorSegmentationFunction
virtual const ParametersTypeGetCurrentParameters ()
virtual ~ShapePriorSegmentationLevelSetImageFilter ()
 ShapePriorSegmentationLevelSetImageFilter ()

Detailed Description

template<class TInputImage, class TFeatureImage, class TOutputPixelType = float>
class itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >

A base class which defines the API for implementing a level set segmentation filter with statistical shape influence.

OVERVIEW
This class extends the functionality of SegmentationLevelSetImageFilter with an additional statistical shape influence term in the level set evolution as developed in [1].
TEMPLATE PARAMETERS
There are two required and one optional template parameter for these filters.

TInputImage is the image type of the initial model you will input to the filter using SetInput() or SetInitialImage().

TFeatureImage is the image type of the image from which the filter will calculate the speed term for segmentation (see INPUTS).

TOutputPixelType is the data type used for the output image phi, the implicit level set image. This should really only ever be set as float (default) or double.

PARAMETERS
From a level set evolution point of view, the shape is represented by a signed distance function from the shape encapsulated in a ShapeSignedDistanceFunction object.
See also:
ShapeSignedDistanceFunction
ShapePriorSegmentationLevelSetFunction
REFERENCES
[1] Leventon, M.E. et al. "Statistical Shape Influence in Geodesic Active Contours", CVPR 2000.

Definition at line 74 of file itkShapePriorSegmentationLevelSetImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef SmartPointer< const Self > itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::ConstPointer
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef CostFunctionType::Pointer itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::CostFunctionPointer
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef ShapePriorMAPCostFunctionBase< TFeatureImage, TOutputPixelType > itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::CostFunctionType

The type of the MAP estimate cost function.

Definition at line 111 of file itkShapePriorSegmentationLevelSetImageFilter.h.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef Superclass::FeatureImageType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::FeatureImageType
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef NodeContainerType::Pointer itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::NodeContainerPointer
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef CostFunctionType::NodeContainerType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::NodeContainerType
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef CostFunctionType::NodeType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::NodeType

Type of node used to represent the active region around the zero set.

Definition at line 116 of file itkShapePriorSegmentationLevelSetImageFilter.h.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef OptimizerType::Pointer itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::OptimizerPointer
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef SingleValuedNonLinearOptimizer itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::OptimizerType

The type of optimizer used to compute the MAP estimate of the shape and pose parameters.

Definition at line 122 of file itkShapePriorSegmentationLevelSetImageFilter.h.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef Superclass::OutputImageType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::OutputImageType
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef TOutputPixelType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::OutputPixelType
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef CostFunctionType::ParametersType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::ParametersType
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef SmartPointer< Self > itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::Pointer
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef ShapePriorSegmentationLevelSetImageFilter itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::Self
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef ShapeFunctionType::Pointer itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::ShapeFunctionPointer
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef ShapePriorSegmentationFunctionType::ShapeFunctionType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::ShapeFunctionType

The shape signed distance function type.

Definition at line 107 of file itkShapePriorSegmentationLevelSetImageFilter.h.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef ShapePriorSegmentationLevelSetFunction< OutputImageType, FeatureImageType > itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::ShapePriorSegmentationFunctionType

The level set function with shape prior type

Definition at line 104 of file itkShapePriorSegmentationLevelSetImageFilter.h.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType > itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::Superclass
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
typedef Superclass::ValueType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::ValueType

Constructor & Destructor Documentation

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::~ShapePriorSegmentationLevelSetImageFilter ( ) [inline, protected, virtual]

Get the current parameters.

Definition at line 174 of file itkShapePriorSegmentationLevelSetImageFilter.h.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::ShapePriorSegmentationLevelSetImageFilter ( ) [protected]

Get the current parameters.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::ShapePriorSegmentationLevelSetImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
void itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::ExtractActiveRegion ( NodeContainerType ptr) [protected]

Extract node of active region into a NodeContainer

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
void itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::GenerateData ( ) [protected, virtual]

Overridden from ProcessObject to set certain values before starting the finite difference solver and then create an appropriate output

Reimplemented from itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >.

Reimplemented in itk::GeodesicActiveContourShapePriorLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual CostFunctionType* itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::GetCostFunction ( ) [virtual]

Set/Get the shape prior MAP cost function.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual const ParametersType& itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::GetCurrentParameters ( ) [virtual]

Get the current parameters.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual ParametersType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::GetInitialParameters ( ) const [virtual]

Set/Get the initial parameters. These are the initial parameters applied to the ShapeFunction. The user should refer to the documentation of the particular type of ShapeSignedDistanceFunction used to determine the meaning of the parameters.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual const char* itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::GetNameOfClass ( ) const [virtual]
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual OptimizerType* itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::GetOptimizer ( ) [virtual]

Set/Get the optimizer.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual ShapeFunctionType* itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::GetShapeFunction ( ) [virtual]
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
ValueType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::GetShapePriorScaling ( ) const [inline]
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual ShapePriorSegmentationFunctionType* itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::GetShapePriorSegmentationFunction ( ) [inline, virtual]
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual void itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::InitializeIteration ( ) [protected, virtual]

Overrides parent implementation. MAP estimates of the shape and pose parameters is computed in this method.

Reimplemented from itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
void itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::operator= ( const Self ) [private]

Flag to indicate whether Speed and Advection images are automatically generated when running the filter. Otherwise, a pointer to images must be explicitly set or GenerateSpeedImage() and/or GenerateAdvectionImage() called directly before updating the filter

Reimplemented from itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >.

Reimplemented in itk::GeodesicActiveContourShapePriorLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual void itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual void itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetCostFunction ( CostFunctionType _arg) [virtual]

Set/Get the shape prior MAP cost function.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual void itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetInitialParameters ( ParametersType  _arg) [virtual]

Set/Get the initial parameters. These are the initial parameters applied to the ShapeFunction. The user should refer to the documentation of the particular type of ShapeSignedDistanceFunction used to determine the meaning of the parameters.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual void itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetOptimizer ( OptimizerType _arg) [virtual]

Set/Get the optimizer.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual void itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetShapeFunction ( ShapeFunctionType s) [virtual]

Set/Get the shape signed distance function.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
void itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetShapePriorScaling ( ValueType  v) [inline]

Set/Get the scaling of the shape prior term.

Definition at line 149 of file itkShapePriorSegmentationLevelSetImageFilter.h.

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
virtual void itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetShapePriorSegmentationFunction ( ShapePriorSegmentationFunctionType s) [virtual]

Set the shape prior segmentation function. In general, this should only be called by a subclass of this object. It is made public to allow itk::Command objects access.


Member Data Documentation

template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
const unsigned int itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::ImageDimension = TInputImage::ImageDimension [static]
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
CostFunctionPointer itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::m_CostFunction [private]
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
ParametersType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::m_CurrentParameters [private]
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
ParametersType itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::m_InitialParameters [private]
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
OptimizerPointer itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::m_Optimizer [private]
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
ShapeFunctionPointer itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::m_ShapeFunction [private]
template<class TInputImage , class TFeatureImage , class TOutputPixelType = float>
ShapePriorSegmentationFunctionType* itk::ShapePriorSegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::m_ShapePriorSegmentationFunction [private]

The documentation for this class was generated from the following file: