//Update images public void UpdateImage(object userData) { imageFeedback = (ImageFeedback)userData; string imName = imageFeedback.imName; imName = string.Concat(imName,".bmp"); string dir = System.IO.Path.Combine(ImagesDirectory, imName); BitmapImage bitImg = new BitmapImage(new Uri(dir, UriKind.Absolute)); Image img = new Image(); img.Source = bitImg; img.Width = 300; img.Height = 205; System.Windows.Thickness th = new System.Windows.Thickness(5); img.Margin = th; // Determine where to put image based on groundTruth, score and display if (imageFeedback.isPredictedTarget) { // Update Target Images CurrentTargetScores[CurrentTargetScores.Length - 1] = imageFeedback.score; CurrentTargetImages[CurrentTargetImages.Length - 1] = img; // Resort Array.Sort(CurrentTargetScores, CurrentTargetImages); // Update stackPanel1.Children.RemoveRange(0, stackPanel1.Children.Count); stackPanel2.Children.RemoveRange(0, stackPanel2.Children.Count); for (int j = 0; j < CurrentTargetScores.Length-1; j++) { if (j < 5) stackPanel1.Children.Add(CurrentTargetImages[j]); else stackPanel2.Children.Add(CurrentTargetImages[j]); } } else { // Update Non Target Images CurrentNonTargetScores[CurrentNonTargetScores.Length - 1] = imageFeedback.score; CurrentNonTargetImages[CurrentNonTargetImages.Length - 1] = img; // Resort Array.Sort(CurrentNonTargetScores, CurrentNonTargetImages); // Update stackPanel3.Children.RemoveRange(0, stackPanel3.Children.Count); stackPanel4.Children.RemoveRange(0, stackPanel4.Children.Count); for (int j = 0; j < CurrentTargetScores.Length-1; j++) { if (j < 5) stackPanel3.Children.Add(CurrentNonTargetImages[j]); else stackPanel4.Children.Add(CurrentNonTargetImages[j]); } } }
//Update accuracy feedback public void UpdateAccuracy(object userData) { imageFeedback = (ImageFeedback)userData; float tmpAcc = (float)imageFeedback.balAcc * 100; string acc = Convert.ToString(tmpAcc); char[] accChar = new char[5]; for (int i = 0; i < accChar.Length; i++) { accChar[i] = acc[i]; } label1.Content = string.Concat("Accuracy (Pi) = ", new string(accChar)," %"); Console.WriteLine(new string(accChar)); }