92 template <
class Container
95 typename = std::enable_if_t<detail::is_contiguous_container<Container, uint8_t>::value>
136 PEAK_COMMON_NO_DISCARD std::vector<uint8_t>
ToBinary()
const;
140 friend peak::common::detail::BackendAccessor<CalibrationParameters>;
144 explicit operator peak_icv_calibration_parameters()
const;
145 static peak_icv_calibration_parameters LoadFromFile(
const std::string& filePath);
150 template <class Container, typename = std::enable_if_t<detail::is_contiguous_container<Container, uint8_t>::value>>
151 static peak_icv_calibration_parameters CreateFromBinary(
const Container& binaryData)
155 return PEAK_ICV_C_ABI_PREFIX peak_icv_ValidateBinary(binaryData.data(), binaryData.size(), &isValid);
160 throw CorruptedException(
"The given binary data is invalid");
163 peak_icv_calibration_parameters calibration_parameters{};
165 return PEAK_ICV_C_ABI_PREFIX peak_icv_CalibrationParameters_CreateFromBinary(
166 binaryData.data(), binaryData.size(), &calibration_parameters,
sizeof(peak_icv_calibration_parameters));
169 return calibration_parameters;
216 return PEAK_ICV_C_ABI_PREFIX peak_icv_CalibrationParameters_CreateFromFile(¶meters,
sizeof(parameters), filePath.c_str());
224 peak_icv_calibration_parameters parameters{ peak::common::detail::BackendAccessor<IntrinsicParameters>::CreateCType(
225 m_intrinsicParameters),
226 peak::common::detail::BackendAccessor<ExtrinsicParameters>::CreateCType(m_extrinsicParameters) };
231 return PEAK_ICV_C_ABI_PREFIX peak_icv_CalibrationParameters_ToBinaryGetSizeInBytes(
sizeof(parameters), &binarySize);
234 std::vector<uint8_t> binary(binarySize);
236 return PEAK_ICV_C_ABI_PREFIX peak_icv_CalibrationParameters_ToBinary(parameters,
sizeof(parameters), binary.data(), binarySize);