예제 #1
0
 public Form1()
 {
     InitializeComponent();
     _histogramGenerator           = new HistogramGenerator();
     _segmentationProcessor        = new SegmentationProcessor();
     _dynamicSegmentationProcessor = new DynamicSegmentationProcessor();
 }
예제 #2
0
        private void restaurantsComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                using (var client = new LunchTimeService.LunchTimeClient())
                {
                    string restaurant = this.restaurantsComboBox.SelectedValue as string;
                    Statistic statistic = new Statistic(client.GetStatistic(restaurant));

                    if (statistic == null)
                        return;

                    this.summaryGrid.ItemsSource = (new List<Statistic> { statistic });

                    var arrivalTimes = client.GetArrivalTimes(restaurant);

                    if (arrivalTimes.Count() > 4)
                    {
                        var histogram = new HistogramGenerator(arrivalTimes);
                        this.dataSeries.ItemsSource = arrivalTimes.GroupBy(at => histogram.GetHistogramBucket(at))
                                                                  .OrderBy(group => group.Key)
                                                                  .Select(group => new
                                                                  {
                                                                      Index = Statistic.FormatTimeSpan(group.Key, false),
                                                                      Value = group.Count()
                                                                  });
                    }
                    else
                    {
                        this.dataSeries.ItemsSource = null;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
 public HistogramGeneratorTests()
 {
     histogramGenerator = new HistogramGenerator("test data");
 }
        private void ShowOnHistogram(bool isInputImage)
        {
            List <int[]>    histogram = HistogramGenerator.Generate(isInputImage ? input : output);
            SolidColorBrush redColor, greenColor, blueColor;
            string          redTitle, greenTitle, blueTitle;

            if (ImageHelper.GetBitsPerPixel(isInputImage ? input.PixelFormat : output.PixelFormat) > 8)
            {
                redColor   = System.Windows.Media.Brushes.Red;
                greenColor = System.Windows.Media.Brushes.Green;
                blueColor  = System.Windows.Media.Brushes.Blue;
                redTitle   = "Red";
                greenTitle = "Green";
                blueTitle  = "Blue";
            }
            else
            {
                redColor   = System.Windows.Media.Brushes.Gray;
                greenColor = System.Windows.Media.Brushes.Gray;
                blueColor  = System.Windows.Media.Brushes.Gray;
                redTitle   = "Gray";
                greenTitle = "Gray";
                blueTitle  = "Gray";
            }

            SeriesCollection red = new SeriesCollection
            {
                new ColumnSeries
                {
                    Title         = redTitle,
                    Values        = new ChartValues <double> {
                    },
                    ColumnPadding = 0,
                    Fill          = redColor
                }
            };
            SeriesCollection green = new SeriesCollection
            {
                new ColumnSeries
                {
                    Title         = greenTitle,
                    Values        = new ChartValues <double> {
                    },
                    ColumnPadding = 0,
                    Fill          = greenColor
                }
            };
            SeriesCollection blue = new SeriesCollection
            {
                new ColumnSeries
                {
                    Title         = blueTitle,
                    Values        = new ChartValues <double> {
                    },
                    ColumnPadding = 0,
                    Fill          = blueColor
                }
            };

            for (int i = 0; i < histogram[0].Length; i++)
            {
                red[0].Values.Add((double)histogram[0][i]);
                green[0].Values.Add((double)histogram[1][i]);
                blue[0].Values.Add((double)histogram[2][i]);
            }

            if (isInputImage)
            {
                ChartsUserControl.InputRed   = red;
                ChartsUserControl.InputGreen = green;
                ChartsUserControl.InputBlue  = blue;
            }
            else
            {
                ChartsUserControl.OutputRed   = red;
                ChartsUserControl.OutputGreen = green;
                ChartsUserControl.OutputBlue  = blue;
            }
        }
예제 #5
0
 public void StartComparing()
 {
     histogramGenerator = GameObject.FindObjectOfType <HistogramGenerator>();
     CompareTexturesToColor();
 }
예제 #6
0
        public void Execute(object parameter)
        {
            var ctx           = new IntervalsDBTypesLibrary.IntervalsDBModelContainer();
            var list          = ctx.Intervals.Where(i => i.Object == "МДТ 6" || i.Object == "МДТ 6.1").ToList();
            var list2         = ctx.Intervals.Where(i => i.Object == "Сканер ТО1").ToList();
            var list3         = ctx.Intervals.Where(i => i.Object == "УНСК.ТО1.МДТ 6" || i.Object == "УНСК.ТО1.МДТ 6.1").ToList();
            var list4         = ctx.Intervals.Where(i => i.Object == "УНСК.ТО1.Сканер").ToList();
            var list5         = ctx.Intervals.Where(i => i.Object == "МДТ 6.2").ToList();
            var list6         = ctx.Intervals.Where(i => i.Object == "Сканер ТО2").ToList();
            var list7         = ctx.Intervals.Where(i => i.Object == "УНСК.ТО2.МДТ 6.2").ToList();
            var list8         = ctx.Intervals.Where(i => i.Object == "УНСК.ТО2.Сканер").ToList();
            var dateTimeBegin = DateBegin;
            var dateTimeEnd   = DateEnd;
            var diagrams      = new SplittedGanttChartModel(dateTimeBegin, dateTimeEnd);

            if (TO1Diagramm)
            {
                diagrams.AddGraph("МДТ 6", list.Select(i => new IntervalDefectoscope()
                {
                    Duration = i.Duration, Level = i.SpecialLevel, StartTime = i.StartTime, Speed = 211, EstimatedSpeed = 60
                }).ToArray());
                diagrams.AddGraph("Сканер ТО1", list2.Select(i => new Interval()
                {
                    Duration = i.Duration, Level = i.SpecialLevel, StartTime = i.StartTime
                }).ToArray());
                diagrams.AddGraph("УНСК.ТО1.МДТ 6", list3.Select(i => new Interval()
                {
                    Duration = i.Duration, Level = i.SpecialLevel, StartTime = i.StartTime
                }).ToArray());
                diagrams.AddGraph("УНСК.ТО1.Сканер", list4.Select(i => new Interval()
                {
                    Duration = i.Duration, Level = i.SpecialLevel, StartTime = i.StartTime
                }).ToArray());
            }
            else
            {
                diagrams.AddGraph("МДТ 6.2", list5.Select(i => new IntervalDefectoscope()
                {
                    Duration = i.Duration, Level = i.SpecialLevel, StartTime = i.StartTime, Speed = 211, EstimatedSpeed = 60
                }).ToArray());
                diagrams.AddGraph("Сканер ТО2", list6.Select(i => new Interval()
                {
                    Duration = i.Duration, Level = i.SpecialLevel, StartTime = i.StartTime
                }).ToArray());
                diagrams.AddGraph("УНСК.ТО2.МДТ 6.2", list7.Select(i => new Interval()
                {
                    Duration = i.Duration, Level = i.SpecialLevel, StartTime = i.StartTime
                }).ToArray());
                diagrams.AddGraph("УНСК.ТО2.Сканер", list8.Select(i => new Interval()
                {
                    Duration = i.Duration, Level = i.SpecialLevel, StartTime = i.StartTime
                }).ToArray());
            }
            var          diagramm = new GanttChartGenerator(diagrams).Draw();
            MemoryStream ms       = new MemoryStream();

            diagramm.Save(ms, ImageFormat.Bmp);
            vM.Diagramm = ms;
            vM.Bitmap1  = diagramm;

            MemoryStream ms1 = new MemoryStream();

            diagramm = new BarChartGenerator(diagrams).Draw();
            diagramm.Save(ms1, ImageFormat.Bmp);
            vM.Diagramm2 = ms1;
            vM.Bitmap2   = diagramm;

            MemoryStream ms2 = new MemoryStream();

            diagramm = new HistogramGenerator(diagrams).Draw();
            diagramm.Save(ms2, ImageFormat.Bmp);
            vM.Diagramm3 = ms2;
            vM.Bitmap3   = diagramm;
        }
 private void Start()
 {
     transform.parent.GetComponent <Canvas>().enabled = false;
     highlightedPhotoCanvas = GetComponentInChildren <Image>();
     histogram = GetComponent <HistogramGenerator>();
 }