20 #ifndef MIRTK_SincInterpolateImageFunction_H 21 #define MIRTK_SincInterpolateImageFunction_H 23 #include "mirtk/InterpolateImageFunction.h" 24 #include "mirtk/BaseImage.h" 31 template <
class T>
class Sinc;
37 template <
class TImage>
41 mirtkGenericInterpolatorMacro(
85 VoxelType
Get2D(
double,
double,
double = 0,
double = 0)
const;
100 template <
class TOtherImage>
typename TOtherImage::VoxelType
101 Get2D(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
113 template <
class TOtherImage>
typename TOtherImage::VoxelType
114 GetWithPadding2D(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
120 VoxelType
Get3D(
double,
double,
double = 0,
double = 0)
const;
135 template <
class TOtherImage>
typename TOtherImage::VoxelType
136 Get3D(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
148 template <
class TOtherImage>
typename TOtherImage::VoxelType
149 GetWithPadding3D(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
155 VoxelType
Get4D(
double,
double,
double = 0,
double = 0)
const;
170 template <
class TOtherImage>
typename TOtherImage::VoxelType
171 Get4D(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
183 template <
class TOtherImage>
typename TOtherImage::VoxelType
184 GetWithPadding4D(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
190 VoxelType
Get(
double,
double,
double = 0,
double = 0)
const;
196 virtual VoxelType
GetWithPadding(
double,
double,
double = 0,
double = 0)
const;
205 template <
class TOtherImage>
typename TOtherImage::VoxelType
206 Get(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
218 template <
class TOtherImage>
typename TOtherImage::VoxelType
219 GetWithPadding(
const TOtherImage *,
double,
double,
double = 0,
double = 0)
const;
226 virtual VoxelType
GetInside(
double,
double,
double = 0,
double = 0)
const;
229 virtual VoxelType
GetOutside(
double,
double,
double = 0,
double = 0)
const;
270 #endif // MIRTK_SincInterpolateImageFunction_H GenericSincInterpolateImageFunction()
Default constructor.
VoxelType GetWithPadding2D(double, double, double=0, double=0) const
VoxelType Get4D(double, double, double=0, double=0) const
virtual void Initialize()
VoxelType GetWithPadding4D(double, double, double=0, double=0) const
SincInterpolateImageFunction()
Constructor.
virtual VoxelType GetWithPaddingInside(double, double, double=0, double=0) const
VoxelType Get2D(double, double, double=0, double=0) const
virtual VoxelType GetOutside(double, double, double=0, double=0) const
Evaluate generic image at an arbitrary location (in pixels)
Sinc< Real > Kernel
Sinc interpolation kernel function.
virtual VoxelType GetInside(double, double, double=0, double=0) const
mirtkPublicAttributeMacro(double, Epsilon)
Epsilon range within which to use nearest neighbor interpolation instead.
virtual VoxelType GetWithPadding(double, double, double=0, double=0) const
VoxelType Get(double, double, double=0, double=0) const
virtual VoxelType GetWithPaddingOutside(double, double, double=0, double=0) const
virtual void BoundingInterval(double, int &, int &) const
VoxelType GetWithPadding3D(double, double, double=0, double=0) const
VoxelType Get3D(double, double, double=0, double=0) const