private void generate_fake_button_click(object sender, RoutedEventArgs e) { //tab_item_matching.IsEnabled = true; scene = r_ui._scene; for (int i = 0; i < scene.images.Count; i++) { for (int j = 0; j < scene.images[i].Count; j++) { //scene.images[i][j].generate_points(); scene.images[i][j].generate_false_points(); } } //scene.generate_matches(System.Convert.ToInt32(matches_count_tb.Text)); scene.generate_false_matches(System.Convert.ToInt32(matches_count_tb3.Text)); scene.create_connections(); }
void click_once_solution_thread_start() { scene.clear_connections(); System.Collections.Generic.List <int> cat_ind = new List <int>(); System.Collections.Generic.List <int> im_ind = new List <int>(); int img_count = 0; for (int i = 0; i < scene.images.Count; i++) { for (int j = 0; j < scene.images[i].Count; j++) { cat_ind.Add(i); im_ind.Add(j); img_count++; } } System.Threading.Tasks.Parallel.For(0, img_count, (i, loopstate) => { scene.images[cat_ind[i]][im_ind[i]].build_integral_image(); scene.images[cat_ind[i]][im_ind[i]].detect_points(); prog_window.progress(); if (cancelation_token) { loopstate.Stop(); } }); if (cancelation_token) { cancel_work(); return; } System.Threading.Tasks.Parallel.For(0, img_count, (i, loopstate) => { scene.images[cat_ind[i]][im_ind[i]].describe_points(); scene.images[cat_ind[i]][im_ind[i]].get_render_data(); prog_window.progress(); //scene.images[i][j].generate_false_points(); if (cancelation_token) { loopstate.Stop(); } }); if (cancelation_token) { cancel_work(); return; } scene.progress_callback prog_calb = prog_window.progress; scene.generate_matches(prog_calb); scene.create_connections(); Dispatcher.Invoke(new Action(() => { r_ui.lock_ui(false); scene = r_ui._scene; m_ui.update_scene(scene); connections_datagrid.Items.Refresh(); prog_window.Close(); cancelation_token = false; calc_thread.Abort(); return; }), System.Windows.Threading.DispatcherPriority.Render); //prog_window.progress(); }