18 #ifndef sitkDiscreteGaussianDerivativeImageFilter_h
19 #define sitkDiscreteGaussianDerivativeImageFilter_h
80 SITK_RETURN_SELF_TYPE_HEADER
SetVariance ( std::vector<double> Variance ) { this->m_Variance = std::move(Variance);
return *
this; }
83 SITK_RETURN_SELF_TYPE_HEADER
SetVariance(
double value ) { this->m_Variance = std::vector<double>(3, value);
return *
this; }
88 std::vector<double>
GetVariance()
const {
return this->m_Variance; }\
93 SITK_RETURN_SELF_TYPE_HEADER
SetOrder ( std::vector<unsigned int> Order ) { this->m_Order = std::move(Order);
return *
this; }
96 SITK_RETURN_SELF_TYPE_HEADER
SetOrder(
unsigned int value ) { this->m_Order = std::vector<unsigned int>(3, value);
return *
this; }
101 std::vector<unsigned int>
GetOrder()
const {
return this->m_Order; }\
106 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumKernelWidth (
unsigned int MaximumKernelWidth ) { this->m_MaximumKernelWidth = MaximumKernelWidth;
return *
this; }
116 SITK_RETURN_SELF_TYPE_HEADER
SetMaximumError (
double MaximumError ) { this->m_MaximumError = MaximumError;
return *
this; }
126 SITK_RETURN_SELF_TYPE_HEADER
SetUseImageSpacing (
bool UseImageSpacing ) { this->m_UseImageSpacing = UseImageSpacing;
return *
this; }
140 SITK_RETURN_SELF_TYPE_HEADER
SetNormalizeAcrossScale (
bool NormalizeAcrossScale ) { this->m_NormalizeAcrossScale = NormalizeAcrossScale;
return *
this; }
152 std::string
GetName()
const {
return std::string (
"DiscreteGaussianDerivativeImageFilter"); }
155 std::string ToString()
const;
167 template <
class TImageType>
Image ExecuteInternal (
const Image& image1 );
175 std::vector<double> m_Variance{std::vector<double>(3, 0.0)};
177 std::vector<unsigned int> m_Order{std::vector<unsigned int>(3, 1)};
179 unsigned int m_MaximumKernelWidth{32u};
181 double m_MaximumError{0.01};
183 bool m_UseImageSpacing{
true};
185 bool m_NormalizeAcrossScale{
false};
200 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 );