1 #ifndef _CHRONOPTICS_TOF_PROCESSING_CONFIG_H_
2 #define _CHRONOPTICS_TOF_PROCESSING_CONFIG_H_
4 #include <chronoptics/tof/error.h>
13 enum tof_flying_shape {
14 TOF_FLYING_SHAPE_PLUS = 0,
15 TOF_FLYING_SHAPE_BOX = 1,
21 enum tof_mp_sort_mode {
22 TOF_MP_SORT_MODE_DARKEST = 0,
23 TOF_MP_SORT_MODE_SHORTEST = 1,
24 TOF_MP_SORT_MODE_BRIGHTEST = 2,
25 TOF_MP_SORT_MODE_LONGEST = 3,
26 TOF_MP_SORT_MODE_AGGRESSOR = 4,
27 TOF_MP_SORT_MODE_ADAPTIVE_SHORT_V0 = 5,
28 TOF_MP_SORT_MODE_ADAPTIVE_SHORT_V1 = 6,
29 TOF_MP_SORT_MODE_AGGRESSOR_V2 = 7,
34 enum tof_binning_mode {
35 TOF_BINNING_MODE_NORMAL = 0,
36 TOF_BINNING_MODE_SMART = 1,
41 typedef struct tof_processing_config* tof_processing_config_t;
44 TOF_EXPORT
void tof_processing_config_delete(tof_processing_config_t ptr);
51 TOF_EXPORT tof_processing_config_t tof_processing_config_new_default(tof_error_t *error);
59 TOF_EXPORT tof_processing_config_t tof_processing_config_new_from_disk(
const char* file_location, tof_error_t *error);
66 TOF_EXPORT
void tof_processing_config_write(
const tof_processing_config_t ptr,
const char* file_location, tof_error_t *error);
73 TOF_EXPORT
bool tof_processing_config_get_gpu(
const tof_processing_config_t ptr, tof_error_t *error);
80 TOF_EXPORT
void tof_processing_config_set_gpu(tof_processing_config_t ptr,
bool gpu, tof_error_t *error);
87 TOF_EXPORT
bool tof_processing_config_get_calibration_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
94 TOF_EXPORT
void tof_processing_config_set_calibration_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
101 TOF_EXPORT
bool tof_processing_config_get_phase_unwrapping_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
108 TOF_EXPORT
void tof_processing_config_set_phase_unwrapping_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
115 TOF_EXPORT
double tof_processing_config_get_phase_unwrapping_max_offset(
const tof_processing_config_t ptr, tof_error_t *error);
122 TOF_EXPORT
void tof_processing_config_set_phase_unwrapping_max_offset(tof_processing_config_t ptr,
double max_offset, tof_error_t *error);
129 TOF_EXPORT
bool tof_processing_config_get_mixed_pixel_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
136 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
143 TOF_EXPORT
const char* tof_processing_config_get_mixed_pixel_lut_file(
const tof_processing_config_t ptr, tof_error_t *error);
150 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_lut_file(tof_processing_config_t ptr,
const char* file_location, tof_error_t *error);
157 TOF_EXPORT
double tof_processing_config_get_mixed_pixel_amp_min(
const tof_processing_config_t ptr, tof_error_t *error);
164 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_amp_min(tof_processing_config_t ptr,
double amp_min, tof_error_t *error);
171 TOF_EXPORT
enum tof_mp_sort_mode tof_processing_config_get_mixed_pixel_sort_mode(
const tof_processing_config_t ptr, tof_error_t *error);
178 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_sort_mode(tof_processing_config_t ptr,
enum tof_mp_sort_mode sort_mode, tof_error_t *error);
185 TOF_EXPORT
double tof_processing_config_get_mixed_pixel_aratio(
const tof_processing_config_t ptr, tof_error_t *error);
192 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_aratio(tof_processing_config_t ptr,
double aratio, tof_error_t *error);
199 TOF_EXPORT
double tof_processing_config_get_mixed_pixel_phi_diff(
const tof_processing_config_t ptr, tof_error_t *error);
206 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_phi_diff(tof_processing_config_t ptr,
double phi_diff, tof_error_t *error);
213 TOF_EXPORT
double tof_processing_config_get_mixed_pixel_aggressor_threshold(
const tof_processing_config_t ptr, tof_error_t *error);
220 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_aggressor_threshold(tof_processing_config_t ptr,
double threshold, tof_error_t *error);
227 TOF_EXPORT int32_t tof_processing_config_get_mixed_pixel_min_aggressor_size(
const tof_processing_config_t ptr, tof_error_t *error);
234 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_min_aggressor_size(tof_processing_config_t ptr, int32_t size, tof_error_t *error);
241 TOF_EXPORT
double tof_processing_config_get_mixed_pixel_max_error_3f(
const tof_processing_config_t ptr, tof_error_t *error);
248 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_max_error_3f(tof_processing_config_t ptr,
double max_error_3f, tof_error_t *error);
255 TOF_EXPORT
double tof_processing_config_get_mixed_pixel_adaptive_amp_max(
const tof_processing_config_t ptr, tof_error_t *error);
262 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_adaptive_amp_max(tof_processing_config_t ptr,
double adaptive_amp_max, tof_error_t *error);
269 TOF_EXPORT
double tof_processing_config_get_mixed_pixel_adaptive_amp_min(
const tof_processing_config_t ptr, tof_error_t *error);
276 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_adaptive_amp_min(tof_processing_config_t ptr,
double adaptive_amp_min, tof_error_t *error);
283 TOF_EXPORT
double tof_processing_config_get_mixed_pixel_aratio_min(
const tof_processing_config_t ptr, tof_error_t *error);
290 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_aratio_min(tof_processing_config_t ptr,
double aratio_min, tof_error_t *error);
298 TOF_EXPORT
double tof_processing_config_get_mixed_pixel_aggressor_phi_offset(
const tof_processing_config_t ptr, tof_error_t *error);
306 TOF_EXPORT
void tof_processing_config_set_mixed_pixel_aggressor_phi_offset(tof_processing_config_t ptr,
double aggressor_phi_offset, tof_error_t *error);
315 TOF_EXPORT
bool tof_processing_config_get_hdr_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
324 TOF_EXPORT
void tof_processing_config_set_hdr_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
332 TOF_EXPORT
bool tof_processing_config_get_average_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
340 TOF_EXPORT
void tof_processing_config_set_average_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
347 TOF_EXPORT
size_t tof_processing_config_get_average_nframes(
const tof_processing_config_t ptr, tof_error_t *error);
354 TOF_EXPORT
void tof_processing_config_set_average_nframes(tof_processing_config_t ptr,
size_t nframes, tof_error_t *error);
363 TOF_EXPORT
bool tof_processing_config_get_temporal_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
372 TOF_EXPORT
void tof_processing_config_set_temporal_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
379 TOF_EXPORT
double tof_processing_config_get_temporal_sigma(
const tof_processing_config_t ptr, tof_error_t *error);
386 TOF_EXPORT
void tof_processing_config_set_temporal_sigma(tof_processing_config_t ptr,
double sigma, tof_error_t *error);
393 TOF_EXPORT
size_t tof_processing_config_get_temporal_nframes(
const tof_processing_config_t ptr, tof_error_t *error);
400 TOF_EXPORT
void tof_processing_config_set_temporal_nframes(tof_processing_config_t ptr,
size_t nframes, tof_error_t *error);
408 TOF_EXPORT
bool tof_processing_config_get_gaussian_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
416 TOF_EXPORT
void tof_processing_config_set_gaussian_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
423 TOF_EXPORT
size_t tof_processing_config_get_gaussian_size(
const tof_processing_config_t ptr, tof_error_t *error);
430 TOF_EXPORT
void tof_processing_config_set_gaussian_size(tof_processing_config_t ptr,
size_t size, tof_error_t *error);
437 TOF_EXPORT
double tof_processing_config_get_gaussian_sigma(
const tof_processing_config_t ptr, tof_error_t *error);
444 TOF_EXPORT
void tof_processing_config_set_gaussian_sigma(tof_processing_config_t ptr,
double sigma, tof_error_t *error);
452 TOF_EXPORT
bool tof_processing_config_get_median_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
460 TOF_EXPORT
void tof_processing_config_set_median_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
467 TOF_EXPORT
size_t tof_processing_config_get_median_size(
const tof_processing_config_t ptr, tof_error_t *error);
474 TOF_EXPORT
void tof_processing_config_set_median_size(tof_processing_config_t ptr,
size_t size, tof_error_t *error);
483 TOF_EXPORT
bool tof_processing_config_get_bilateral_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
492 TOF_EXPORT
void tof_processing_config_set_bilateral_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
499 TOF_EXPORT
size_t tof_processing_config_get_bilateral_size(
const tof_processing_config_t ptr, tof_error_t *error);
506 TOF_EXPORT
void tof_processing_config_set_bilateral_size(tof_processing_config_t ptr,
size_t size, tof_error_t *error);
513 TOF_EXPORT
double tof_processing_config_get_bilateral_sigma(
const tof_processing_config_t ptr, tof_error_t *error);
520 TOF_EXPORT
void tof_processing_config_set_bilateral_sigma(tof_processing_config_t ptr,
double sigma, tof_error_t *error);
527 TOF_EXPORT
bool tof_processing_config_get_local_means_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
534 TOF_EXPORT
void tof_processing_config_set_local_means_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
541 TOF_EXPORT
size_t tof_processing_config_get_local_means_size(
const tof_processing_config_t ptr, tof_error_t *error);
548 TOF_EXPORT
void tof_processing_config_set_local_means_size(tof_processing_config_t ptr,
size_t size, tof_error_t *error);
555 TOF_EXPORT
double tof_processing_config_get_local_means_sigma(
const tof_processing_config_t ptr, tof_error_t *error);
562 TOF_EXPORT
void tof_processing_config_set_local_means_sigma(tof_processing_config_t ptr,
double sigma, tof_error_t *error);
570 TOF_EXPORT
bool tof_processing_config_get_flying_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
578 TOF_EXPORT
void tof_processing_config_set_flying_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
585 TOF_EXPORT
enum tof_flying_shape tof_processing_config_get_flying_shape(
const tof_processing_config_t ptr, tof_error_t *error);
592 TOF_EXPORT
void tof_processing_config_set_flying_shape(tof_processing_config_t ptr,
enum tof_flying_shape shape, tof_error_t *error);
599 TOF_EXPORT
size_t tof_processing_config_get_flying_distance(
const tof_processing_config_t ptr, tof_error_t *error);
606 TOF_EXPORT
void tof_processing_config_set_flying_distance(tof_processing_config_t ptr,
size_t distance, tof_error_t *error);
613 TOF_EXPORT
size_t tof_processing_config_get_flying_edges(
const tof_processing_config_t ptr, tof_error_t *error);
620 TOF_EXPORT
void tof_processing_config_set_flying_edges(tof_processing_config_t ptr,
size_t edges, tof_error_t *error);
628 TOF_EXPORT
bool tof_processing_config_get_amp_threshold_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
636 TOF_EXPORT
void tof_processing_config_set_amp_threshold_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
643 TOF_EXPORT
double tof_processing_config_get_amp_threshold_min(
const tof_processing_config_t ptr, tof_error_t *error);
650 TOF_EXPORT
void tof_processing_config_set_amp_threshold_min(tof_processing_config_t ptr,
double min, tof_error_t *error);
657 TOF_EXPORT
double tof_processing_config_get_amp_threshold_max(
const tof_processing_config_t ptr, tof_error_t *error);
664 TOF_EXPORT
void tof_processing_config_set_amp_threshold_max(tof_processing_config_t ptr,
double max, tof_error_t *error);
672 TOF_EXPORT
bool tof_processing_config_get_dist_threshold_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
680 TOF_EXPORT
void tof_processing_config_set_dist_threshold_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
687 TOF_EXPORT
double tof_processing_config_get_dist_threshold_min(
const tof_processing_config_t ptr, tof_error_t *error);
694 TOF_EXPORT
void tof_processing_config_set_dist_threshold_min(tof_processing_config_t ptr,
double min, tof_error_t *error);
701 TOF_EXPORT
double tof_processing_config_get_dist_threshold_max(
const tof_processing_config_t ptr, tof_error_t *error);
708 TOF_EXPORT
void tof_processing_config_set_dist_threshold_max(tof_processing_config_t ptr,
double max, tof_error_t *error);
715 TOF_EXPORT
float tof_processing_config_get_radial_scale(
const tof_processing_config_t ptr, tof_error_t *error);
722 TOF_EXPORT
void tof_processing_config_set_radial_scale(tof_processing_config_t ptr,
float scale, tof_error_t *error);
729 TOF_EXPORT
float tof_processing_config_get_radial_add(
const tof_processing_config_t ptr, tof_error_t *error);
736 TOF_EXPORT
void tof_processing_config_set_radial_add(tof_processing_config_t ptr,
float addition, tof_error_t *error);
743 TOF_EXPORT
float tof_processing_config_get_intensity_scale(
const tof_processing_config_t ptr, tof_error_t *error);
750 TOF_EXPORT
void tof_processing_config_set_intensity_scale(tof_processing_config_t ptr,
float scale, tof_error_t *error);
757 TOF_EXPORT
float tof_processing_config_get_intensity_add(
const tof_processing_config_t ptr, tof_error_t *error);
764 TOF_EXPORT
void tof_processing_config_set_intensity_add(tof_processing_config_t ptr,
float addition, tof_error_t *error);
772 TOF_EXPORT
double tof_processing_config_get_char_add(
const tof_processing_config_t ptr, tof_error_t *error);
780 TOF_EXPORT
void tof_processing_config_set_char_add(tof_processing_config_t ptr,
double addition, tof_error_t *error);
788 TOF_EXPORT
double tof_processing_config_get_char_mult(
const tof_processing_config_t ptr, tof_error_t *error);
796 TOF_EXPORT
void tof_processing_config_set_char_mult(tof_processing_config_t ptr,
double multiplication, tof_error_t *error);
803 TOF_EXPORT
bool tof_processing_config_get_binning_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
810 TOF_EXPORT
void tof_processing_config_set_binning_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
817 TOF_EXPORT
size_t tof_processing_config_get_binning_size(
const tof_processing_config_t ptr, tof_error_t *error);
824 TOF_EXPORT
void tof_processing_config_set_binning_size(tof_processing_config_t ptr,
size_t size, tof_error_t *error);
831 TOF_EXPORT
enum tof_binning_mode tof_processing_config_get_binning_mode(
const tof_processing_config_t ptr, tof_error_t *error);
838 TOF_EXPORT
void tof_processing_config_set_binning_mode(tof_processing_config_t ptr,
enum tof_binning_mode mode, tof_error_t *error);
846 TOF_EXPORT
float tof_processing_config_get_binning_sigma(
const tof_processing_config_t ptr, tof_error_t *error);
854 TOF_EXPORT
void tof_processing_config_set_binning_sigma(tof_processing_config_t ptr,
float sigma, tof_error_t *error);