PCL
pcl::ATrousWaveletTransform::WaveletScalingFunction Struct Reference

The scaling function of a wavelet transform. More...

#include <ATrousWaveletTransform.h>

Public Member Functions

 WaveletScalingFunction ()=default
 
 WaveletScalingFunction (const KernelFilter &f)
 
 WaveletScalingFunction (const SeparableFilter &f)
 
 WaveletScalingFunction (const WaveletScalingFunction &s)
 
 WaveletScalingFunction (WaveletScalingFunction &&s)
 
virtual ~WaveletScalingFunction ()
 
void Clear ()
 
bool IsNonseparable () const
 
bool IsSeparable () const
 
bool IsValid () const
 
WaveletScalingFunctionoperator= (const WaveletScalingFunction &s)
 
WaveletScalingFunctionoperator= (WaveletScalingFunction &&)=default
 
bool operator== (const WaveletScalingFunction &other) const
 
void Set (const KernelFilter &f)
 
void Set (const SeparableFilter &f)
 

Public Attributes

AutoPointer< KernelFilterkernelFilter
 Non-separable kernel filter.
 
AutoPointer< SeparableFilterseparableFilter
 Separable filter.
 

Detailed Description

A wavelet scaling function can be either a non-separable kernel filter, implemented as the KernelFilter class, or a separable filter implemented as SeparableFilter.

Separable filters should be better in terms of performance, since separable convolution has O(N) complexity, as opposed to O(N^2) for non-separable convolution. However, in current PCL versions separable convolutions are only faster for relatively large filter sizes as a resut of vectorization with SIMD processor instructions. See the SeparableConvolution class and the HelperFunctions for Selection of Convolution Algorithms" section for more information.

See also
KernelFilter, SeparableFilter

Definition at line 160 of file ATrousWaveletTransform.h.

Constructor & Destructor Documentation

◆ WaveletScalingFunction() [1/5]

pcl::ATrousWaveletTransform::WaveletScalingFunction::WaveletScalingFunction ( )
default

Default constructor. Constructs an uninitialized instance.

◆ WaveletScalingFunction() [2/5]

pcl::ATrousWaveletTransform::WaveletScalingFunction::WaveletScalingFunction ( const KernelFilter f)
inline

Non-separable filter constructor. The scaling function will own a duplicate of the specified kernel filter.

Definition at line 174 of file ATrousWaveletTransform.h.

References pcl::KernelFilter::Clone(), and pcl::AutoPointer< T, D >::IsNull().

◆ WaveletScalingFunction() [3/5]

pcl::ATrousWaveletTransform::WaveletScalingFunction::WaveletScalingFunction ( const SeparableFilter f)
inline

Separable filter constructor. The scaling function will own a duplicate of the specified separable filter.

Definition at line 184 of file ATrousWaveletTransform.h.

References pcl::SeparableFilter::Clone(), and pcl::AutoPointer< T, D >::IsNull().

◆ WaveletScalingFunction() [4/5]

pcl::ATrousWaveletTransform::WaveletScalingFunction::WaveletScalingFunction ( const WaveletScalingFunction s)
inline

Copy constructor. The scaling function will own a duplicate of the kernel or separable filter in the source object.

Definition at line 194 of file ATrousWaveletTransform.h.

References pcl::AutoPointer< T, D >::IsNull(), kernelFilter, and separableFilter.

◆ WaveletScalingFunction() [5/5]

pcl::ATrousWaveletTransform::WaveletScalingFunction::WaveletScalingFunction ( WaveletScalingFunction &&  s)
inline

Move constructor.

Definition at line 211 of file ATrousWaveletTransform.h.

◆ ~WaveletScalingFunction()

virtual pcl::ATrousWaveletTransform::WaveletScalingFunction::~WaveletScalingFunction ( )
inlinevirtual

Virtual destructor. Destroys and deallocates an existing kernel or separable filter in this object.

Definition at line 221 of file ATrousWaveletTransform.h.

Member Function Documentation

◆ Clear()

void pcl::ATrousWaveletTransform::WaveletScalingFunction::Clear ( )
inline

Destroys the kernel and/or separable filter(s) owned by this object, yielding an invalid instance.

Definition at line 309 of file ATrousWaveletTransform.h.

References pcl::AutoPointer< T, D >::Destroy().

◆ IsNonseparable()

bool pcl::ATrousWaveletTransform::WaveletScalingFunction::IsNonseparable ( ) const
inline

Returns true if this scaling function is a non-separable kernel filter; false if it is an invalid or separable filter.

Definition at line 267 of file ATrousWaveletTransform.h.

References pcl::AutoPointer< T, D >::IsNull().

◆ IsSeparable()

bool pcl::ATrousWaveletTransform::WaveletScalingFunction::IsSeparable ( ) const
inline

Returns true if this scaling function is a separable filter; false if it is an invalid or non-separable kernel filter.

Definition at line 258 of file ATrousWaveletTransform.h.

References pcl::AutoPointer< T, D >::IsNull().

◆ IsValid()

bool pcl::ATrousWaveletTransform::WaveletScalingFunction::IsValid ( ) const
inline

Returns true iff this scaling function is valid, that is, if it owns a nonempty filter.

Definition at line 276 of file ATrousWaveletTransform.h.

◆ operator=() [1/2]

WaveletScalingFunction& pcl::ATrousWaveletTransform::WaveletScalingFunction::operator= ( const WaveletScalingFunction s)
inline

Copy assignment operator. Returns a reference to this object.

Definition at line 228 of file ATrousWaveletTransform.h.

References pcl::AutoPointer< T, D >::Destroy(), pcl::AutoPointer< T, D >::IsNull(), kernelFilter, and separableFilter.

◆ operator=() [2/2]

WaveletScalingFunction& pcl::ATrousWaveletTransform::WaveletScalingFunction::operator= ( WaveletScalingFunction &&  )
default

Move assignment operator. Returns a reference to this object.

◆ operator==()

bool pcl::ATrousWaveletTransform::WaveletScalingFunction::operator== ( const WaveletScalingFunction other) const
inline

Equality operator. Returns true only if this scaling function is equal to another instance.

Definition at line 319 of file ATrousWaveletTransform.h.

References pcl::AutoPointer< T, D >::IsNull(), kernelFilter, and separableFilter.

◆ Set() [1/2]

void pcl::ATrousWaveletTransform::WaveletScalingFunction::Set ( const KernelFilter f)
inline

Causes this scaling function to own a duplicate of the specified non-separable kernel filter. A previously existing filter is destroyed and deallocated.

Definition at line 286 of file ATrousWaveletTransform.h.

References pcl::KernelFilter::Clone(), pcl::AutoPointer< T, D >::Destroy(), and pcl::AutoPointer< T, D >::IsNull().

◆ Set() [2/2]

void pcl::ATrousWaveletTransform::WaveletScalingFunction::Set ( const SeparableFilter f)
inline

Causes this scaling function to own a duplicate of the specified separable filter. A previously existing filter is destroyed and deallocated.

Definition at line 298 of file ATrousWaveletTransform.h.

References pcl::SeparableFilter::Clone(), pcl::AutoPointer< T, D >::Destroy(), and pcl::AutoPointer< T, D >::IsNull().


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