18 #ifndef sitkDiscreteGaussianImageFilter_h
19 #define sitkDiscreteGaussianImageFilter_h
77 SITK_RETURN_SELF_TYPE_HEADER
SetVariance ( std::vector<double> Variance ) { this->m_Variance = std::move(Variance);
return *
this; }
80 SITK_RETURN_SELF_TYPE_HEADER
SetVariance(
double value ) { this->m_Variance = std::vector<double>(3, value);
return *
this; }
85 std::vector<double>
GetVariance()
const {
return this->m_Variance; }\
90 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumKernelWidth (
unsigned int MaximumKernelWidth ) { this->m_MaximumKernelWidth = MaximumKernelWidth;
return *
this; }
99 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumError ( std::vector<double> MaximumError ) { this->m_MaximumError = std::move(MaximumError);
return *
this; }
102 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumError(
double value ) { this->m_MaximumError = std::vector<double>(3, value);
return *
this; }
112 SITK_RETURN_SELF_TYPE_HEADER
SetUseImageSpacing (
bool UseImageSpacing ) { this->m_UseImageSpacing = UseImageSpacing;
return *
this; }
124 std::string
GetName()
const {
return std::string (
"DiscreteGaussianImageFilter"); }
127 std::string ToString()
const;
139 template <
class TImageType>
Image ExecuteInternal (
const Image& image1 );
147 std::vector<double> m_Variance{std::vector<double>(3,1.0)};
149 unsigned int m_MaximumKernelWidth{32u};
151 std::vector<double> m_MaximumError{std::vector<double>(3, 0.01)};
153 bool m_UseImageSpacing{
true};
168 SITKBasicFilters_EXPORT Image DiscreteGaussian (
const Image& image1, std::vector<double> variance = std::vector<double>(3,1.0),
unsigned int maximumKernelWidth = 32u, std::vector<double> maximumError = std::vector<double>(3, 0.01),
bool useImageSpacing =
true );