18 #ifndef sitkDiscreteGaussianDerivativeImageFilter_h
19 #define sitkDiscreteGaussianDerivativeImageFilter_h
77 SITK_RETURN_SELF_TYPE_HEADER
SetVariance (
const std::vector<double> & Variance ) { this->m_Variance = Variance;
return *
this; }
80 SITK_RETURN_SELF_TYPE_HEADER
SetVariance(
double value ) { this->m_Variance = std::vector<double>(3, value);
return *
this; }
86 std::vector<double>
GetVariance()
const {
return this->m_Variance; }
91 SITK_RETURN_SELF_TYPE_HEADER
SetOrder (
const std::vector<unsigned int> & Order ) { this->m_Order = Order;
return *
this; }
94 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; }
150 std::string
GetName()
const {
return std::string (
"DiscreteGaussianDerivativeImageFilter"); }
153 std::string ToString()
const;
161 Image Execute (
const Image& image1,
const std::vector<double> & variance,
const std::vector<unsigned int> & order,
unsigned int maximumKernelWidth,
double maximumError,
bool useImageSpacing,
bool normalizeAcrossScale );
168 template <
class TImageType>
Image ExecuteInternal (
const Image& image1 );
193 SITKBasicFilters_EXPORT Image DiscreteGaussianDerivative (
const Image& image1,
const std::vector<double> & variance = std::vector<double>(3, 0.0),
const 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 );