20 #ifndef MIRTK_CubicBSplineConvolution_H 21 #define MIRTK_CubicBSplineConvolution_H 23 #include "mirtk/SeparableConvolution.h" 32 template <
class TVoxel>
73 virtual void KernelX(
const KernelType *) {}
74 virtual void KernelY(
const KernelType *) {}
75 virtual void KernelZ(
const KernelType *) {}
76 virtual void KernelT(
const KernelType *) {}
79 UniquePtr<KernelType> _BSplineKernel[4];
99 virtual void Radius(
double);
102 virtual void Radius(
double,
double,
double = 0.,
double = 0.);
112 #endif // MIRTK_CubicBSplineConvolution_H UniquePtr< KernelType > InitializeKernel(double)
Initialize 1D cubic B-spline kernel with radius given in voxel units.
virtual void Initialize()
Initialize filter.
virtual void Radius(double)
Set isotropic radius of spatial cubic B-spline support region.
SeparableConvolution< TVoxel >::KernelType KernelType
Type of convolution kernels.
CubicBSplineConvolution(double=2.)
Constructor.
static int KernelSize(double)
Kernel size used for a given radius (divided by voxel size)
mirtkAttributeMacro(double, RadiusX)
~CubicBSplineConvolution()
Destructor.