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

#include <CSplineInterpolateImageFunction4D.h>

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

Public Member Functions

 GenericCSplineInterpolateImageFunction4D ()
 Default constructor.
 
VoxelType Get (double, double, double, double) const
 
template<class TOtherImage >
TOtherImage::VoxelType Get (const TOtherImage *, double, double, double, double) const
 
virtual VoxelType GetInside (double, double, double, double) const
 
virtual VoxelType GetOutside (double, double, double, double) const
 Evaluate generic image at an arbitrary location (in pixels)
 
VoxelType GetWithPadding (double, double, double, double) const
 
template<class TOtherImage >
TOtherImage::VoxelType GetWithPadding (const TOtherImage *, double, double, double, double) const
 
virtual VoxelType GetWithPaddingInside (double, double, double, double) const
 
virtual VoxelType GetWithPaddingOutside (double, double, double, double) const
 
- Public Member Functions inherited from mirtk::GenericCSplineInterpolateImageFunction< TImage >
virtual void BoundingInterval (double, int &, int &) const
 
 GenericCSplineInterpolateImageFunction ()
 Default constructor.
 
VoxelType Get (double, double, double=0, double=0) const
 
template<class TOtherImage >
TOtherImage::VoxelType Get (const TOtherImage *, double, double, double=0, double=0) const
 
VoxelType Get2D (double, double, double=0, double=0) const
 
template<class TOtherImage >
TOtherImage::VoxelType Get2D (const TOtherImage *, double, double, double=0, double=0) const
 
VoxelType Get3D (double, double, double=0, double=0) const
 
template<class TOtherImage >
TOtherImage::VoxelType Get3D (const TOtherImage *, double, double, double=0, double=0) const
 
VoxelType Get4D (double, double, double=0, double=0) const
 
template<class TOtherImage >
TOtherImage::VoxelType Get4D (const TOtherImage *, double, double, double=0, double=0) const
 
template<class TOtherImage >
TOtherImage::VoxelType GetWithPadding (const TOtherImage *, double, double, double=0, double=0) const
 
VoxelType GetWithPadding2D (double, double, double=0, double=0) const
 
template<class TOtherImage >
TOtherImage::VoxelType GetWithPadding2D (const TOtherImage *, double, double, double=0, double=0) const
 
VoxelType GetWithPadding3D (double, double, double=0, double=0) const
 
template<class TOtherImage >
TOtherImage::VoxelType GetWithPadding3D (const TOtherImage *, double, double, double=0, double=0) const
 
VoxelType GetWithPadding4D (double, double, double=0, double=0) const
 
template<class TOtherImage >
TOtherImage::VoxelType GetWithPadding4D (const TOtherImage *, double, double, double=0, double=0) const
 
virtual void Initialize (bool=false)
 Initialize interpolation function.
 
virtual ~GenericCSplineInterpolateImageFunction ()
 Destructor.
 
- Public Member Functions inherited from mirtk::GenericInterpolateImageFunction< TImage >
virtual double EvaluateInside (double, double, double=0, double=0) const
 
virtual void EvaluateInside (double *, double, double, double=0, int=1) const
 
virtual void EvaluateInside (Vector &, double, double, double=0, double=0) const
 
virtual double EvaluateOutside (double, double, double=0, double=0) const
 Evaluate scalar image at an arbitrary location (in pixels)
 
virtual void EvaluateOutside (double *, double, double, double=0, int=1) const
 Evaluate multi-channel image at an arbitrary location (in pixels)
 
virtual void EvaluateOutside (Vector &, double, double, double=0, double=0) const
 Evaluate vector image at an arbitrary location (in pixels)
 
virtual double EvaluateWithPaddingInside (double, double, double=0, double=0) const
 
virtual void EvaluateWithPaddingInside (double *, double, double, double=0, int=1) const
 
virtual void EvaluateWithPaddingInside (Vector &, double, double, double=0, double=0) const
 
virtual double EvaluateWithPaddingOutside (double, double, double=0, double=0) const
 
virtual void EvaluateWithPaddingOutside (double *, double, double, double=0, int=1) const
 
virtual void EvaluateWithPaddingOutside (Vector &, double, double, double=0, double=0) const
 
virtual void Extrapolator (ExtrapolateImageFunction *, bool=false)
 Set extrapolate image function for evaluation outside of image domain.
 
ExtrapolatorTypeExtrapolator ()
 
const ExtrapolatorTypeExtrapolator () const
 
VoxelType Get (double, double, double=0, double=0) const
 
VoxelType GetWithPadding (double, double, double=0, double=0) 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.
 
VoxelType operator() (double, double, double=0, double=0) const
 Evaluate generic image at an arbitrary location (in pixels)
 
virtual ~GenericInterpolateImageFunction ()
 Destructor.
 
- Public Member Functions inherited from mirtk::InterpolateImageFunction
const ImageAttributesAttributes () const
 Lattice attributes.
 
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.
 
double Evaluate (double, double, double=0, double=0) const
 
double Evaluate (const Point &, double=0) const
 
double Evaluate (double, double, double=0, double=0)
 
void Evaluate (double *, double, double, double=0, int=1) const
 
void Evaluate (double *, const Point &, int=1) const
 
void Evaluate (Vector &, double, double, double=0, double=0) const
 
template<class TVoxel >
void Evaluate (GenericImage< TVoxel > &) const
 Evaluate image function at all locations of the output image.
 
void EvaluateJacobian (Matrix &, double, double, double=0, double=NaN) const
 
virtual void EvaluateJacobianInside (Matrix &, double, double, double=0, double=NaN) const
 
virtual void EvaluateJacobianOutside (Matrix &, double, double, double=0, double=NaN) const
 
void EvaluateJacobianWithPadding (Matrix &, double, double, double=0, double=NaN) const
 
virtual void EvaluateJacobianWithPaddingInside (Matrix &, double, double, double=0, double=NaN) const
 
virtual void EvaluateJacobianWithPaddingOutside (Matrix &, double, double, double=0, double=NaN) const
 
double EvaluateWithPadding (double, double, double=0, double=0) const
 
void EvaluateWithPadding (double *, double, double, double=0, int=1) const
 
void EvaluateWithPadding (Vector &, double, double, double=0, double=0) const
 
enum ExtrapolationMode ExtrapolationMode () const
 Get extrapolation mode used by this interpolator.
 
ExtrapolateImageFunctionExtrapolator ()
 
const ExtrapolateImageFunctionExtrapolator () const
 
void ImageToWorld (double &, double &) const
 Convert image location (in pixels) to world coordinates (in mm)
 
void ImageToWorld (double &, double &, double &) const
 Convert image location (in pixels) to world coordinates (in mm)
 
void ImageToWorld (Point &) const
 Convert image location (in pixels) to world coordinates (in mm)
 
void ImageToWorld (Vector3 &) const
 Convert image vector (in pixels) to world coordinates (in mm)
 
virtual void Initialize ()
 
void Input (const BaseImage *)
 Set input image.
 
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 interpolator.
 
bool IsForeground (double, double) const
 
bool IsForeground (double, double, double) const
 
bool IsForeground (double, double, double, double) const
 
bool IsForeground (const Point &) const
 
bool IsForeground (const Point &, double) const
 
bool IsInside (double, double) const
 
bool IsInside (double, double, double) const
 
bool IsInside (double, double, double, double) const
 
bool IsInside (const Point &) const
 
bool IsInside (const Point &, double) const
 
bool IsOutside (double, double) const
 
bool IsOutside (double, double, double) const
 
bool IsOutside (double, double, double, double) const
 
bool IsOutside (const Point &) const
 
bool IsOutside (const Point &, double) const
 
int T () const
 Image size along t axis.
 
double TSize () const
 Image spacing along t axis.
 
virtual void Update ()
 
void WorldToImage (double &, double &) const
 Convert world coordinates (in mm) to image location (in pixels)
 
void WorldToImage (double &, double &, double &) const
 Convert world coordinates (in mm) to image location (in pixels)
 
void WorldToImage (Point &) const
 Convert world coordinates (in mm) to image location (in pixels)
 
void WorldToImage (Vector3 &) const
 Convert world coordinates vector (in mm) to image vector (in pixels)
 
int X () const
 Image size along x axis.
 
double XSize () const
 Image spacing along x axis.
 
int Y () const
 Image size along y axis.
 
double YSize () const
 Image spacing along y axis.
 
int Z () const
 Image size along z axis.
 
double ZSize () const
 Image spacing along z axis.
 
virtual ~InterpolateImageFunction ()
 Destructor.
 
- Public Member Functions inherited from mirtk::ImageFunction
virtual ~ImageFunction ()
 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

- Static Public Member Functions inherited from mirtk::GenericInterpolateImageFunction< TImage >
static GenericInterpolateImageFunctionNew (enum InterpolationMode=Interpolation_Default, const TImage *=NULL)
 Construct interpolator with default infinite extension of input image.
 
static GenericInterpolateImageFunctionNew (enum InterpolationMode, enum ExtrapolationMode, const TImage *=NULL)
 
- Static Public Member Functions inherited from mirtk::InterpolateImageFunction
static InterpolateImageFunctionNew (enum InterpolationMode=Interpolation_Default, const BaseImage *=NULL)
 Construct interpolator with default infinite extension of input image.
 
static InterpolateImageFunctionNew (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::GenericInterpolateImageFunction< TImage >
 GenericInterpolateImageFunction ()
 Default constructor.
 
- Protected Member Functions inherited from mirtk::InterpolateImageFunction
 InterpolateImageFunction ()
 Default constructor.
 
- Protected Member Functions inherited from mirtk::ImageFunction
 ImageFunction ()
 Default constructor.
 
 ImageFunction (const ImageFunction &)
 Copy constructor.
 
- 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::GenericCSplineInterpolateImageFunction< TImage >
static Real CSpline (Real)
 Cubic spline function.
 
- 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::InterpolateImageFunction
ExtrapolateImageFunction_InfiniteInput
 
bool _InfiniteInputOwner
 Whether infinite discrete image was instantiated by this image function.
 
double _x1
 

Detailed Description

template<class TImage>
class mirtk::GenericCSplineInterpolateImageFunction4D< TImage >

Cubic spline interpolation of generic 4D image

Definition at line 33 of file CSplineInterpolateImageFunction4D.h.

Member Function Documentation

§ Get() [1/2]

template<class TImage >
GenericCSplineInterpolateImageFunction4D< TImage >::VoxelType mirtk::GenericCSplineInterpolateImageFunction4D< TImage >::Get ( double  x,
double  y,
double  z,
double  t 
) const
inline

Get value 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.

Definition at line 42 of file CSplineInterpolateImageFunction4D.hxx.

§ Get() [2/2]

template<class TImage >
template<class TOtherImage >
TOtherImage::VoxelType mirtk::GenericCSplineInterpolateImageFunction4D< TImage >::Get ( const TOtherImage *  input,
double  x,
double  y,
double  z,
double  t 
) const
inline

Get value 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 CSplineInterpolateImageFunction4D.hxx.

§ GetInside()

template<class TImage >
GenericCSplineInterpolateImageFunction4D< TImage >::VoxelType mirtk::GenericCSplineInterpolateImageFunction4D< TImage >::GetInside ( double  x,
double  y,
double  z,
double  t 
) const
inlinevirtual

Evaluate generic image 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::GenericCSplineInterpolateImageFunction< TImage >.

Definition at line 78 of file CSplineInterpolateImageFunction4D.hxx.

§ GetWithPadding() [1/2]

template<class TImage >
GenericCSplineInterpolateImageFunction4D< TImage >::VoxelType mirtk::GenericCSplineInterpolateImageFunction4D< TImage >::GetWithPadding ( double  x,
double  y,
double  z,
double  t 
) const
inlinevirtual

Get value 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::GenericCSplineInterpolateImageFunction< TImage >.

Definition at line 51 of file CSplineInterpolateImageFunction4D.hxx.

§ GetWithPadding() [2/2]

template<class TImage >
template<class TOtherImage >
TOtherImage::VoxelType mirtk::GenericCSplineInterpolateImageFunction4D< TImage >::GetWithPadding ( const TOtherImage *  input,
double  x,
double  y,
double  z,
double  t 
) const
inline

Get value 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 CSplineInterpolateImageFunction4D.hxx.

§ GetWithPaddingInside()

template<class TImage >
GenericCSplineInterpolateImageFunction4D< TImage >::VoxelType mirtk::GenericCSplineInterpolateImageFunction4D< TImage >::GetWithPaddingInside ( double  x,
double  y,
double  z,
double  t 
) const
inlinevirtual

Evaluate generic image 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::GenericCSplineInterpolateImageFunction< TImage >.

Definition at line 100 of file CSplineInterpolateImageFunction4D.hxx.

§ GetWithPaddingOutside()

template<class TImage >
GenericCSplineInterpolateImageFunction4D< TImage >::VoxelType mirtk::GenericCSplineInterpolateImageFunction4D< TImage >::GetWithPaddingOutside ( double  x,
double  y,
double  z,
double  t 
) const
inlinevirtual

Evaluate generic image 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::GenericCSplineInterpolateImageFunction< TImage >.

Definition at line 109 of file CSplineInterpolateImageFunction4D.hxx.


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