public void ListEmotionResult(Uri imageUri, ListBox resultListBox, Emotion[] emotionResult)
        {
            if (emotionResult != null)
            {
                EmotionResultDisplay[]          resultDisplay = new EmotionResultDisplay[8];
                List <EmotionResultDisplayItem> itemSource    = new List <EmotionResultDisplayItem>();
                for (int i = 0; i < emotionResult.Length; i++)
                {
                    Emotion emotion = emotionResult[i];
                    resultDisplay[0] = new EmotionResultDisplay {
                        EmotionString = "Anger", Score = emotion.Scores.Anger
                    };
                    resultDisplay[1] = new EmotionResultDisplay {
                        EmotionString = "Contempt", Score = emotion.Scores.Contempt
                    };
                    resultDisplay[2] = new EmotionResultDisplay {
                        EmotionString = "Disgust", Score = emotion.Scores.Disgust
                    };
                    resultDisplay[3] = new EmotionResultDisplay {
                        EmotionString = "Fear", Score = emotion.Scores.Fear
                    };
                    resultDisplay[4] = new EmotionResultDisplay {
                        EmotionString = "Happiness", Score = emotion.Scores.Happiness
                    };
                    resultDisplay[5] = new EmotionResultDisplay {
                        EmotionString = "Neutral", Score = emotion.Scores.Neutral
                    };
                    resultDisplay[6] = new EmotionResultDisplay {
                        EmotionString = "Sadness", Score = emotion.Scores.Sadness
                    };
                    resultDisplay[7] = new EmotionResultDisplay {
                        EmotionString = "Surprise", Score = emotion.Scores.Surprise
                    };

                    Array.Sort(resultDisplay, CompareDisplayResults);

                    String[] emotionStrings = new String[3];
                    for (int j = 0; j < 3; j++)
                    {
                        emotionStrings[j] = resultDisplay[j].EmotionString + ":" + resultDisplay[j].Score.ToString("0.000000");;
                    }

                    itemSource.Add(new EmotionResultDisplayItem
                    {
                        ImageSource = imageUri,
                        UIRect      = new Int32Rect(emotion.FaceRectangle.Left, emotion.FaceRectangle.Top, emotion.FaceRectangle.Width, emotion.FaceRectangle.Height),
                        Emotion1    = emotionStrings[0],
                        Emotion2    = emotionStrings[1],
                        Emotion3    = emotionStrings[2]
                    });
                }
                resultListBox.ItemsSource = itemSource;
            }
        }
        public void ListVideoEmotionResult(ListBox resultListBox, VideoAggregateEvent aggregateEvent)
        {
            if (aggregateEvent != null)
            {
                EmotionResultDisplay[]          resultDisplay = new EmotionResultDisplay[8];
                List <EmotionResultDisplayItem> itemSource    = new List <EmotionResultDisplayItem>();

                Scores meanScores = aggregateEvent.WindowMeanScores;
                resultDisplay[0] = new EmotionResultDisplay {
                    EmotionString = "Anger", Score = meanScores.Anger, OriginalIndex = 0
                };
                resultDisplay[1] = new EmotionResultDisplay {
                    EmotionString = "Contempt", Score = meanScores.Contempt, OriginalIndex = 1
                };
                resultDisplay[2] = new EmotionResultDisplay {
                    EmotionString = "Disgust", Score = meanScores.Disgust, OriginalIndex = 2
                };
                resultDisplay[3] = new EmotionResultDisplay {
                    EmotionString = "Fear", Score = meanScores.Fear, OriginalIndex = 3
                };
                resultDisplay[4] = new EmotionResultDisplay {
                    EmotionString = "Happiness", Score = meanScores.Happiness, OriginalIndex = 4
                };
                resultDisplay[5] = new EmotionResultDisplay {
                    EmotionString = "Neutral", Score = meanScores.Neutral, OriginalIndex = 5
                };
                resultDisplay[6] = new EmotionResultDisplay {
                    EmotionString = "Sadness", Score = meanScores.Sadness, OriginalIndex = 6
                };
                resultDisplay[7] = new EmotionResultDisplay {
                    EmotionString = "Surprise", Score = meanScores.Surprise, OriginalIndex = 7
                };

                Array.Sort(resultDisplay, CompareDisplayResults);

                for (int j = 0; j < 3; j++)
                {
                    string emotion = resultDisplay[j].EmotionString + ":" + resultDisplay[j].Score.ToString("0.000000");

                    itemSource.Add(new EmotionResultDisplayItem
                    {
                        ImageSource = new Uri("pack://application:,,,/EmotionAPI-WPF-Samples;component/Assets/Emotions.png"),
                        UIRect      = new Int32Rect(resultDisplay[j].OriginalIndex * 96, 0, 96, 96),
                        Emotion1    = emotion
                    });
                }

                resultListBox.ItemsSource = itemSource;
            }
        }
        public void ListEmotionResult(Uri imageUri, ListBox resultListBox, Emotion[] emotionResult)
        {
            if (emotionResult != null)
            {
                EmotionResultDisplay[]          resultDisplay = new EmotionResultDisplay[8];
                List <EmotionResultDisplayItem> itemSource    = new List <EmotionResultDisplayItem>();
                for (int i = 0; i < emotionResult.Length; i++)
                {
                    Emotion emotion = emotionResult[i];
                    resultDisplay[0] = new EmotionResultDisplay {
                        EmotionString = "Anger", Score = emotion.Scores.Anger
                    };
                    resultDisplay[1] = new EmotionResultDisplay {
                        EmotionString = "Contempt", Score = emotion.Scores.Contempt
                    };
                    resultDisplay[2] = new EmotionResultDisplay {
                        EmotionString = "Disgust", Score = emotion.Scores.Disgust
                    };
                    resultDisplay[3] = new EmotionResultDisplay {
                        EmotionString = "Fear", Score = emotion.Scores.Fear
                    };
                    resultDisplay[4] = new EmotionResultDisplay {
                        EmotionString = "Happiness", Score = emotion.Scores.Happiness
                    };
                    resultDisplay[5] = new EmotionResultDisplay {
                        EmotionString = "Neutral", Score = emotion.Scores.Neutral
                    };
                    resultDisplay[6] = new EmotionResultDisplay {
                        EmotionString = "Sadness", Score = emotion.Scores.Sadness
                    };
                    resultDisplay[7] = new EmotionResultDisplay {
                        EmotionString = "Surprise", Score = emotion.Scores.Surprise
                    };

                    Array.Sort(resultDisplay, delegate(EmotionResultDisplay result1, EmotionResultDisplay result2)
                    {
                        return((result1.Score == result2.Score) ? 0 : ((result1.Score < result2.Score) ? 1 : -1));
                    });

                    StackPanel itemPanel = new StackPanel();
                    itemPanel.Orientation = Orientation.Horizontal;

                    String[] emotionStrings = new String[3];
                    for (int j = 0; j < 3; j++)
                    {
                        StackPanel emotionPanel = new StackPanel();
                        emotionPanel.Orientation = Orientation.Vertical;

                        TextBlock emotionText = new TextBlock();
                        emotionText.Text = resultDisplay[j].EmotionString + ":" + resultDisplay[j].Score.ToString("0.000000");

                        itemPanel.Children.Add(emotionPanel);
                        emotionStrings[j] = resultDisplay[j].EmotionString + ":" + resultDisplay[j].Score.ToString("0.000000");;
                    }
                    itemSource.Add(new EmotionResultDisplayItem
                    {
                        ImageSource = imageUri,
                        UIRect      = new Int32Rect(emotion.FaceRectangle.Left, emotion.FaceRectangle.Top, emotion.FaceRectangle.Width, emotion.FaceRectangle.Height),
                        Emotion1    = emotionStrings[0],
                        Emotion2    = emotionStrings[1],
                        Emotion3    = emotionStrings[2]
                    });
                }
                resultListBox.ItemsSource = itemSource;
            }
        }
 private int CompareDisplayResults(EmotionResultDisplay result1, EmotionResultDisplay result2)
 {
     return ((result1.Score == result2.Score) ? 0 : ((result1.Score < result2.Score) ? 1 : -1));
 }
        public void ListVideoEmotionResult(ListBox resultListBox, VideoAggregateEvent aggregateEvent)
        {
            if (aggregateEvent != null)
            {
                EmotionResultDisplay[] resultDisplay = new EmotionResultDisplay[8];
                List<EmotionResultDisplayItem> itemSource = new List<EmotionResultDisplayItem>();

                Scores meanScores = aggregateEvent.WindowMeanScores;
                resultDisplay[0] = new EmotionResultDisplay { EmotionString = "Anger", Score = meanScores.Anger, OriginalIndex = 0 };
                resultDisplay[1] = new EmotionResultDisplay { EmotionString = "Contempt", Score = meanScores.Contempt, OriginalIndex = 1 };
                resultDisplay[2] = new EmotionResultDisplay { EmotionString = "Disgust", Score = meanScores.Disgust, OriginalIndex = 2 };
                resultDisplay[3] = new EmotionResultDisplay { EmotionString = "Fear", Score = meanScores.Fear, OriginalIndex = 3 };
                resultDisplay[4] = new EmotionResultDisplay { EmotionString = "Happiness", Score = meanScores.Happiness, OriginalIndex = 4 };
                resultDisplay[5] = new EmotionResultDisplay { EmotionString = "Neutral", Score = meanScores.Neutral, OriginalIndex = 5 };
                resultDisplay[6] = new EmotionResultDisplay { EmotionString = "Sadness", Score = meanScores.Sadness, OriginalIndex = 6 };
                resultDisplay[7] = new EmotionResultDisplay { EmotionString = "Surprise", Score = meanScores.Surprise, OriginalIndex = 7 };

                Array.Sort(resultDisplay, CompareDisplayResults);

                for (int j = 0; j < 3; j++)
                {
                    string emotion = resultDisplay[j].EmotionString + ":" + resultDisplay[j].Score.ToString("0.000000");

                    itemSource.Add(new EmotionResultDisplayItem
                    {
                        ImageSource = new Uri("pack://application:,,,/EmotionAPI-WPF-Samples;component/Assets/Emotions.png"),
                        UIRect = new Int32Rect(resultDisplay[j].OriginalIndex * 96, 0, 96, 96),
                        Emotion1 = emotion
                    });
                }

                resultListBox.ItemsSource = itemSource;
            }
        }
        public void ListEmotionResult(Uri imageUri, ListBox resultListBox, Emotion[] emotionResult)
        {
            if (emotionResult != null)
            {
                EmotionResultDisplay[] resultDisplay = new EmotionResultDisplay[8];
                List<EmotionResultDisplayItem> itemSource = new List<EmotionResultDisplayItem>();
                for (int i = 0; i < emotionResult.Length; i++)
                {
                    Emotion emotion = emotionResult[i];
                    resultDisplay[0] = new EmotionResultDisplay { EmotionString = "Anger", Score = emotion.Scores.Anger };
                    resultDisplay[1] = new EmotionResultDisplay { EmotionString = "Contempt", Score = emotion.Scores.Contempt };
                    resultDisplay[2] = new EmotionResultDisplay { EmotionString = "Disgust", Score = emotion.Scores.Disgust };
                    resultDisplay[3] = new EmotionResultDisplay { EmotionString = "Fear", Score = emotion.Scores.Fear };
                    resultDisplay[4] = new EmotionResultDisplay { EmotionString = "Happiness", Score = emotion.Scores.Happiness };
                    resultDisplay[5] = new EmotionResultDisplay { EmotionString = "Neutral", Score = emotion.Scores.Neutral };
                    resultDisplay[6] = new EmotionResultDisplay { EmotionString = "Sadness", Score = emotion.Scores.Sadness };
                    resultDisplay[7] = new EmotionResultDisplay { EmotionString = "Surprise", Score = emotion.Scores.Surprise };

                    Array.Sort(resultDisplay, CompareDisplayResults);

                    String[] emotionStrings = new String[3];
                    for (int j = 0; j < 3; j++)
                    {
                        emotionStrings[j] = resultDisplay[j].EmotionString + ":" + resultDisplay[j].Score.ToString("0.000000"); ;
                    }

                    itemSource.Add(new EmotionResultDisplayItem
                    {
                        ImageSource = imageUri,
                        UIRect = new Int32Rect(emotion.FaceRectangle.Left, emotion.FaceRectangle.Top, emotion.FaceRectangle.Width, emotion.FaceRectangle.Height),
                        Emotion1 = emotionStrings[0],
                        Emotion2 = emotionStrings[1],
                        Emotion3 = emotionStrings[2]
                    });
                }
                resultListBox.ItemsSource = itemSource;
            }
        }
 private int CompareDisplayResults(EmotionResultDisplay result1, EmotionResultDisplay result2)
 {
     return((result1.Score == result2.Score) ? 0 : ((result1.Score < result2.Score) ? 1 : -1));
 }
        public void ListEmotionResult(Uri imageUri, ListBox resultListBox, Emotion[] emotionResult)
        {
            if (emotionResult != null)
            {
                EmotionResultDisplay[] resultDisplay = new EmotionResultDisplay[8];
                List<EmotionResultDisplayItem> itemSource = new List<EmotionResultDisplayItem>();
                for (int i = 0; i < emotionResult.Length; i++)
                {
                    Emotion emotion = emotionResult[i];
                    resultDisplay[0] = new EmotionResultDisplay { EmotionString = "Anger", Score = emotion.Scores.Anger };
                    resultDisplay[1] = new EmotionResultDisplay { EmotionString = "Contempt", Score = emotion.Scores.Contempt };
                    resultDisplay[2] = new EmotionResultDisplay { EmotionString = "Disgust", Score = emotion.Scores.Disgust };
                    resultDisplay[3] = new EmotionResultDisplay { EmotionString = "Fear", Score = emotion.Scores.Fear };
                    resultDisplay[4] = new EmotionResultDisplay { EmotionString = "Happiness", Score = emotion.Scores.Happiness };
                    resultDisplay[5] = new EmotionResultDisplay { EmotionString = "Neutral", Score = emotion.Scores.Neutral };
                    resultDisplay[6] = new EmotionResultDisplay { EmotionString = "Sadness", Score = emotion.Scores.Sadness };
                    resultDisplay[7] = new EmotionResultDisplay { EmotionString = "Surprise", Score = emotion.Scores.Surprise };

                    Array.Sort(resultDisplay, delegate (EmotionResultDisplay result1, EmotionResultDisplay result2)
                    {
                        return ((result1.Score == result2.Score) ? 0 : ((result1.Score < result2.Score) ? 1 : -1));
                    });

                    StackPanel itemPanel = new StackPanel();
                    itemPanel.Orientation = Orientation.Horizontal;

                    String[] emotionStrings = new String[3];
                    for (int j = 0; j < 3; j++)
                    {
                        StackPanel emotionPanel = new StackPanel();
                        emotionPanel.Orientation = Orientation.Vertical;

                        TextBlock emotionText = new TextBlock();
                        emotionText.Text = resultDisplay[j].EmotionString + ":" + resultDisplay[j].Score.ToString("0.000000");

                        itemPanel.Children.Add(emotionPanel);
                        emotionStrings[j] = resultDisplay[j].EmotionString + ":" + resultDisplay[j].Score.ToString("0.000000"); ;
                    }
                    itemSource.Add(new EmotionResultDisplayItem
                    {
                        ImageSource = imageUri,
                        UIRect = new Int32Rect(emotion.FaceRectangle.Left, emotion.FaceRectangle.Top, emotion.FaceRectangle.Width, emotion.FaceRectangle.Height),
                        Emotion1 = emotionStrings[0],
                        Emotion2 = emotionStrings[1],
                        Emotion3 = emotionStrings[2]
                    });
                }
                resultListBox.ItemsSource = itemSource;
            }
        }