PCL
pcl::HistogramTransformation Class Reference

Multiple histogram transformation. More...

#include <HistogramTransformation.h>

+ Inheritance diagram for pcl::HistogramTransformation:

Classes

struct  Flags
 Characterizes a histogram transformation pertaining to a histogram transformation chain. More...
 

Public Types

using transformation_list = Array< HistogramTransformation >
 

Public Member Functions

 HistogramTransformation (const HistogramTransformation &)=default
 
 HistogramTransformation (double mb=0.5, double sc=0, double hc=1, double lr=0, double hr=1)
 
 HistogramTransformation (HistogramTransformation &&)=default
 
 ~HistogramTransformation () override
 
void Add (const HistogramTransformation &H)
 
void Apply (double *, size_type, double x0=0, double x1=1) const
 
void Apply (float *, size_type, float x0=0, float x1=1) const
 
void Apply (Histogram &dstH, const Histogram &srcH) const
 
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
 
double HighlightsClipping () const
 
double HighRange () const
 
bool IsIdentityTransformation () const
 
bool IsIdentityTransformationSet () const
 
size_type Length () const
 
double LowRange () const
 
void Make16BitLUT (uint16 *) const
 
void Make16BitLUT (uint8 *) const
 
void Make20BitLUT (uint16 *) const
 
void Make20BitLUT (uint8 *) const
 
void Make24BitLUT (uint16 *) const
 
void Make24BitLUT (uint8 *) const
 
void Make8BitLUT (uint8 *) const
 
double MidtonesBalance () const
 
HistogramTransformationoperator* ()
 
const HistogramTransformationoperator* () const
 
HistogramTransformationoperator= (const HistogramTransformation &)=default
 
HistogramTransformationoperator= (HistogramTransformation &&)=default
 
HistogramTransformationoperator[] (size_type index)
 
const HistogramTransformationoperator[] (size_type index) const
 
void Reset ()
 
void SetClipping (double sc, double hc)
 
void SetHighlightsClipping (double c)
 
void SetHighRange (double r)
 
void SetLowRange (double r)
 
void SetMidtonesBalance (double b)
 
void SetRange (double lr, double hr)
 
void SetShadowsClipping (double c)
 
double ShadowsClipping () const
 
void Transform (double &value) const
 
Flags TransformationFlags () const
 
- 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
 

Static Public Member Functions

static double MidtonesTransferFunction (double m, double x)
 
static double MTF (double m, double x)
 

Additional Inherited Members

- Protected Member Functions inherited from pcl::ImageTransformation
virtual void Apply (pcl::ComplexImage &image) const
 
virtual void Apply (pcl::DComplexImage &image) const
 

Detailed Description

TODO: Write a detailed description for HistogramTransformation.

Definition at line 76 of file HistogramTransformation.h.

Member Typedef Documentation

◆ transformation_list

Represents a set of chained histogram transformations.

Definition at line 83 of file HistogramTransformation.h.

Constructor & Destructor Documentation

◆ HistogramTransformation() [1/3]

pcl::HistogramTransformation::HistogramTransformation ( double  mb = 0.5,
double  sc = 0,
double  hc = 1,
double  lr = 0,
double  hr = 1 
)
inline

Constructs a HistogramTransformation object with the specified parameters.

Parameters
mbMidtones balance in the range [0,1].
scShadows clipping point in the range [0,1].
hcHighlights clipping point in the range [0,1].
lrLow dynamic range expansion bound, lr ≤ 0.
hrHigh dynamic range expansion bound, hr ≥ 1.

The default parameter values define an identity transformation:

mb = 0.5, sc = 0, hc = 1, lr = 0, hr = 1.

Definition at line 103 of file HistogramTransformation.h.

References pcl::Range().

◆ HistogramTransformation() [2/3]

pcl::HistogramTransformation::HistogramTransformation ( const HistogramTransformation )
default

Copy constructor.

◆ HistogramTransformation() [3/3]

pcl::HistogramTransformation::HistogramTransformation ( HistogramTransformation &&  )
default

Move constructor.

◆ ~HistogramTransformation()

pcl::HistogramTransformation::~HistogramTransformation ( )
inlineoverride

Destroys a HistogramTransformation object.

Definition at line 135 of file HistogramTransformation.h.

Member Function Documentation

◆ Add()

void pcl::HistogramTransformation::Add ( const HistogramTransformation H)
inline

Adds a histogram transformation to the transformation chain of this HistogramTransformation object.

Definition at line 199 of file HistogramTransformation.h.

◆ Apply() [1/10]

void pcl::HistogramTransformation::Apply ( double *  ,
size_type  ,
double  x0 = 0,
double  x1 = 1 
) const

#

◆ Apply() [2/10]

void pcl::HistogramTransformation::Apply ( float *  ,
size_type  ,
float  x0 = 0,
float  x1 = 1 
) const

#

◆ Apply() [3/10]

void pcl::HistogramTransformation::Apply ( Histogram dstH,
const Histogram srcH 
) const

#

◆ Apply() [4/10]

virtual void pcl::ImageTransformation::Apply
inline

Applies this transformation to a 32-bit complex image.

Definition at line 183 of file ImageTransformation.h.

◆ Apply() [5/10]

virtual void pcl::ImageTransformation::Apply
inline

Applies this transformation to a 64-bit complex image.

Definition at line 191 of file ImageTransformation.h.

◆ Apply() [6/10]

virtual void pcl::ImageTransformation::Apply
inline

Applies this transformation to a 64-bit floating point image.

Definition at line 175 of file ImageTransformation.h.

◆ Apply() [7/10]

virtual void pcl::ImageTransformation::Apply
inline

Applies this transformation to a 32-bit floating point image.

Definition at line 167 of file ImageTransformation.h.

◆ Apply() [8/10]

virtual void pcl::ImageTransformation::Apply
inline

Applies this transformation to a 16-bit unsigned integer image.

Definition at line 207 of file ImageTransformation.h.

◆ Apply() [9/10]

virtual void pcl::ImageTransformation::Apply
inline

Applies this transformation to a 32-bit unsigned integer image.

Definition at line 215 of file ImageTransformation.h.

◆ Apply() [10/10]

virtual void pcl::ImageTransformation::Apply
inline

Applies this transformation to an 8-bit unsigned integer image.

Definition at line 199 of file ImageTransformation.h.

◆ HighlightsClipping()

double pcl::HistogramTransformation::HighlightsClipping ( ) const
inline

#

Definition at line 220 of file HistogramTransformation.h.

◆ HighRange()

double pcl::HistogramTransformation::HighRange ( ) const
inline

#

Definition at line 234 of file HistogramTransformation.h.

◆ IsIdentityTransformation()

bool pcl::HistogramTransformation::IsIdentityTransformation ( ) const
inline

#

Definition at line 241 of file HistogramTransformation.h.

◆ IsIdentityTransformationSet()

bool pcl::HistogramTransformation::IsIdentityTransformationSet ( ) const

#

◆ Length()

size_type pcl::HistogramTransformation::Length ( ) const
inline

Returns the number of histogram transforms in the transformation chain.

Definition at line 152 of file HistogramTransformation.h.

◆ LowRange()

double pcl::HistogramTransformation::LowRange ( ) const
inline

#

Definition at line 227 of file HistogramTransformation.h.

◆ Make16BitLUT() [1/2]

void pcl::HistogramTransformation::Make16BitLUT ( uint16 ) const

#

◆ Make16BitLUT() [2/2]

void pcl::HistogramTransformation::Make16BitLUT ( uint8 ) const

#

◆ Make20BitLUT() [1/2]

void pcl::HistogramTransformation::Make20BitLUT ( uint16 ) const

#

◆ Make20BitLUT() [2/2]

void pcl::HistogramTransformation::Make20BitLUT ( uint8 ) const

#

◆ Make24BitLUT() [1/2]

void pcl::HistogramTransformation::Make24BitLUT ( uint16 ) const

#

◆ Make24BitLUT() [2/2]

void pcl::HistogramTransformation::Make24BitLUT ( uint8 ) const

#

◆ Make8BitLUT()

void pcl::HistogramTransformation::Make8BitLUT ( uint8 ) const

#

◆ MidtonesBalance()

double pcl::HistogramTransformation::MidtonesBalance ( ) const
inline

#

Definition at line 206 of file HistogramTransformation.h.

◆ MidtonesTransferFunction()

static double pcl::HistogramTransformation::MidtonesTransferFunction ( double  m,
double  x 
)
inlinestatic

Returns the value of the midtones transfer function (MTF) for a given midtones balance m and a sample point x. Both m and x must be in the range [0,1].

Definition at line 388 of file HistogramTransformation.h.

◆ MTF()

static double pcl::HistogramTransformation::MTF ( double  m,
double  x 
)
inlinestatic

A convenience synonym for MidtonesTransferFunction( m, x ).

Definition at line 425 of file HistogramTransformation.h.

◆ operator*() [1/2]

HistogramTransformation& pcl::HistogramTransformation::operator* ( )
inline

Returns a reference to the (mutable) first histogram transformation in the current chain. The returned value is always a reference to this object.

Definition at line 190 of file HistogramTransformation.h.

◆ operator*() [2/2]

const HistogramTransformation& pcl::HistogramTransformation::operator* ( ) const
inline

Returns a reference to the (immutable) first histogram transformation in the current chain. The returned value is always a reference to this object.

Definition at line 180 of file HistogramTransformation.h.

◆ operator=() [1/2]

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

Copy assignment operator. Returns a reference to this object.

◆ operator=() [2/2]

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

Move assignment operator. Returns a reference to this object.

◆ operator[]() [1/2]

HistogramTransformation& pcl::HistogramTransformation::operator[] ( size_type  index)
inline

Returns a reference to the (mutable) transformation at the specified index in this transformation chain.

Definition at line 170 of file HistogramTransformation.h.

◆ operator[]() [2/2]

const HistogramTransformation& pcl::HistogramTransformation::operator[] ( size_type  index) const
inline

Returns a reference to the (immutable) transformation at the specified index in the current transformation chain.

Definition at line 161 of file HistogramTransformation.h.

◆ Reset()

void pcl::HistogramTransformation::Reset ( )
inline

Resets all transformation parameters to yield an identity histogram transformation.

Definition at line 329 of file HistogramTransformation.h.

◆ SetClipping()

void pcl::HistogramTransformation::SetClipping ( double  sc,
double  hc 
)
inline

#

Definition at line 285 of file HistogramTransformation.h.

◆ SetHighlightsClipping()

void pcl::HistogramTransformation::SetHighlightsClipping ( double  c)
inline

#

Definition at line 274 of file HistogramTransformation.h.

◆ SetHighRange()

void pcl::HistogramTransformation::SetHighRange ( double  r)
inline

#

Definition at line 307 of file HistogramTransformation.h.

References pcl::Max().

◆ SetLowRange()

void pcl::HistogramTransformation::SetLowRange ( double  r)
inline

#

Definition at line 298 of file HistogramTransformation.h.

References pcl::Min().

◆ SetMidtonesBalance()

void pcl::HistogramTransformation::SetMidtonesBalance ( double  b)
inline

#

Definition at line 254 of file HistogramTransformation.h.

◆ SetRange()

void pcl::HistogramTransformation::SetRange ( double  lr,
double  hr 
)
inline

#

Definition at line 316 of file HistogramTransformation.h.

References pcl::Max(), and pcl::Min().

◆ SetShadowsClipping()

void pcl::HistogramTransformation::SetShadowsClipping ( double  c)
inline

#

Definition at line 263 of file HistogramTransformation.h.

◆ ShadowsClipping()

double pcl::HistogramTransformation::ShadowsClipping ( ) const
inline

#

Definition at line 213 of file HistogramTransformation.h.

◆ Transform()

void pcl::HistogramTransformation::Transform ( double &  value) const
inline

Transforms a real value in the normalized [0,1] range.

Definition at line 433 of file HistogramTransformation.h.

◆ TransformationFlags()

Flags pcl::HistogramTransformation::TransformationFlags ( ) const
inline

Returns the set of flags characterizing this histogram transformation.

Definition at line 490 of file HistogramTransformation.h.


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