libcamera: libcamera::ipa Namespace Reference

libcamera v0.3.2 Supporting cameras in Linux since 2019

Loading...
Searching...
No Matches
Classes | Functions
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 | AlgorithmFactory
| Registration of Algorithm classes and creation of instances. More...
class | AlgorithmFactoryBase
class | CameraSensorHelper
| Base class for computing sensor tuning parameters using sensor-specific constants. More...
class | CameraSensorHelperFactory
| Registration of CameraSensorHelperFactory classes and creation of instances. More...
class | CameraSensorHelperFactoryBase
| Base class for camera sensor helper factories. More...
class | ExposureModeHelper
| Class for splitting exposure into shutter 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...
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 | Matrix
| Matrix class. 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...
class | Vector
| Vector class. More...

## Functions
template<typename T , typename U , unsigned int Rows, unsigned int Cols>
Matrix< U, Rows, Cols > | operator* (T d, const Matrix< U, Rows, Cols > &m)
| Multiply the matrix by a scalar.
template<typename T , typename U , unsigned int Rows, unsigned int Cols>
Matrix< U, Rows, Cols > | operator* (const Matrix< U, Rows, Cols > &m, T d)
| Multiply the matrix by a scalar.
template<typename T , unsigned int R1, unsigned int C1, unsigned int R2, unsigned in C2>
Matrix< T, R1, C2 > | operator* (const Matrix< T, R1, C1 > &m1, const Matrix< T, R2, C2 > &m2)
| Matrix multiplication.
template<typename T , unsigned int Rows, unsigned int Cols>
Matrix< T, Rows, Cols > | operator+ (const Matrix< T, Rows, Cols > &m1, const Matrix< T, Rows, Cols > &m2)
| Matrix addition.
template<typename T , unsigned int Rows, unsigned int Cols>
Vector< T, Rows > | operator* (const Matrix< T, Rows, Cols > &m, const Vector< T, Cols > &v)
| Multiply a matrix by a vector.
template<typename T , unsigned int Rows>
bool | operator== (const Vector< T, Rows > &lhs, const Vector< T, Rows > &rhs)
| Compare vectors for equality.
template<typename T , unsigned int Rows>
bool | operator!= (const Vector< T, Rows > &lhs, const Vector< T, Rows > &rhs)
| Compare vectors for inequality.

## 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.

## Function Documentation

## ◆ operator!=()

template<typename T , unsigned int Rows>

bool libcamera::ipa::operator!= | ( | const Vector< T, Rows > & | lhs,
|  | const Vector< T, Rows > & | rhs )

Compare vectors for inequality.

Returns
  True if the two vectors are not equal, false otherwise

## ◆ operator*() [1/4]

template<typename T , unsigned int R1, unsigned int C1, unsigned int R2, unsigned in C2>

Matrix< T, R1, C2 > libcamera::ipa::operator* | ( | const Matrix< T, R1, C1 > & | m1,
|  | const Matrix< T, R2, C2 > & | m2 )

Matrix multiplication.

Template Parameters

  T | Type of numerical values in the matrices
  R1 | Number of rows in the first matrix
  C1 | Number of columns in the first matrix
  R2 | Number of rows in the second matrix
  C2 | Number of columns in the second matrix

Parameters

  m1 | Multiplicand matrix
  m2 | Multiplier matrix

Returns
  Matrix product of matrices m1 and m2

## ◆ operator*() [2/4]

template<typename T , unsigned int Rows, unsigned int Cols>

Vector< T, Rows > libcamera::ipa::operator* | ( | const Matrix< T, Rows, Cols > & | m,
|  | const Vector< T, Cols > & | v )

Multiply a matrix by a vector.

Template Parameters

  T | Numerical type of the contents of the matrix and vector
  Rows | The number of rows in the matrix
  Cols | The number of columns in the matrix (= rows in the vector)

Parameters

  m | The matrix
  v | The vector

Returns
  Product of matrix m and vector v

## ◆ operator*() [3/4]

template<typename T , typename U , unsigned int Rows, unsigned int Cols>

Matrix< U, Rows, Cols > libcamera::ipa::operator* | ( | const Matrix< U, Rows, Cols > & | m,
|  | T | d )

Multiply the matrix by a scalar.

Template Parameters

  T | Type of the numerical scalar value
  U | Type of numerical values in the matrix
  Rows | Number of rows in the matrix
  Cols | Number of columns in the matrix

Parameters

  d | The scalar multiplier
  m | The matrix

Returns
  Product of scalar d and matrix m

## ◆ operator*() [4/4]

template<typename T , typename U , unsigned int Rows, unsigned int Cols>

Matrix< U, Rows, Cols > libcamera::ipa::operator* | ( | T | d,
|  | const Matrix< U, Rows, Cols > & | m )

Multiply the matrix by a scalar.

Template Parameters

  T | Type of the numerical scalar value
  U | Type of numerical values in the matrix
  Rows | Number of rows in the matrix
  Cols | Number of columns in the matrix

Parameters

  d | The scalar multiplier
  m | The matrix

Returns
  Product of scalar d and matrix m

## ◆ operator+()

template<typename T , unsigned int Rows, unsigned int Cols>

Matrix< T, Rows, Cols > libcamera::ipa::operator+ | ( | const Matrix< T, Rows, Cols > & | m1,
|  | const Matrix< T, Rows, Cols > & | m2 )

Matrix addition.

Template Parameters

  T | Type of numerical values in the matrices
  Rows | Number of rows in the matrices
  Cols | Number of columns in the matrices

Parameters

  m1 | Summand matrix
  m2 | Summand matrix

Returns
  Matrix sum of matrices m1 and m2

## ◆ operator==()

template<typename T , unsigned int Rows>

bool libcamera::ipa::operator== | ( | const Vector< T, Rows > & | lhs,
|  | const Vector< T, Rows > & | rhs )

Compare vectors for equality.

Returns
  True if the two vectors are equal, false otherwise