Example #1
0
        public override System.Windows.Media.ImageSource SaveImage()
        {
            ImageSource result    = null;
            var         parameter = new AlgorithmParameter()
            {
                Value         = (int)SliderOneValue,
                ParameterName = SliderNameOne
            };
            var parameter1 = new AlgorithmParameter()
            {
                Value         = (int)SliderTwoValue,
                ParameterName = SliderNameTwo
            };
            List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>();

            algorithmParameter.Add(parameter);
            algorithmParameter.Add(parameter1);
            algorithmParameter.Add(lastSelectedColour);

            result = ImageProcessingAlgorithm.ApplyEffectOnOriginalDimensions(algorithmParameter, out Message);
            if (!String.IsNullOrEmpty(Message))
            {
                MessageBox.Show("Some error occured \n" + Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            return(result);
        }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="effect"></param>
 public SliderSelectionViewModel(Effects effect)
 {
     AlgorithmOptions = ImageProcessingAlgorithm.GetOptions(effect);
     ImageProcessingAlgorithm.SetEffects(effect);
     slider        = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.SingleInput);
     parameterName = (slider.Options.Keys.First() as AlgorithmParameter).ParameterName;
     SliderValue   = (Minimum + (Max - Minimum) / 2);
 }
 /// <summary>
 /// Loads the image
 /// </summary>
 /// <param name="fileName"></param>
 public override void LoadImage(string fileName)
 {
     InputImage = ImageProcessingAlgorithm.LoadInputImage(fileName, out Message);
     if (lastSelected != null)
     {
         SelectMethod(lastSelected);
     }
 }
Example #4
0
        /// <summary>
        /// Load Images
        /// </summary>
        /// <param name="fileName"></param>
        public override void LoadImage(string fileName)
        {
            InputImage = ImageProcessingAlgorithm.LoadInputImage(fileName, out Message);
            ApplyEffect();
            List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>();

            algorithmParameter.Add(lastSelected);
            //PreviewImages = ImageProcessingAlgorithm.GetPreview(algorithmParameter, out Message);
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="effect"></param>
        public MultipleChoiceViewModel(Effects effect)
        {
            selectMethodCommand = new DelegateCommand(new Action <object>(SelectMethod));
            ImageProcessingAlgorithm.SetEffects(effect);
            AlgorithmOptions = ImageProcessingAlgorithm.GetOptions(effect);
            var method = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.MultipleChoice);

            lastSelected = method.Options.First().Key;
        }
 /// <summary>
 /// Select method
 /// </summary>
 /// <param name="methodName"></param>
 protected void SelectMethod(object methodName)
 {
     lastSelected = methodName as AlgorithmParameter;
     if (InputImage != null)
     {
         List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>();
         algorithmParameter.Add(lastSelected);
         OutputImage = ImageProcessingAlgorithm.ApplyEffect(algorithmParameter, out Message);
     }
 }
Example #7
0
        public MultipleChoiceSliderViewModel(Effects effect)
        {
            ImageProcessingAlgorithm.SetEffects(effect);
            AlgorithmOptions = ImageProcessingAlgorithm.GetOptions(effect);
            slider           = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.SingleInput);
            parameterName    = (slider.Options.Keys.First() as AlgorithmParameter).ParameterName;
            SliderValue      = Max / 2;
            var method = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.MultipleChoice);

            lastSelected        = method.Options.First().Key;
            selectMethodCommand = new DelegateCommand(new Action <object>(SelectMethod));
        }
Example #8
0
 void SelectColour(object colour)
 {
     if (InputImage != null && lastSelected != null)
     {
         var param = (KeyValuePair <Algorithm.AlgorithmParameter, string>)colour;
         lastSelectedColour = param.Key;
         List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>();
         algorithmParameter.Add(lastSelectedColour);
         algorithmParameter.Add(lastSelected);
         OutputImage = ImageProcessingAlgorithm.ApplyEffect(algorithmParameter, out Message);
     }
 }
Example #9
0
        /// <summary>
        /// Gets the image to be saved in original size
        /// </summary>
        /// <returns></returns>
        public override ImageSource SaveImage()
        {
            ImageSource result = null;

            if (lastSelected != null && lastSelectedColour != null && InputImage != null)
            {
                List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>();
                algorithmParameter.Add(lastSelectedColour);
                algorithmParameter.Add(lastSelected);
                result = ImageProcessingAlgorithm.ApplyEffectOnOriginalDimensions(algorithmParameter, out Message);
            }
            return(result);
        }
 /// <summary>
 /// Algorithm adapted from Imagemagick
 /// </summary>
 void ApplyEffect()
 {
     if (InputImage != null)
     {
         var parameter = new AlgorithmParameter()
         {
             Value         = (int)sliderValue,
             ParameterName = parameterName
         };
         List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>();
         algorithmParameter.Add(parameter);
         OutputImage = ImageProcessingAlgorithm.ApplyEffect(algorithmParameter, out Message);
     }
 }
Example #11
0
 void SelectMethod(object methodName)
 {
     lastSelected = methodName as AlgorithmParameter;
     if (InputImage != null)
     {
         List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>();
         var parameter = new AlgorithmParameter()
         {
             Value         = (int)sliderValue,
             ParameterName = parameterName
         };
         algorithmParameter.Add(parameter);
         algorithmParameter.Add(lastSelected);
         OutputImage = ImageProcessingAlgorithm.ApplyEffect(algorithmParameter, out Message);
     }
 }
        /// <summary>
        /// Get the image to be saved in original size
        /// </summary>
        /// <returns></returns>
        public override ImageSource SaveImage()
        {
            if (InputImage != null)
            {
                List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>();
                algorithmParameter.Add(lastSelected);
                var result = ImageProcessingAlgorithm.ApplyEffectOnOriginalDimensions(algorithmParameter, out Message);

                if (!String.IsNullOrEmpty(Message))
                {
                    MessageBox.Show("Some error occured \n" + Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                return(result);
            }
            return(null);
        }
Example #13
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="effect"></param>
        public DoubleSliderViewModel(Effects effect)
        {
            AlgorithmOptions = ImageProcessingAlgorithm.GetOptions(effect);
            ImageProcessingAlgorithm.SetEffects(effect);

            sliderOneParam = AlgorithmOptions.First(x => (x.InputType == Algorithm.InputType.SingleInput) &&
                                                    (x.ParameterName == "BlockWidth"));
            sliderTwoParam = AlgorithmOptions.First(x => (x.InputType == Algorithm.InputType.SingleInput) &&
                                                    (x.ParameterName == "BlockHeight"));

            SliderOneValue = ((MaxSliderOne - MinSliderOne) / 2) + MinSliderOne;
            SliderTwoValue = ((MaxSliderTwo - MinSliderTwo) / 2) + MinSliderTwo;
            var colours = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.MultipleChoice && x.ParameterName == "BorderColour");

            lastSelectedColour = colours.Options.First(x => x.Value == "Gray").Key;
            selectColour       = new DelegateCommand(new Action <object>(SelectColour));
        }
Example #14
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="effect"></param>
        public MultipleChoiceColourSelectionViewModel(Algorithm.Effects effect)
        {
            selectMethodCommand = new DelegateCommand(new Action <object>(SelectMethod));
            selectColour        = new DelegateCommand(new Action <object>(SelectColour));
            ImageProcessingAlgorithm.SetEffects(effect);
            AlgorithmOptions = ImageProcessingAlgorithm.GetOptions(effect);
            if (effect == Effects.XRay)
            {
                lastSelected = new AlgorithmParameter();
            }
            else
            {
                var method = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.MultipleChoice && x.ParameterName == "Method");
                lastSelected = method.Options.First().Key;
            }
            var colours = AlgorithmOptions.First(x => x.InputType == Algorithm.InputType.MultipleChoice && x.ParameterName == "Colour");

            lastSelectedColour = colours.Options.First(x => x.Value == "Gray").Key;
        }
        /// <summary>
        /// Gets image to save  in original size
        /// </summary>
        /// <returns></returns>
        public override ImageSource SaveImage()
        {
            ImageSource result = null;

            if (InputImage != null)
            {
                var parameter = new AlgorithmParameter()
                {
                    Value         = (int)sliderValue,
                    ParameterName = parameterName
                };
                List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>();
                algorithmParameter.Add(parameter);
                result = ImageProcessingAlgorithm.ApplyEffectOnOriginalDimensions(algorithmParameter, out Message);
                if (!String.IsNullOrEmpty(Message))
                {
                    MessageBox.Show("Some error occured \n" + Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            return(result);
        }
Example #16
0
 /// <summary>
 /// Apply the effect on change of slider value or colour change
 /// </summary>
 void ApplyEffect()
 {
     if (InputImage != null)
     {
         var parameter = new AlgorithmParameter()
         {
             Value         = (int)SliderOneValue,
             ParameterName = SliderNameOne
         };
         var parameter1 = new AlgorithmParameter()
         {
             Value         = (int)SliderTwoValue,
             ParameterName = SliderNameTwo
         };
         List <AlgorithmParameter> algorithmParameter = new List <AlgorithmParameter>();
         algorithmParameter.Add(parameter);
         algorithmParameter.Add(parameter1);
         algorithmParameter.Add(lastSelectedColour);
         OutputImage = ImageProcessingAlgorithm.ApplyEffect(algorithmParameter, out Message);
     }
 }
Example #17
0
 /// <summary>
 /// Loads the image
 /// </summary>
 /// <param name="fileName"></param>
 public override void LoadImage(string fileName)
 {
     InputImage = ImageProcessingAlgorithm.LoadInputImage(fileName, out Message);
     ApplyEffect();
 }