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 typedef Image (Self::*MemberFunctionType)(
const Image& image1 );
169 template <
class TImageType>
Image ExecuteInternal (
const Image& image1 );
196 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 );
Self & SetMaximumError(double MaximumError)
Self & SetVariance(double value)
#define SITKBasicFilters_EXPORT
std::string GetName() const
unsigned int m_MaximumKernelWidth
Self & NormalizeAcrossScaleOn()
std::vector< double > GetVariance() const
typelist::MakeTypeList< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t >, BasicPixelID< float >, BasicPixelID< double > >::Type BasicPixelIDTypeList
Self & SetNormalizeAcrossScale(bool NormalizeAcrossScale)
Self & SetMaximumKernelWidth(unsigned int MaximumKernelWidth)
bool GetNormalizeAcrossScale() const
std::vector< unsigned int > m_Order
Self & UseImageSpacingOff()
Self & NormalizeAcrossScaleOff()
bool m_NormalizeAcrossScale
DiscreteGaussianDerivativeImageFilter Self
std::vector< unsigned int > GetOrder() const
unsigned int GetMaximumKernelWidth() const
Calculates image derivatives using discrete derivative gaussian kernels. This filter calculates Gauss...
The main Image class for SimpleITK.
Self & UseImageSpacingOn()
double GetMaximumError() const
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)
Calculates image derivatives using discrete derivative gaussian kernels. This filter calculates Gauss...
Self & SetOrder(unsigned int value)
bool GetUseImageSpacing() const
BasicPixelIDTypeList PixelIDTypeList
std::vector< double > m_Variance
Self & SetUseImageSpacing(bool UseImageSpacing)
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > m_MemberFactory
Self & SetVariance(const std::vector< double > &Variance)
The base interface for SimpleITK filters that take one input image.
Self & SetOrder(const std::vector< unsigned int > &Order)