PCL
pcl::GeometricTransformation Class Referenceabstract

Abstract base class of all PCL geometric image transformations. More...

#include <GeometricTransformation.h>

+ Inheritance diagram for pcl::GeometricTransformation:

Public Member Functions

 GeometricTransformation ()=default
 
 GeometricTransformation (const GeometricTransformation &)=default
 
 GeometricTransformation (GeometricTransformation &&)=default
 
 ~GeometricTransformation () override
 
virtual void GetNewSizes (int &width, int &height) const =0
 
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
 

Static Public Member Functions

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)
 

Additional Inherited Members

- 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

GeometricTransformation represents a geometrical transformation that can be applied to any image type defined in PCL.

See also
InterpolatingGeometricTransformation, ImageTransformation

Definition at line 77 of file GeometricTransformation.h.

Constructor & Destructor Documentation

◆ GeometricTransformation() [1/3]

pcl::GeometricTransformation::GeometricTransformation ( )
default

Constructs a GeometricTransformation object.

◆ GeometricTransformation() [2/3]

pcl::GeometricTransformation::GeometricTransformation ( const GeometricTransformation )
default

Copy constructor.

◆ GeometricTransformation() [3/3]

pcl::GeometricTransformation::GeometricTransformation ( GeometricTransformation &&  )
default

Move constructor

◆ ~GeometricTransformation()

pcl::GeometricTransformation::~GeometricTransformation ( )
inlineoverride

Destroys a GeometricTransformation object.

Definition at line 109 of file GeometricTransformation.h.

Member Function Documentation

◆ ApplyGammaExponentCorrection()

template<class P >
static void pcl::GeometricTransformation::ApplyGammaExponentCorrection ( typename P::sample *  samples,
size_type  length,
double  gamma,
AbstractImage::ThreadData threadData,
int  maxProcessors = PCL_MAX_PROCESSORS 
)
inlinestatic

Applies a gamma correction function to a block of pixel sample values.

Parameters
[in,out]samplesPointer to the start of a contiguous block of pixel sample values. On input, these values must be expressed in a nonlinear color space with the specified gamma exponent. On output, these values will be expressed in a linear color space.
lengthNumber of pixel sample values to process.
gammaThe gamma exponent of the nonlinear color space. A value gamma > 0 must be specified.
threadDataReference to an AbstractImage::ThreadData object for thread control and monitoring.
maxProcessorsMaximum number of parallel threads to use. The default value does not impose a practical limit.

Definition at line 232 of file GeometricTransformation.h.

◆ ApplyInverseGammaExponentCorrection()

template<class P >
static void pcl::GeometricTransformation::ApplyInverseGammaExponentCorrection ( typename P::sample *  samples,
size_type  length,
double  gamma,
AbstractImage::ThreadData threadData,
int  maxProcessors = PCL_MAX_PROCESSORS 
)
inlinestatic

Applies an inverse gamma correction function to a block of pixel sample values.

Parameters
[in,out]samplesPointer to the start of a contiguous block of pixel sample values. On input, these values must be expressed in a linear color space. On output, these values will be expressed in a nonlinear color space with the specified gamma exponent.
lengthNumber of pixel sample values to process.
gammaThe gamma exponent of the nonlinear color space. A value gamma > 0 must be specified.
threadDataReference to an AbstractImage::ThreadData object for thread control and monitoring.
maxProcessorsMaximum number of parallel threads to use. The default value does not impose a practical limit.

Definition at line 271 of file GeometricTransformation.h.

◆ ApplyInverseSRGBGammaCorrection()

template<class P >
static void pcl::GeometricTransformation::ApplyInverseSRGBGammaCorrection ( typename P::sample *  samples,
size_type  length,
AbstractImage::ThreadData threadData,
int  maxProcessors = PCL_MAX_PROCESSORS 
)
inlinestatic

Applies an inverse sRGB gamma correction function to a block of pixel sample values.

Parameters
[in,out]samplesPointer to the start of a contiguous block of pixel sample values. On input, these values must be expressed in a linear color space. On output, these values will be expressed in the sRGB color space.
lengthNumber of pixel sample values to process.
threadDataReference to an AbstractImage::ThreadData object for thread control and monitoring.
maxProcessorsMaximum number of parallel threads to use. The default value does not impose a practical limit.

Definition at line 339 of file GeometricTransformation.h.

◆ ApplySRGBGammaCorrection()

template<class P >
static void pcl::GeometricTransformation::ApplySRGBGammaCorrection ( typename P::sample *  samples,
size_type  length,
AbstractImage::ThreadData threadData,
int  maxProcessors = PCL_MAX_PROCESSORS 
)
inlinestatic

Applies an sRGB gamma correction function to a block of pixel sample values.

Parameters
[in,out]samplesPointer to the start of a contiguous block of pixel sample values. On input, these values must be expressed in the sRGB color space. On output, these values will be expressed in a linear color space.
lengthNumber of pixel sample values to process.
threadDataReference to an AbstractImage::ThreadData object for thread control and monitoring.
maxProcessorsMaximum number of parallel threads to use. The default value does not impose a practical limit.

Definition at line 306 of file GeometricTransformation.h.

◆ GetNewSizes()

virtual void pcl::GeometricTransformation::GetNewSizes ( int &  width,
int &  height 
) const
pure virtual

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.

Implemented in pcl::Translation, pcl::Rotation, pcl::Resample, pcl::IntegerResample, pcl::Crop, pcl::AstrometricReprojection, pcl::PolarTransformBase, pcl::VerticalMirror, pcl::HorizontalMirror, pcl::Rotate90CCW, pcl::Rotate90CW, and pcl::Rotate180.

◆ operator=() [1/2]

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

Copy assignment operator. Returns a reference to this object.

Referenced by pcl::InterpolatingGeometricTransformation::operator=().

◆ operator=() [2/2]

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

Move assignment operator. Returns a reference to this object.


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