18 #ifndef __itkGaussianOperator_h
19 #define __itkGaussianOperator_h
65 template<
class TPixel,
unsigned int VDimension = 2,
66 class TAllocator = NeighborhoodAllocator< TPixel > >
92 Superclass::operator=(other);
101 void SetVariance(
const double & variance)
103 m_Variance = variance;
110 void SetMaximumError(
const double & max_error)
112 if ( max_error >= 1 || max_error <= 0 )
114 itkExceptionMacro(
"Maximum Error Must be in the range [ 0.0 , 1.0 ]");
117 m_MaximumError = max_error;
122 {
return m_Variance; }
128 double GetMaximumError()
129 {
return m_MaximumError; }
135 void SetMaximumKernelWidth(
unsigned int n)
136 { m_MaximumKernelWidth = n; }
139 unsigned int GetMaximumKernelWidth()
const
140 {
return m_MaximumKernelWidth; }
143 virtual void PrintSelf(std::ostream & os,
Indent i)
const
145 os << i <<
"GaussianOperator { this=" <<
this
146 <<
", m_Variance = " << m_Variance
147 <<
", m_MaximumError = " << m_MaximumError
148 <<
"} " << std::endl;
159 double ModifiedBesselI0(
double);
163 double ModifiedBesselI1(
double);
167 double ModifiedBesselI(
int,
double);
175 { this->FillCenteredDirectional(coeff); }
191 const char * GetNameOfClass()
192 {
return "itkGaussianOperator"; }
197 #define ITK_TEMPLATE_GaussianOperator(_, EXPORT, TypeX, TypeY) \
200 _( 2 ( class EXPORT GaussianOperator< ITK_TEMPLATE_2 TypeX > ) ) \
201 namespace Templates \
203 typedef GaussianOperator< ITK_TEMPLATE_2 TypeX > \
204 GaussianOperator##TypeY; \
208 #if ITK_TEMPLATE_EXPLICIT
209 #include "Templates/itkGaussianOperator+-.h"
213 #include "itkGaussianOperator.hxx"