ImageMagick.MagickScript.ExecuteMorphology C# (CSharp) Method

ExecuteMorphology() private method

private ExecuteMorphology ( XmlElement element, MagickImage image ) : void
element XmlElement
image MagickImage
return void
    private void ExecuteMorphology(XmlElement element, MagickImage image)
    {
      Hashtable arguments = new Hashtable();
      foreach (XmlAttribute attribute in element.Attributes)
      {
        if (attribute.Name == "arguments")
          arguments["arguments"] = Variables.GetValue<String>(attribute);
        else if (attribute.Name == "channels")
          arguments["channels"] = Variables.GetValue<Channels>(attribute);
        else if (attribute.Name == "iterations")
          arguments["iterations"] = Variables.GetValue<Int32>(attribute);
        else if (attribute.Name == "kernel")
          arguments["kernel"] = Variables.GetValue<Kernel>(attribute);
        else if (attribute.Name == "method")
          arguments["method"] = Variables.GetValue<MorphologyMethod>(attribute);
        else if (attribute.Name == "userKernel")
          arguments["userKernel"] = Variables.GetValue<String>(attribute);
      }
      foreach (XmlElement elem in element.SelectNodes("*"))
      {
        arguments[elem.Name] = CreateMorphologySettings(elem);
      }
      if (OnlyContains(arguments, "method", "kernel"))
        image.Morphology((MorphologyMethod)arguments["method"], (Kernel)arguments["kernel"]);
      else if (OnlyContains(arguments, "method", "kernel", "arguments"))
        image.Morphology((MorphologyMethod)arguments["method"], (Kernel)arguments["kernel"], (String)arguments["arguments"]);
      else if (OnlyContains(arguments, "method", "kernel", "arguments", "channels"))
        image.Morphology((MorphologyMethod)arguments["method"], (Kernel)arguments["kernel"], (String)arguments["arguments"], (Channels)arguments["channels"]);
      else if (OnlyContains(arguments, "method", "kernel", "arguments", "channels", "iterations"))
        image.Morphology((MorphologyMethod)arguments["method"], (Kernel)arguments["kernel"], (String)arguments["arguments"], (Channels)arguments["channels"], (Int32)arguments["iterations"]);
      else if (OnlyContains(arguments, "method", "kernel", "arguments", "iterations"))
        image.Morphology((MorphologyMethod)arguments["method"], (Kernel)arguments["kernel"], (String)arguments["arguments"], (Int32)arguments["iterations"]);
      else if (OnlyContains(arguments, "method", "kernel", "channels"))
        image.Morphology((MorphologyMethod)arguments["method"], (Kernel)arguments["kernel"], (Channels)arguments["channels"]);
      else if (OnlyContains(arguments, "method", "kernel", "channels", "iterations"))
        image.Morphology((MorphologyMethod)arguments["method"], (Kernel)arguments["kernel"], (Channels)arguments["channels"], (Int32)arguments["iterations"]);
      else if (OnlyContains(arguments, "method", "kernel", "iterations"))
        image.Morphology((MorphologyMethod)arguments["method"], (Kernel)arguments["kernel"], (Int32)arguments["iterations"]);
      else if (OnlyContains(arguments, "method", "userKernel"))
        image.Morphology((MorphologyMethod)arguments["method"], (String)arguments["userKernel"]);
      else if (OnlyContains(arguments, "method", "userKernel", "channels"))
        image.Morphology((MorphologyMethod)arguments["method"], (String)arguments["userKernel"], (Channels)arguments["channels"]);
      else if (OnlyContains(arguments, "method", "userKernel", "channels", "iterations"))
        image.Morphology((MorphologyMethod)arguments["method"], (String)arguments["userKernel"], (Channels)arguments["channels"], (Int32)arguments["iterations"]);
      else if (OnlyContains(arguments, "method", "userKernel", "iterations"))
        image.Morphology((MorphologyMethod)arguments["method"], (String)arguments["userKernel"], (Int32)arguments["iterations"]);
      else if (OnlyContains(arguments, "settings"))
        image.Morphology((MorphologySettings)arguments["settings"]);
      else
        throw new ArgumentException("Invalid argument combination for 'morphology', allowed combinations are: [method, kernel] [method, kernel, arguments] [method, kernel, arguments, channels] [method, kernel, arguments, channels, iterations] [method, kernel, arguments, iterations] [method, kernel, channels] [method, kernel, channels, iterations] [method, kernel, iterations] [method, userKernel] [method, userKernel, channels] [method, userKernel, channels, iterations] [method, userKernel, iterations] [settings]");
    }
    private void ExecuteMotionBlur(XmlElement element, MagickImage image)
MagickScript