l500-thermal-loop.h
Go to the documentation of this file.
1 // License: Apache 2.0. See LICENSE file in root directory.
2 // Copyright(c) 2020 Intel Corporation. All Rights Reserved.
3 
4 #pragma once
5 
6 #include <vector>
7 #include "../../types.h"
9 
10 namespace librealsense {
11 namespace algo {
12 namespace thermal_loop {
13 namespace l500 {
14 
15 
16 // RGB_Thermal_Info_CalibInfo table
17 // -----------------------------------
18 //
19 // The table contains equally spaced bins between min & max temperature.
20 //
21 // Each bin has a set of 4 transformation parameters. The transformation maps a point in the RGB
22 // image in a given temperature to its expected location in the temperature in which the RGB module
23 // was calibrated.
24 //
25 // Reference at:
26 // https://rsconf.intel.com/display/L500/0x317+RGB+Thermal+Table
27 //
28 #pragma pack( push, 1 )
30 {
31 public:
32  static const int id;
33 
34  // The header as it's written raw
36  {
37  float min_temp;
38  float max_temp;
39  float reference_temp; // Reference calibration temperature (humidity sensor)
40  float valid; // Valid table (Created in ATC && Updated in ACC)
41  };
42 
43  // Each bin data, as it's written in the actual raw table
44  struct thermal_bin
45  {
46  float scale;
47  float sheer; // parameters which affect offset that are not in use
48  float tx;
49  float ty;
50  };
51 
52  // Number of bins *between* min and max:
53  // bin - size = ( max - min ) / ( resolution + 1 )
54  // In the raw calibration table, 29 is implicitly used.
55  size_t _resolution;
56 
58  std::vector< thermal_bin > bins;
59 
61  thermal_calibration_table( const std::vector< byte > & data, int resolution = 29 );
62 
63  double get_thermal_scale( double hum_temp ) const override;
64 
65  std::vector< byte > build_raw_data() const override;
66 
67  bool is_valid() const override { return _header.valid != 0.f; }
68 };
69 #pragma pack( pop )
70 
72 
73 } // namespace l500
74 } // namespace thermal_loop
75 } // namespace algo
76 } // namespace librealsense
bool operator==(const thermal_calibration_table &lhs, const thermal_calibration_table &rhs)
YYCODETYPE lhs
Definition: sqlite3.c:132469
Definition: parser.hpp:150


librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:47:21