Program Listing for File features_compute.h¶
↰ Return to documentation for file (c/fmdt/features/features_compute.h)
#pragma once
#include "fmdt/features/features_struct.h"
RoIs_basic_t* features_alloc_RoIs_basic(const size_t max_size, uint32_t* RoIs_id);
void features_init_RoIs_basic(RoIs_basic_t* RoIs_basic, const uint8_t init_id);
void features_free_RoIs_basic(RoIs_basic_t* RoIs_basic, const uint8_t free_id);
RoIs_asso_t* features_alloc_RoIs_asso(const size_t max_size, uint32_t* RoIs_id);
void features_init_RoIs_asso(RoIs_asso_t* RoIs_asso, const uint8_t init_id);
void features_free_RoIs_asso(RoIs_asso_t* RoIs_asso, const uint8_t free_id);
RoIs_motion_t* features_alloc_RoIs_motion(const size_t max_size, uint32_t* RoIs_id);
void features_init_RoIs_motion(RoIs_motion_t* RoIs_motion, const uint8_t init_id);
void features_free_RoIs_motion(RoIs_motion_t* RoIs_motion, const uint8_t free_id);
RoIs_misc_t* features_alloc_RoIs_misc(const uint8_t enable_magnitude, const uint8_t enable_sat_count,
const size_t max_size, uint32_t* RoIs_id);
void features_init_RoIs_misc(RoIs_misc_t* RoIs_misc, const uint8_t init_id);
void features_free_RoIs_misc(RoIs_misc_t* RoIs_misc, const uint8_t free_id);
RoIs_t* features_alloc_RoIs(const uint8_t enable_magnitude, const uint8_t enable_sat_count, const size_t max_size);
void features_init_RoIs(RoIs_t* RoIs);
void features_free_RoIs(RoIs_t* RoIs);
void _features_extract(const uint32_t** labels, const int i0, const int i1, const int j0, const int j1,
uint32_t* RoIs_id, uint32_t* RoIs_xmin, uint32_t* RoIs_xmax, uint32_t* RoIs_ymin,
uint32_t* RoIs_ymax, uint32_t* RoIs_S, uint32_t* RoIs_Sx, uint32_t* RoIs_Sy, float* RoIs_x,
float* RoIs_y,
const size_t n_RoIs);
void features_extract(const uint32_t** labels, const int i0, const int i1, const int j0, const int j1,
const size_t n_RoIs, RoIs_basic_t* RoIs_basic);
void _features_merge_CCL_HI_v2(const uint32_t** in_labels, const uint8_t** img_HI, uint32_t** out_labels, const int i0,
const int i1, const int j0, const int j1, uint32_t* RoIs_id, const uint32_t* RoIs_xmin,
const uint32_t* RoIs_xmax, const uint32_t* RoIs_ymin, const uint32_t* RoIs_ymax,
const uint32_t* RoIs_S, const size_t n_RoIs, const uint32_t S_min, const uint32_t S_max);
void features_merge_CCL_HI_v2(const uint32_t** in_labels, const uint8_t** img_HI, uint32_t** out_labels, const int i0,
const int i1, const int j0, const int j1, RoIs_basic_t* RoIs_basic, const uint32_t S_min,
const uint32_t S_max);
size_t _features_shrink(const uint32_t* RoIs_src_id, const uint32_t* RoIs_src_xmin,
const uint32_t* RoIs_src_xmax, const uint32_t* RoIs_src_ymin,
const uint32_t* RoIs_src_ymax, const uint32_t* RoIs_src_S, const uint32_t* RoIs_src_Sx,
const uint32_t* RoIs_src_Sy, const float* RoIs_src_x, const float* RoIs_src_y,
const size_t n_RoIs_src, uint32_t* RoIs_dst_id, uint32_t* RoIs_dst_xmin,
uint32_t* RoIs_dst_xmax, uint32_t* RoIs_dst_ymin, uint32_t* RoIs_dst_ymax,
uint32_t* RoIs_dst_S, uint32_t* RoIs_dst_Sx, uint32_t* RoIs_dst_Sy, float* RoIs_dst_x,
float* RoIs_dst_y);
void features_shrink(const RoIs_basic_t* RoIs_basic_src, RoIs_basic_t* RoIs_basic_dst);
void _features_compute_magnitude(const uint8_t** img, const uint32_t img_width, const uint32_t img_height,
const uint32_t** labels, const uint32_t* RoIs_xmin, const uint32_t* RoIs_xmax,
const uint32_t* RoIs_ymin, const uint32_t* RoIs_ymax, const uint32_t* RoIs_S,
uint32_t* RoIs_magnitude, uint32_t* RoIs_sat_count, const size_t n_RoIs);
void features_compute_magnitude(const uint8_t** img, const uint32_t img_width, const uint32_t img_height,
const uint32_t** labels, const RoIs_basic_t* RoIs_basic, RoIs_misc_t* RoIs_misc);