PCL
pcl::LinearFilter Class Reference

A kernel filter that follows a discrete linear distribution with radial symmetry in two dimensions. More...

#include <LinearFilter.h>

+ Inheritance diagram for pcl::LinearFilter:

Public Member Functions

 LinearFilter ()=default
 
 LinearFilter (const LinearFilter &)=default
 
 LinearFilter (int n, float v0=1.0F, float v1=0.01F, const String &name=String())
 
 LinearFilter (LinearFilter &&)=default
 
float CentralValue () const
 
KernelFilterClone () const override
 
LinearFilteroperator= (const LinearFilter &)=default
 
LinearFilteroperator= (LinearFilter &&)=default
 
float OuterValue () const
 
void Resize (int n) override
 
void Set (float v0, float v1)
 
void Set (float v1)
 
- Public Member Functions inherited from pcl::KernelFilter
 KernelFilter (const coefficient_matrix &F, const String &name=String())
 
 KernelFilter (const KernelFilter &)=default
 
 KernelFilter (const String &name=String())
 
template<typename T >
 KernelFilter (const T *k, int n, const String &name=String())
 
 KernelFilter (int n, const String &name=String())
 
template<typename T >
 KernelFilter (int n, const T &x, const String &name=String())
 
 KernelFilter (KernelFilter &&)=default
 
virtual ~KernelFilter ()
 
virtual SeparableFilter AsSeparableFilter (float tolerance=__PCL_DEFAULT_FILTER_SEPARABILITY_TOLERANCE) const
 
const coefficientBegin () const
 
const coefficientbegin () const
 
virtual void Clear ()
 
coefficient_matrix Coefficients () const
 
const coefficientEnd () const
 
const coefficientend () const
 
void Flip ()
 
KernelFilter Flipped () const
 
bool IsEmpty () const
 
bool IsFlipped () const
 
bool IsHighPassFilter () const
 
virtual bool IsSeparable () const
 
double Modulus () const
 
String Name () const
 
void Normalize ()
 
KernelFilter Normalized () const
 
int NumberOfCoefficients () const
 
 operator bool () const
 
KernelFilteroperator= (const coefficient &x)
 
KernelFilteroperator= (const coefficient_matrix &F)
 
KernelFilteroperator= (const KernelFilter &)=default
 
KernelFilteroperator= (KernelFilter &&)=default
 
bool operator== (const KernelFilter &f) const
 
const coefficientoperator[] (int row) const
 
virtual void Rename (const String &newName)
 
bool SameCoefficients (const KernelFilter &f) const
 
int Size () const
 
template<class P >
void ToImage (GenericImage< P > &image) const
 
void ToImage (ImageVariant &v) const
 
double Weight () const
 

Additional Inherited Members

- Public Types inherited from pcl::KernelFilter
using coefficient = float
 
using coefficient_matrix = GenericMatrix< coefficient >
 

Detailed Description

A LinearFilter object is a KernelFilter whose elements are calculated following a radial linear gradient function controlled by the following parameters:

size Odd filter size in pixels (size >= 3).
centralValue Value of the central filter element.
outerValue Value of outer (radial) elements.
See also
KernelFilter, GaussianFilter, MoffatFilter, VariableShapeFilter

Definition at line 83 of file LinearFilter.h.

Constructor & Destructor Documentation

◆ LinearFilter() [1/4]

pcl::LinearFilter::LinearFilter ( )
default

Constructs an empty LinearFilter object with default functional parameters: size=5, centralValue=1, outerValue=0.01.

◆ LinearFilter() [2/4]

pcl::LinearFilter::LinearFilter ( int  n,
float  v0 = 1.0F,
float  v1 = 0.01F,
const String name = String() 
)
inline

Constructs a LinearFilter object given the odd filter size n >= 3, central value v0, and outer value v1. Assigns an optional name to the new filter object.

Definition at line 98 of file LinearFilter.h.

◆ LinearFilter() [3/4]

pcl::LinearFilter::LinearFilter ( const LinearFilter )
default

Copy constructor.

◆ LinearFilter() [4/4]

pcl::LinearFilter::LinearFilter ( LinearFilter &&  )
default

Move constructor.

Member Function Documentation

◆ CentralValue()

float pcl::LinearFilter::CentralValue ( ) const
inline

Returns the central filter coefficient value.

Definition at line 134 of file LinearFilter.h.

◆ Clone()

KernelFilter* pcl::LinearFilter::Clone ( ) const
inlineoverridevirtual

Returns a pointer to a dynamically allocated duplicate of this kernel filter.

Note
All derived classes from KernelFilter must reimplement this virtual member function.

Reimplemented from pcl::KernelFilter.

Definition at line 116 of file LinearFilter.h.

◆ operator=() [1/2]

LinearFilter& pcl::LinearFilter::operator= ( const LinearFilter )
default

Copy assignment operator. Returns a reference to this object.

◆ operator=() [2/2]

LinearFilter& pcl::LinearFilter::operator= ( LinearFilter &&  )
default

Move assignment operator. Returns a reference to this object.

◆ OuterValue()

float pcl::LinearFilter::OuterValue ( ) const
inline

Returns the outer filter coefficient value.

Definition at line 142 of file LinearFilter.h.

◆ Resize()

void pcl::LinearFilter::Resize ( int  n)
inlineoverridevirtual

Recalculates filter coefficients for the given kernel size n >= 3. The current central and outer coefficient values are not varied.

Reimplemented from pcl::KernelFilter.

Definition at line 169 of file LinearFilter.h.

References pcl::KernelFilter::Resize().

◆ Set() [1/2]

void pcl::LinearFilter::Set ( float  v0,
float  v1 
)
inline

Recalculates filter coefficients for the specified central and outer coefficient values, v0 and v1, respectively.

Definition at line 151 of file LinearFilter.h.

◆ Set() [2/2]

void pcl::LinearFilter::Set ( float  v1)
inline

Recalculates filter coefficients for the specified outer coefficient value v1. The current central coefficient value is not varied.

Definition at line 160 of file LinearFilter.h.


The documentation for this class was generated from the following file: