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

typedef Array< HistogramTransformationtransformation_list
 

Public Member Functions

 HistogramTransformation (double mb=0.5, double sc=0, double hc=1, double lr=0, double hr=1)
 
 HistogramTransformation (const HistogramTransformation &)=default
 
 HistogramTransformation (HistogramTransformation &&)=default
 
virtual ~HistogramTransformation ()
 
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
 
double HighlightsClipping () const
 
double HighRange () const
 
bool IsIdentityTransformation () const
 
bool IsIdentityTransformationSet () const
 
size_type Length () const
 
double LowRange () const
 
void Make16BitLUT (uint8 *) const
 
void Make16BitLUT (uint16 *) const
 
void Make20BitLUT (uint8 *) const
 
void Make20BitLUT (uint16 *) const
 
void Make24BitLUT (uint8 *) const
 
void Make24BitLUT (uint16 *) const
 
void Make8BitLUT (uint8 *) const
 
double MidtonesBalance () const
 
const HistogramTransformationoperator* () const
 
HistogramTransformationoperator* ()
 
HistogramTransformationoperator= (const HistogramTransformation &)=default
 
HistogramTransformationoperator= (HistogramTransformation &&)=default
 
const HistogramTransformationoperator[] (size_type index) const
 
HistogramTransformationoperator[] (size_type index)
 
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
 
void DisableParallelProcessing (bool disable=true)
 
void EnableParallelProcessing (bool enable=true, int maxProcessors=0)
 
bool IsParallelProcessingEnabled () const
 
int MaxProcessors () const
 
ParallelProcessoperator= (const ParallelProcess &)=default
 
void SetMaxProcessors (int maxProcessors)
 
void Swap (ParallelProcess &process)
 

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()

virtual pcl::HistogramTransformation::~HistogramTransformation ( )
inlinevirtual

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/3]

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

#

◆ Apply() [2/3]

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

#

◆ Apply() [3/3]

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

#

◆ 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 ( uint8 ) const

#

◆ Make16BitLUT() [2/2]

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

#

◆ Make20BitLUT() [1/2]

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

#

◆ Make20BitLUT() [2/2]

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

#

◆ Make24BitLUT() [1/2]

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

#

◆ Make24BitLUT() [2/2]

void pcl::HistogramTransformation::Make24BitLUT ( uint16 ) 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]

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*() [2/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=() [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]

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.

◆ operator[]() [2/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.

◆ 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: