input_sensor_file_rosbagbin.h
Go to the documentation of this file.
1 /******************************************************************************
2 Copyright (c), 2023 - Analog Devices Inc. All Rights Reserved.
3 This software is PROPRIETARY & CONFIDENTIAL to Analog Devices, Inc.
4 and its licensors.
5 ******************************************************************************/
6 
7 #ifndef INPUT_SENSOR_FILE_ROSBAGBIN_H
8 #define INPUT_SENSOR_FILE_ROSBAGBIN_H
9 
10 #include "input_sensor.h"
11 #include <stdint.h>
12 #include <fstream>
13 
19 {
20 public:
22  {
23  input_frame_width_ = 1024;
24  input_frame_height_ = 1024;
26 
27  camera_intrinsics_.camera_matrix[0] = 781.291565f;
29  camera_intrinsics_.camera_matrix[2] = 520.714905f;
31  camera_intrinsics_.camera_matrix[4] = 781.87738f;
32  camera_intrinsics_.camera_matrix[5] = 513.001709f;
36 
37  camera_intrinsics_.distortion_coeffs[0] = -0.0693829656f;
38  camera_intrinsics_.distortion_coeffs[1] = 0.115561306f;
39  camera_intrinsics_.distortion_coeffs[2] = 0.000196631983f;
40  camera_intrinsics_.distortion_coeffs[3] = -0.00011414945f;
41  camera_intrinsics_.distortion_coeffs[4] = 0.0944529548f;
42  camera_intrinsics_.distortion_coeffs[5] = 0.269195855f;
43  camera_intrinsics_.distortion_coeffs[6] = -0.00811018609f;
44  camera_intrinsics_.distortion_coeffs[7] = 0.190516844f;
45 
46  // Initializing extrinsics
56 
60  }
61  void openSensor(std::string sensor_name, int input_image_width, int input_image_height, std::string config_file_name,
62  std::string input_sensor_ip);
63  void configureSensor(int camera_mode);
64  void getIntrinsics(CameraIntrinsics* camera_intrinsics_data);
65  void getExtrinsics(CameraExtrinsics* camera_extrinsics_data);
66  bool readNextFrame(unsigned short* out_depth_frame, unsigned short* out_ab_frame, unsigned short* out_conf_frame,
67  short* out_xyz_frame);
68  bool getFrameTimestamp(ros::Time* timestamp);
69  void closeSensor();
70 
76  void setABinvalidationThreshold(int threshold)
77  {
78  // Does nothing here, should be overridden in derived class.
79  return;
80  }
81 
87  void setConfidenceThreshold(int threshold)
88  {
89  // Does nothing here, should be overridden in derived class.
90  return;
91  }
92 
98  void setJBLFFilterState(bool enable_jblf_filter)
99  {
100  // Does nothing here, should be overridden in derived class.
101  return;
102  }
103 
109  void setJBLFFilterSize(int jbfl_filter_size)
110  {
111  // Does nothing here, should be overridden in derived class.
112  return;
113  }
114 
120  void setRadialFilterMinThreshold(int radial_min_threshold)
121  {
122  // Does nothing here, should be overridden in derived class.
123  return;
124  }
125 
131  void setRadialFilterMaxThreshold(int radial_max_threshold)
132  {
133  // Does nothing here, should be overridden in derived class.
134  return;
135  }
136 
137 private:
138  std::string in_file_name_;
139  std::ifstream in_file_;
140  uint32_t input_frame_width_;
141  uint32_t input_frame_height_;
143  uint32_t header_version_ = 0;
144  uint32_t frame_pitch_ = 0;
145  uint64_t device_timestamp_ = 0;
146  uint64_t frame_timestamp_ = 0;
147  uint32_t bytes_per_pixel_ = 2;
148  uint32_t total_frames_ = 0;
149  uint8_t header_buffer_[36];
150  uint8_t cam_info_buffer_[400];
153 };
154 
155 #endif
InputSensorFileRosbagBin::readNextFrame
bool readNextFrame(unsigned short *out_depth_frame, unsigned short *out_ab_frame, unsigned short *out_conf_frame, short *out_xyz_frame)
reads next frame
Definition: input_sensor_file_rosbagbin.cpp:185
InputSensorFileRosbagBin::setConfidenceThreshold
void setConfidenceThreshold(int threshold)
Set Confidence Threshold.
Definition: input_sensor_file_rosbagbin.h:91
InputSensorFileRosbagBin
This is input class for sensor as camera.
Definition: input_sensor_file_rosbagbin.h:18
InputSensorFileRosbagBin::getExtrinsics
void getExtrinsics(CameraExtrinsics *camera_extrinsics_data)
gets camera extrinsics
Definition: input_sensor_file_rosbagbin.cpp:170
InputSensorFileRosbagBin::input_frame_height_
uint32_t input_frame_height_
Definition: input_sensor_file_rosbagbin.h:145
InputSensorFileRosbagBin::in_file_
std::ifstream in_file_
Definition: input_sensor_file_rosbagbin.h:143
InputSensorFileRosbagBin::camera_intrinsics_
CameraIntrinsics camera_intrinsics_
Definition: input_sensor_file_rosbagbin.h:155
InputSensorFileRosbagBin::setRadialFilterMinThreshold
void setRadialFilterMinThreshold(int radial_min_threshold)
sets the minimum threshold for radial filter
Definition: input_sensor_file_rosbagbin.h:124
InputSensorFileRosbagBin::setJBLFFilterState
void setJBLFFilterState(bool enable_jblf_filter)
sets the state of JBLF filter
Definition: input_sensor_file_rosbagbin.h:102
CameraIntrinsics::camera_matrix
float camera_matrix[9]
Camera matrix = [fx, 0, cx, 0, fy, cy, 0, 0, 1] fx, fy : Camera focal lengths (pixels) cx,...
Definition: adi_camera.h:27
InputSensorFileRosbagBin::header_version_
uint32_t header_version_
Definition: input_sensor_file_rosbagbin.h:147
input_sensor.h
IInputSensor
This is input base class.
Definition: input_sensor.h:18
InputSensorFileRosbagBin::device_timestamp_
uint64_t device_timestamp_
Definition: input_sensor_file_rosbagbin.h:149
CameraExtrinsics::rotation_matrix
float rotation_matrix[9]
Camera rotation parameters.
Definition: adi_camera.h:44
InputSensorFileRosbagBin::setJBLFFilterSize
void setJBLFFilterSize(int jbfl_filter_size)
sets the size of JBLF filter
Definition: input_sensor_file_rosbagbin.h:113
InputSensorFileRosbagBin::camera_extrinsics_
CameraExtrinsics camera_extrinsics_
Definition: input_sensor_file_rosbagbin.h:156
InputSensorFileRosbagBin::frame_timestamp_
uint64_t frame_timestamp_
Definition: input_sensor_file_rosbagbin.h:150
CameraExtrinsics::translation_matrix
float translation_matrix[3]
Camera translation matrix : [Tx,Ty,Tz].
Definition: adi_camera.h:50
ros::Time
InputSensorFileRosbagBin::InputSensorFileRosbagBin
InputSensorFileRosbagBin()
Definition: input_sensor_file_rosbagbin.h:25
CameraExtrinsics
Extrinsic parameters of the camera.
Definition: adi_camera.h:38
InputSensorFileRosbagBin::openSensor
void openSensor(std::string sensor_name, int input_image_width, int input_image_height, std::string config_file_name, std::string input_sensor_ip)
opens the bag file.
Definition: input_sensor_file_rosbagbin.cpp:21
InputSensorFileRosbagBin::input_frame_width_
uint32_t input_frame_width_
Definition: input_sensor_file_rosbagbin.h:144
CameraIntrinsics
Intrinsic parameters of the camera.
Definition: adi_camera.h:15
InputSensorFileRosbagBin::in_file_name_
std::string in_file_name_
Definition: input_sensor_file_rosbagbin.h:142
InputSensorFileRosbagBin::frame_pitch_
uint32_t frame_pitch_
Definition: input_sensor_file_rosbagbin.h:148
InputSensorFileRosbagBin::processing_scale_
int processing_scale_
Definition: input_sensor_file_rosbagbin.h:146
InputSensorFileRosbagBin::header_buffer_
uint8_t header_buffer_[36]
Definition: input_sensor_file_rosbagbin.h:153
InputSensorFileRosbagBin::configureSensor
void configureSensor(int camera_mode)
Configures the sensor.
Definition: input_sensor_file_rosbagbin.cpp:42
InputSensorFileRosbagBin::setRadialFilterMaxThreshold
void setRadialFilterMaxThreshold(int radial_max_threshold)
sets the maximum threshold for radial filter
Definition: input_sensor_file_rosbagbin.h:135
InputSensorFileRosbagBin::bytes_per_pixel_
uint32_t bytes_per_pixel_
Definition: input_sensor_file_rosbagbin.h:151
InputSensorFileRosbagBin::getFrameTimestamp
bool getFrameTimestamp(ros::Time *timestamp)
returns frame timestamp
Definition: input_sensor_file_rosbagbin.cpp:304
InputSensorFileRosbagBin::getIntrinsics
void getIntrinsics(CameraIntrinsics *camera_intrinsics_data)
Gets the camera intrinsics.
Definition: input_sensor_file_rosbagbin.cpp:159
CameraIntrinsics::distortion_coeffs
float distortion_coeffs[8]
Distortion vector = [k1, k2, p1, p2, k3, k4, k5, k6] k1, k2, k3, k4, k5, k6 : Camera radial distortio...
Definition: adi_camera.h:35
InputSensorFileRosbagBin::closeSensor
void closeSensor()
closes the input file
Definition: input_sensor_file_rosbagbin.cpp:320
InputSensorFileRosbagBin::setABinvalidationThreshold
void setABinvalidationThreshold(int threshold)
set ABinvalidation threshold
Definition: input_sensor_file_rosbagbin.h:80
InputSensorFileRosbagBin::cam_info_buffer_
uint8_t cam_info_buffer_[400]
Definition: input_sensor_file_rosbagbin.h:154
InputSensorFileRosbagBin::total_frames_
uint32_t total_frames_
Definition: input_sensor_file_rosbagbin.h:152


adi_3dtof_adtf31xx
Author(s):
autogenerated on Sat May 17 2025 02:12:30