18 #ifndef itkDiscreteGaussianImageFilter_h
19 #define itkDiscreteGaussianImageFilter_h
61 template<
typename TInputImage,
typename TOutputImage >
97 static constexpr
unsigned int ImageDimension = TOutputImage::ImageDimension;
109 itkGetConstMacro(Variance,
const ArrayType);
116 itkGetConstMacro(MaximumError,
const ArrayType);
121 itkGetConstMacro(MaximumKernelWidth,
int);
122 itkSetMacro(MaximumKernelWidth,
int);
130 itkGetConstMacro(FilterDimensionality,
unsigned int);
131 itkSetMacro(FilterDimensionality,
unsigned int);
145 m_MaximumError.Fill(v);
153 for (
unsigned int i = 0; i < ImageDimension; i++ )
157 this->SetVariance(dv);
164 for (
unsigned int i = 0; i < ImageDimension; i++ )
168 this->SetVariance(dv);
175 for (
unsigned int i = 0; i < ImageDimension; i++ )
179 this->SetMaximumError(dv);
186 for (
unsigned int i = 0; i < ImageDimension; i++ )
190 this->SetMaximumError(dv);
197 { this->SetUseImageSpacing(
true); }
202 { this->SetUseImageSpacing(
false); }
206 itkSetMacro(UseImageSpacing,
bool);
207 itkGetConstMacro(UseImageSpacing,
bool);
219 itkLegacyMacro(
unsigned int GetInternalNumberOfStreamDivisions()
const);
220 itkLegacyMacro(
void SetInternalNumberOfStreamDivisions(
unsigned int));
228 void GenerateInputRequestedRegion()
override;
230 #ifdef ITK_USE_CONCEPT_CHECKING
242 m_Variance.Fill(0.0);
243 m_MaximumError.Fill(0.01);
244 m_MaximumKernelWidth = 32;
245 m_UseImageSpacing =
true;
246 m_FilterDimensionality = ImageDimension;
250 void PrintSelf(std::ostream & os,
Indent indent)
const override;
257 void GenerateData()
override;
282 #ifndef ITK_MANUAL_INSTANTIATION
283 #include "itkDiscreteGaussianImageFilter.hxx"
void SetUseImageSpacingOn()
typename TInputImage::InternalPixelType InputInternalPixelType
void SetVariance(const double *v)
Define numeric traits for std::vector.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Base class for all process objects that output image data.
typename TOutputImage::PixelType OutputPixelType
TInputImage InputImageType
void SetVariance(const typename ArrayType::ValueType v)
typename TInputImage::PixelType InputPixelType
typename NumericTraits< InputPixelType >::ValueType InputPixelValueType
DiscreteGaussianImageFilter()
typename NumericTraits< OutputPixelType >::ValueType OutputPixelValueType
TOutputImage OutputImageType
void SetMaximumError(const float *v)
void SetUseImageSpacingOff()
void SetMaximumError(const double *v)
void SetVariance(const float *v)
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
typename TOutputImage::InternalPixelType OutputInternalPixelType
#define itkConceptMacro(name, concept)
Blurs an image by separable convolution with discrete gaussian kernels. This filter performs Gaussian...
unsigned int m_FilterDimensionality
void SetMaximumError(const typename ArrayType::ValueType v)