public static List <Category> AssembleBatch(string[] filenames) { Dictionary <string, Category> categories = new Dictionary <string, Category>(); for (int i = 0; i < filenames.Length; i++) { string filename = filenames[i]; Gesture p = GestureIOCustom.ReadGesture(filename); string catName = Category.ParseName(p.Name); // e.g., "circle" if (categories.ContainsKey(catName)) { Category cat = categories[catName]; cat.AddExample(p); // if the category has been made before, just add to it } else // create new category { categories.Add(catName, new Category(catName, p)); } } List <Category> list = null; if (categories != null) { list = new List <Category>(categories.Values); } return(list); }
public RecognizerWindow(Gesture[] selected_dataset = null) { InitializeComponent(); gesture_dataset = selected_dataset; if (selected_dataset == null || selected_dataset.Length <= 0) { FolderBrowserDialog dlg = new FolderBrowserDialog(); dlg.Description = "Select dataset folder."; dlg.SelectedPath = Directory.GetCurrentDirectory(); if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { gesture_dataset = GestureIOCustom.LoadTrainingSet(dlg.SelectedPath); } } if (gesture_dataset == null || gesture_dataset.Length <= 0) { this.Close(); } else { ShowDataset(false); } }
private async void btn_generate_samples_Click(object sender, RoutedEventArgs e) { if (SetExpressions.Count > 0) { try { await SampleGenerator.GeneratePoints(DatasetNameTextBox.Text, SetExpressions); GestureDataset = GestureIOCustom.LoadTrainingSet(SampleGenerator.SamplesFolder + DatasetNameTextBox.Text + "//"); ViewSamplesWindow _viewFrm = new ViewSamplesWindow(GestureDataset.ToList()); _viewFrm.Owner = this; _viewFrm.Show(); } catch { MessageBox.Show(SampleGenerator.ConnectivityErrorMessage, "Sample Generation Error"); } } else { MessageBox.Show(SampleGenerator.MinExpressionsErrorMessage, "Sample Generation Error"); } }