int
update_input_filters()
{
	// Try to Update All filters and check if it was a successful update
	if(	!(
		conditional_filter_update(get_filter_by_name((char*)"in_saccade_translated_filter")) /*&
		conditional_filter_update(get_filter_by_name((char*)"in_saccade_translated_gaussian_filter"))*/
		))
		return 0;

	return 1;
}
// Trains the visual search module
void
visual_search_thin_train(void)
{	
	set_neuron_layer_band_gaussian(&nl_v1_activation_map,HIGHEST_OUTPUT,(float)BAND_WIDTH/2.0,BAND_WIDTH);

	filter_update(get_filter_by_name((char*)"nl_v1_activation_map_f_filter"));

	train_neuron_layer((char*)"nl_v1_activation_map");

	save_gaussian_filtered_training_pattern(&nl_v1_activation_map);

	all_filters_update();
	all_outputs_update();
}
void
input_filters_and_outputs_update(void)
{
	conditional_filter_update(get_filter_by_name((char*)"in_saccade_translated_filter"));
	
	if(get_output_by_name((char*)"in_saccade_current_filtered_out"))
		output_update(get_output_by_name((char*)"in_saccade_current_filtered_out"));
		
	conditional_filter_update(get_filter_by_name((char*)"in_saccade_translated_scaled_filter"));

	if(get_output_by_name((char*)"in_saccade_translated_scaled_out"))
		output_update(get_output_by_name((char*)"in_saccade_translated_scaled_out"));

	conditional_filter_update(get_filter_by_name((char*)"in_saccade_translated_scaled_gaussian_filter"));
	
	if(get_output_by_name((char*)"in_saccade_translated_scaled_gaussian_out"))
		output_update(get_output_by_name((char*)"in_saccade_translated_scaled_gaussian_out"));

	conditional_filter_update(get_filter_by_name((char*)"in_saccade_trained_log_polar_filter"));
	
	if(get_output_by_name((char*)"in_saccade_trained_log_polar_out"))
		output_update(get_output_by_name((char*)"in_saccade_trained_log_polar_out"));

}
Ejemplo n.º 4
0
int get_filters(
        virConnectPtr conn,
        struct acl_filter **list)
{
#if LIBVIR_VERSION_NUMBER > 8000
        int count = 0;
        char **names = NULL;
        struct acl_filter *filters = NULL;
        int i = 0;

        count = virConnectNumOfNWFilters(conn);

        names = calloc(count, sizeof(char *));
        if (names == NULL)
                goto err;

        virConnectListNWFilters(conn, names, count);

        filters = calloc(count, sizeof(*filters));

        if (filters == NULL)
                goto err;

        for(i = 0; i < count; i++)
        {
                struct acl_filter *filter = NULL;

                if (get_filter_by_name(conn, names[i], &filter) == 0)
                        break;

                memcpy(&filters[i], filter, sizeof(*filter));
                free(filter);
        }

        *list = filters;

 err:
        free(names);

        return i;
#else
        return 0;
#endif
}
void
input_generator (INPUT_DESC *input, int status)
{

	if (input->win == 0)
	{
		init_visual_search_thin (input);
	}
	else
	{
		if (status == MOVE)
		{
			check_input_bounds (input, input->wxd, input->wxd);
			glutSetWindow (input->win);
			input_display ();
			update_input_filters();
			all_dendrites_update (); 
			all_neurons_update ();
			filter_update(get_filter_by_name((char*)"nl_v1_activation_map_f_filter"));	//this filter is obligatory
			all_outputs_update ();
		}
	}
}
void
filters_update()
{
	filter_update(get_filter_by_name((char*)"in_saccade_translated_filter"));
	filter_update(get_filter_by_name((char*)"in_pattern_translated_filter"));
       	filter_update(get_filter_by_name((char*)"in_pattern_filtered_translated_filter"));
       	filter_update(get_filter_by_name((char*)"in_pattern_filtered_translated_red_filter"));
       	filter_update(get_filter_by_name((char*)"in_pattern_filtered_translated_green_filter"));
       	filter_update(get_filter_by_name((char*)"in_pattern_filtered_translated_blue_filter"));
	filter_update(get_filter_by_name((char*)"nl_v1_pattern_filter"));	//this filter is obligatory
	filter_update(get_filter_by_name((char*)"table_v1_filter"));	//this filter is obligatory
	filter_update(get_filter_by_name((char*)"nl_v1_activation_map_neuron_weight_filter"));	//this filter is obligatory
	filter_update(get_filter_by_name((char*)"nl_activation_map_hough_filter"));	//this filter is obligatory
	filter_update(get_filter_by_name((char*)"nl_activation_map_hough_gaussian_filter"));	//this filter is obligatory
	filter_update(get_filter_by_name((char*)"nl_activation_map_hough_v1_filter"));	//this filter is obligatory
	filter_update(get_filter_by_name((char*)"nl_activation_map_hough_zoom_filter"));	//this filter is obligatory
	filter_update(get_filter_by_name((char*)"nl_activation_map_hough_zoom_gaussian_filter"));	//this filter is obligatory

	all_dendrites_update(); 
	all_neurons_update();

	forward_objects((char*)"nl_v1_activation_map_neuron_weight_filter");
	forward_objects((char*)"nl_activation_map_hough_filter");
	forward_objects((char*)"nl_activation_map_hough_gaussian_filter");
	forward_objects((char*)"nl_activation_map_hough_v1_filter");
	forward_objects((char*)"nl_activation_map_hough_zoom_filter");
	forward_objects((char*)"nl_activation_map_hough_zoom_gaussian_filter");

}