52 #ifndef __PCL_LinearFilter_h
53 #define __PCL_LinearFilter_h
101 Initialize( v0, v1 );
136 return m_centralValue;
151 void Set(
float v0,
float v1 )
153 Initialize( v0, v1 );
162 Initialize( m_centralValue, v1 );
172 Initialize( m_centralValue, m_outerValue );
177 float m_centralValue = 1.0F;
178 float m_outerValue = 0.01F;
180 void Initialize(
float v0,
float v1 )
184 float* h = *coefficients;
187 int n2 = Size() >> 1;
188 float dvn2 = (v1 - v0)/n2;
189 for (
int y = -n2; y <= n2; ++y )
190 for (
int x = -n2; x <= n2; ++x )
191 *h++ = v0 +
Sqrt(
float( x*x + y*y ) ) * dvn2;
Kernel filter in two dimensions.
virtual void Resize(int n)
A kernel filter that follows a discrete linear distribution with radial symmetry in two dimensions.
KernelFilter * Clone() const override
LinearFilter(int n, float v0=1.0F, float v1=0.01F, const String &name=String())
LinearFilter(LinearFilter &&)=default
void Resize(int n) override
LinearFilter(const LinearFilter &)=default
float CentralValue() const
void Set(float v0, float v1)
Complex< T > Sqrt(const Complex< T > &c) noexcept