# CalibrationQuality

The CalibrationQuality message is part of the [Dynamic
Calibration](https://docs.luxonis.com/software-v3/depthai/depthai-components/host_nodes/dynamic_calibration.md) system. It is
designed to evaluate and report the quality of the current stereo camera calibration, providing detailed statistics about
calibration performance and any detected deviations.

It helps users and automated systems determine whether a recalibration is needed by comparing current calibration metrics against
known baselines or previous calibration states.

## Examples of functionality

Calibration quality message is received when the user sends the CalibrationQuality command to the Dynamic Calibration node.

 * [Calibration integration
   example](https://github.com/luxonis/depthai-core/blob/main/examples/python/DynamicCalibration/calibration_integration.py)

## Reference

### dai::CalibrationQuality

Kind: struct

Summary of calibration quality metrics.

Returned from a calibration quality check. Describes expected accuracy improvement if a new calibration were applied.

#### dai::CalibrationQuality::Data

Kind: struct

Quality metrics describing differences between current and predicted calibration.

##### std::array< float, 3 > rotationChange

Kind: variable

Rotation difference between old and new extrinsics (degrees).

##### std::vector< double > depthErrorDifference

Kind: variable

Predicted relative depth error difference between current and new calibration. Reported at reference distances [1m, 2m, 5m, 10m].
Units: percent [%].

##### float sampsonErrorCurrent

Kind: variable

Sampson error of currently installed calibration.

##### float sampsonErrorNew

Kind: variable

Estimated new Sampson error if the new calibration is applied.

##### DEPTHAI_SERIALIZE(Data, rotationChange, sampsonErrorCurrent, sampsonErrorNew, depthErrorDifference)

Kind: function

#### std::optional< Data > qualityData

Kind: variable

Optional quality metrics.

#### std::string info

Kind: variable

Human-readable result description.

#### CalibrationQuality()

Kind: function

#### ~CalibrationQuality()

Kind: function

#### CalibrationQuality(Data qualityData, std::string info)

Kind: function

Construct a CalibrationQuality message with data.

parameters: qualityData: Metrics describing the quality difference.; info: Informational text describing the result.

#### CalibrationQuality(std::string info)

Kind: function

Construct a CalibrationQuality message without metric data.

parameters: info: Informational text describing the result.

#### void serialize(std::vector< std::uint8_t > & metadata, DatatypeEnum & datatype)

Kind: function

#### DatatypeEnum getDatatype()

Kind: function

Get the datatype of this specific message.

return: DatatypeEnum

#### DEPTHAI_SERIALIZE(CalibrationQuality, qualityData, info)

Kind: function

### Need assistance?

Head over to [Discussion Forum](https://discuss.luxonis.com/) for technical support or any other questions you might have.
