20 #ifndef MIRTK_SeparableConvolution_H 21 #define MIRTK_SeparableConvolution_H 23 #include "mirtk/GenericImage.h" 24 #include "mirtk/ImageToImage.h" 33 template <
class TVoxel,
class TKernel = RealPixel>
118 const KernelType *ky,
119 const KernelType *kz =
nullptr,
120 const KernelType *kt =
nullptr);
126 void Kernel(
const KernelType *);
151 #endif // MIRTK_SeparableConvolution_H ~SeparableConvolution()
Destructor.
virtual void Finalize()
Finalize filter.
virtual void RunT()
Convolve image along t only.
virtual void RunZ()
Convolve image along z only.
virtual void RunY()
Convolve image along y only.
virtual void Initialize()
Initialize filter.
mirtkPublicAggregateMacro(const KernelType, KernelX)
Convolution kernel along x axis.
GenericImage< TKernel > KernelType
Type of convolution kernel.
virtual void RunX()
Convolve image along x only.
bool CheckKernel(const KernelType *) const
Check if given kernel is valid.
mirtkPublicAttributeMacro(bool, Normalize)
Whether to normalize kernels.
void Kernel(const KernelType *)
Set isotropic convolution kernel for all dimensions.
virtual void Run()
Convolve image.
SeparableConvolution(const KernelType *k=nullptr)