Go to the documentation of this file.
52 #ifndef __PCL_FFTConvolution_h
53 #define __PCL_FFTConvolution_h
58 #include <pcl/Diagnostics.h>
110 : m_filter( filter.Clone() )
112 PCL_CHECK(
bool( m_filter ) )
131 PCL_CHECK(
bool( m_image ) )
140 , m_image( x.m_image )
141 , m_outputRealCmp( x.m_outputRealCmp )
144 m_filter = x.m_filter->Clone();
166 (void)ImageTransformation::operator =( x );
167 (void)ParallelProcess::operator =( x );
170 m_filter = x.m_filter->Clone();
173 m_outputRealCmp = x.m_outputRealCmp;
201 PCL_PRECONDITION(
bool( m_filter ) )
231 m_filter = filter.
Clone();
232 PCL_CHECK(
bool( m_filter ) )
249 PCL_CHECK(
bool( m_image ) )
290 return m_outputRealCmp;
305 return !m_outputRealCmp;
316 m_outputRealCmp = enable;
327 m_outputRealCmp = !enable;
344 #ifdef __PCL_COMPATIBILITY
348 if ( numThreads >= 32 )
350 if ( numThreads >= 24 )
352 if ( numThreads >= 12 )
354 if ( numThreads >= 8 )
362 if ( numThreads >= 32 )
364 if ( numThreads >= 24 )
366 if ( numThreads >= 16 )
368 if ( numThreads >= 12 )
370 if ( numThreads >= 8 )
372 if ( numThreads >= 4 )
374 if ( numThreads >= 2 )
395 #ifdef __PCL_COMPATIBILITY
399 if ( numThreads >= 24 )
401 if ( numThreads >= 16 )
403 if ( numThreads >= 12 )
405 if ( numThreads >= 8 )
407 if ( numThreads >= 4 )
415 if ( numThreads >= 16 )
417 if ( numThreads >= 12 )
419 if ( numThreads >= 8 )
435 bool m_outputRealCmp =
false;
455 friend class PCL_FFTConvolutionEngine;
466 void Validate()
const;
467 void ValidateFilter()
const;
474 #endif // __PCL_FFTConvolution_h
const ComplexImage * ResponseFunctionDFT() const
static constexpr int FasterThanNonseparableFilterSize(int numThreads)
bool IsRealComponentOutputEnabled() const
void EnableMagnitudeOutput(bool enable=true)
void SetFilter(const ImageVariant &filter)
~FFTConvolution() override
void SetFilter(const KernelFilter &filter)
A process using multiple concurrent execution threads.
void Apply(FI i, FI j, F f) noexcept(noexcept(f))
bool IsMagnitudeOutputEnabled() const
A smart pointer with exclusive object ownership and optional automatic object destruction.
FFTConvolution(const FFTConvolution &x)
const ImageVariant & FilterImage() const
Kernel filter in two dimensions.
static constexpr int FasterThanSeparableFilterSize(int numThreads)
virtual KernelFilter * Clone() const
const KernelFilter & Filter() const
FFTConvolution(const KernelFilter &filter)
void EnableRealComponentOutput(bool enable=true)
FFTConvolution(const ImageVariant &f)
Fourier-based two-dimensional convolution in the spatial domain.
Acts like a union for all types of images in PCL, with optional class-wide ownership of transported i...
Implements a generic, two-dimensional, shared or local image.