libcamera: libcamera::ipa::Matrix< T, Rows, Cols > Class Template Reference

libcamera v0.3.2 Supporting cameras in Linux since 2019

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
libcamera::ipa::Matrix< T, Rows, Cols > Class Template Reference

Matrix class. More...

## Public Member Functions
| Matrix ()
| Construct a zero matrix.
| Matrix (const std::vector< T > &data)
| Construct a matrix from supplied data.
const std::string | toString () const
| Assemble and return a string describing the matrix.
Span< const T, Cols > | operator[] (size_t i) const
| Index to a row in the matrix.
Span< T, Cols > | operator[] (size_t i)
| Index to a row in the matrix.
template<typename U >
Matrix< T, Rows, Cols > & | operator*= (U d)
| Multiply the matrix by a scalar in-place.

## Static Public Member Functions
static Matrix | identity ()
| Construct an identity matrix.

## Detailed Description

template<typename T, unsigned int Rows, unsigned int Cols>
class libcamera::ipa::Matrix< T, Rows, Cols >

Matrix class.

Template Parameters

  T | Type of numerical values to be stored in the matrix
  Rows | Number of rows in the matrix
  Cols | Number of columns in the matrix

## Constructor & Destructor Documentation

## ◆ Matrix()

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

libcamera::ipa::Matrix< T, Rows, Cols >::Matrix | ( | const std::vector< T > & | data | ) |
| inline

Construct a matrix from supplied data.

Parameters

  [in] | data | Data from which to construct a matrix

data is a one-dimensional vector and will be turned into a matrix in row-major order. The size of data must be equal to the product of the number of rows and columns of the matrix (Rows x Cols).

## Member Function Documentation

## ◆ operator*=()

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

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

Multiply the matrix by a scalar in-place.

Template Parameters

  U | Type of the numerical scalar value

Parameters

  d | The scalar multiplier

Returns
  Product of this matrix and scalar d

## ◆ operator[]() [1/2]

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

Span< T, Cols > libcamera::ipa::Matrix< T, Rows, Cols >::operator[] | ( | size_t | i | ) |
| inline

Index to a row in the matrix.

Parameters

  [in] | i | Index of row to retrieve

This operator[] returns a Span, which can then be indexed into again with another operator[], allowing a convenient m[i][j] to access elements of the matrix. Note that the lifetime of the Span returned by this first-level operator[] is bound to that of the Matrix itself, so it is not recommended to save the Span that is the result of this operator[].

Returns
  Row i from the matrix, as a Span

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

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

Span< const T, Cols > libcamera::ipa::Matrix< T, Rows, Cols >::operator[] | ( | size_t | i | ) | const
| inline

Index to a row in the matrix.

Parameters

  [in] | i | Index of row to retrieve

This operator[] returns a Span, which can then be indexed into again with another operator[], allowing a convenient m[i][j] to access elements of the matrix. Note that the lifetime of the Span returned by this first-level operator[] is bound to that of the Matrix itself, so it is not recommended to save the Span that is the result of this operator[].

Returns
  Row i from the matrix, as a Span

## ◆ toString()

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

const std::string libcamera::ipa::Matrix< T, Rows, Cols >::toString | ( |  | ) | const
| inline

Assemble and return a string describing the matrix.

Returns
  A string describing the matrix

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

- src/ipa/libipa/matrix.h
- src/ipa/libipa/matrix.cpp