1#ifndef _CHRONOPTICS_TOF_PROCESSING_CONFIG_H_
2#define _CHRONOPTICS_TOF_PROCESSING_CONFIG_H_
4#include <chronoptics/tof/error.h>
12enum tof_flying_shape {
13 TOF_FLYING_SHAPE_PLUS = 0,
14 TOF_FLYING_SHAPE_BOX = 1,
19enum tof_mp_sort_mode {
20 TOF_MP_SORT_MODE_DARKEST = 0,
21 TOF_MP_SORT_MODE_SHORTEST = 1,
22 TOF_MP_SORT_MODE_BRIGHTEST = 2,
23 TOF_MP_SORT_MODE_LONGEST = 3,
24 TOF_MP_SORT_MODE_AGGRESSOR = 4,
25 TOF_MP_SORT_MODE_ADAPTIVE_SHORT_V0 = 5,
26 TOF_MP_SORT_MODE_ADAPTIVE_SHORT_V1 = 6,
27 TOF_MP_SORT_MODE_AGGRESSOR_V2 = 7,
32enum tof_binning_mode {
33 TOF_BINNING_MODE_NORMAL = 0,
34 TOF_BINNING_MODE_SMART = 1,
39enum tof_xyz_dimension {
40 TOF_XYZ_DIMENSION_MILLIMETER = 0,
41 TOF_XYZ_DIMENSION_METER = 1,
46typedef struct tof_processing_config* tof_processing_config_t;
49TOF_EXPORT
void tof_processing_config_delete(tof_processing_config_t ptr);
56TOF_EXPORT tof_processing_config_t tof_processing_config_new_default(tof_error_t *error);
64TOF_EXPORT tof_processing_config_t tof_processing_config_new_from_disk(
const char* file_location, tof_error_t *error);
71TOF_EXPORT
void tof_processing_config_write(
const tof_processing_config_t ptr,
const char* file_location, tof_error_t *error);
78TOF_EXPORT
bool tof_processing_config_get_gpu(
const tof_processing_config_t ptr, tof_error_t *error);
85TOF_EXPORT
void tof_processing_config_set_gpu(tof_processing_config_t ptr,
bool gpu, tof_error_t *error);
92TOF_EXPORT
bool tof_processing_config_get_calibration_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
99TOF_EXPORT
void tof_processing_config_set_calibration_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
106TOF_EXPORT
bool tof_processing_config_get_phase_unwrapping_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
113TOF_EXPORT
void tof_processing_config_set_phase_unwrapping_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
120TOF_EXPORT
double tof_processing_config_get_phase_unwrapping_max_offset(
const tof_processing_config_t ptr, tof_error_t *error);
127TOF_EXPORT
void tof_processing_config_set_phase_unwrapping_max_offset(tof_processing_config_t ptr,
double max_offset, tof_error_t *error);
136TOF_EXPORT
bool tof_processing_config_get_basic_phase_unwrapping_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
145TOF_EXPORT
void tof_processing_config_set_basic_phase_unwrapping_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
152TOF_EXPORT
double tof_processing_config_get_basic_phase_unwrapping_max_offset(
const tof_processing_config_t ptr, tof_error_t *error);
159TOF_EXPORT
void tof_processing_config_set_basic_phase_unwrapping_max_offset(tof_processing_config_t ptr,
double offset, tof_error_t *error);
166TOF_EXPORT
bool tof_processing_config_get_mpi_detect_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
173TOF_EXPORT
void tof_processing_config_set_mpi_detect_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
180TOF_EXPORT
float tof_processing_config_get_mpi_detect_aratio(
const tof_processing_config_t ptr, tof_error_t *error);
187TOF_EXPORT
void tof_processing_config_set_mpi_detect_aratio(tof_processing_config_t ptr,
float aratio, tof_error_t *error);
194TOF_EXPORT
float tof_processing_config_get_mpi_detect_phi_diff(
const tof_processing_config_t ptr, tof_error_t *error);
201TOF_EXPORT
void tof_processing_config_set_mpi_detect_phi_diff(tof_processing_config_t ptr,
float phi_diff, tof_error_t *error);
208TOF_EXPORT
bool tof_processing_config_get_mixed_pixel_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
215TOF_EXPORT
void tof_processing_config_set_mixed_pixel_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
222TOF_EXPORT
const char* tof_processing_config_get_mixed_pixel_lut_file(
const tof_processing_config_t ptr, tof_error_t *error);
229TOF_EXPORT
void tof_processing_config_set_mixed_pixel_lut_file(tof_processing_config_t ptr,
const char* file_location, tof_error_t *error);
236TOF_EXPORT
double tof_processing_config_get_mixed_pixel_amp_min(
const tof_processing_config_t ptr, tof_error_t *error);
243TOF_EXPORT
void tof_processing_config_set_mixed_pixel_amp_min(tof_processing_config_t ptr,
double amp_min, tof_error_t *error);
250TOF_EXPORT
enum tof_mp_sort_mode tof_processing_config_get_mixed_pixel_sort_mode(
const tof_processing_config_t ptr, tof_error_t *error);
257TOF_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);
264TOF_EXPORT
double tof_processing_config_get_mixed_pixel_aratio(
const tof_processing_config_t ptr, tof_error_t *error);
271TOF_EXPORT
void tof_processing_config_set_mixed_pixel_aratio(tof_processing_config_t ptr,
double aratio, tof_error_t *error);
278TOF_EXPORT
double tof_processing_config_get_mixed_pixel_phi_diff(
const tof_processing_config_t ptr, tof_error_t *error);
285TOF_EXPORT
void tof_processing_config_set_mixed_pixel_phi_diff(tof_processing_config_t ptr,
double phi_diff, tof_error_t *error);
292TOF_EXPORT
double tof_processing_config_get_mixed_pixel_aggressor_threshold(
const tof_processing_config_t ptr, tof_error_t *error);
299TOF_EXPORT
void tof_processing_config_set_mixed_pixel_aggressor_threshold(tof_processing_config_t ptr,
double threshold, tof_error_t *error);
307TOF_EXPORT int32_t tof_processing_config_get_mixed_pixel_min_aggressor_size(
const tof_processing_config_t ptr, tof_error_t *error);
315TOF_EXPORT
void tof_processing_config_set_mixed_pixel_min_aggressor_size(tof_processing_config_t ptr, int32_t size, tof_error_t *error);
322TOF_EXPORT
double tof_processing_config_get_mixed_pixel_max_error_3f(
const tof_processing_config_t ptr, tof_error_t *error);
329TOF_EXPORT
void tof_processing_config_set_mixed_pixel_max_error_3f(tof_processing_config_t ptr,
double max_error_3f, tof_error_t *error);
336TOF_EXPORT
double tof_processing_config_get_mixed_pixel_adaptive_amp_max(
const tof_processing_config_t ptr, tof_error_t *error);
343TOF_EXPORT
void tof_processing_config_set_mixed_pixel_adaptive_amp_max(tof_processing_config_t ptr,
double adaptive_amp_max, tof_error_t *error);
350TOF_EXPORT
double tof_processing_config_get_mixed_pixel_adaptive_amp_min(
const tof_processing_config_t ptr, tof_error_t *error);
357TOF_EXPORT
void tof_processing_config_set_mixed_pixel_adaptive_amp_min(tof_processing_config_t ptr,
double adaptive_amp_min, tof_error_t *error);
364TOF_EXPORT
double tof_processing_config_get_mixed_pixel_aratio_min(
const tof_processing_config_t ptr, tof_error_t *error);
371TOF_EXPORT
void tof_processing_config_set_mixed_pixel_aratio_min(tof_processing_config_t ptr,
double aratio_min, tof_error_t *error);
379TOF_EXPORT
double tof_processing_config_get_mixed_pixel_aggressor_phi_offset(
const tof_processing_config_t ptr, tof_error_t *error);
387TOF_EXPORT
void tof_processing_config_set_mixed_pixel_aggressor_phi_offset(tof_processing_config_t ptr,
double aggressor_phi_offset, tof_error_t *error);
396TOF_EXPORT
bool tof_processing_config_get_hdr_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
405TOF_EXPORT
void tof_processing_config_set_hdr_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
413TOF_EXPORT
bool tof_processing_config_get_average_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
421TOF_EXPORT
void tof_processing_config_set_average_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
428TOF_EXPORT
size_t tof_processing_config_get_average_nframes(
const tof_processing_config_t ptr, tof_error_t *error);
435TOF_EXPORT
void tof_processing_config_set_average_nframes(tof_processing_config_t ptr,
size_t nframes, tof_error_t *error);
444TOF_EXPORT
bool tof_processing_config_get_temporal_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
453TOF_EXPORT
void tof_processing_config_set_temporal_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
460TOF_EXPORT
double tof_processing_config_get_temporal_sigma(
const tof_processing_config_t ptr, tof_error_t *error);
467TOF_EXPORT
void tof_processing_config_set_temporal_sigma(tof_processing_config_t ptr,
double sigma, tof_error_t *error);
475TOF_EXPORT
bool tof_processing_config_get_temporal_use_common(
const tof_processing_config_t ptr, tof_error_t *error);
483TOF_EXPORT
void tof_processing_config_set_temporal_use_common(tof_processing_config_t ptr,
bool use_common, tof_error_t *error);
490TOF_EXPORT
size_t tof_processing_config_get_temporal_nframes(
const tof_processing_config_t ptr, tof_error_t *error);
497TOF_EXPORT
void tof_processing_config_set_temporal_nframes(tof_processing_config_t ptr,
size_t nframes, tof_error_t *error);
505TOF_EXPORT
bool tof_processing_config_get_gaussian_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
513TOF_EXPORT
void tof_processing_config_set_gaussian_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
520TOF_EXPORT
size_t tof_processing_config_get_gaussian_size(
const tof_processing_config_t ptr, tof_error_t *error);
527TOF_EXPORT
void tof_processing_config_set_gaussian_size(tof_processing_config_t ptr,
size_t size, tof_error_t *error);
534TOF_EXPORT
double tof_processing_config_get_gaussian_sigma(
const tof_processing_config_t ptr, tof_error_t *error);
541TOF_EXPORT
void tof_processing_config_set_gaussian_sigma(tof_processing_config_t ptr,
double sigma, tof_error_t *error);
549TOF_EXPORT
bool tof_processing_config_get_median_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
557TOF_EXPORT
void tof_processing_config_set_median_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
564TOF_EXPORT
size_t tof_processing_config_get_median_size(
const tof_processing_config_t ptr, tof_error_t *error);
571TOF_EXPORT
void tof_processing_config_set_median_size(tof_processing_config_t ptr,
size_t size, tof_error_t *error);
580TOF_EXPORT
bool tof_processing_config_get_bilateral_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
589TOF_EXPORT
void tof_processing_config_set_bilateral_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
596TOF_EXPORT
size_t tof_processing_config_get_bilateral_size(
const tof_processing_config_t ptr, tof_error_t *error);
603TOF_EXPORT
void tof_processing_config_set_bilateral_size(tof_processing_config_t ptr,
size_t size, tof_error_t *error);
610TOF_EXPORT
double tof_processing_config_get_bilateral_sigma(
const tof_processing_config_t ptr, tof_error_t *error);
617TOF_EXPORT
void tof_processing_config_set_bilateral_sigma(tof_processing_config_t ptr,
double sigma, tof_error_t *error);
624TOF_EXPORT
bool tof_processing_config_get_local_means_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
631TOF_EXPORT
void tof_processing_config_set_local_means_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
638TOF_EXPORT
size_t tof_processing_config_get_local_means_size(
const tof_processing_config_t ptr, tof_error_t *error);
645TOF_EXPORT
void tof_processing_config_set_local_means_size(tof_processing_config_t ptr,
size_t size, tof_error_t *error);
652TOF_EXPORT
double tof_processing_config_get_local_means_sigma(
const tof_processing_config_t ptr, tof_error_t *error);
659TOF_EXPORT
void tof_processing_config_set_local_means_sigma(tof_processing_config_t ptr,
double sigma, tof_error_t *error);
667TOF_EXPORT
bool tof_processing_config_get_flying_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
675TOF_EXPORT
void tof_processing_config_set_flying_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
682TOF_EXPORT
enum tof_flying_shape tof_processing_config_get_flying_shape(
const tof_processing_config_t ptr, tof_error_t *error);
689TOF_EXPORT
void tof_processing_config_set_flying_shape(tof_processing_config_t ptr,
enum tof_flying_shape shape, tof_error_t *error);
696TOF_EXPORT
size_t tof_processing_config_get_flying_distance(
const tof_processing_config_t ptr, tof_error_t *error);
703TOF_EXPORT
void tof_processing_config_set_flying_distance(tof_processing_config_t ptr,
size_t distance, tof_error_t *error);
710TOF_EXPORT
size_t tof_processing_config_get_flying_edges(
const tof_processing_config_t ptr, tof_error_t *error);
717TOF_EXPORT
void tof_processing_config_set_flying_edges(tof_processing_config_t ptr,
size_t edges, tof_error_t *error);
724TOF_EXPORT
float tof_processing_config_get_flying_distance_scaled(
const tof_processing_config_t ptr, tof_error_t *error);
731TOF_EXPORT
void tof_processing_config_set_flying_distance_scaled(tof_processing_config_t ptr,
float scale, tof_error_t *error);
739TOF_EXPORT
bool tof_processing_config_get_amp_threshold_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
747TOF_EXPORT
void tof_processing_config_set_amp_threshold_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
754TOF_EXPORT
double tof_processing_config_get_amp_threshold_min(
const tof_processing_config_t ptr, tof_error_t *error);
761TOF_EXPORT
void tof_processing_config_set_amp_threshold_min(tof_processing_config_t ptr,
double min, tof_error_t *error);
768TOF_EXPORT
double tof_processing_config_get_amp_threshold_max(
const tof_processing_config_t ptr, tof_error_t *error);
775TOF_EXPORT
void tof_processing_config_set_amp_threshold_max(tof_processing_config_t ptr,
double max, tof_error_t *error);
783TOF_EXPORT
bool tof_processing_config_get_dist_threshold_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
791TOF_EXPORT
void tof_processing_config_set_dist_threshold_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
798TOF_EXPORT
double tof_processing_config_get_dist_threshold_min(
const tof_processing_config_t ptr, tof_error_t *error);
805TOF_EXPORT
void tof_processing_config_set_dist_threshold_min(tof_processing_config_t ptr,
double min, tof_error_t *error);
812TOF_EXPORT
double tof_processing_config_get_dist_threshold_max(
const tof_processing_config_t ptr, tof_error_t *error);
819TOF_EXPORT
void tof_processing_config_set_dist_threshold_max(tof_processing_config_t ptr,
double max, tof_error_t *error);
829TOF_EXPORT
bool tof_processing_config_get_amp_dot_segment_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
839TOF_EXPORT
void tof_processing_config_set_amp_dot_segment_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
846TOF_EXPORT
float tof_processing_config_get_amp_dot_segment_threshold(
const tof_processing_config_t ptr, tof_error_t *error);
853TOF_EXPORT
void tof_processing_config_set_amp_dot_segment_threshold(tof_processing_config_t ptr,
float threshold, tof_error_t *error);
860TOF_EXPORT
float tof_processing_config_get_amp_dot_segment_midpoint(
const tof_processing_config_t ptr, tof_error_t *error);
867TOF_EXPORT
void tof_processing_config_set_amp_dot_segment_midpoint(tof_processing_config_t ptr,
float midpoint, tof_error_t *error);
875TOF_EXPORT
float tof_processing_config_get_amp_dot_segment_max_correction(
const tof_processing_config_t ptr, tof_error_t *error);
883TOF_EXPORT
void tof_processing_config_set_amp_dot_segment_max_correction(tof_processing_config_t ptr,
float correction, tof_error_t *error);
894TOF_EXPORT
bool tof_processing_config_get_common_amp_ratio_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
905TOF_EXPORT
void tof_processing_config_set_common_amp_ratio_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
912TOF_EXPORT
float tof_processing_config_get_common_amp_ratio_threshold(
const tof_processing_config_t ptr, tof_error_t *error);
919TOF_EXPORT
void tof_processing_config_set_common_amp_ratio_threshold(tof_processing_config_t ptr,
float threshold, tof_error_t *error);
927TOF_EXPORT
bool tof_processing_config_get_morph_erode_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
935TOF_EXPORT
void tof_processing_config_set_morph_erode_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
942TOF_EXPORT
enum tof_flying_shape tof_processing_config_get_morph_erode_shape(
const tof_processing_config_t ptr, tof_error_t *error);
949TOF_EXPORT
void tof_processing_config_set_morph_erode_shape(tof_processing_config_t ptr,
enum tof_flying_shape shape, tof_error_t *error);
956TOF_EXPORT
float tof_processing_config_get_radial_scale(
const tof_processing_config_t ptr, tof_error_t *error);
963TOF_EXPORT
void tof_processing_config_set_radial_scale(tof_processing_config_t ptr,
float scale, tof_error_t *error);
970TOF_EXPORT
float tof_processing_config_get_radial_add(
const tof_processing_config_t ptr, tof_error_t *error);
977TOF_EXPORT
void tof_processing_config_set_radial_add(tof_processing_config_t ptr,
float addition, tof_error_t *error);
984TOF_EXPORT
float tof_processing_config_get_intensity_scale(
const tof_processing_config_t ptr, tof_error_t *error);
991TOF_EXPORT
void tof_processing_config_set_intensity_scale(tof_processing_config_t ptr,
float scale, tof_error_t *error);
998TOF_EXPORT
float tof_processing_config_get_intensity_add(
const tof_processing_config_t ptr, tof_error_t *error);
1005TOF_EXPORT
void tof_processing_config_set_intensity_add(tof_processing_config_t ptr,
float addition, tof_error_t *error);
1013TOF_EXPORT
double tof_processing_config_get_char_add(
const tof_processing_config_t ptr, tof_error_t *error);
1021TOF_EXPORT
void tof_processing_config_set_char_add(tof_processing_config_t ptr,
double addition, tof_error_t *error);
1029TOF_EXPORT
double tof_processing_config_get_char_mult(
const tof_processing_config_t ptr, tof_error_t *error);
1037TOF_EXPORT
void tof_processing_config_set_char_mult(tof_processing_config_t ptr,
double multiplication, tof_error_t *error);
1044TOF_EXPORT
bool tof_processing_config_get_binning_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
1051TOF_EXPORT
void tof_processing_config_set_binning_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
1058TOF_EXPORT
size_t tof_processing_config_get_binning_size(
const tof_processing_config_t ptr, tof_error_t *error);
1065TOF_EXPORT
void tof_processing_config_set_binning_size(tof_processing_config_t ptr,
size_t size, tof_error_t *error);
1072TOF_EXPORT
enum tof_binning_mode tof_processing_config_get_binning_mode(
const tof_processing_config_t ptr, tof_error_t *error);
1079TOF_EXPORT
void tof_processing_config_set_binning_mode(tof_processing_config_t ptr,
enum tof_binning_mode mode, tof_error_t *error);
1087TOF_EXPORT
float tof_processing_config_get_binning_sigma(
const tof_processing_config_t ptr, tof_error_t *error);
1095TOF_EXPORT
void tof_processing_config_set_binning_sigma(tof_processing_config_t ptr,
float sigma, tof_error_t *error);
1102TOF_EXPORT
enum tof_xyz_dimension tof_processing_config_get_xyz_dimension(
const tof_processing_config_t ptr, tof_error_t *error);
1109TOF_EXPORT
void tof_processing_config_set_xyz_dimension(tof_processing_config_t ptr,
enum tof_xyz_dimension dimension, tof_error_t *error);
1116TOF_EXPORT
bool tof_processing_config_get_rigid_transformation_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
1123TOF_EXPORT
void tof_processing_config_set_rigid_transformation_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
1130TOF_EXPORT
float* tof_processing_config_get_rigid_transformation_matrix(
const tof_processing_config_t ptr, tof_error_t *error);
1137TOF_EXPORT
void tof_processing_config_set_rigid_transformation_matrix(tof_processing_config_t ptr,
const float* matrix, tof_error_t *error);
1144TOF_EXPORT
bool tof_processing_config_get_rad_dist_threshold_enabled(
const tof_processing_config_t ptr, tof_error_t *error);
1151TOF_EXPORT
void tof_processing_config_set_rad_dist_threshold_enabled(tof_processing_config_t ptr,
bool enabled, tof_error_t *error);
1158TOF_EXPORT
double tof_processing_config_get_rad_dist_threshold_min(
const tof_processing_config_t ptr, tof_error_t *error);
1165TOF_EXPORT
void tof_processing_config_set_rad_dist_threshold_min(tof_processing_config_t ptr,
double min, tof_error_t *error);
1172TOF_EXPORT
double tof_processing_config_get_rad_dist_threshold_max(
const tof_processing_config_t ptr, tof_error_t *error);
1179TOF_EXPORT
void tof_processing_config_set_rad_dist_threshold_max(tof_processing_config_t ptr,
double max, tof_error_t *error);