Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData > Class Template Reference

#include <itkScalarChanAndVeseLevelSetFunction.h>

Inheritance diagram for itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >:

Inheritance graph
[legend]
Collaboration diagram for itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >:

Collaboration graph
[legend]

List of all members.


Detailed Description

template<class TInputImage, class TFeatureImage, class TSharedData>
class itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >

LevelSet function that computes a speed image based on regional integrals of probabilities.

This class implements a level set function that computes the speed image by integrating values on the image domain.

Based on 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

Definition at line 63 of file itkScalarChanAndVeseLevelSetFunction.h.


Public Types

typedef
Superclass::ConstFeatureIteratorType 
ConstFeatureIteratorType
typedef
Superclass::ConstImageIteratorType 
ConstImageIteratorType
typedef SmartPointer< const SelfConstPointer
typedef
ZeroFluxNeumannBoundaryCondition
< ImageType
DefaultBoundaryConditionType
typedef
FeatureImageType::ConstPointer 
FeatureImageConstPointer
typedef
Superclass::FeatureImageIteratorType 
FeatureImageIteratorType
typedef TFeatureImage FeatureImageType
typedef
Superclass::FeatureIndexType 
FeatureIndexType
typedef
Superclass::FeatureOffsetType 
FeatureOffsetType
typedef
Superclass::FeaturePixelType 
FeaturePixelType
typedef Superclass::FloatOffsetType FloatOffsetType
typedef
Superclass::GlobalDataStruct 
GlobalDataStruct
typedef
HeavisideFunctionType::ConstPointer 
HeavisideFunctionConstPointer
typedef
HeavisideStepFunctionBase
< InputPixelType,
InputPixelType
HeavisideFunctionType
typedef
Superclass::ImageIteratorType 
ImageIteratorType
typedef Superclass::ImageType ImageType
typedef
Superclass::InputImageConstPointer 
InputImageConstPointer
typedef
Superclass::InputImagePointer 
InputImagePointer
typedef TInputImage InputImageType
typedef Superclass::InputIndexType InputIndexType
typedef
Superclass::InputIndexValueType 
InputIndexValueType
typedef Superclass::InputPixelType InputPixelType
typedef Superclass::InputPointType InputPointType
typedef Superclass::InputRegionType InputRegionType
typedef Superclass::InputSizeType InputSizeType
typedef
Superclass::InputSizeValueType 
InputSizeValueType
typedef Superclass::ListImageType ListImageType
typedef
Superclass::ListPixelConstIterator 
ListPixelConstIterator
typedef
Superclass::ListPixelIterator 
ListPixelIterator
typedef Superclass::ListPixelType ListPixelType
typedef
Superclass::NeighborhoodScalesType 
NeighborhoodScalesType
typedef
Superclass::NeighborhoodType 
NeighborhoodType
typedef double PixelRealType
typedef Superclass::PixelType PixelType
typedef SmartPointer< SelfPointer
typedef Superclass::RadiusType RadiusType
typedef Superclass::ScalarValueType ScalarValueType
typedef
ScalarChanAndVeseLevelSetFunction 
Self
typedef
Superclass::SharedDataPointer 
SharedDataPointer
typedef Superclass::SharedDataType SharedDataType
typedef
ScalarRegionBasedLevelSetFunction
< TInputImage, TFeatureImage,
TSharedData > 
Superclass
typedef Superclass::TimeStepType TimeStepType
typedef Superclass::VectorType VectorType

Public Member Functions

virtual ScalarValueType ComputeCurvatureTerm (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd)
TimeStepType ComputeGlobalTimeStep (void *GlobalData) const
const NeighborhoodScalesType ComputeNeighborhoodScales () const
PixelType ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &=FloatOffsetType(0.0))
virtual Pointer CreateAnother () const
virtual ScalarValueType CurvatureSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
virtual void Delete ()
virtual const FeatureImageTypeGetFeatureImage () const
void * GetGlobalDataPointer () const
virtual const char * GetNameOfClass () const
const RadiusTypeGetRadius () const
virtual int GetReferenceCount () const
virtual void Initialize (const RadiusType &r)
virtual void InitializeIteration ()
 itkStaticConstMacro (ImageDimension, unsigned int, ImageType::ImageDimension)
 itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension)
 itkStaticConstMacro (ImageDimension, unsigned int, TFeatureImage::ImageDimension)
virtual ScalarValueType LaplacianSmoothingSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
void Print (std::ostream &os, Indent indent=0) const
virtual void Register () const
virtual void ReleaseGlobalDataPointer (void *GlobalData) const
void SetDomainFunction (const HeavisideFunctionType *f)
virtual void SetFeatureImage (const FeatureImageType *f)
void SetFunctionId (const unsigned int &iFid)
void SetInitialImage (InputImageType *f)
void SetRadius (const RadiusType &r)
virtual void SetReferenceCount (int)
void SetSharedData (SharedDataPointer sharedDataIn)
virtual void UnRegister () const
void UpdatePixel (const unsigned int &idx, NeighborhoodIterator< TInputImage > &iterator, InputPixelType &newValue, bool &status)
void UpdateSharedData (bool forceUpdate)
ScalarValueType GetAreaWeight () const
void SetAreaWeight (const ScalarValueType &nu)
ScalarValueType GetCurvatureWeight () const
virtual void SetCurvatureWeight (const ScalarValueType c)
ScalarValueType GetLambda1 () const
void SetLambda1 (const ScalarValueType &lambda1)
ScalarValueType GetLambda2 () const
void SetLambda2 (const ScalarValueType &lambda2)
ScalarValueType GetLaplacianSmoothingWeight () const
void SetLaplacianSmoothingWeight (const ScalarValueType c)
ScalarValueType GetOverlapPenaltyWeight () const
void SetOverlapPenaltyWeight (const ScalarValueType &gamma)
ScalarValueType GetVolume () const
void SetVolume (const ScalarValueType &volume)
ScalarValueType GetVolumeMatchingWeight () const
void SetVolumeMatchingWeight (const ScalarValueType &tau)
void SetScaleCoefficients (PixelRealType vals[ImageDimension])

Static Public Member Functions

static void BreakOnError ()
static Pointer New ()

Protected Types

typedef int InternalReferenceCountType

Protected Member Functions

virtual ScalarValueType ComputeExternalTerm (const FeaturePixelType &iValue, const FeatureIndexType &iIdx)=0
ScalarValueType ComputeExternalTerm (const FeaturePixelType &iValue, const FeatureIndexType &iIdx)
ScalarValueType ComputeGlobalTerm (const ScalarValueType &imagePixel, const InputIndexType &inputIndex)
void ComputeHessian (const NeighborhoodType &it, GlobalDataStruct *globalData)
void ComputeHImage ()
virtual ScalarValueType ComputeInternalTerm (const FeaturePixelType &iValue, const FeatureIndexType &iIdx)=0
ScalarValueType ComputeInternalTerm (const FeaturePixelType &iValue, const FeatureIndexType &iIdx)
ScalarValueType ComputeLaplacian (GlobalDataStruct *gd)
ScalarValueType ComputeLaplacianTerm (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd)
virtual ScalarValueType ComputeOverlapParameters (const FeatureIndexType &featIndex, ScalarValueType &pr)=0
ScalarValueType ComputeOverlapParameters (const FeatureIndexType &featIndex, ScalarValueType &product)
void ComputeParameters ()
ScalarValueType ComputeVolumeRegularizationTerm ()
void PrintSelf (std::ostream &os, Indent indent) const
 ScalarChanAndVeseLevelSetFunction ()
void UpdateSharedDataInsideParameters (const unsigned int &iId, const bool &iBool, const FeaturePixelType &, const ScalarValueType &)
void UpdateSharedDataOutsideParameters (const unsigned int &iId, const bool &iBool, const FeaturePixelType &, const ScalarValueType &)
void UpdateSharedDataParameters ()
 ~ScalarChanAndVeseLevelSetFunction ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const

Protected Attributes

ScalarValueType m_AreaWeight
::vcl_size_t m_Center
ScalarValueType m_CurvatureWeight
HeavisideFunctionConstPointer m_DomainFunction
FeatureImageConstPointer m_FeatureImage
unsigned int m_FunctionId
InputImageConstPointer m_InitialImage
ScalarValueType m_Lambda1
ScalarValueType m_Lambda2
ScalarValueType m_LaplacianSmoothingWeight
ScalarValueType m_OverlapPenaltyWeight
RadiusType m_Radius
InternalReferenceCountType m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock
PixelRealType m_ScaleCoefficients [ImageDimension]
SharedDataPointer m_SharedData
ScalarValueType m_Volume
ScalarValueType m_VolumeMatchingWeight
::vcl_size_t m_xStride [itkGetStaticConstMacro(ImageDimension)]
std::slice x_slice [itkGetStaticConstMacro(ImageDimension)]

Static Protected Attributes

static double m_DT
static double m_WaveDT

Member Typedef Documentation

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::ConstFeatureIteratorType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ConstFeatureIteratorType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::ConstImageIteratorType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ConstImageIteratorType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef SmartPointer<const Self> itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ConstPointer

The default boundary condition for finite difference functions that is used unless overridden in the Evaluate() method.

Definition at line 92 of file itkFiniteDifferenceFunction.h.

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef FeatureImageType::ConstPointer itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureImageConstPointer

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::FeatureImageIteratorType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureImageIteratorType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef TFeatureImage itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureImageType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::FeatureIndexType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureIndexType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::FeatureOffsetType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureOffsetType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::FeaturePixelType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeaturePixelType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::FloatOffsetType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FloatOffsetType

A floating point offset from an image grid location. Used for interpolation among grid values in a neighborhood.

Reimplemented from itk::ScalarRegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >.

Definition at line 100 of file itkScalarChanAndVeseLevelSetFunction.h.

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::GlobalDataStruct itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::GlobalDataStruct

typedef HeavisideFunctionType::ConstPointer itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::HeavisideFunctionConstPointer [inherited]

Definition at line 147 of file itkRegionBasedLevelSetFunction.h.

typedef HeavisideStepFunctionBase< InputPixelType, InputPixelType > itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::HeavisideFunctionType [inherited]

Definition at line 146 of file itkRegionBasedLevelSetFunction.h.

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::ImageIteratorType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ImageIteratorType

typedef Superclass::ImageType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ImageType [inherited]

Extract some parameters from the image type

Reimplemented from itk::FiniteDifferenceFunction< TInputImage >.

Definition at line 84 of file itkRegionBasedLevelSetFunction.h.

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::InputImageConstPointer itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputImageConstPointer

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::InputImagePointer itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputImagePointer

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef TInputImage itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputImageType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::InputIndexType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputIndexType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::InputIndexValueType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputIndexValueType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::InputPixelType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputPixelType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::InputPointType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputPointType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::InputRegionType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputRegionType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::InputSizeType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputSizeType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::InputSizeValueType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputSizeValueType

typedef int itk::LightObject::InternalReferenceCountType [protected, inherited]

Define the type of the reference count according to the target. This allows the use of atomic operations

Definition at line 139 of file itkLightObject.h.

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::ListImageType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ListImageType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::ListPixelConstIterator itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ListPixelConstIterator

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::ListPixelIterator itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ListPixelIterator

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::ListPixelType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ListPixelType

typedef Superclass::NeighborhoodScalesType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::NeighborhoodScalesType [inherited]

The type of data structure that holds the scales with which the neighborhood is weighted to properly account for spacing and neighborhood radius.

Reimplemented from itk::FiniteDifferenceFunction< TInputImage >.

Definition at line 89 of file itkRegionBasedLevelSetFunction.h.

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::NeighborhoodType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::NeighborhoodType

The type of data structure that is passed to this function object to evaluate at a pixel that does not lie on a data set boundary.

Reimplemented from itk::ScalarRegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >.

Definition at line 99 of file itkScalarChanAndVeseLevelSetFunction.h.

typedef double itk::FiniteDifferenceFunction< TInputImage >::PixelRealType [inherited]

Definition at line 81 of file itkFiniteDifferenceFunction.h.

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::PixelType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::PixelType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef SmartPointer<Self> itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::Pointer

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::RadiusType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::RadiusType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::ScalarValueType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ScalarValueType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef ScalarChanAndVeseLevelSetFunction itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::Self

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::SharedDataPointer itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::SharedDataPointer

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::SharedDataType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::SharedDataType

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef ScalarRegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData > itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::Superclass

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::TimeStepType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::TimeStepType

Extract some parameters from the superclass.

Reimplemented from itk::ScalarRegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >.

Definition at line 102 of file itkScalarChanAndVeseLevelSetFunction.h.

template<class TInputImage, class TFeatureImage, class TSharedData>
typedef Superclass::VectorType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::VectorType


Constructor & Destructor Documentation

template<class TInputImage, class TFeatureImage, class TSharedData>
itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ScalarChanAndVeseLevelSetFunction (  )  [inline, protected]

Definition at line 121 of file itkScalarChanAndVeseLevelSetFunction.h.

template<class TInputImage, class TFeatureImage, class TSharedData>
itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::~ScalarChanAndVeseLevelSetFunction (  )  [inline, protected]

Definition at line 122 of file itkScalarChanAndVeseLevelSetFunction.h.


Member Function Documentation

static void itk::LightObject::BreakOnError (  )  [static, inherited]

This method is called when itkExceptionMacro executes. It allows the debugger to break on error.

virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeCurvatureTerm ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct *  gd 
) [virtual, inherited]

virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeExternalTerm ( const FeaturePixelType &  iValue,
const FeatureIndexType &  iIdx 
) [protected, pure virtual, inherited]

Compute the external term.

Parameters:
[in] iValue Feature Image Value
[in] iIdx Feature Image Index
[in] pr Product of Heaviside Functions
Note:
after discussion with kishore, pr is not and unsigned int

template<class TInputImage, class TFeatureImage, class TSharedData>
ScalarValueType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ComputeExternalTerm ( const FeaturePixelType iValue,
const FeatureIndexType iIdx 
) [protected]

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeGlobalTerm ( const ScalarValueType &  imagePixel,
const InputIndexType &  inputIndex 
) [protected, inherited]

Compute the global term as a combination of the internal, external, overlapping and volume regularization terms.

TimeStepType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeGlobalTimeStep ( void *  GlobalData  )  const [virtual, inherited]

Computes the time step for an update given a global data structure. The data used in the computation may take different forms depending on the nature of the equations. This global data cannot be kept in the instance of the equation object itself since the equation object must remain stateless for thread safety. The global data is therefore managed for each thread by the finite difference solver filters.

Implements itk::FiniteDifferenceFunction< TInputImage >.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeHessian ( const NeighborhoodType it,
GlobalDataStruct *  globalData 
) [protected, inherited]

Compute Hessian Matrix.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeHImage (  )  [protected, inherited]

virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeInternalTerm ( const FeaturePixelType &  iValue,
const FeatureIndexType &  iIdx 
) [protected, pure virtual, inherited]

Compute the internal term.

Parameters:
[in] iValue Feature Image Value
[in] iIdx Feature Image Index
[in] fId Index of the LevelSet Function

template<class TInputImage, class TFeatureImage, class TSharedData>
ScalarValueType itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ComputeInternalTerm ( const FeaturePixelType iValue,
const FeatureIndexType iIdx 
) [protected]

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeLaplacian ( GlobalDataStruct *  gd  )  [protected, inherited]

Compute the laplacian.

Returns:
$ \Delta \phi $

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeLaplacianTerm ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct *  gd 
) [protected, inherited]

Compute the laplacian term.

Returns:
$ \Delta \phi - \div(\frac{\nabla \phi}{|\nabla \phi|}) $
For details see
  @inproceedings{bb30335,
  AUTHOR = "Li, C.M. and Xu, C.Y. and Gui, C. and Fox, M.D.",
  TITLE = "Level Set Evolution without Re-Initialization: A New Variational Formulation",
  BOOKTITLE = CVPR05,
  YEAR = "2005",
  PAGES = "I: 430-436"}
  

const NeighborhoodScalesType itk::FiniteDifferenceFunction< TInputImage >::ComputeNeighborhoodScales (  )  const [inherited]

Compute the scales that weight the neighborhood during difference operations to properly account for spacing and neighborhood radius

virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeOverlapParameters ( const FeatureIndexType &  featIndex,
ScalarValueType &  pr 
) [protected, pure virtual, inherited]

Compute the overlap term.

Parameters:
[in] featIndex 
[out] pr = $ \prod_{i \neq j} H(\phi_i)$
Returns:
OverlapTerm = $ \sum_{i \neq j} H(\phi_i)$

template<class TInputImage, class TFeatureImage, class TSharedData>
ScalarValueType itk::ScalarRegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ComputeOverlapParameters ( const FeatureIndexType featIndex,
ScalarValueType product 
) [protected, inherited]

template<class TInputImage, class TFeatureImage, class TSharedData>
void itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ComputeParameters (  )  [protected, virtual]

Compute Parameters for the inner and outer parts.

Implements itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >.

PixelType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeUpdate ( const NeighborhoodType neighborhood,
void *  globalData,
const FloatOffsetType = FloatOffsetType(0.0) 
) [virtual, inherited]

Compute the equation value.

Implements itk::FiniteDifferenceFunction< TInputImage >.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ComputeVolumeRegularizationTerm (  )  [protected, inherited]

Compute the overlap term.

Returns:
$ \int_{p \in \Omega} H(\phi_i) dp - this->Volume $
Note:
the volume regularization does not depend on the spacing. So the volume must be set in number of pixels (not in real world unit).

virtual Pointer itk::LightObject::CreateAnother (  )  const [virtual, inherited]

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 in itk::Object.

virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::CurvatureSpeed ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct *  = 0 
) const [inline, virtual, inherited]

Curvature speed can be used to spatially modify the effects of curvature . The default implementation returns one.

Definition at line 276 of file itkRegionBasedLevelSetFunction.h.

virtual void itk::LightObject::Delete (  )  [virtual, inherited]

Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::GetAreaWeight (  )  const [inline, inherited]

Definition at line 204 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::GetCurvatureWeight (  )  const [inline, inherited]

Definition at line 232 of file itkRegionBasedLevelSetFunction.h.

virtual const FeatureImageType* itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::GetFeatureImage (  )  const [inline, virtual, inherited]

Definition at line 196 of file itkRegionBasedLevelSetFunction.h.

void* itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::GetGlobalDataPointer (  )  const [inline, virtual, inherited]

Returns a pointer to a global data structure that is passed to this object from the solver at each calculation. The idea is that the solver holds the state of any global values needed to calculate the time step, while the equation object performs the actual calculations.

The global data should also be initialized in this method.

Implements itk::FiniteDifferenceFunction< TInputImage >.

Definition at line 180 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::GetLambda1 (  )  const [inline, inherited]

Definition at line 211 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::GetLambda2 (  )  const [inline, inherited]

Definition at line 218 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::GetLaplacianSmoothingWeight (  )  const [inline, inherited]

Definition at line 239 of file itkRegionBasedLevelSetFunction.h.

template<class TInputImage, class TFeatureImage, class TSharedData>
virtual const char* itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::GetNameOfClass (  )  const [virtual]

Run-time type information (and related methods)

Reimplemented from itk::ScalarRegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::GetOverlapPenaltyWeight (  )  const [inline, inherited]

Definition at line 225 of file itkRegionBasedLevelSetFunction.h.

const RadiusType& itk::FiniteDifferenceFunction< TInputImage >::GetRadius ( void   )  const [inline, inherited]

Returns the radius of the neighborhood this FiniteDifferenceFunction needs to perform its calculations.

Definition at line 146 of file itkFiniteDifferenceFunction.h.

virtual int itk::LightObject::GetReferenceCount (  )  const [inline, virtual, inherited]

Gets the reference count on this object.

Definition at line 106 of file itkLightObject.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::GetVolume (  )  const [inline, inherited]

Definition at line 253 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::GetVolumeMatchingWeight (  )  const [inline, inherited]

Definition at line 246 of file itkRegionBasedLevelSetFunction.h.

virtual void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::Initialize ( const RadiusType &  r  )  [inline, virtual, inherited]

virtual void itk::FiniteDifferenceFunction< TInputImage >::InitializeIteration (  )  [inline, virtual, inherited]

This method allows the function to set its state before each iteration of the finite difference solver (image filter) that uses it. This is a thread-safe time to manipulate the object's state.

An example of how this can be used: the Anisotropic diffusion class of FiniteDifferenceFunctions use this method to pre-calculate an average gradient magnitude across the entire image region. This value is set in the function object and used by the ComputeUpdate methods that are called at each pixel as a constant.

Definition at line 118 of file itkFiniteDifferenceFunction.h.

itk::FiniteDifferenceFunction< TInputImage >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
ImageType::ImageDimension   
) [inherited]

Save image dimension.

itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
Superclass::ImageDimension   
) [inherited]

template<class TInputImage, class TFeatureImage, class TSharedData>
itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
TFeatureImage::ImageDimension   
)

virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::LaplacianSmoothingSpeed ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct *  = 0 
) const [inline, virtual, inherited]

Laplacian smoothing speed can be used to spatially modify the effects of laplacian smoothing of the level set function.

Definition at line 269 of file itkRegionBasedLevelSetFunction.h.

template<class TInputImage, class TFeatureImage, class TSharedData>
static Pointer itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::New (  )  [static]

Method for creation through the object factory.

Reimplemented from itk::LightObject.

void itk::LightObject::Print ( std::ostream &  os,
Indent  indent = 0 
) const [inherited]

virtual void itk::LightObject::PrintHeader ( std::ostream &  os,
Indent  indent 
) const [protected, virtual, inherited]

void itk::FiniteDifferenceFunction< TInputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual, inherited]

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::LightObject.

virtual void itk::LightObject::PrintTrailer ( std::ostream &  os,
Indent  indent 
) const [protected, virtual, inherited]

virtual void itk::LightObject::Register (  )  const [virtual, inherited]

Increase the reference count (mark as used by another object).

Reimplemented in itk::Object.

virtual void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::ReleaseGlobalDataPointer ( void *  GlobalData  )  const [inline, virtual, inherited]

When the finite difference solver filter has finished using a global data pointer, it passes it to this method, which frees the memory.

The solver cannot free the memory because it does not know the type to which the pointer points.

Implements itk::FiniteDifferenceFunction< TInputImage >.

Definition at line 261 of file itkRegionBasedLevelSetFunction.h.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetAreaWeight ( const ScalarValueType &  nu  )  [inline, inherited]

Nu. Area regularization values

Definition at line 202 of file itkRegionBasedLevelSetFunction.h.

virtual void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetCurvatureWeight ( const ScalarValueType  c  )  [inline, virtual, inherited]

Gamma. Scales all curvature weight values

Definition at line 230 of file itkRegionBasedLevelSetFunction.h.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetDomainFunction ( const HeavisideFunctionType f  )  [inline, inherited]

Definition at line 149 of file itkRegionBasedLevelSetFunction.h.

virtual void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetFeatureImage ( const FeatureImageType *  f  )  [inline, virtual, inherited]

Definition at line 198 of file itkRegionBasedLevelSetFunction.h.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetFunctionId ( const unsigned int &  iFid  )  [inline, inherited]

Set function id.

Definition at line 258 of file itkRegionBasedLevelSetFunction.h.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetInitialImage ( InputImageType *  f  )  [inline, inherited]

Definition at line 191 of file itkRegionBasedLevelSetFunction.h.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetLambda1 ( const ScalarValueType &  lambda1  )  [inline, inherited]

Lambda1. Internal intensity difference weight

Definition at line 209 of file itkRegionBasedLevelSetFunction.h.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetLambda2 ( const ScalarValueType &  lambda2  )  [inline, inherited]

Lambda2. External intensity difference weight

Definition at line 216 of file itkRegionBasedLevelSetFunction.h.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetLaplacianSmoothingWeight ( const ScalarValueType  c  )  [inline, inherited]

Weight of the laplacian smoothing term

Definition at line 237 of file itkRegionBasedLevelSetFunction.h.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetOverlapPenaltyWeight ( const ScalarValueType &  gamma  )  [inline, inherited]

Gamma. Overlap penalty

Definition at line 223 of file itkRegionBasedLevelSetFunction.h.

void itk::FiniteDifferenceFunction< TInputImage >::SetRadius ( const RadiusType &  r  )  [inline, inherited]

Sets the radius of the neighborhood this FiniteDifferenceFunction needs to perform its calculations.

Definition at line 141 of file itkFiniteDifferenceFunction.h.

virtual void itk::LightObject::SetReferenceCount ( int   )  [virtual, inherited]

Sets the reference count on this object. This is a dangerous method, use it with care.

Reimplemented in itk::Object.

void itk::FiniteDifferenceFunction< TInputImage >::SetScaleCoefficients ( PixelRealType  vals[ImageDimension]  )  [inline, inherited]

Set the ScaleCoefficients for the difference operators. The defaults a 1.0. These can be set to take the image spacing into account.

Definition at line 152 of file itkFiniteDifferenceFunction.h.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetSharedData ( SharedDataPointer  sharedDataIn  )  [inline, inherited]

Definition at line 173 of file itkRegionBasedLevelSetFunction.h.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetVolume ( const ScalarValueType &  volume  )  [inline, inherited]

Pixel Volume = Number of pixels inside the level-set

Definition at line 251 of file itkRegionBasedLevelSetFunction.h.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::SetVolumeMatchingWeight ( const ScalarValueType &  tau  )  [inline, inherited]

Volume matching weight.

Definition at line 244 of file itkRegionBasedLevelSetFunction.h.

virtual void itk::LightObject::UnRegister (  )  const [virtual, inherited]

Decrease the reference count (release by another object).

Reimplemented in itk::Object.

template<class TInputImage, class TFeatureImage, class TSharedData>
void itk::ScalarRegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::UpdatePixel ( const unsigned int &  idx,
NeighborhoodIterator< TInputImage > &  iterator,
InputPixelType newValue,
bool &  status 
) [inherited]

Performs the narrow-band update of the Heaviside function for each voxel. The characteristic function of each region is recomputed (note the shared data which contains information from the other level sets). Using the new H values, the previous c_i are updated.

void itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::UpdateSharedData ( bool  forceUpdate  )  [inherited]

template<class TInputImage, class TFeatureImage, class TSharedData>
void itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::UpdateSharedDataInsideParameters ( const unsigned int &  iId,
const bool &  iBool,
const FeaturePixelType ,
const ScalarValueType  
) [protected, virtual]

template<class TInputImage, class TFeatureImage, class TSharedData>
void itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::UpdateSharedDataOutsideParameters ( const unsigned int &  iId,
const bool &  iBool,
const FeaturePixelType ,
const ScalarValueType  
) [protected, virtual]

template<class TInputImage, class TFeatureImage, class TSharedData>
void itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::UpdateSharedDataParameters (  )  [protected, virtual]

Update and save the inner and outer parameters in the shared data data structure.

Implements itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >.


Member Data Documentation

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_AreaWeight [protected, inherited]

Area regularization weight

Definition at line 296 of file itkRegionBasedLevelSetFunction.h.

:: vcl_size_t itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_Center [protected, inherited]

Definition at line 322 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_CurvatureWeight [protected, inherited]

Curvature Regularization Weight

Definition at line 314 of file itkRegionBasedLevelSetFunction.h.

HeavisideFunctionConstPointer itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_DomainFunction [protected, inherited]

Definition at line 293 of file itkRegionBasedLevelSetFunction.h.

double itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_DT [static, protected, inherited]

Definition at line 326 of file itkRegionBasedLevelSetFunction.h.

FeatureImageConstPointer itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_FeatureImage [protected, inherited]

The feature image

Definition at line 290 of file itkRegionBasedLevelSetFunction.h.

unsigned int itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_FunctionId [protected, inherited]

Definition at line 319 of file itkRegionBasedLevelSetFunction.h.

InputImageConstPointer itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_InitialImage [protected, inherited]

The initial level set image

Definition at line 287 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_Lambda1 [protected, inherited]

Internal functional of the level set weight

Definition at line 299 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_Lambda2 [protected, inherited]

External functional of the level set weight

Definition at line 302 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_LaplacianSmoothingWeight [protected, inherited]

Laplacian Regularization Weight

Definition at line 317 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_OverlapPenaltyWeight [protected, inherited]

Overlap Penalty Weight

Definition at line 305 of file itkRegionBasedLevelSetFunction.h.

RadiusType itk::FiniteDifferenceFunction< TInputImage >::m_Radius [protected, inherited]

Definition at line 203 of file itkFiniteDifferenceFunction.h.

Number of uses of this object by other objects.

Definition at line 144 of file itkLightObject.h.

Mutex lock to protect modification to the reference count

Definition at line 147 of file itkLightObject.h.

PixelRealType itk::FiniteDifferenceFunction< TInputImage >::m_ScaleCoefficients[ImageDimension] [protected, inherited]

Definition at line 204 of file itkFiniteDifferenceFunction.h.

SharedDataPointer itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_SharedData [protected, inherited]

Definition at line 292 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_Volume [protected, inherited]

Volume Constraint in pixels

Definition at line 311 of file itkRegionBasedLevelSetFunction.h.

ScalarValueType itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_VolumeMatchingWeight [protected, inherited]

Volume Regularization Weight

Definition at line 308 of file itkRegionBasedLevelSetFunction.h.

double itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_WaveDT [static, protected, inherited]

Definition at line 325 of file itkRegionBasedLevelSetFunction.h.

:: vcl_size_t itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::m_xStride[itkGetStaticConstMacro(ImageDimension)] [protected, inherited]

Definition at line 323 of file itkRegionBasedLevelSetFunction.h.

std::slice itk::RegionBasedLevelSetFunction< TInputImage , TFeatureImage , TSharedData >::x_slice[itkGetStaticConstMacro(ImageDimension)] [protected, inherited]

Definition at line 321 of file itkRegionBasedLevelSetFunction.h.


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

Generated at Thu May 28 17:14:09 2009 for ITK by doxygen 1.5.5 written by Dimitri van Heesch, © 1997-2000