libcamera  v0.3.1+12-19bbca3c
Supporting cameras in Linux since 2019
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  Matrix
 Matrix class. More...
 
class  MatrixInterpolator
 Class for storing, retrieving, and interpolating matrices. 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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
template<typename T , unsigned int Rows>
bool operator== (const Vector< T, Rows > &lhs, const Vector< T, Rows > &rhs)
 Compare vectors for equality. More...
 
template<typename T , unsigned int Rows>
bool operator!= (const Vector< T, Rows > &lhs, const Vector< T, Rows > &rhs)
 Compare vectors for inequality. More...
 

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 , typename U , unsigned int Rows, unsigned int Cols>
Matrix::Matrix< U, Rows, Cols > libcamera::ipa::operator* ( d,
const Matrix< U, Rows, Cols > &  m 
)

Multiply the matrix by a scalar.

Template Parameters
TType of the numerical scalar value
UType of numerical values in the matrix
RowsNumber of rows in the matrix
ColsNumber of columns in the matrix
Parameters
dThe scalar multiplier
mThe matrix
Returns
Product of scalar d and matrix m

◆ operator*() [2/4]

template<typename T , typename U , unsigned int Rows, unsigned int Cols>
Matrix::Matrix< U, Rows, Cols > libcamera::ipa::operator* ( const Matrix< U, Rows, Cols > &  m,
d 
)

Multiply the matrix by a scalar.

Template Parameters
TType of the numerical scalar value
UType of numerical values in the matrix
RowsNumber of rows in the matrix
ColsNumber of columns in the matrix
Parameters
dThe scalar multiplier
mThe matrix
Returns
Product of scalar d and matrix m

◆ operator*() [3/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
TType of numerical values in the matrices
R1Number of rows in the first matrix
C1Number of columns in the first matrix
R2Number of rows in the second matrix
C2Number of columns in the second matrix
Parameters
m1Multiplicand matrix
m2Multiplier matrix
Returns
Matrix product of matrices m1 and m2

◆ operator*() [4/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
TNumerical type of the contents of the matrix and vector
RowsThe number of rows in the matrix
ColsThe number of columns in the matrix (= rows in the vector)
Parameters
mThe matrix
vThe vector
Returns
Product of matrix m and vector v

◆ 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
TType of numerical values in the matrices
RowsNumber of rows in the matrices
ColsNumber of columns in the matrices
Parameters
m1Summand matrix
m2Summand 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