void compute_prob_treemap( QUAD_TREE *tree, MAP2 *map ) { if ((tree->level)>0 ) { if (tree->elem[0]->inuse) compute_prob_treemap( tree->elem[0], map ); if (tree->elem[1]->inuse) compute_prob_treemap( tree->elem[1], map ); if (tree->elem[2]->inuse) compute_prob_treemap( tree->elem[2], map ); if (tree->elem[3]->inuse) compute_prob_treemap( tree->elem[3], map ); } else { compute_prob_point( map, (tree->center.x/2), (tree->center.y/2) ); } }
void compute_prob_treemap( carmen_vascocore_quad_tree_t *tree, carmen_vascocore_map_t *map ) { if ((tree->level)>0 ) { if (tree->elem[0]->inuse) compute_prob_treemap( tree->elem[0], map ); if (tree->elem[1]->inuse) compute_prob_treemap( tree->elem[1], map ); if (tree->elem[2]->inuse) compute_prob_treemap( tree->elem[2], map ); if (tree->elem[3]->inuse) compute_prob_treemap( tree->elem[3], map ); } else { compute_prob_point( map, (tree->center.x/2), (tree->center.y/2) ); } }
void convolve_treemap( carmen_vascocore_map_t *map ) { int i; static int hk, first_time = TRUE; static carmen_gauss_kernel_t kernel; if (first_time) { hk = (carmen_vascocore_settings.local_map_kernel_len-1)/2; kernel = carmen_gauss_kernel( carmen_vascocore_settings.local_map_kernel_len ); first_time = FALSE; } compute_prob_treemap( &(map->qtree), map ); for (i=0;i<carmen_vascocore_settings.local_map_num_convolve;i++) { convolve_calc_treemap( &(map->qtree), map, kernel, hk, carmen_vascocore_settings.local_map_std_val ); convolve_prob_treemap( &(map->qtree), map, kernel, hk ); } }
void convolve_map( MAP2 *map ) { int i; static int hk, first_time = TRUE; static logtools_gauss_kernel_t kernel; if (first_time) { hk = (settings.local_map_kernel_len-1)/2; kernel = logtools_compute_gauss_kernel( settings.local_map_kernel_len ); first_time = FALSE; } compute_prob_treemap( &(map->qtree), map ); for (i=0;i<settings.local_map_num_convolve;i++) { convolve_calc_treemap( &(map->qtree), map, kernel, hk, settings.local_map_std_val ); convolve_prob_treemap( &(map->qtree), map, kernel, hk ); } }