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

Dense implementation of the Chan and Vese multiphase level set image filter. More...

#include <itkScalarChanAndVeseDenseLevelSetImageFilter.h>

Inheritance diagram for itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >:
Collaboration diagram for itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef FeatureImageType::Pointer FeatureImagePointer
typedef TFeatureImage FeatureImageType
typedef FeatureImageType::IndexType FeatureIndexType
typedef
FeatureIndexType::IndexValueType 
FeatureIndexValueType
typedef FeatureImageType::PixelType FeaturePixelType
typedef
FeatureImageType::RegionType 
FeatureRegionType
typedef
Superclass::FiniteDifferenceFunctionType 
FiniteDifferenceFunctionType
typedef FunctionType::Pointer FunctionPointer
typedef TFunction FunctionType
typedef OutputImageType::IndexType IndexType
typedef
Superclass::InputImagePointer 
InputImagePointer
typedef Superclass::InputImageType InputImageType
typedef Superclass::InputPointType InputPointType
typedef InputImageType::SpacingType InputSpacingType
typedef TOutputImage OutputImageType
typedef OutputImageType::PixelType OutputPixelType
typedef SmartPointer< SelfPointer
typedef ROIFilterType::Pointer ROIFilterPointer
typedef
RegionOfInterestImageFilter
< FeatureImageType,
FeatureImageType
ROIFilterType
typedef
ScalarChanAndVeseDenseLevelSetImageFilter 
Self
typedef SharedDataType::Pointer SharedDataPointer
typedef TSharedData SharedDataType
typedef
MultiphaseDenseFiniteDifferenceImageFilter
< TInputImage, TFeatureImage,
TOutputImage, TFunction > 
Superclass
typedef Superclass::TimeStepType TimeStepType
typedef Superclass::ValueType ValueType

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
virtual void SetFeatureImage (const FeatureImagePointer f)
 typedef (Concept::HasNumericTraits< OutputPixelType >) OutputHasNumericTraitsCheck

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Protected Member Functions

virtual void Initialize ()
virtual void InitializeIteration ()
 ScalarChanAndVeseDenseLevelSetImageFilter ()
 ~ScalarChanAndVeseDenseLevelSetImageFilter ()

Protected Attributes

SharedDataPointer m_SharedData

Private Member Functions

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

Detailed Description

template<class TInputImage, class TFeatureImage, class TOutputImage, class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
class itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >

Dense implementation of the Chan and Vese multiphase level set image filter.

This code was adapted from the paper:

"An active contour model without edges" T. Chan and L. Vese. In Scale-Space Theories in Computer Vision, pages 141-151, 1999.

Author:
Mosaliganti K., Smith B., Gelas A., Gouaillard A., Megason S.

This code was taken from the Insight Journal paper:

"Cell Tracking using Coupled Active Surfaces for Nuclei and Membranes" http://www.insight-journal.org/browse/publication/642 http://hdl.handle.net/10380/3055

That is based on the papers:

"Level Set Segmentation: Active Contours without edge" http://www.insight-journal.org/browse/publication/322 http://hdl.handle.net/1926/1532

and

"Level set segmentation using coupled active surfaces" http://www.insight-journal.org/browse/publication/323 http://hdl.handle.net/1926/1533

Wiki Examples:

Definition at line 65 of file itkScalarChanAndVeseDenseLevelSetImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef SmartPointer< const Self > itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::ConstPointer
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef FeatureImageType::Pointer itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::FeatureImagePointer
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef TFeatureImage itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::FeatureImageType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef FeatureImageType::IndexType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::FeatureIndexType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef FeatureIndexType::IndexValueType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::FeatureIndexValueType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef FeatureImageType::PixelType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::FeaturePixelType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef FeatureImageType::RegionType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::FeatureRegionType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef Superclass::FiniteDifferenceFunctionType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::FiniteDifferenceFunctionType

The value type of the time step. This is distinct from PixelType because PixelType may often be a vector value, while the TimeStep is a scalar value.

Reimplemented from itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction >.

Definition at line 108 of file itkScalarChanAndVeseDenseLevelSetImageFilter.h.

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef FunctionType::Pointer itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::FunctionPointer
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef TFunction itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::FunctionType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef OutputImageType::IndexType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::IndexType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef Superclass::InputImagePointer itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::InputImagePointer
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef Superclass::InputImageType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::InputImageType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef Superclass::InputPointType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::InputPointType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef InputImageType::SpacingType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::InputSpacingType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef TOutputImage itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::OutputImageType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef OutputImageType::PixelType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::OutputPixelType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef SmartPointer< Self > itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::Pointer
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef ROIFilterType::Pointer itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::ROIFilterPointer
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef RegionOfInterestImageFilter< FeatureImageType, FeatureImageType > itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::ROIFilterType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef ScalarChanAndVeseDenseLevelSetImageFilter itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::Self
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef SharedDataType::Pointer itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::SharedDataPointer
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef TSharedData itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::SharedDataType
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction > itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::Superclass
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef Superclass::TimeStepType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::TimeStepType

The value type of a time step. Inherited from the superclass.

Reimplemented from itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction >.

Definition at line 106 of file itkScalarChanAndVeseDenseLevelSetImageFilter.h.

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
typedef Superclass::ValueType itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::ValueType

Constructor & Destructor Documentation

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::ScalarChanAndVeseDenseLevelSetImageFilter ( ) [inline, protected]
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::~ScalarChanAndVeseDenseLevelSetImageFilter ( ) [inline, protected]
template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::ScalarChanAndVeseDenseLevelSetImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
virtual::itk::LightObject::Pointer itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
virtual const char* itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction >.

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
virtual void itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::Initialize ( void  ) [protected, virtual]

This method is optionally defined by a subclass and is called before the loop of iterations of calculate_change & upate. It does the global initialization, i.e. in the SparseFieldLevelSetImageFilter, initialize the list of layers.

Reimplemented from itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >.

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
virtual void itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::InitializeIteration ( ) [protected, virtual]

This method is optionally defined by a subclass and is called immediately prior to each iterative CalculateChange-ApplyUpdate cycle. It can be used to set global variables needed for the next iteration (ie. average gradient magnitude of the image in anisotropic diffusion functions), or otherwise prepare for the next iteration.

Reimplemented from itk::MultiphaseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, unsigned int >.

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
static Pointer itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
void itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::operator= ( const Self ) [private]

This method is called after the solution has been generated to allow subclasses to apply some further processing to the output.

Reimplemented from itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction >.

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
virtual void itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::SetFeatureImage ( const FeatureImagePointer  f) [inline, virtual]

End concept checking Set/Get the feature image to be used for speed function of the level set equation. Equivalent to calling Set/GetInput(1, ..)

Definition at line 129 of file itkScalarChanAndVeseDenseLevelSetImageFilter.h.

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::typedef ( Concept::HasNumericTraits< OutputPixelType )

Begin concept checking This class requires OutputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< OutputPixelType > )


Member Data Documentation

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
const unsigned int itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::ImageDimension = TInputImage::ImageDimension [static]

Dimensionality of input and output data is assumed to be the same. It is inherited from the superclass.

Reimplemented from itk::MultiphaseDenseFiniteDifferenceImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction >.

Definition at line 85 of file itkScalarChanAndVeseDenseLevelSetImageFilter.h.

template<class TInputImage , class TFeatureImage , class TOutputImage , class TFunction = ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage >, class TSharedData = typename TFunction::SharedDataType>
SharedDataPointer itk::ScalarChanAndVeseDenseLevelSetImageFilter< TInputImage, TFeatureImage, TOutputImage, TFunction, TSharedData >::m_SharedData [protected]

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