PCL
pcl::AbstractFFT< T > Class Template Reference

Abstract base class of all fast Fourier transform classes. More...

#include <FFT1D.h>

+ Inheritance diagram for pcl::AbstractFFT< T >:

Public Types

using complex = Complex< T >
 
using complex_vector = GenericVector< complex >
 
using scalar = T
 
using transform = complex_vector
 
using vector = GenericVector< scalar >
 

Public Member Functions

 AbstractFFT (int length)
 
virtual ~AbstractFFT ()
 
transformDFT ()
 
transform DFT () const
 
int Length () const
 
complexoperator* ()
 
const complexoperator* () const
 
virtual void Release ()
 

Detailed Description

template<typename T>
class pcl::AbstractFFT< T >

The AbstractFFT template class implements basic properties and functions shared by all FFT PCL classes.

See also
GenericFFT, GenericRealFFT

Definition at line 164 of file FFT1D.h.

Member Typedef Documentation

◆ complex

template<typename T >
using pcl::AbstractFFT< T >::complex = Complex<T>

Represents a complex number in the context of this FFT class.

Definition at line 176 of file FFT1D.h.

◆ complex_vector

template<typename T >
using pcl::AbstractFFT< T >::complex_vector = GenericVector<complex>

Represents a vector of complex numbers.

Definition at line 186 of file FFT1D.h.

◆ scalar

template<typename T >
using pcl::AbstractFFT< T >::scalar = T

Represents a scalar in the context of this FFT class.

Definition at line 171 of file FFT1D.h.

◆ transform

template<typename T >
using pcl::AbstractFFT< T >::transform = complex_vector

Represents the container type used to store an out-of-place discrete Fourier transform.

Definition at line 192 of file FFT1D.h.

◆ vector

template<typename T >
using pcl::AbstractFFT< T >::vector = GenericVector<scalar>

Represents a vector of real numbers.

Definition at line 181 of file FFT1D.h.

Constructor & Destructor Documentation

◆ AbstractFFT()

template<typename T >
pcl::AbstractFFT< T >::AbstractFFT ( int  length)
inline

Constructs an AbstractFFT object of the specified length.

Definition at line 197 of file FFT1D.h.

◆ ~AbstractFFT()

template<typename T >
virtual pcl::AbstractFFT< T >::~AbstractFFT ( )
inlinevirtual

Virtual destructor. Destroys all internal control structures in this object, including the current discrete Fourier transform if it exists.

Definition at line 206 of file FFT1D.h.

Member Function Documentation

◆ DFT() [1/2]

template<typename T >
transform& pcl::AbstractFFT< T >::DFT ( )
inline

Returns a reference to the mutable current discrete Fourier transform in this object. The transform is a vector of complex values.

For complex FFTs, the returned vector has Length() elements. For real transforms, the returned vector has Length()/2 + 1 elements.

If no FFT has been performed on this object, this function returns a reference to an empty vector.

Definition at line 246 of file FFT1D.h.

◆ DFT() [2/2]

template<typename T >
transform pcl::AbstractFFT< T >::DFT ( ) const
inline

Returns a duplicate of the current discrete Fourier transform as a vector of complex values.

For complex FFTs, the returned vector has Length() elements. For real transforms, the returned vector has Length()/2 + 1 elements.

If no FFT has been performed on this object, this function returns an empty vector.

Definition at line 231 of file FFT1D.h.

◆ Length()

template<typename T >
int pcl::AbstractFFT< T >::Length ( ) const
inline

Returns the transform length of this AbstractFFT object. The length is the number of data items that can be transformed, and is specified in the constructors of all FFT classes.

Definition at line 216 of file FFT1D.h.

◆ operator*() [1/2]

template<typename T >
complex* pcl::AbstractFFT< T >::operator* ( )
inline

Returns a pointer to the mutable first element in the current discrete Fourier transform. The transform is a set of consecutive complex numbers stored at the address returned by this member function.

For complex FFTs, the transform is a sequence of Length() elements. For real transforms, there are only Length()/2 + 1 elements.

If no FFT has been performed on this object, this member function returns zero.

Definition at line 278 of file FFT1D.h.

◆ operator*() [2/2]

template<typename T >
const complex* pcl::AbstractFFT< T >::operator* ( ) const
inline

Returns a pointer to the immutable first element in the current discrete Fourier transform. The transform is a set of consecutive complex numbers stored at the address returned by this member function.

For complex FFTs, the transform is a sequence of Length() elements. For real transforms, there are only Length()/2 + 1 elements.

If no FFT has been performed on this object, this member function returns zero.

Definition at line 262 of file FFT1D.h.

◆ Release()

template<typename T >
virtual void pcl::AbstractFFT< T >::Release ( )
inlinevirtual

Destroys all internal control structures in this AbstractFFT object, including the current discrete Fourier transform, if it exists.

Definition at line 287 of file FFT1D.h.


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