docs: function getConvertArgs(source_path, target_path, options, config) {
      var args = [];
      var to = getImageMagickFormat(options.format);
  
      args.push(source_path);
  
      // support progressive JPGs, PNGs and GIFs
      if (options.interlace) {
          if (options.interlace === "plane") {
              args.push("-interlace", "Plane");
          } else if (options.interlace === "line") {
              args.push("-interlace", "Line");
          } else if (options.interlace === "none") {
              args.push("-interlace", "None");
          } else {
              // type "Partition" is unsupported as it writes mutiple files
              throw conversion_error(
                  new Error("Interlace types supported are: plane, line or none.")
              );
          }
      }
  
      if (options.width && options.height) {
          if (options.crop_rect) {
              args.push("-crop", formatCropRect(options.crop_rect));
          }
      }
  
      if (options.padding) {
          args.push("-bordercolor", options.padding_color ? options.padding_color : config.converter.padding_color);
          args.push("-border", options.padding.x + "x" + options.padding.y);
      }
  
      if (config.converter.filter) {
          args.push("-filter", config.converter.filter);
      }
  
      if (options.width && options.height) {
          args.push("-resize", options.width+"x"+options.height+"!");
      } else if (options.width) {
          args.push("-resize", options.width);
      } else if (options.height) {
          args.push("-resize", "x"+options.height);
      }
  
      if (options.quality && to == "jpg") {
          args.push("-quality", options.quality+"%");
      } else if (to == "jpg" && config.converter.quality) {
          args.push("-quality", config.converter.quality+"%");
      }
  
      if (options.colors && to == "gif") {
          args.push("-colors", options.colors);
      }
  
      if (to == "gif") {
          args.push("+repage");
      }
  
      if (options.strip_metadata) {
          args.push("-strip");
      }
  
      if (options.blur) {
          args.push("-blur", "0x"+options.blur);
      }
  
      args.push(to+":"+target_path);
  
      return args;
  }