ITK  4.2.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 Types inherited from itk::ImageFunction< TInputImage, CovariantVector< double, TInputImage::ImageDimension >, TCoordRep >
typedef TCoordRep CoordRepType
typedef
InputImageType::IndexValueType 
IndexValueType
typedef
InputImageType::ConstPointer 
InputImageConstPointer
typedef InputImageType::PixelType InputPixelType
- Public Types inherited from itk::FunctionBase< Point< TCoordRep, TInputImage::ImageDimension >, CovariantVector< double, TInputImage::ImageDimension > >
typedef Point< TCoordRep,
TInputImage::ImageDimension > 
InputType
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

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)
- Public Member Functions inherited from itk::ImageFunction< TInputImage, CovariantVector< double, TInputImage::ImageDimension >, TCoordRep >
void ConvertContinuousIndexToNearestIndex (const ContinuousIndexType &cindex, IndexType &index) const
void ConvertPointToContinuousIndex (const PointType &point, ContinuousIndexType &cindex) const
void ConvertPointToNearestIndex (const PointType &point, IndexType &index) const
virtual CovariantVector
< double,
TInputImage::ImageDimension > 
Evaluate (const PointType &point) const =0
virtual CovariantVector
< double,
TInputImage::ImageDimension > 
EvaluateAtContinuousIndex (const ContinuousIndexType &index) const =0
virtual CovariantVector
< double,
TInputImage::ImageDimension > 
EvaluateAtIndex (const IndexType &index) const =0
virtual const ContinuousIndexTypeGetEndContinuousIndex ()
virtual const IndexTypeGetEndIndex ()
const InputImageTypeGetInputImage () const
virtual const ContinuousIndexTypeGetStartContinuousIndex ()
virtual const IndexTypeGetStartIndex ()
virtual bool IsInsideBuffer (const IndexType &index) const
virtual bool IsInsideBuffer (const ContinuousIndexType &index) const
virtual bool IsInsideBuffer (const PointType &point) const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension
- Static Public Attributes inherited from itk::ImageFunction< TInputImage, CovariantVector< double, TInputImage::ImageDimension >, TCoordRep >
- Protected Member Functions inherited from itk::ImageFunction< TInputImage, CovariantVector< double, TInputImage::ImageDimension >, TCoordRep >
 ImageFunction ()
 ~ImageFunction ()
- Protected Member Functions inherited from itk::FunctionBase< Point< TCoordRep, TInputImage::ImageDimension >, CovariantVector< double, TInputImage::ImageDimension > >
 FunctionBase ()
 ~FunctionBase ()
- Protected Member Functions inherited from itk::Object
 Object ()
bool PrintObservers (std::ostream &os, Indent indent) const
virtual void SetTimeStamp (const TimeStamp &time)
virtual ~Object ()
- 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 ()

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

Additional Inherited Members

- Protected Attributes inherited from itk::ImageFunction< TInputImage, CovariantVector< double, TInputImage::ImageDimension >, TCoordRep >
ContinuousIndexType m_EndContinuousIndex
IndexType m_EndIndex
InputImageConstPointer m_Image
ContinuousIndexType m_StartContinuousIndex
IndexType m_StartIndex

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 ( )
inlineprotected

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

The point is assumed to lie within the image buffer. If not, 0 is returned for the derivative without any error return, because of bounds-checking performed on the neighboring points.

If point lies on a boundary in a given dimension, 0 is returned for that dimension. Note that points are centered on the voxel.

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 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
protectedvirtual

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 175 of file itkCentralDifferenceImageFunction.h.

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

Definition at line 172 of file itkCentralDifferenceImageFunction.h.


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