/// <summary>
        /// Initializes a new instance of the <see cref="FinalizationResultsViewModel"/> class
        /// </summary>
        /// <param name="recognitionResults">recieved recognition results</param>
        public FinalizationResultsViewModel(ObservableCollection <RecognitionResult> recognitionResults)
        {
            this.RecognitionResults = recognitionResults;
            this.OkCommand          = new RelayCommand(x => this.OnOkCommand());

            this.view = new FinalizationResultsView(this);
            this.view.ShowDialog();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="FinalizationResultsViewModel"/> class
        /// </summary>
        /// <param name="recognitionResults">Recieved recognition results</param>
        /// <param name="templateImage">Template image</param>
        public FinalizationResultsViewModel(ObservableCollection <RecognitionResult> recognitionResults, BitmapImage templateImage)
        {
            this.RecognitionResults          = recognitionResults;
            this.GoToTemplateCreationCommand = new RelayCommand(x => this.OnGoToTemplateCreationCommand());
            this.GoToRecognitionCommand      = new RelayCommand(x => this.OnGoToRecognition());

            this.ZoomInCommand        = new RelayCommand(x => this.ZoomLevel = Math.Min(this.ZoomLevel + 0.1, 4));
            this.ZoomOutCommand       = new RelayCommand(x => this.ZoomLevel = Math.Max(this.ZoomLevel - 0.1, 0.1));
            this.ZoomOriginalCommand  = new RelayCommand(x => this.ZoomLevel = 1);
            this.FitPageWidthCommand  = new RelayCommand(x => this.OnFitPageWidth((double)x));
            this.FitPageHeightCommand = new RelayCommand(x => this.OnFitPageHeight((Size)x));

            ZoomKoefficient = 1;
            this.zoomLevel  = 1;

            this.MainImage = templateImage;
            this.view      = new FinalizationResultsView(this);
            this.view.ShowDialog();
        }