18 #ifndef sitkDiscreteGaussianDerivativeImageFilter_h
19 #define sitkDiscreteGaussianDerivativeImageFilter_h
79 SITK_RETURN_SELF_TYPE_HEADER
SetVariance ( std::vector<double> Variance ) { this->m_Variance = std::move(Variance);
return *
this; }
82 SITK_RETURN_SELF_TYPE_HEADER
SetVariance(
double value ) { this->m_Variance = std::vector<double>(3, value);
return *
this; }
87 std::vector<double>
GetVariance()
const {
return this->m_Variance; }\
92 SITK_RETURN_SELF_TYPE_HEADER
SetOrder ( std::vector<unsigned int> Order ) { this->m_Order = std::move(Order);
return *
this; }
95 SITK_RETURN_SELF_TYPE_HEADER
SetOrder(
unsigned int value ) { this->m_Order = std::vector<unsigned int>(3, value);
return *
this; }
100 std::vector<unsigned int>
GetOrder()
const {
return this->m_Order; }\
105 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumKernelWidth (
unsigned int MaximumKernelWidth ) { this->m_MaximumKernelWidth = MaximumKernelWidth;
return *
this; }
115 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumError (
double MaximumError ) { this->m_MaximumError = MaximumError;
return *
this; }
125 SITK_RETURN_SELF_TYPE_HEADER
SetUseImageSpacing (
bool UseImageSpacing ) { this->m_UseImageSpacing = UseImageSpacing;
return *
this; }
139 SITK_RETURN_SELF_TYPE_HEADER
SetNormalizeAcrossScale (
bool NormalizeAcrossScale ) { this->m_NormalizeAcrossScale = NormalizeAcrossScale;
return *
this; }
151 std::string
GetName()
const {
return std::string (
"DiscreteGaussianDerivativeImageFilter"); }
154 std::string ToString()
const;
166 template <
class TImageType>
Image ExecuteInternal (
const Image& image1 );
174 std::vector<double> m_Variance{std::vector<double>(3, 0.0)};
176 std::vector<unsigned int> m_Order{std::vector<unsigned int>(3, 1)};
178 unsigned int m_MaximumKernelWidth{32u};
180 double m_MaximumError{0.01};
182 bool m_UseImageSpacing{
true};
184 bool m_NormalizeAcrossScale{
false};
199 SITKBasicFilters_EXPORT Image DiscreteGaussianDerivative (
const Image& image1, std::vector<double> variance = std::vector<double>(3, 0.0), std::vector<unsigned int> order = std::vector<unsigned int>(3, 1),
unsigned int maximumKernelWidth = 32u,
double maximumError = 0.01,
bool useImageSpacing =
true,
bool normalizeAcrossScale =
false );