21 #ifndef MIRTK_GaussianBlurring_H 22 #define MIRTK_GaussianBlurring_H 24 #include "mirtk/SeparableConvolution.h" 43 template <
class TVoxel>
68 virtual void KernelX(
const KernelType *) {}
69 virtual void KernelY(
const KernelType *) {}
70 virtual void KernelZ(
const KernelType *) {}
71 virtual void KernelT(
const KernelType *) {}
74 UniquePtr<KernelType> _GaussianKernel[4];
97 virtual void SetSigma(
double,
double,
double = 0.,
double = 0.);
107 #endif // MIRTK_GaussianBlurring_H SeparableConvolution< TVoxel >::KernelType KernelType
Type of convolution kernels.
UniquePtr< KernelType > InitializeKernel(double)
Initialize 1D Gaussian kernel with sigma given in voxel units.
virtual void Initialize()
Initialize filter.
static int KernelSize(double)
Kernel size used for a given sigma (divided by voxel size)
virtual void SetSigma(double)
Set sigma.
GaussianBlurring(double=1.)
Constructor.
~GaussianBlurring()
Destructor.
mirtkAttributeMacro(double, SigmaX)
Standard deviation of Gaussian kernel in x.