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

itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType > Class Template Reference

This class extends the LevelSetFunction class by adding a grow term based on a target curvature stored in a sparse image. More...

#include <itkLevelSetFunctionWithRefitTerm.h>

Inheritance diagram for itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >:

Inheritance graph
[legend]
Collaboration diagram for itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef LevelSetFunctionWithRefitTerm Self
typedef LevelSetFunction<
TImageType > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::ImageType ImageType
typedef Superclass::FloatOffsetType FloatOffsetType
typedef Superclass::ScalarValueType ScalarValueType
typedef Superclass::GlobalDataStruct GlobalDataStruct
typedef Superclass::NeighborhoodType NeighborhoodType
typedef Superclass::TimeStepType TimeStepType
typedef ImageType::IndexType IndexType
typedef TSparseImageType SparseImageType
typedef SparseImageType::NodeType NodeType
typedef NodeType::NodeDataType NormalVectorType

Public Member Functions

virtual const char * GetClassName () const
void SetRefitWeight (const ScalarValueType w)
void SetOtherPropagationWeight (const ScalarValueType w)
void SetSparseTargetImage (SparseImageType *im)
SparseImageTypeGetSparseTargetImage () const
virtual TimeStepType ComputeGlobalTimeStep (void *GlobalData) const

Static Public Member Functions

Pointer New ()

Protected Member Functions

 LevelSetFunctionWithRefitTerm ()
void PrintSelf (std::ostream &os, Indent indent) const
ScalarValueType ComputeCurvature (const NeighborhoodType &) const
virtual ScalarValueType PropagationSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
virtual ScalarValueType OtherPropagationSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const

Protected Attributes

ScalarValueType m_RefitWeight
ScalarValueType m_OtherPropagationWeight

Detailed Description

template<class TImageType, class TSparseImageType>
class itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >

This class extends the LevelSetFunction class by adding a grow term based on a target curvature stored in a sparse image.

We extend the LevelSetFunction class to add a refitting term. This refitting term forces the curvature of the level set interface to match a prescribed curvature. The prescribed curvature is provided in a sparse image format. The NodeType for the sparse image should contain the member variables m_Curvature and m_CurvatureFlag. The refitting term is defined as part of the propagation term of the original LevelSetFunction. To this purpose we defined the PropagationSpeed method which computes the refitting term and also adds to this term the value returned by the new virtual OtherPropagationSpeed. Therefore, classes derived from this class MUST NOT overwrite the PropagationSpeed method. Instead classes wishing to define a prapagtion term must define OtherPropagationSpeed.
IMPORTANT
Subclasses MUST NOT overwrite the PropagationSpeed method. Define OtherPropagationSpeed instead.

Definition at line 50 of file itkLevelSetFunctionWithRefitTerm.h.


Member Typedef Documentation

template<class TImageType, class TSparseImageType>
typedef SmartPointer<const Self> itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::ConstPointer
 

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 59 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef Superclass::FloatOffsetType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::FloatOffsetType
 

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

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 69 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef Superclass::GlobalDataStruct itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::GlobalDataStruct
 

Definition at line 71 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef Superclass::ImageType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::ImageType
 

Extract some parameters from the superclass.

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 68 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef ImageType::IndexType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::IndexType
 

Index type derived from the ImageType. Definition at line 76 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef Superclass::NeighborhoodType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::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::LevelSetFunction< TImageType >.

Definition at line 72 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef SparseImageType::NodeType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::NodeType
 

The node type of the sparse image. Definition at line 82 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef NodeType::NodeDataType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::NormalVectorType
 

The type for the normal vectors of the level set image. Definition at line 85 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef SmartPointer<Self> itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::Pointer
 

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 58 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef Superclass::ScalarValueType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::ScalarValueType
 

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 70 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef LevelSetFunctionWithRefitTerm itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::Self
 

Standard class typedefs.

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 56 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef TSparseImageType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::SparseImageType
 

The sparse image type used for the curvature target. Definition at line 79 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef LevelSetFunction<TImageType> itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::Superclass
 

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 57 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
typedef Superclass::TimeStepType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::TimeStepType
 

Convenient typedefs.

Reimplemented from itk::LevelSetFunction< TImageType >.

Definition at line 73 of file itkLevelSetFunctionWithRefitTerm.h.


Constructor & Destructor Documentation

template<class TImageType, class TSparseImageType>
itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::LevelSetFunctionWithRefitTerm  )  [protected]
 


Member Function Documentation

template<class TImageType, class TSparseImageType>
ScalarValueType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::ComputeCurvature const NeighborhoodType  )  const [protected]
 

Computes the curvature of a level set neighbothood in a way that matches the curvature computation from normal vectors.

template<class TImageType, class TSparseImageType>
virtual TimeStepType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::ComputeGlobalTimeStep void *  GlobalData  )  const [virtual]
 

Computes the time step for an update given a global data structure. This calls the ComputeGlobalTimeStep method defined in LevelSetFunction and then imposes our own restrictions for the refitting term on the returned value.

Reimplemented from itk::LevelSetFunction< TImageType >.

template<class TImageType, class TSparseImageType>
virtual const char* itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods)

Reimplemented from itk::LevelSetFunction< TImageType >.

template<class TImageType, class TSparseImageType>
SparseImageType* itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::GetSparseTargetImage  )  const [inline]
 

Returns the sparse image. Definition at line 106 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
Pointer itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::New  )  [static]
 

Standard New macro.

Reimplemented from itk::LevelSetFunction< TImageType >.

template<class TImageType, class TSparseImageType>
virtual ScalarValueType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::OtherPropagationSpeed const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct = 0
const [inline, protected, virtual]
 

Called by PropagationSpeed and added on to the refitting term. Function classes derived from this class should define this method for their propagation speed, NOT the actual PropagationSpeed method. Definition at line 140 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
void itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

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::LevelSetFunction< TImageType >.

template<class TImageType, class TSparseImageType>
virtual ScalarValueType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::PropagationSpeed const NeighborhoodType ,
const FloatOffsetType ,
GlobalDataStruct = 0
const [protected, virtual]
 

Defines the virtual function in LevelSetFunction to add the refitting term. This function also calls OtherPropagationSpeed to provide a mechanism for subclasses to define other propagation terms.

Reimplemented from itk::LevelSetFunction< TImageType >.

template<class TImageType, class TSparseImageType>
void itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::SetOtherPropagationWeight const ScalarValueType  w  )  [inline]
 

This is the weight for propagation terms (other than refitting) that can be defined by subclasses. Definition at line 95 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
void itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::SetRefitWeight const ScalarValueType  w  )  [inline]
 

Set the relative weight of the refitting term. Definition at line 88 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
void itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::SetSparseTargetImage SparseImageType im  )  [inline]
 

Sets the sparse image which has nodes containing the member variable m_Curvature used in refitting. Definition at line 102 of file itkLevelSetFunctionWithRefitTerm.h.


Member Data Documentation

template<class TImageType, class TSparseImageType>
ScalarValueType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::m_OtherPropagationWeight [protected]
 

The weight for other scalar propagation terms that can be defined by classes derived from this class. Definition at line 121 of file itkLevelSetFunctionWithRefitTerm.h.

template<class TImageType, class TSparseImageType>
ScalarValueType itk::LevelSetFunctionWithRefitTerm< TImageType, TSparseImageType >::m_RefitWeight [protected]
 

The weight for the refitting term. Definition at line 117 of file itkLevelSetFunctionWithRefitTerm.h.


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 02:56:00 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000