92 template <
class Container
95 typename = std::enable_if_t<detail::is_contiguous_container<Container, uint8_t>::value>
127 PEAK_COMMON_NO_DISCARD std::vector<uint8_t>
ToBinary()
const;
131 friend peak::common::detail::BackendAccessor<CalibrationParameters>;
135 explicit operator peak_icv_calibration_parameters()
const;
136 static peak_icv_calibration_parameters LoadFromFile(
const std::string& filePath);
141 template <class Container, typename = std::enable_if_t<detail::is_contiguous_container<Container, uint8_t>::value>>
142 static peak_icv_calibration_parameters CreateFromBinary(
const Container& binaryData)
146 return PEAK_ICV_C_ABI_PREFIX peak_icv_ValidateBinary(binaryData.data(), binaryData.size(), &isValid);
151 throw CorruptedException(
"The given binary data is invalid");
154 peak_icv_calibration_parameters calibration_parameters{};
156 return PEAK_ICV_C_ABI_PREFIX peak_icv_CalibrationParameters_CreateFromBinary(
157 binaryData.data(), binaryData.size(), &calibration_parameters,
sizeof(peak_icv_calibration_parameters));
160 return calibration_parameters;
202 return PEAK_ICV_C_ABI_PREFIX peak_icv_CalibrationParameters_CreateFromFile(¶meters,
sizeof(parameters), filePath.c_str());
210 peak_icv_calibration_parameters parameters{ peak::common::detail::BackendAccessor<IntrinsicParameters>::CreateCType(
211 m_intrinsicParameters),
212 peak::common::detail::BackendAccessor<ExtrinsicParameters>::CreateCType(m_extrinsicParameters) };
217 return PEAK_ICV_C_ABI_PREFIX peak_icv_CalibrationParameters_ToBinaryGetSizeInBytes(
sizeof(parameters), &binarySize);
220 std::vector<uint8_t> binary(binarySize);
222 return PEAK_ICV_C_ABI_PREFIX peak_icv_CalibrationParameters_ToBinary(parameters,
sizeof(parameters), binary.data(), binarySize);