PCL
pcl::PolarTransformBase Class Reference

Base class of polar transforms. More...

#include <PolarTransform.h>

+ Inheritance diagram for pcl::PolarTransformBase:

Public Member Functions

 PolarTransformBase (const PolarTransformBase &)=default
 
 PolarTransformBase (PixelInterpolation &p)
 
float FinalRotation () const
 
void GetNewSizes (int &w, int &h) const override
 
float InitialRotation () const
 
void SetFinalRotation (float angle)
 
void SetInitialRotation (float angle)
 
void SetRotationRange (float initialAngle, float finalAngle)
 
- Public Member Functions inherited from pcl::InterpolatingGeometricTransformation
 InterpolatingGeometricTransformation (const InterpolatingGeometricTransformation &)=default
 
 InterpolatingGeometricTransformation (InterpolatingGeometricTransformation &&x)
 
 InterpolatingGeometricTransformation (PixelInterpolation &p)
 
void DisableUnclippedInterpolation (bool disable=true)
 
void EnableUnclippedInterpolation (bool enable=true)
 
PixelInterpolationInterpolation ()
 
const PixelInterpolationInterpolation () const
 
InterpolatingGeometricTransformationoperator= (const InterpolatingGeometricTransformation &)=default
 
InterpolatingGeometricTransformationoperator= (InterpolatingGeometricTransformation &&x)
 
void SetInterpolation (PixelInterpolation &p)
 
bool UsingUnclippedInterpolation () const
 
- Public Member Functions inherited from pcl::GeometricTransformation
 GeometricTransformation ()=default
 
 GeometricTransformation (const GeometricTransformation &)=default
 
 GeometricTransformation (GeometricTransformation &&)=default
 
 ~GeometricTransformation () override
 
GeometricTransformationoperator= (const GeometricTransformation &)=default
 
GeometricTransformationoperator= (GeometricTransformation &&)=default
 
- Public Member Functions inherited from pcl::ImageTransformation
 ImageTransformation ()=default
 
 ImageTransformation (const ImageTransformation &)=default
 
virtual ~ImageTransformation ()
 
template<class P >
GenericImage< P > & operator>> (GenericImage< P > &image) const
 
ImageVariantoperator>> (ImageVariant &image) const
 
- Public Member Functions inherited from pcl::ParallelProcess
 ParallelProcess ()=default
 
 ParallelProcess (const ParallelProcess &)=default
 
virtual ~ParallelProcess ()
 
void DisableParallelProcessing (bool disable=true) noexcept
 
void EnableParallelProcessing (bool enable=true, int maxProcessors=0) noexcept
 
bool IsParallelProcessingEnabled () const noexcept
 
int MaxProcessors () const noexcept
 
ParallelProcessoperator= (const ParallelProcess &)=default
 
void SetMaxProcessors (int maxProcessors) noexcept
 
void Swap (ParallelProcess &process) noexcept
 

Additional Inherited Members

- Static Public Member Functions inherited from pcl::GeometricTransformation
template<class P >
static void ApplyGammaExponentCorrection (typename P::sample *samples, size_type length, double gamma, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS)
 
template<class P >
static void ApplyInverseGammaExponentCorrection (typename P::sample *samples, size_type length, double gamma, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS)
 
template<class P >
static void ApplyInverseSRGBGammaCorrection (typename P::sample *samples, size_type length, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS)
 
template<class P >
static void ApplySRGBGammaCorrection (typename P::sample *samples, size_type length, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS)
 
- Protected Member Functions inherited from pcl::ImageTransformation
virtual void Apply (pcl::ComplexImage &image) const
 
virtual void Apply (pcl::DComplexImage &image) const
 
virtual void Apply (pcl::DImage &image) const
 
virtual void Apply (pcl::Image &image) const
 
virtual void Apply (pcl::UInt16Image &image) const
 
virtual void Apply (pcl::UInt32Image &image) const
 
virtual void Apply (pcl::UInt8Image &image) const
 

Detailed Description

PolarTransformBase implements properties and functionality common to polar transform classes in PCL.

A polar transform remaps pixel values in a two-dimensional image to encode polar coordinates on both image axes. Polar angle measured counter-clockwise with respect to the geometric center of the image is encoded linearly on the vertical (Y) axis. Radial distance to the center is encoded (linearly or not, depending on each particular transform) on the horizontal (X) axis.

Polar transforms have important applications in FFT-based image registration algorithms (e.g. as part of Fourier-Mellin transforms).

See also
PolarTransform, LogPolarTransform, FFTRegistrationEngine

Definition at line 86 of file PolarTransform.h.

Constructor & Destructor Documentation

◆ PolarTransformBase() [1/2]

pcl::PolarTransformBase::PolarTransformBase ( PixelInterpolation p)
inline

Constructs a PolarTransformBase object using the specified p pixel interpolation. The referenced interpolation object p must remain valid while this PolarTransformBase object exists.

Definition at line 96 of file PolarTransform.h.

◆ PolarTransformBase() [2/2]

pcl::PolarTransformBase::PolarTransformBase ( const PolarTransformBase )
default

Copy constructor.

Member Function Documentation

◆ FinalRotation()

float pcl::PolarTransformBase::FinalRotation ( ) const
inline

Returns the final rotation angle in radians. The default final rotation angle is 2*pi (360 degrees).

Definition at line 129 of file PolarTransform.h.

◆ GetNewSizes()

void pcl::PolarTransformBase::GetNewSizes ( int &  width,
int &  height 
) const
inlineoverridevirtual

Predicts transformed image dimensions.

Parameters
[in,out]widthReference to a variable whose value is a horizontal dimension in pixels (width). On output, it will receive the predicted horizontal dimension after the transformation.
[in,out]heightReference to a variable whose value is a vertical dimension in pixels (height). On output, it will receive the predicted vertical dimension after the transformation.
Note
This is a pure virtual member function that must be reimplemented in every derived class.

Implements pcl::GeometricTransformation.

Definition at line 161 of file PolarTransform.h.

◆ InitialRotation()

float pcl::PolarTransformBase::InitialRotation ( ) const
inline

Returns the initial rotation angle in radians. The default initial rotation angle is zero.

Definition at line 110 of file PolarTransform.h.

◆ SetFinalRotation()

void pcl::PolarTransformBase::SetFinalRotation ( float  angle)
inline

Sets the final rotation angle in radians.

Definition at line 137 of file PolarTransform.h.

References pcl::Swap().

◆ SetInitialRotation()

void pcl::PolarTransformBase::SetInitialRotation ( float  angle)
inline

Sets the initial rotation angle in radians.

Definition at line 118 of file PolarTransform.h.

References pcl::Swap().

◆ SetRotationRange()

void pcl::PolarTransformBase::SetRotationRange ( float  initialAngle,
float  finalAngle 
)
inline

Sets the initial and final rotation angles, initialAngle and finalAngle respectively, in radians. If the specified initial angle is greater than the final angle, both values are swapped.

Definition at line 149 of file PolarTransform.h.

References pcl::Swap().


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