1#ifndef _CHRONOPTICS_TOF_CSF_READER_H_
2#define _CHRONOPTICS_TOF_CSF_READER_H_
4#include <chronoptics/tof/data.h>
5#include <chronoptics/tof/stream.h>
6#include <chronoptics/tof/calibration.h>
7#include <chronoptics/tof/camera_config.h>
15typedef struct tof_csf_reader* tof_csf_reader_t;
18TOF_EXPORT
void tof_csf_reader_delete(tof_csf_reader_t ptr);
26TOF_EXPORT tof_csf_reader_t tof_csf_reader_new(
const char* file_location, tof_error_t *error);
33TOF_EXPORT tof_data_t tof_csf_reader_read_frame(tof_csf_reader_t ptr, tof_error_t *error);
44TOF_EXPORT tof_data_t tof_csf_reader_read_frame_into_pointer(tof_csf_reader_t ptr, uint8_t* pointer,
size_t capacity, tof_user_pointer_destructed_t callback,
void* callback_user_data, tof_error_t *error);
51TOF_EXPORT
size_t tof_csf_reader_number_of_frames(
const tof_csf_reader_t ptr, tof_error_t *error);
60TOF_EXPORT tof_data_t tof_csf_reader_get_header(
const tof_csf_reader_t ptr,
size_t index, tof_error_t *error);
67TOF_EXPORT tof_stream_t tof_csf_reader_next_stream(
const tof_csf_reader_t ptr, tof_error_t *error);
74TOF_EXPORT
size_t tof_csf_reader_next_frame_size(
const tof_csf_reader_t ptr, tof_error_t *error);
81TOF_EXPORT
size_t tof_csf_reader_frame_index(
const tof_csf_reader_t ptr, tof_error_t *error);
88TOF_EXPORT
void tof_csf_reader_go_to_frame(tof_csf_reader_t ptr,
size_t index, tof_error_t *error);
97TOF_EXPORT
size_t tof_csf_reader_streams(
const tof_csf_reader_t ptr, tof_stream_t* streams,
size_t capacity, tof_error_t *error);
105TOF_EXPORT
size_t tof_csf_reader_stream_count(
const tof_csf_reader_t ptr, tof_stream_t stream, tof_error_t *error);
113TOF_EXPORT
void tof_csf_reader_go_to_stream(tof_csf_reader_t ptr, tof_stream_t stream,
size_t index, tof_error_t *error);
120TOF_EXPORT tof_calibration_t tof_csf_reader_get_calibration(
const tof_csf_reader_t ptr, tof_error_t *error);
127TOF_EXPORT tof_camera_config_t tof_csf_reader_get_camera_config(
const tof_csf_reader_t ptr, tof_error_t *error);