Public Member Functions | List of all members
mirtk::GenericFastLinearImageGradientFunction2D< TImage > Class Template Reference

#include <FastLinearImageGradientFunction2D.h>

Inheritance diagram for mirtk::GenericFastLinearImageGradientFunction2D< TImage >:
Inheritance graph
Collaboration diagram for mirtk::GenericFastLinearImageGradientFunction2D< TImage >:
Collaboration graph

Public Member Functions

 GenericFastLinearImageGradientFunction2D ()
 Default constructor.
 
GradientType Get (double, double, double=0, double=0) const
 
template<class TOtherImage >
GradientType Get (const TOtherImage *, double, double, double=0, double=0) const
 
virtual GradientType GetInside (double, double, double=0, double=0) const
 
virtual GradientType GetOutside (double, double, double=0, double=0) const
 Evaluate image gradient at an arbitrary location (in pixels)
 
GradientType GetWithPadding (double, double, double=0, double=0) const
 
template<class TOtherImage >
GradientType GetWithPadding (const TOtherImage *, double, double, double=0, double=0) const
 
virtual GradientType GetWithPaddingInside (double, double, double=0, double=0) const
 
virtual GradientType GetWithPaddingOutside (double, double, double=0, double=0) const
 
- Public Member Functions inherited from mirtk::GenericFastLinearImageGradientFunction< TImage >
virtual void BoundingInterval (double, int &, int &) const
 
 GenericFastLinearImageGradientFunction ()
 Default constructor.
 
template<class TOtherImage >
GradientType Get (const TOtherImage *, double, double, double=0, double=0) const
 
GradientType Get2D (double, double, double=0, double=0) const
 
template<class TOtherImage >
GradientType Get2D (const TOtherImage *, double, double, double=0, double=0) const
 
GradientType Get3D (double, double, double=0, double=0) const
 
template<class TOtherImage >
GradientType Get3D (const TOtherImage *, double, double, double=0, double=0) const
 
GradientType Get4D (double, double, double=0, double=0) const
 
template<class TOtherImage >
GradientType Get4D (const TOtherImage *, double, double, double=0, double=0) const
 
template<class TOtherImage >
GradientType GetWithPadding (const TOtherImage *, double, double, double=0, double=0) const
 
GradientType GetWithPadding2D (double, double, double=0, double=0) const
 
template<class TOtherImage >
GradientType GetWithPadding2D (const TOtherImage *, double, double, double=0, double=0) const
 
GradientType GetWithPadding3D (double, double, double=0, double=0) const
 
template<class TOtherImage >
GradientType GetWithPadding3D (const TOtherImage *, double, double, double=0, double=0) const
 
GradientType GetWithPadding4D (double, double, double=0, double=0) const
 
template<class TOtherImage >
GradientType GetWithPadding4D (const TOtherImage *, double, double, double=0, double=0) const
 
virtual void Initialize (bool=false)
 Initialize interpolation function.
 
virtual ~GenericFastLinearImageGradientFunction ()
 Destructor.
 
- Public Member Functions inherited from mirtk::GenericImageGradientFunction< TImage >
virtual void Extrapolator (ExtrapolateImageFunction *, bool=false)
 Set extrapolate image function for evaluation outside of image domain.
 
ExtrapolatorTypeExtrapolator ()
 
const ExtrapolatorTypeExtrapolator () const
 
virtual void Input (const BaseImage *)
 Set input image.
 
const ImageType * Input () const
 Get input image.
 
virtual ExtrapolateImageFunctionNew (enum ExtrapolationMode, const BaseImage *=NULL)
 Construct extrapolator which is compatible with this interpolator.
 
virtual ~GenericImageGradientFunction ()
 Destructor.
 
- Public Member Functions inherited from mirtk::ImageGradientFunction
virtual void BoundingBox (double, double, int &, int &, int &, int &) const
 Returns discrete boundaries of local 2D image region needed for interpolation.
 
virtual void BoundingBox (double, double, double, int &, int &, int &, int &, int &, int &) const
 Returns discrete boundaries of local 3D image region needed for interpolation.
 
virtual void BoundingBox (double, double, double, double, int &, int &, int &, int &, int &, int &, int &, int &) const
 Returns discrete boundaries of local 4D image region needed for interpolation.
 
void Evaluate (double *, double, double, double=0, int=1) const
 
virtual void EvaluateInside (double *, double, double, double=0, int=1) const
 
virtual void EvaluateOutside (double *, double, double, double=0, int=1) const
 
void EvaluateWithPadding (double *, double, double, double=0, int=1) const
 
virtual void EvaluateWithPaddingInside (double *, double, double, double=0, int=1) const
 
virtual void EvaluateWithPaddingOutside (double *, double, double, double=0, int=1) const
 
enum ExtrapolationMode ExtrapolationMode () const
 Get extrapolation mode used by this interpolator.
 
ExtrapolateImageFunctionExtrapolator ()
 
const ExtrapolateImageFunctionExtrapolator () const
 
GradientType Get (double, double, double=0, double=0) const
 
double GetTOrigin () const
 Get temporal origin of input image.
 
GradientType GetWithPadding (double, double, double=0, double=0) const
 
const BaseImageInput () const
 Get input image.
 
void Inside (double &, double &, double &, double &) const
 
void Inside (double &, double &, double &, double &, double &, double &) const
 
void Inside (double &, double &, double &, double &, double &, double &, double &, double &) const
 
virtual enum InterpolationMode InterpolationMode () const =0
 Get interpolation mode corresponding to this image gradient function.
 
bool IsForeground (double, double) const
 
bool IsForeground (double, double, double) const
 
bool IsForeground (double, double, double, double) const
 
bool IsInside (double, double) const
 
bool IsInside (double, double, double) const
 
bool IsInside (double, double, double, double) const
 
bool IsOutside (double, double) const
 
bool IsOutside (double, double, double) const
 
bool IsOutside (double, double, double, double) const
 
GradientType operator() (double, double, double=0, double=0) const
 Evaluate image gradient at an arbitrary location (in pixels)
 
void WorldToImage (double &, double &) const
 Convert world coordinates to image location (in pixels)
 
void WorldToImage (double &, double &, double &) const
 Convert world coordinates to image location (in pixels)
 
void WorldToImage (Point &) const
 Convert world coordinates to image location (in pixels)
 
virtual ~ImageGradientFunction ()
 Destructor.
 
- Public Member Functions inherited from mirtk::Object
virtual const char * NameOfClass () const =0
 Get name of class, which this object is an instance of.
 
virtual ParameterList Parameter () const
 Get parameter name/value pairs.
 
bool Parameter (const ParameterList &)
 Set parameters from name/value pairs.
 
virtual bool Set (const char *name, const char *value)
 
virtual ~Object ()
 Destructor.
 

Additional Inherited Members

- Public Types inherited from mirtk::ImageGradientFunction
typedef Vector3D< double > GradientType
 Type of interpolated gradient vectors.
 
- Static Public Member Functions inherited from mirtk::GenericFastLinearImageGradientFunction< TImage >
static int ComputeWeights (double, Real[2])
 
- Static Public Member Functions inherited from mirtk::GenericImageGradientFunction< TImage >
static GenericImageGradientFunctionNew (enum InterpolationMode, const TImage *=NULL)
 Construct interpolator with default infinite extension of input image.
 
static GenericImageGradientFunctionNew (enum InterpolationMode, enum ExtrapolationMode, const TImage *=NULL)
 
- Static Public Member Functions inherited from mirtk::ImageGradientFunction
static ImageGradientFunctionNew (enum InterpolationMode, const BaseImage *=NULL)
 Construct image gradient function with default infinite extension of input image.
 
static ImageGradientFunctionNew (enum InterpolationMode, enum ExtrapolationMode, const BaseImage *=NULL)
 
- Static Public Member Functions inherited from mirtk::Object
static const char * NameOfType ()
 Get name of this class type.
 
- Protected Member Functions inherited from mirtk::GenericImageGradientFunction< TImage >
 GenericImageGradientFunction ()
 Default constructor.
 
- Protected Member Functions inherited from mirtk::ImageGradientFunction
 ImageGradientFunction ()
 Default constructor.
 
void ImageGradientToWorld (GradientType &) const
 Orient and scale image gradient by world to image matrix.
 
- Protected Member Functions inherited from mirtk::Object
template<typename... Args>
void Throw (ErrorType err, const char *func, Args... args) const
 
- Static Protected Member Functions inherited from mirtk::Object
template<typename... Args>
static void ThrowStatic (ErrorType err, const char *cls, const char *func, Args... args)
 
- Protected Attributes inherited from mirtk::ImageGradientFunction
ExtrapolateImageFunction_InfiniteInput
 
bool _InfiniteInputOwner
 Whether infinite discrete image was instantiated by this image function.
 
BaseImage_Input
 Input image for filter.
 
Matrix _Orientation
 Image orientation matrix.
 
GradientType _VoxelSize
 Image resolution.
 
double _x1
 

Detailed Description

template<class TImage>
class mirtk::GenericFastLinearImageGradientFunction2D< TImage >

Fast linear interpolation of generic 2D image gradient

Definition at line 33 of file FastLinearImageGradientFunction2D.h.

Member Function Documentation

§ Get() [1/2]

template<class TImage >
GenericFastLinearImageGradientFunction2D< TImage >::GradientType mirtk::GenericFastLinearImageGradientFunction2D< TImage >::Get ( double  x,
double  y,
double  z = 0,
double  t = 0 
) const
inlinevirtual

Get gradient of given image at arbitrary location (in pixels)

This function is used to interpolate the image value at arbitrary locations when no extrapolator was set.

Reimplemented from mirtk::GenericFastLinearImageGradientFunction< TImage >.

Definition at line 42 of file FastLinearImageGradientFunction2D.hxx.

§ Get() [2/2]

template<class TImage >
template<class TOtherImage >
GenericFastLinearImageGradientFunction2D< TImage >::GradientType mirtk::GenericFastLinearImageGradientFunction2D< TImage >::Get ( const TOtherImage *  input,
double  x,
double  y,
double  z = 0,
double  t = 0 
) const
inline

Get gradient of given image at arbitrary location (in pixels)

If the location is inside the finite domain of the image, an actual image instance can be passed as first argument directly such as an instance of GenericImage. Otherwise, an image function which extends the finite image domain to an infinite lattice is needed, i.e., an instance of a subclass of ExtrapolateImageFunction.

Definition at line 60 of file FastLinearImageGradientFunction2D.hxx.

§ GetInside()

template<class TImage >
GenericFastLinearImageGradientFunction2D< TImage >::GradientType mirtk::GenericFastLinearImageGradientFunction2D< TImage >::GetInside ( double  x,
double  y,
double  z = 0,
double  t = 0 
) const
inlinevirtual

Evaluate image gradient without handling boundary conditions

This version is faster than EvaluateOutside, but is only defined inside the domain for which all image values required for interpolation are defined and thus require no extrapolation of the finite image.

Reimplemented from mirtk::GenericFastLinearImageGradientFunction< TImage >.

Definition at line 78 of file FastLinearImageGradientFunction2D.hxx.

§ GetWithPadding() [1/2]

template<class TImage >
GenericFastLinearImageGradientFunction2D< TImage >::GradientType mirtk::GenericFastLinearImageGradientFunction2D< TImage >::GetWithPadding ( double  x,
double  y,
double  z = 0,
double  t = 0 
) const
inlinevirtual

Get gradient of given image at arbitrary location (in pixels)

This function is used to only interpolate foreground image values. If fully outside the foreground region, the _DefaultValue is returned.

Reimplemented from mirtk::GenericFastLinearImageGradientFunction< TImage >.

Definition at line 51 of file FastLinearImageGradientFunction2D.hxx.

§ GetWithPadding() [2/2]

template<class TImage >
template<class TOtherImage >
GenericFastLinearImageGradientFunction2D< TImage >::GradientType mirtk::GenericFastLinearImageGradientFunction2D< TImage >::GetWithPadding ( const TOtherImage *  input,
double  x,
double  y,
double  z = 0,
double  t = 0 
) const
inline

Get gradient of given image at arbitrary location (in pixels)

This function is used to only interpolate foreground image values. If fully outside the foreground region, the _DefaultValue is returned.

If the location is inside the finite domain of the image, an actual image instance can be passed as first argument directly such as an instance of GenericImage. Otherwise, an image function which extends the finite image domain to an infinite lattice is needed, i.e., an instance of a subclass of ExtrapolateImageFunction.

Definition at line 69 of file FastLinearImageGradientFunction2D.hxx.

§ GetWithPaddingInside()

template<class TImage >
GenericFastLinearImageGradientFunction2D< TImage >::GradientType mirtk::GenericFastLinearImageGradientFunction2D< TImage >::GetWithPaddingInside ( double  x,
double  y,
double  z = 0,
double  t = 0 
) const
inlinevirtual

Evaluate image gradient without handling boundary conditions

If the location is partially inside the foreground region of the image, only the foreground values are interpolated. Otherwise, the _DefaultValue is returned.

This version is faster than GetWithPaddingOutside, but is only defined inside the domain for which all image values required for interpolation are defined and thus require no extrapolation of the finite image.

Reimplemented from mirtk::GenericFastLinearImageGradientFunction< TImage >.

Definition at line 100 of file FastLinearImageGradientFunction2D.hxx.

§ GetWithPaddingOutside()

template<class TImage >
GenericFastLinearImageGradientFunction2D< TImage >::GradientType mirtk::GenericFastLinearImageGradientFunction2D< TImage >::GetWithPaddingOutside ( double  x,
double  y,
double  z = 0,
double  t = 0 
) const
inlinevirtual

Evaluate image gradient at an arbitrary location (in pixels)

If the location is partially inside the foreground region of the image, only the foreground values are interpolated. Otherwise, the _DefaultValue is returned.

Reimplemented from mirtk::GenericFastLinearImageGradientFunction< TImage >.

Definition at line 109 of file FastLinearImageGradientFunction2D.hxx.


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