/// <summary>
 /// Initializes a new instance of the <see cref="UnsharpMaskingOperation" /> class.
 /// </summary>
 /// <param name="source">The source.</param>
 /// <param name="target">The target.</param>
 /// <param name="parameters">The parameters.</param>
 /// <exception cref="System.ArgumentNullException">
 /// The source is null.
 /// or
 /// The method requires parameters which are not specified.
 /// </exception>
 /// <exception cref="System.ArgumentException">
 /// The parameters do not contain a required parameter value.
 /// or
 /// The type of a parameter does not match the type specified by the method.
 /// or
 /// The value of a parameter is not within the expected range.
 /// or
 /// The specified source and result are the same objects, but the method does not support in-place operations.
 /// </exception>
 public UnsharpMaskingOperation(ISpectralGeometry source, ISpectralGeometry target, IDictionary <OperationParameter, Object> parameters)
     : base(source, target, SpectralOperationMethods.UnsharpMasking, parameters)
 {
     _amount        = Convert.ToDouble(ResolveParameter(SpectralOperationParameters.SharpeningAmount));
     _threshold     = Convert.ToDouble(ResolveParameter(SpectralOperationParameters.SharpeningThreshold));
     _unsharpFilter = FilterFactory.CreateGaussianFilter(Convert.ToInt32(ResolveParameter(SpectralOperationParameters.SharpeningRadius)));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BoxFilterOperation" /> class.
 /// </summary>
 /// <param name="source">The source.</param>
 /// <param name="target">The target.</param>
 /// <param name="parameters">The parameters.</param>
 /// <exception cref="System.ArgumentNullException">
 /// The source is null.
 /// or
 /// The method requires parameters which are not specified.
 /// </exception>
 /// <exception cref="System.ArgumentException">
 /// The parameters do not contain a required parameter value.
 /// or
 /// The type of a parameter does not match the type specified by the method.
 /// or
 /// The value of a parameter is not within the expected range.
 /// or
 /// The specified source and result are the same objects, but the method does not support in-place operations.
 /// </exception>
 public GaussianBlurFilterOperation(ISpectralGeometry source, ISpectralGeometry target, IDictionary <OperationParameter, Object> parameters)
     : base(source, target, SpectralOperationMethods.GaussianBlurFilter, parameters)
 {
     AddFilter(FilterFactory.CreateGaussianFilter(Convert.ToInt32(ResolveParameter(SpectralOperationParameters.FilterRadius)),
                                                  Convert.ToDouble(ResolveParameter(SpectralOperationParameters.FilterStandardDeviation))));
 }