ITK  4.2.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes
itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData > Class Template Reference

#include <itkRegionBasedLevelSetFunction.h>

+ Inheritance diagram for itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >:
+ Collaboration diagram for itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >:

List of all members.

Classes

struct  GlobalDataStruct

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
FeatureImageType::ConstPointer 
FeatureImageConstPointer
typedef TFeature FeatureImageType
typedef FeatureImageType::IndexType FeatureIndexType
typedef
FeatureImageType::OffsetType 
FeatureOffsetType
typedef FeatureImageType::PixelType FeaturePixelType
typedef
FeatureImageType::SpacingType 
FeatureSpacingType
typedef Superclass::FloatOffsetType FloatOffsetType
typedef
HeavisideFunctionType::ConstPointer 
HeavisideFunctionConstPointer
typedef
HeavisideStepFunctionBase
< InputPixelType,
InputPixelType
HeavisideFunctionType
typedef Superclass::ImageType ImageType
typedef
InputImageType::ConstPointer 
InputImageConstPointer
typedef InputImageType::Pointer InputImagePointer
typedef TInput InputImageType
typedef InputImageType::IndexType InputIndexType
typedef
InputImageType::IndexValueType 
InputIndexValueType
typedef InputImageType::PixelType InputPixelType
typedef InputImageType::PointType InputPointType
typedef InputImageType::RegionType InputRegionType
typedef InputImageType::SizeType InputSizeType
typedef
InputImageType::SizeValueType 
InputSizeValueType
typedef
Superclass::NeighborhoodScalesType 
NeighborhoodScalesType
typedef
Superclass::NeighborhoodType 
NeighborhoodType
typedef Superclass::PixelType PixelType
typedef SmartPointer< SelfPointer
typedef Superclass::RadiusType RadiusType
typedef PixelType ScalarValueType
typedef RegionBasedLevelSetFunction Self
typedef SharedDataType::Pointer SharedDataPointer
typedef TSharedData SharedDataType
typedef
FiniteDifferenceFunction
< TInput > 
Superclass
typedef double TimeStepType
typedef FixedArray
< ScalarValueType,
itkGetStaticConstMacro(ImageDimension) > 
VectorType
- Public Types inherited from itk::FiniteDifferenceFunction< TInput >
typedef
ZeroFluxNeumannBoundaryCondition
< ImageType
DefaultBoundaryConditionType
typedef double PixelRealType
- Public Types inherited from itk::LightObject

Public Member Functions

virtual VectorType AdvectionField (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
virtual void CalculateAdvectionImage ()
virtual ScalarValueType ComputeCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd)
TimeStepType ComputeGlobalTimeStep (void *GlobalData) const
virtual PixelType ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &=FloatOffsetType(0.0))
virtual ScalarValueType CurvatureSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
ScalarValueType GetAdvectionWeight () const
virtual const FeatureImageTypeGetFeatureImage () const
void * GetGlobalDataPointer () const
virtual const char * GetNameOfClass () const
virtual void Initialize (const RadiusType &r)
virtual ScalarValueType LaplacianSmoothingSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
virtual void ReleaseGlobalDataPointer (void *GlobalData) const
void SetAdvectionWeight (const ScalarValueType &iA)
void SetDomainFunction (const HeavisideFunctionType *f)
virtual void SetFeatureImage (const FeatureImageType *f)
void SetFunctionId (const unsigned int &iFid)
void SetInitialImage (InputImageType *f)
void SetSharedData (SharedDataPointer sharedDataIn)
void UpdateSharedData (bool forceUpdate)
void SetAreaWeight (const ScalarValueType &nu)
ScalarValueType GetAreaWeight () const
void SetLambda1 (const ScalarValueType &lambda1)
ScalarValueType GetLambda1 () const
void SetLambda2 (const ScalarValueType &lambda2)
ScalarValueType GetLambda2 () const
void SetOverlapPenaltyWeight (const ScalarValueType &gamma)
ScalarValueType GetOverlapPenaltyWeight () const
virtual void SetCurvatureWeight (const ScalarValueType c)
ScalarValueType GetCurvatureWeight () const
void SetReinitializationSmoothingWeight (const ScalarValueType c)
ScalarValueType GetReinitializationSmoothingWeight () const
void SetVolumeMatchingWeight (const ScalarValueType &tau)
ScalarValueType GetVolumeMatchingWeight () const
void SetVolume (const ScalarValueType &volume)
ScalarValueType GetVolume () const
- Public Member Functions inherited from itk::FiniteDifferenceFunction< TInput >
const NeighborhoodScalesType ComputeNeighborhoodScales () const
const RadiusTypeGetRadius () const
virtual void InitializeIteration ()
void SetRadius (const RadiusType &r)
void SetScaleCoefficients (PixelRealType vals[ImageDimension])
- Public Member Functions inherited from itk::LightObject
virtual Pointer CreateAnother () const
virtual void Delete ()
virtual int GetReferenceCount () const
 itkCloneMacro (Self)
void Print (std::ostream &os, Indent indent=0) const
virtual void Register () const
virtual void SetReferenceCount (int)
virtual void UnRegister () const

Static Public Attributes

static const unsigned int ImageDimension = Superclass::ImageDimension
- Static Public Attributes inherited from itk::FiniteDifferenceFunction< TInput >

Protected Member Functions

virtual ScalarValueType ComputeExternalTerm (const FeaturePixelType &iValue, const FeatureIndexType &iIdx)=0
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 ComputeLaplacian (GlobalDataStruct *gd)
virtual ScalarValueType ComputeOverlapParameters (const FeatureIndexType &featIndex, ScalarValueType &pr)=0
virtual void ComputeParameters ()=0
ScalarValueType ComputeVolumeRegularizationTerm ()
 RegionBasedLevelSetFunction ()
virtual void UpdateSharedDataParameters ()=0
virtual ~RegionBasedLevelSetFunction ()
- Protected Member Functions inherited from itk::FiniteDifferenceFunction< TInput >
 FiniteDifferenceFunction ()
void PrintSelf (std::ostream &os, Indent indent) const
 ~FiniteDifferenceFunction ()
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 LightObject ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
virtual ~LightObject ()

Static Protected Member Functions

static VectorType InitializeZeroVectorConstant ()

Protected Attributes

ScalarValueType m_AdvectionWeight
ScalarValueType m_AreaWeight
OffsetValueType m_Center
ScalarValueType m_CurvatureWeight
HeavisideFunctionConstPointer m_DomainFunction
FeatureImageConstPointer m_FeatureImage
unsigned int m_FunctionId
InputImageConstPointer m_InitialImage
double m_InvSpacing [itkGetStaticConstMacro(ImageDimension)]
ScalarValueType m_Lambda1
ScalarValueType m_Lambda2
ScalarValueType m_OverlapPenaltyWeight
ScalarValueType m_ReinitializationSmoothingWeight
SharedDataPointer m_SharedData
bool m_UpdateC
ScalarValueType m_Volume
ScalarValueType m_VolumeMatchingWeight
OffsetValueType m_xStride [itkGetStaticConstMacro(ImageDimension)]
std::slice x_slice [itkGetStaticConstMacro(ImageDimension)]
- Protected Attributes inherited from itk::FiniteDifferenceFunction< TInput >
RadiusType m_Radius
PixelRealType m_ScaleCoefficients [ImageDimension]
- Protected Attributes inherited from itk::LightObject
InternalReferenceCountType m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock

Static Protected Attributes

static double m_DT
static double m_WaveDT
static VectorType m_ZeroVectorConstant
 RegionBasedLevelSetFunction (const Self &)
void operator= (const Self &)

Additional Inherited Members


Detailed Description

template<class TInput, class TFeature, class TSharedData>
class itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >

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

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

NOTE: The convention followed is inside of the level-set function is negative and outside is positive.

Definition at line 67 of file itkRegionBasedLevelSetFunction.h.


Member Typedef Documentation

template<class TInput, class TFeature, class TSharedData>
typedef SmartPointer< const Self > itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ConstPointer
template<class TInput, class TFeature, class TSharedData>
typedef FeatureImageType::ConstPointer itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::FeatureImageConstPointer
template<class TInput, class TFeature, class TSharedData>
typedef TFeature itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::FeatureImageType
template<class TInput, class TFeature, class TSharedData>
typedef FeatureImageType::IndexType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::FeatureIndexType
template<class TInput, class TFeature, class TSharedData>
typedef FeatureImageType::OffsetType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::FeatureOffsetType
template<class TInput, class TFeature, class TSharedData>
typedef FeatureImageType::PixelType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::FeaturePixelType
template<class TInput, class TFeature, class TSharedData>
typedef FeatureImageType::SpacingType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::FeatureSpacingType

Definition at line 142 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
typedef Superclass::FloatOffsetType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::FloatOffsetType

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

Reimplemented from itk::FiniteDifferenceFunction< TInput >.

Reimplemented in itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >, and itk::ScalarRegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >.

Definition at line 92 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
typedef HeavisideFunctionType::ConstPointer itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::HeavisideFunctionConstPointer

Definition at line 149 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
typedef HeavisideStepFunctionBase< InputPixelType, InputPixelType > itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::HeavisideFunctionType

Definition at line 148 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
typedef Superclass::ImageType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ImageType

Extract some parameters from the image type

Reimplemented from itk::FiniteDifferenceFunction< TInput >.

Definition at line 86 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
typedef InputImageType::ConstPointer itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::InputImageConstPointer
template<class TInput, class TFeature, class TSharedData>
typedef InputImageType::Pointer itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::InputImagePointer
template<class TInput, class TFeature, class TSharedData>
typedef TInput itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::InputImageType
template<class TInput, class TFeature, class TSharedData>
typedef InputImageType::IndexType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::InputIndexType
template<class TInput, class TFeature, class TSharedData>
typedef InputImageType::IndexValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::InputIndexValueType
template<class TInput, class TFeature, class TSharedData>
typedef InputImageType::PixelType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::InputPixelType
template<class TInput, class TFeature, class TSharedData>
typedef InputImageType::PointType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::InputPointType
template<class TInput, class TFeature, class TSharedData>
typedef InputImageType::RegionType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::InputRegionType
template<class TInput, class TFeature, class TSharedData>
typedef InputImageType::SizeType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::InputSizeType
template<class TInput, class TFeature, class TSharedData>
typedef InputImageType::SizeValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::InputSizeValueType
template<class TInput, class TFeature, class TSharedData>
typedef Superclass::NeighborhoodScalesType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::NeighborhoodScalesType

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< TInput >.

Definition at line 91 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
typedef Superclass::NeighborhoodType itk::RegionBasedLevelSetFunction< TInput, TFeature, 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::FiniteDifferenceFunction< TInput >.

Reimplemented in itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >, and itk::ScalarRegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >.

Definition at line 90 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
typedef Superclass::PixelType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::PixelType
template<class TInput, class TFeature, class TSharedData>
typedef SmartPointer< Self > itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::Pointer
template<class TInput, class TFeature, class TSharedData>
typedef Superclass::RadiusType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::RadiusType
template<class TInput, class TFeature, class TSharedData>
typedef PixelType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ScalarValueType
template<class TInput, class TFeature, class TSharedData>
typedef RegionBasedLevelSetFunction itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::Self
template<class TInput, class TFeature, class TSharedData>
typedef SharedDataType::Pointer itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SharedDataPointer
template<class TInput, class TFeature, class TSharedData>
typedef TSharedData itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SharedDataType
template<class TInput, class TFeature, class TSharedData>
typedef FiniteDifferenceFunction< TInput > itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::Superclass
template<class TInput, class TFeature, class TSharedData>
typedef double itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::TimeStepType
template<class TInput, class TFeature, class TSharedData>
typedef FixedArray< ScalarValueType, itkGetStaticConstMacro(ImageDimension) > itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::VectorType

Constructor & Destructor Documentation

template<class TInput, class TFeature, class TSharedData>
itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::RegionBasedLevelSetFunction ( )
protected
template<class TInput, class TFeature, class TSharedData>
virtual itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::~RegionBasedLevelSetFunction ( )
inlineprotectedvirtual

Definition at line 310 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::RegionBasedLevelSetFunction ( const Self )
private

Zero vector constant.


Member Function Documentation

template<class TInput, class TFeature, class TSharedData>
virtual VectorType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::AdvectionField ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct = 0 
) const
inlinevirtual

Advection field. Default implementation returns a vector of zeros.

Definition at line 213 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
virtual void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::CalculateAdvectionImage ( )
inlinevirtual

This method must be defined in a subclass to implement a working function object. This method is called before the solver begins its work to produce the speed image used as the level set function's Advection field term. See LevelSetFunction for more information.

Definition at line 306 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeCurvature ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct gd 
)
virtual
template<class TInput, class TFeature, class TSharedData>
virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeExternalTerm ( const FeaturePixelType iValue,
const FeatureIndexType iIdx 
)
protectedpure virtual

Compute the external term.

Parameters:
[in]iValueFeature Image Value
[in]iIdxFeature Image Index
template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeGlobalTerm ( const ScalarValueType imagePixel,
const InputIndexType inputIndex 
)
protected

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

template<class TInput, class TFeature, class TSharedData>
TimeStepType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeGlobalTimeStep ( void *  GlobalData) const
virtual

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< TInput >.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeHessian ( const NeighborhoodType it,
GlobalDataStruct globalData 
)
protected

Compute Hessian Matrix.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeHImage ( )
protected
template<class TInput, class TFeature, class TSharedData>
virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeInternalTerm ( const FeaturePixelType iValue,
const FeatureIndexType iIdx 
)
protectedpure virtual

Compute the internal term.

Parameters:
[in]iValueFeature Image Value
[in]iIdxFeature Image Index
template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeLaplacian ( GlobalDataStruct gd)
protected

Compute the laplacian term.

 \return  \form#442
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"}

Compute the laplacian

Returns:
$ \Delta \phi $
template<class TInput, class TFeature, class TSharedData>
virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeOverlapParameters ( const FeatureIndexType featIndex,
ScalarValueType pr 
)
protectedpure virtual

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 TInput, class TFeature, class TSharedData>
virtual void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeParameters ( )
protectedpure virtual

Compute Parameters for the inner and outer parts.

Implemented in itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >.

template<class TInput, class TFeature, class TSharedData>
virtual PixelType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeUpdate ( const NeighborhoodType neighborhood,
void *  globalData,
const FloatOffsetType = FloatOffsetType(0.0) 
)
virtual

Compute the equation value.

Implements itk::FiniteDifferenceFunction< TInput >.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ComputeVolumeRegularizationTerm ( )
protected

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).
template<class TInput, class TFeature, class TSharedData>
virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::CurvatureSpeed ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct = 0 
) const
inlinevirtual

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

Definition at line 297 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetAdvectionWeight ( ) const
inline

Definition at line 254 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetAreaWeight ( ) const
inline

Nu. Area regularization values

Definition at line 220 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetCurvatureWeight ( ) const
inline

Gamma. Scales all curvature weight values

Definition at line 248 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
virtual const FeatureImageType* itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetFeatureImage ( ) const
inlinevirtual

Definition at line 199 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void* itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetGlobalDataPointer ( ) const
inlinevirtual

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< TInput >.

Definition at line 183 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetLambda1 ( ) const
inline

Lambda1. Internal intensity difference weight

Definition at line 227 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetLambda2 ( ) const
inline

Lambda2. External intensity difference weight

Definition at line 234 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
virtual const char* itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetNameOfClass ( ) const
virtual
template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetOverlapPenaltyWeight ( ) const
inline

Gamma. Overlap penalty

Definition at line 241 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetReinitializationSmoothingWeight ( ) const
inline

Weight of the laplacian smoothing term

Definition at line 260 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetVolume ( ) const
inline

Pixel Volume = Number of pixels inside the level-set

Definition at line 274 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::GetVolumeMatchingWeight ( ) const
inline

Volume matching weight.

Definition at line 267 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
virtual void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::Initialize ( const RadiusType r)
inlinevirtual

Definition at line 156 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
static VectorType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::InitializeZeroVectorConstant ( )
staticprotected

This method's only purpose is to initialize the zero vector constant.

template<class TInput, class TFeature, class TSharedData>
virtual ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::LaplacianSmoothingSpeed ( const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct = 0 
) const
inlinevirtual

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

Definition at line 290 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::operator= ( const Self )
private
template<class TInput, class TFeature, class TSharedData>
virtual void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ReleaseGlobalDataPointer ( void *  GlobalData) const
inlinevirtual

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< TInput >.

Definition at line 282 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetAdvectionWeight ( const ScalarValueType iA)
inline

Definition at line 252 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetAreaWeight ( const ScalarValueType nu)
inline

Nu. Area regularization values

Definition at line 218 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
virtual void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetCurvatureWeight ( const ScalarValueType  c)
inlinevirtual

Gamma. Scales all curvature weight values

Definition at line 246 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetDomainFunction ( const HeavisideFunctionType f)
inline

Definition at line 151 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
virtual void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetFeatureImage ( const FeatureImageType f)
inlinevirtual

Definition at line 201 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetFunctionId ( const unsigned int &  iFid)
inline

Set function id.

Definition at line 279 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetInitialImage ( InputImageType f)
inline

Definition at line 194 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetLambda1 ( const ScalarValueType lambda1)
inline

Lambda1. Internal intensity difference weight

Definition at line 225 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetLambda2 ( const ScalarValueType lambda2)
inline

Lambda2. External intensity difference weight

Definition at line 232 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetOverlapPenaltyWeight ( const ScalarValueType gamma)
inline

Gamma. Overlap penalty

Definition at line 239 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetReinitializationSmoothingWeight ( const ScalarValueType  c)
inline

Weight of the laplacian smoothing term

Definition at line 258 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetSharedData ( SharedDataPointer  sharedDataIn)
inline

Definition at line 175 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetVolume ( const ScalarValueType volume)
inline

Pixel Volume = Number of pixels inside the level-set

Definition at line 272 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::SetVolumeMatchingWeight ( const ScalarValueType tau)
inline

Volume matching weight.

Definition at line 265 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::UpdateSharedData ( bool  forceUpdate)
template<class TInput, class TFeature, class TSharedData>
virtual void itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::UpdateSharedDataParameters ( )
protectedpure virtual

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

Implemented in itk::ScalarChanAndVeseLevelSetFunction< TInputImage, TFeatureImage, TSharedData >.


Member Data Documentation

template<class TInput, class TFeature, class TSharedData>
const unsigned int itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::ImageDimension = Superclass::ImageDimension
static
template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_AdvectionWeight
protected

Definition at line 343 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_AreaWeight
protected

Area regularization weight

Definition at line 323 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
OffsetValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_Center
protected

Definition at line 351 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_CurvatureWeight
protected

Curvature Regularization Weight

Definition at line 341 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
HeavisideFunctionConstPointer itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_DomainFunction
protected

Definition at line 320 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
double itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_DT
staticprotected

Definition at line 356 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
FeatureImageConstPointer itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_FeatureImage
protected

The feature image

Definition at line 316 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
unsigned int itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_FunctionId
protected

Definition at line 348 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
InputImageConstPointer itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_InitialImage
protected

The initial level set image

Definition at line 313 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
double itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_InvSpacing[itkGetStaticConstMacro(ImageDimension)]
protected

Definition at line 353 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_Lambda1
protected

Internal functional of the level set weight

Definition at line 326 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_Lambda2
protected

External functional of the level set weight

Definition at line 329 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_OverlapPenaltyWeight
protected

Overlap Penalty Weight

Definition at line 332 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_ReinitializationSmoothingWeight
protected

Laplacian Regularization Weight

Definition at line 346 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
SharedDataPointer itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_SharedData
protected

Definition at line 318 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
bool itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_UpdateC
protected

Definition at line 418 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_Volume
protected

Volume Constraint in pixels

Definition at line 338 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
ScalarValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_VolumeMatchingWeight
protected

Volume Regularization Weight

Definition at line 335 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
double itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_WaveDT
staticprotected

Definition at line 355 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
OffsetValueType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_xStride[itkGetStaticConstMacro(ImageDimension)]
protected

Definition at line 352 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
VectorType itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::m_ZeroVectorConstant
staticprotected

Zero vector constant.

Definition at line 425 of file itkRegionBasedLevelSetFunction.h.

template<class TInput, class TFeature, class TSharedData>
std::slice itk::RegionBasedLevelSetFunction< TInput, TFeature, TSharedData >::x_slice[itkGetStaticConstMacro(ImageDimension)]
protected

Definition at line 350 of file itkRegionBasedLevelSetFunction.h.


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