libcamera: libcamera::ipa Namespace Reference

libcamera v0.7.1 Supporting cameras in Linux since 2019

Loading...
Searching...
No Matches
libcamera::ipa Namespace Reference

The IPA (Image Processing Algorithm) namespace. More...

## Classes
class | AgcMeanLuminance
| A mean-based auto-exposure algorithm. More...
class | Algorithm
| The base class for all IPA algorithms. More...
class | AlgorithmFactoryBase
class | AlgorithmFactory
| Registration of Algorithm classes and creation of instances. More...
class | AwbResult
| The result of an AWB calculation. More...
class | AwbStats
| An abstraction class wrapping hardware-specific AWB statistics. More...
class | AwbAlgorithm
| A base class for auto white balance algorithms. More...
class | AwbBayes
| Implementation of a bayesian auto white balance algorithm. More...
class | AwbGrey
| A Grey world auto white balance algorithm. More...
class | CameraSensorHelper
| Base class for computing sensor tuning parameters using sensor-specific constants. More...
class | CameraSensorHelperFactoryBase
| Base class for camera sensor helper factories. More...
class | CameraSensorHelperFactory
| Registration of CameraSensorHelperFactory classes and creation of instances. More...
class | ExposureModeHelper
| Class for splitting exposure into exposure time and total gain. More...
class | FCQueue
| A support class for managing FrameContext instances in IPA modules. More...
struct | FrameContext
| Context for a frame. More...
struct | FixedPointQTraits
| Traits type implementing fixed-point quantization conversions. More...
class | Histogram
| The base class for creating histograms. More...
class | Interpolator
| Class for storing, retrieving, and interpolating objects. More...
class | LscPolynomial
| Class for handling even polynomials used in lens shading correction. More...
class | Lux
| Class that implements lux estimation. More...
class | Module
| The base class for all IPA modules. More...
class | Pwl
| Describe a univariate piecewise linear function in two-dimensional real space. More...
struct | Quantized
| Wrapper that stores a value in both quantized and floating-point form. More...
class | V4L2ParamsBlock
| Helper class that represents an ISP configuration block. More...
class | V4L2Params
| Helper class that represent an ISP configuration buffer. More...

## Typedefs
template<unsigned int I, unsigned int F>
using | Q = Quantized<FixedPointQTraits<I, F, decltype(details::qtype<I + F>())>>
| Define a signed fixed-point quantized type with automatic storage width.
template<unsigned int I, unsigned int F>
using | UQ = Quantized<FixedPointQTraits<I, F, std::make_unsigned_t<decltype(details::qtype<I + F>())>>>
| Define an unsigned fixed-point quantized type with automatic storage width.

## Functions
double | rec601LuminanceFromRGB (const RGB< double > &rgb)
| Estimate luminance from RGB values following ITU-R BT.601.
uint32_t | estimateCCT (const RGB< double > &rgb)
| Estimate correlated colour temperature from RGB color space input.

## Variables
constexpr double | kSearchStep = 0.2
| Step size control for CT search.

## Detailed Description

The IPA (Image Processing Algorithm) namespace.

The IPA namespace groups all types specific to IPA modules. It serves as the top-level namespace for the IPA library libipa, and also contains module-specific namespaces for IPA modules.

## Typedef Documentation

## ◆ Q

template<unsigned int I, unsigned int F>

using libcamera::ipa::Q = Quantized<FixedPointQTraits<I, F, decltype(details::qtype<I + F>())>>

Define a signed fixed-point quantized type with automatic storage width.

Template Parameters

  I | The number of integer bits
  F | The number of fractional bits

This alias defines a signed fixed-point quantized type using the FixedPointQTraits trait and a suitable signed integer storage type automatically selected based on the total number of bits (I + F).

## ◆ UQ

template<unsigned int I, unsigned int F>

using libcamera::ipa::UQ = Quantized<FixedPointQTraits<I, F, std::make_unsigned_t<decltype(details::qtype<I + F>())>>>

Define an unsigned fixed-point quantized type with automatic storage width.

Template Parameters

  I | The number of integer bits
  F | The number of fractional bits

This alias defines an unsigned fixed-point quantized type using the FixedPointQTraits trait and a suitable unsigned integer storage type automatically selected based on the total number of bits (I + F).

## Function Documentation

## ◆ estimateCCT()

uint32_t libcamera::ipa::estimateCCT | ( | const RGB< double > & | rgb | ) |

Estimate correlated colour temperature from RGB color space input.

Parameters

  [in] | rgb | The RGB value

This function estimates the correlated color temperature RGB color space input. In physics and color science, the Planckian locus or black body locus is the path or locus that the color of an incandescent black body would take in a particular chromaticity space as the black body temperature changes.

If a narrow range of color temperatures is considered (those encapsulating daylight being the most practical case) one can approximate the Planckian locus in order to calculate the CCT in terms of chromaticity coordinates.

More detailed information can be found in: https://en.wikipedia.org/wiki/Color_temperature#Approximation

Returns
  The estimated color temperature

## ◆ rec601LuminanceFromRGB()

double libcamera::ipa::rec601LuminanceFromRGB | ( | const RGB< double > & | rgb | ) |

Estimate luminance from RGB values following ITU-R BT.601.

Parameters

  [in] | rgb | The RGB value

This function estimates a luminance value from a triplet of Red, Green and Blue values, following the formula defined by ITU-R Recommendation BT.601-7 which can be found at https://www.itu.int/rec/R-REC-BT.601

Returns
  The estimated luminance value