ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
itk::CentralDifferenceImageFunction< TInputImage, TCoordRep > Class Template Reference

#include <itkCentralDifferenceImageFunction.h>

+ Inheritance diagram for itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >:
+ Collaboration diagram for itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
Superclass::ContinuousIndexType 
ContinuousIndexType
typedef Superclass::IndexType IndexType
typedef TInputImage InputImageType
typedef InterpolatorType::Pointer InterpolatorPointer
typedef
InterpolateImageFunction
< TInputImage, TCoordRep > 
InterpolatorType
typedef Superclass::OutputType OutputType
typedef SmartPointer< SelfPointer
typedef Superclass::PointType PointType
typedef
CentralDifferenceImageFunction 
Self
typedef TInputImage::SpacingType SpacingType
typedef ImageFunction
< TInputImage, CovariantVector
< double,
itkGetStaticConstMacro(ImageDimension) >
, TCoordRep > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual OutputType Evaluate (const PointType &point) const
virtual OutputType EvaluateAtContinuousIndex (const ContinuousIndexType &cindex) const
virtual OutputType EvaluateAtIndex (const IndexType &index) const
virtual const InterpolatorTypeGetInterpolator ()
virtual const char * GetNameOfClass () const
virtual void SetInputImage (const TInputImage *inputData)
virtual void SetInterpolator (InterpolatorType *interpolator)

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Private Member Functions

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

Private Attributes

InterpolatorPointer m_Interpolator
bool m_UseImageDirection
virtual void SetUseImageDirection (bool _arg)
virtual bool GetUseImageDirection () const
virtual void UseImageDirectionOn ()
virtual void UseImageDirectionOff ()
 CentralDifferenceImageFunction ()
 ~CentralDifferenceImageFunction ()
void PrintSelf (std::ostream &os, Indent indent) const

Detailed Description

template<class TInputImage, class TCoordRep = float>
class itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >

Calculate the derivative by central differencing.

This class is templated over the input image type and the coordinate representation type (e.g. float or double).

Possible improvements:

Definition at line 43 of file itkCentralDifferenceImageFunction.h.


Member Typedef Documentation

template<class TInputImage , class TCoordRep = float>
typedef SmartPointer< const Self > itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::ConstPointer
template<class TInputImage , class TCoordRep = float>
typedef Superclass::ContinuousIndexType itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::ContinuousIndexType
template<class TInputImage , class TCoordRep = float>
typedef Superclass::IndexType itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::IndexType
template<class TInputImage , class TCoordRep = float>
typedef TInputImage itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::InputImageType
template<class TInputImage , class TCoordRep = float>
typedef InterpolatorType::Pointer itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::InterpolatorPointer

Definition at line 90 of file itkCentralDifferenceImageFunction.h.

template<class TInputImage , class TCoordRep = float>
typedef InterpolateImageFunction< TInputImage, TCoordRep > itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::InterpolatorType

Interpolator typedef support.

Definition at line 89 of file itkCentralDifferenceImageFunction.h.

template<class TInputImage , class TCoordRep = float>
typedef Superclass::OutputType itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::OutputType
template<class TInputImage , class TCoordRep = float>
typedef SmartPointer< Self > itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::Pointer
template<class TInputImage , class TCoordRep = float>
typedef Superclass::PointType itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::PointType
template<class TInputImage , class TCoordRep = float>
typedef CentralDifferenceImageFunction itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::Self
template<class TInputImage , class TCoordRep = float>
typedef TInputImage::SpacingType itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::SpacingType

Spacing typedef support.

Definition at line 86 of file itkCentralDifferenceImageFunction.h.

template<class TInputImage , class TCoordRep = float>
typedef ImageFunction< TInputImage, CovariantVector< double, itkGetStaticConstMacro(ImageDimension) >, TCoordRep > itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::Superclass

Constructor & Destructor Documentation

template<class TInputImage , class TCoordRep = float>
itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::CentralDifferenceImageFunction ( ) [protected]

The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coordinate system of physical space. The difference is whether we take into account the image Direction or not. For EvaluateAtIndex and EvaluateAtContinuousIndex, the flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. For Evaluate, the opposite is true: the flag OFF will ignore the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is ON. The default value of this flag is On.

template<class TInputImage , class TCoordRep = float>
itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::~CentralDifferenceImageFunction ( ) [inline, protected]

The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coordinate system of physical space. The difference is whether we take into account the image Direction or not. For EvaluateAtIndex and EvaluateAtContinuousIndex, the flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. For Evaluate, the opposite is true: the flag OFF will ignore the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is ON. The default value of this flag is On.

Definition at line 163 of file itkCentralDifferenceImageFunction.h.

template<class TInputImage , class TCoordRep = float>
itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::CentralDifferenceImageFunction ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TCoordRep = float>
virtual::itk::LightObject::Pointer itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::CreateAnother ( void  ) const [virtual]

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

Reimplemented from itk::Object.

template<class TInputImage , class TCoordRep = float>
virtual OutputType itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::Evaluate ( const PointType point) const [virtual]

Evalulate the image derivative by central differencing at non-integer point.

No bounds checking is done. The point is assumed to lie within the image buffer. If not, 0 is returned for the derivative without any error return.

If point lies on a boundary in a given dimension, 0 is returned for that dimension.

ImageFunction::IsInsideBuffer() can be used to check bounds before calling the method.

template<class TInputImage , class TCoordRep = float>
virtual OutputType itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::EvaluateAtContinuousIndex ( const ContinuousIndexType cindex) const [virtual]

Evalulate the image derivative by central differencing at non-integer index.

No bounds checking is done. The point is assume to lie within the image buffer. If not, 0 is returned for the derivative without any error return.

If cindex lies on a boundary in a given dimension, 0 is returned for that dimension.

ImageFunction::IsInsideBuffer() can be used to check bounds before calling the method.

template<class TInputImage , class TCoordRep = float>
virtual OutputType itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::EvaluateAtIndex ( const IndexType index) const [virtual]

Evalulate the image derivative by central differencing at specified index.

No bounds checking is done. The point is assume to lie within the image buffer. If not, 0 is returned for the derivative without any error return.

If index lies on a boundary in a given dimension, 0 is returned for that dimension.

ImageFunction::IsInsideBuffer() can be used to check bounds before calling the method.

template<class TInputImage , class TCoordRep = float>
virtual const InterpolatorType* itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::GetInterpolator ( ) [virtual]

Get the interpolator.

template<class TInputImage , class TCoordRep = float>
virtual const char* itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::ImageFunction< TInputImage, CovariantVector< double, TInputImage::ImageDimension >, TCoordRep >.

template<class TInputImage , class TCoordRep = float>
virtual bool itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::GetUseImageDirection ( ) const [virtual]

The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coordinate system of physical space. The difference is whether we take into account the image Direction or not. For EvaluateAtIndex and EvaluateAtContinuousIndex, the flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. For Evaluate, the opposite is true: the flag OFF will ignore the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is ON. The default value of this flag is On.

template<class TInputImage , class TCoordRep = float>
static Pointer itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage , class TCoordRep = float>
void itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::operator= ( const Self ) [private]

Mutex lock to protect modification to the reference count

Reimplemented from itk::ImageFunction< TInputImage, CovariantVector< double, TInputImage::ImageDimension >, TCoordRep >.

template<class TInputImage , class TCoordRep = float>
void itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coordinate system of physical space. The difference is whether we take into account the image Direction or not. For EvaluateAtIndex and EvaluateAtContinuousIndex, the flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. For Evaluate, the opposite is true: the flag OFF will ignore the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is ON. The default value of this flag is On.

Reimplemented from itk::ImageFunction< TInputImage, CovariantVector< double, TInputImage::ImageDimension >, TCoordRep >.

template<class TInputImage , class TCoordRep = float>
virtual void itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::SetInputImage ( const TInputImage *  inputData) [virtual]

Set the input image. This must be set by the user.

Reimplemented from itk::ImageFunction< TInputImage, CovariantVector< double, TInputImage::ImageDimension >, TCoordRep >.

template<class TInputImage , class TCoordRep = float>
virtual void itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::SetInterpolator ( InterpolatorType interpolator) [virtual]

Set interpolator. The interpolator is used in the methods Evaluate and EvaluateAtContinuousIndex.

template<class TInputImage , class TCoordRep = float>
virtual void itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::SetUseImageDirection ( bool  _arg) [virtual]

The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coordinate system of physical space. The difference is whether we take into account the image Direction or not. For EvaluateAtIndex and EvaluateAtContinuousIndex, the flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. For Evaluate, the opposite is true: the flag OFF will ignore the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is ON. The default value of this flag is On.

template<class TInputImage , class TCoordRep = float>
virtual void itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::UseImageDirectionOff ( ) [virtual]

The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coordinate system of physical space. The difference is whether we take into account the image Direction or not. For EvaluateAtIndex and EvaluateAtContinuousIndex, the flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. For Evaluate, the opposite is true: the flag OFF will ignore the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is ON. The default value of this flag is On.

template<class TInputImage , class TCoordRep = float>
virtual void itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::UseImageDirectionOn ( ) [virtual]

The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coordinate system of physical space. The difference is whether we take into account the image Direction or not. For EvaluateAtIndex and EvaluateAtContinuousIndex, the flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. For Evaluate, the opposite is true: the flag OFF will ignore the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is ON. The default value of this flag is On.


Member Data Documentation

template<class TInputImage , class TCoordRep = float>
const unsigned int itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::ImageDimension = TInputImage::ImageDimension [static]
template<class TInputImage , class TCoordRep = float>
InterpolatorPointer itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::m_Interpolator [private]

Definition at line 176 of file itkCentralDifferenceImageFunction.h.

template<class TInputImage , class TCoordRep = float>
bool itk::CentralDifferenceImageFunction< TInputImage, TCoordRep >::m_UseImageDirection [private]

Definition at line 173 of file itkCentralDifferenceImageFunction.h.


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