sig
  val create_image :
    width:int ->
    height:int -> pseudo_format:string -> unit -> Magick.image_handle
  val get_canvas :
    width:int -> height:int -> color:string -> unit -> Magick.image_handle
  val read_image : filename:string -> unit -> Magick.image_handle
  val blur :
    ?radius:float ->
    sigma:float -> unit -> Magick.image_handle -> Magick.image_handle
  val radial_blur :
    angle:float -> unit -> Magick.image_handle -> Magick.image_handle
  val radial_blur_channel :
    channel:Magick.channel_type ->
    angle:float -> unit -> Magick.image_handle -> Magick.image_handle
  val charcoal :
    ?radius:float ->
    sigma:float -> unit -> Magick.image_handle -> Magick.image_handle
  val edge :
    radius:float -> unit -> Magick.image_handle -> Magick.image_handle
  val emboss :
    ?radius:float ->
    sigma:float -> unit -> Magick.image_handle -> Magick.image_handle
  val gaussian_blur :
    ?radius:float ->
    sigma:float -> unit -> Magick.image_handle -> Magick.image_handle
  val implode :
    amount:float -> unit -> Magick.image_handle -> Magick.image_handle
  val medianfilter :
    radius:float -> unit -> Magick.image_handle -> Magick.image_handle
  val motion_blur :
    ?radius:float ->
    sigma:float ->
    angle:float -> unit -> Magick.image_handle -> Magick.image_handle
  val oilpaint :
    radius:float -> unit -> Magick.image_handle -> Magick.image_handle
  val reduce_noise :
    radius:float -> unit -> Magick.image_handle -> Magick.image_handle
  val roll :
    x:int -> y:int -> unit -> Magick.image_handle -> Magick.image_handle
  val shade :
    ?gray:Magick.magick_boolean ->
    azimuth:float ->
    elevation:float -> unit -> Magick.image_handle -> Magick.image_handle
  val sharpen :
    ?radius:float ->
    sigma:float -> unit -> Magick.image_handle -> Magick.image_handle
  val spread :
    radius:float -> unit -> Magick.image_handle -> Magick.image_handle
  val swirl :
    degrees:float -> unit -> Magick.image_handle -> Magick.image_handle
  val unsharpmask :
    radius:float ->
    sigma:float ->
    amount:float ->
    threshold:float -> unit -> Magick.image_handle -> Magick.image_handle
  val wave :
    amplitude:float ->
    wave_length:float -> unit -> Magick.image_handle -> Magick.image_handle
  val rotate :
    degrees:float -> unit -> Magick.image_handle -> Magick.image_handle
  val shear :
    x:float -> y:float -> unit -> Magick.image_handle -> Magick.image_handle
  val sample :
    width:int ->
    height:int -> unit -> Magick.image_handle -> Magick.image_handle
  val scale :
    width:int ->
    height:int -> unit -> Magick.image_handle -> Magick.image_handle
  val thumbnail :
    width:int ->
    height:int -> unit -> Magick.image_handle -> Magick.image_handle
  val adaptive_threshold :
    width:int ->
    height:int ->
    offset:int -> unit -> Magick.image_handle -> Magick.image_handle
  val blur_channel :
    channel:Magick.channel_type ->
    ?radius:float ->
    sigma:float -> unit -> Magick.image_handle -> Magick.image_handle
  val gaussian_blur_channel :
    channel:Magick.channel_type ->
    ?radius:float ->
    sigma:float -> unit -> Magick.image_handle -> Magick.image_handle
  val add_noise :
    noise_type:Magick.noise_type ->
    unit -> Magick.image_handle -> Magick.image_handle
  val resize :
    width:int ->
    height:int ->
    filter:Magick.resize_filter ->
    blur:float -> unit -> Magick.image_handle -> Magick.image_handle
  val enhance : unit -> Magick.image_handle -> Magick.image_handle
  val despeckle : unit -> Magick.image_handle -> Magick.image_handle
  val minify : unit -> Magick.image_handle -> Magick.image_handle
  val magnify : unit -> Magick.image_handle -> Magick.image_handle
  val flip : unit -> Magick.image_handle -> Magick.image_handle
  val flop : unit -> Magick.image_handle -> Magick.image_handle
  val splice :
    x:int ->
    y:int ->
    width:int ->
    height:int -> unit -> Magick.image_handle -> Magick.image_handle
  val crop :
    x:int ->
    y:int ->
    width:int ->
    height:int -> unit -> Magick.image_handle -> Magick.image_handle
  val affine_transform :
    ?tx:float ->
    ?ty:float ->
    ?sx:float ->
    ?sy:float ->
    ?rx:float ->
    ?ry:float -> unit -> Magick.image_handle -> Magick.image_handle
  val negate :
    ?grayscale:Magick.magick_boolean ->
    unit -> Magick.image_handle -> Magick.image_handle
  val contrast :
    sharpen:Magick.magick_boolean ->
    unit -> Magick.image_handle -> Magick.image_handle
  val equalize : unit -> Magick.image_handle -> Magick.image_handle
  val normalize : unit -> Magick.image_handle -> Magick.image_handle
  val black_threshold :
    threshold:string -> unit -> Magick.image_handle -> Magick.image_handle
  val white_threshold :
    threshold:string -> unit -> Magick.image_handle -> Magick.image_handle
  val cyclecolormap :
    displace:int -> unit -> Magick.image_handle -> Magick.image_handle
  val solarize :
    threshold:float -> unit -> Magick.image_handle -> Magick.image_handle
  val strip : unit -> Magick.image_handle -> Magick.image_handle
  val gamma_channel :
    channel:Magick.channel_type ->
    gamma:float -> unit -> Magick.image_handle -> Magick.image_handle
  val level :
    levels:string -> unit -> Magick.image_handle -> Magick.image_handle
  val level_channel :
    channel:Magick.channel_type ->
    black_point:float ->
    white_point:float ->
    gamma:float -> unit -> Magick.image_handle -> Magick.image_handle
  val negate_channel :
    channel:Magick.channel_type ->
    grayscale:Magick.magick_boolean ->
    unit -> Magick.image_handle -> Magick.image_handle
  val ordered_dither : unit -> Magick.image_handle -> Magick.image_handle
  val composite_image :
    compose:Magick.composite_operator ->
    ?x:int ->
    ?y:int ->
    unit ->
    img_below:Magick.image_handle ->
    img_above:Magick.image_handle -> Magick.image_handle
  val texture_image :
    img:Magick.image_handle ->
    tex_img:Magick.image_handle -> Magick.image_handle
  val modulate :
    ?brightness:int ->
    ?saturation:int ->
    ?hue:int -> unit -> Magick.image_handle -> Magick.image_handle
  val modulate' :
    factors:string -> unit -> Magick.image_handle -> Magick.image_handle
  val view : unit -> Magick.image_handle -> Magick.image_handle
end