public void UpdateEvent()

in src/CognitiveKioskUWP/Controls/Captions.xaml.cs [36:122]


        public void UpdateEvent(CognitiveEvent mainEvent)
        {

            if (mainEvent.ImageAnalysisCV == null || mainEvent.ImageAnalysisCV.Predictions == null)
            {
                if (mainEvent.ImageAnalysis.Description.Captions.Count > 0)
                {
                    textDescription.Text = mainEvent.ImageAnalysis.Description.Captions.FirstOrDefault().Text;
                }
            }
            if (mainEvent.ImageAnalysisCV != null && mainEvent.ImageAnalysisCV.Predictions != null)
            {
                var preds = mainEvent.ImageAnalysisCV.Predictions.Where(x => x.Probability >= settings.CustomVisionThreshold / 100d).ToList();
                if (preds.Count() > 0)
                {
                    textDescription.Text = "Custom Vision: " + string.Join(",", preds.Select(x => x.TagName).Distinct());

                    for (int i = 0; i < preds.Count(); i++)
                    {
                        var pred = preds[i];

                        //int convertedTop = (int)((pred.BoundingBox.Top * (int)captureControl.ActualHeight) / mainEvent.ImageHeight) - ((int)captureControl.Margin.Top);
                        //int convertedLeft = (int)(((pred.BoundingBox.Left) * (int)captureControl.ActualWidth) / mainEvent.ImageWidth) - ((int)captureControl.Margin.Left);

                        int convertedTop = (int)((pred.BoundingBox.Top * captureControl.ActualHeight)) ;
                        int convertedLeft = (int)((pred.BoundingBox.Left * captureControl.ActualWidth));
                        int width = (int)(pred.BoundingBox.Width * captureControl.ActualWidth);
                        int height = (int)(pred.BoundingBox.Height * captureControl.ActualHeight);

                        ObjectBox uc = null;
                        Brush brush = null;

                        switch (i)
                        {
                            case 0:
                                uc = box1;
                                brush = brush1;
                                box1.Visibility = Visibility.Visible;
                                break;
                            case 1:
                                uc = box2;
                                brush = brush2;
                                box2.Visibility = Visibility.Visible;
                                break;
                            case 2:
                                uc = box3;
                                brush = brush3;
                                box3.Visibility = Visibility.Visible;
                                break;
                            case 3:
                                uc = box4;
                                brush = brush4;
                                box4.Visibility = Visibility.Visible;
                                break;
                        }
                        if(uc != null)
                            UpdateBox(uc, convertedLeft, convertedTop, width, height, pred.TagName + " " + pred.Probability.ToString("P"), brush);
                    }
                }
                else if (mainEvent.ImageAnalysis.Description.Captions.Count > 0)
                {
                    textDescription.Text = mainEvent.ImageAnalysis.Description.Captions.FirstOrDefault().Text;
                }
                else
                    textDescription.Text = "";

                for (int i = preds.Count(); i < 4; i++)
                {
                    switch (i)
                    {
                        case 0:
                            box1.Visibility = Visibility.Collapsed;
                            break;
                        case 1:
                            box2.Visibility = Visibility.Collapsed;
                            break;
                        case 2:
                            box3.Visibility = Visibility.Collapsed;
                            break;
                        case 3:
                            box4.Visibility = Visibility.Collapsed;
                            break;
                    }

                }
            }
        }