diff --git a/www/command-line-options.html b/www/command-line-options.html
new file mode 100644
index 0000000..3a5339c
--- /dev/null
+++ b/www/command-line-options.html
@@ -0,0 +1,5524 @@
+
+
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
+  <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
+  <style type="text/css" media="screen,projection"><!--
+    @import url("../www/magick.css");
+  --></style>
+  <link rel="shortcut icon" href="../images/wand.ico"  type="images/vnd.microsoft.icon"/>
+  <title>ImageMagick: Command-line Options</title>
+  <meta http-equiv="Content-Language" content="en-US"/>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+  <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
+  <meta name="Generator" content="PHP"/>
+  <meta name="Keywords" content="command-line, options, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
+  <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.  ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems.  The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
+  <meta name="Rating" content="GENERAL"/>
+  <meta name="Robots" content="INDEX, FOLLOW"/>
+  <meta name="Generator" content="ImageMagick Studio LLC"/>
+  <meta name="Author" content="ImageMagick Studio LLC"/>
+  <meta name="Revisit-after" content="2 DAYS"/>
+  <meta name="Resource-type" content="document"/>
+  <meta name="Copyright" content="Copyright (c) 1999-2009 ImageMagick Studio LLC"/>
+  <meta name="Distribution" content="Global"/>
+</head>
+
+<body id="www-imagemagick-org">
+<div class="titlebar">
+<a href="../index.html">
+  <img src="../images/script.png" alt="[ImageMagick]"
+  style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
+<a href="http://www.networkredux.com">
+  <img src="../images/networkredux.png" alt="[sponsor]"
+  style="margin: 45px auto; border: 0px; float: left;" /></a>
+<a href="http://www.imagemagick.org/discourse-server/">
+  <img src="../images/logo.jpg" alt=""
+  style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
+<a href="../index.html">
+  <img src="../images/sprite.jpg" alt=""
+  style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
+</div>
+
+<div class="eastbar">
+
+<div class="menu">
+  <a href="../index.html">About ImageMagick</a>
+</div>
+<div class="sep"></div>
+<div class="menu">
+  <a href="../www/command-line-tools.html">Command-line Tools</a>
+</div>
+<div class="sub">
+    <a href="../www/command-line-processing.html">Processing</a>
+</div>
+<div class="sub">
+    <a href="../www/command-line-options.html">Options</a>
+</div>
+<div class="sub">
+    <a href="http://www.imagemagick.org/Usage/">Usage</a>
+</div>
+<div class="menu">
+  <a href="../www/api.html">Program Interfaces</a>
+</div>
+<div class="sub">
+    <a href="../www/magick-wand.html">MagickWand</a>
+</div>
+<div class="sub">
+    <a href="../www/magick-core.html">MagickCore</a>
+</div>
+<div class="sub">
+    <a href="../www/perl-magick.html">PerlMagick</a>
+</div>
+<div class="sub">
+    <a href="../Magick++/">Magick++</a>
+</div>
+<div class="menu">
+  <a href="../www/architecture.html">Architecture</a>
+</div>
+<div class="sep"></div>
+<div  class="menu">
+   <a href="../www/install-source.html">Install from Source</a>
+</div>
+<div class="sub">
+    <a href="../www/install-source.html#unix">Unix</a>
+</div>
+<div class="sub">
+    <a href="../www/install-source.html#windows">Windows</a>
+ </div>
+<div class="menu">
+  <a href="../www/binary-releases.html">Binary Releases</a>
+</div>
+<div class="sub">
+    <a href="../www/binary-releases.html#unix">Unix</a>
+</div>
+<div class="sub">
+    <a href="../www/binary-releases.html#macosx">Mac OS X</a>
+</div>
+<div class="sub">
+    <a href="../www/binary-releases.html#windows">Windows</a>
+</div>
+<div class="menu">
+  <a href="../www/resources.html">Resources</a>
+</div>
+<div class="sep"></div>
+<div class="menu">
+  <a href="../www/download.html">Download</a>
+</div>
+<div class="sep"></div>
+<div class="menu">
+  <a href="http://www.imagemagick.org/script/search.php">Search</a>
+</div>
+<div class="sep"></div>
+<div class="menu">
+  <a href="../www/sitemap.html">Site Map</a>
+</div>
+<div  class="sub">
+    <a href="../www/links.html">Links</a>
+</div>
+<div class="sep"></div>
+<div  class="menu">
+  <a href="../www/sponsors.html">Sponsors:</a>
+
+<div class="sponsbox">
+<div  class="sponsor">
+   <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012001200 allesdruck.de-->
+</div>
+<div  class="sponsor">
+  <a href="http://www.blumenversender.com">Blumenversand</a><!-- 200911010120 -->
+</div>
+<div  class="sponsor">
+  <a href="http://www.print24.de/">Druckerei</a><!-- 200911010480 -->
+</div>
+<div  class="sponsor">
+  <a href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 201002010000 -->
+</div>
+<div  class="sponsor">
+  <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201001010120 Buchhorn -->
+</div>
+</div>
+</div>
+
+
+</div>
+
+<div class="main">
+
+<p class="navigation-index">
+[ <a href="../www/command-line-options.html#adaptive-blur">&#x2011;adaptive&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#adaptive-resize">&#x2011;adaptive&#x2011;resize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#adaptive-sharpen">&#x2011;adaptive&#x2011;sharpen</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#adjoin">&#x2011;adjoin</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#affine">&#x2011;affine</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#alpha">&#x2011;alpha</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#annotate">&#x2011;annotate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#antialias">&#x2011;antialias</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#append">&#x2011;append</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#attenuate">&#x2011;attenuate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#authenticate">&#x2011;authenticate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#auto-gamma">&#x2011;auto&#x2011;gamma</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#auto-level">&#x2011;auto&#x2011;level</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#auto-orient">&#x2011;auto&#x2011;orient</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#average">&#x2011;average</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#backdrop">&#x2011;backdrop</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#background">&#x2011;background</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#bench">&#x2011;bench</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#bias">&#x2011;bias</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#blackpoint-compensation">&#x2011;blackpoint&#x2011;compensation</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#black-threshold">&#x2011;black&#x2011;threshold</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#blend">&#x2011;blend</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#blue-primary">&#x2011;blue&#x2011;primary</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#blue-shift">&#x2011;blue&#x2011;shift</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#blur">&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#border">&#x2011;border</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#bordercolor">&#x2011;bordercolor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#borderwidth">&#x2011;borderwidth</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#cache">&#x2011;cache</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#caption">&#x2011;caption</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#cdl">&#x2011;cdl</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#channel">&#x2011;channel</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#charcoal">&#x2011;charcoal</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#chop">&#x2011;chop</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#clip">&#x2011;clip</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#clip-mask">&#x2011;clip&#x2011;mask</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#clip-path">&#x2011;clip&#x2011;path</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#clone">&#x2011;clone</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#clut">&#x2011;clut</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#coalesce">&#x2011;coalesce</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#colorize">&#x2011;colorize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#colormap">&#x2011;colormap</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#colors">&#x2011;colors</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#colorspace">&#x2011;colorspace</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#combine">&#x2011;combine</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#comment">&#x2011;comment</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#compose">&#x2011;compose</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#composite">&#x2011;composite</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#compress">&#x2011;compress</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#contrast">&#x2011;contrast</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#contrast-stretch">&#x2011;contrast&#x2011;stretch</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#convolve">&#x2011;convolve</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#crop">&#x2011;crop</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#cycle">&#x2011;cycle</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#debug">&#x2011;debug</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#decipher">&#x2011;decipher</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#deconstruct">&#x2011;deconstruct</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#define">&#x2011;define</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#delay">&#x2011;delay</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#delete">&#x2011;delete</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#density">&#x2011;density</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#depth">&#x2011;depth</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#descend">&#x2011;descend</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#deskew">&#x2011;deskew</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#despeckle">&#x2011;despeckle</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#displace">&#x2011;displace</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#display">&#x2011;display</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#dispose">&#x2011;dispose</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#dissimilarity-threshold">&#x2011;dissimilarity&#x2011;threshold</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#dissolve">&#x2011;dissolve</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#distort">&#x2011;distort</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#dither">&#x2011;dither</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#draw">&#x2011;draw</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#edge">&#x2011;edge</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#emboss">&#x2011;emboss</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#encipher">&#x2011;encipher</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#encoding">&#x2011;encoding</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#endian">&#x2011;endian</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#enhance">&#x2011;enhance</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#equalize">&#x2011;equalize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#evaluate">&#x2011;evaluate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#extent">&#x2011;extent</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#extract">&#x2011;extract</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#family">&#x2011;family</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#fft">&#x2011;fft</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#fill">&#x2011;fill</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#filter">&#x2011;filter</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#flatten">&#x2011;flatten</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#flip">&#x2011;flip</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#floodfill">&#x2011;floodfill</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#flop">&#x2011;flop</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#font">&#x2011;font</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#foreground">&#x2011;foreground</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#format">&#x2011;format</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#format_identify_">&#x2011;format[identify]</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#frame">&#x2011;frame</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#frame_import_">&#x2011;frame[import]</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#function">&#x2011;function</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#fuzz">&#x2011;fuzz</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#fx">&#x2011;fx</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#gamma">&#x2011;gamma</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#gaussian-blur">&#x2011;gaussian&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#geometry">&#x2011;geometry</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#gravity">&#x2011;gravity</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#green-primary">&#x2011;green&#x2011;primary</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#hald-clut">&#x2011;hald&#x2011;clut</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#help">&#x2011;help</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#highlight-color">&#x2011;highlight&#x2011;color</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#iconGeometry">&#x2011;iconGeometry</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#iconic">&#x2011;iconic</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#identify">&#x2011;identify</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#ift">&#x2011;ift</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#immutable">&#x2011;immutable</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#implode">&#x2011;implode</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#insert">&#x2011;insert</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#intent">&#x2011;intent</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#interlace">&#x2011;interlace</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#interpolate">&#x2011;interpolate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#interword-spacing">&#x2011;interword&#x2011;spacing</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#kerning">&#x2011;kerning</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#label">&#x2011;label</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#lat">&#x2011;lat</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#layers">&#x2011;layers</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#level">&#x2011;level</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#level-colors">&#x2011;level&#x2011;colors</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#limit">&#x2011;limit</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#linear-stretch">&#x2011;linear&#x2011;stretch</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#linewidth">&#x2011;linewidth</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#liquid-rescale">&#x2011;liquid&#x2011;rescale</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#list">&#x2011;list</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#log">&#x2011;log</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#loop">&#x2011;loop</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#lowlight-color">&#x2011;lowlight&#x2011;color</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#magnify">&#x2011;magnify</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#map">&#x2011;map</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#map_stream_">&#x2011;map[stream]</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#mask">&#x2011;mask</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#mattecolor">&#x2011;mattecolor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#median">&#x2011;median</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#metric">&#x2011;metric</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#mode">&#x2011;mode</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#modulate">&#x2011;modulate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#monitor">&#x2011;monitor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#monochrome">&#x2011;monochrome</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#morph">&#x2011;morph</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#mosaic">&#x2011;mosaic</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#motion-blur">&#x2011;motion&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#name">&#x2011;name</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#negate">&#x2011;negate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#noise">&#x2011;noise</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#normalize">&#x2011;normalize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#opaque">&#x2011;opaque</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#ordered-dither">&#x2011;ordered&#x2011;dither</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#orient">&#x2011;orient</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#page">&#x2011;page</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#paint">&#x2011;paint</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#path">&#x2011;path</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#pause_animate_">&#x2011;pause[animate]</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#pause_import_">&#x2011;pause[import]</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#pen">&#x2011;pen</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#ping">&#x2011;ping</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#pointsize">&#x2011;pointsize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#polaroid">&#x2011;polaroid</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#posterize">&#x2011;posterize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#preview">&#x2011;preview</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#print">&#x2011;print</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#process">&#x2011;process</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#profile">&#x2011;profile</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#quality">&#x2011;quality</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#quantize">&#x2011;quantize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#quiet">&#x2011;quiet</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#radial-blur">&#x2011;radial&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#raise">&#x2011;raise</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#random-threshold">&#x2011;random&#x2011;threshold</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#recolor">&#x2011;recolor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#red-primary">&#x2011;red&#x2011;primary</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#regard-warnings">&#x2011;regard&#x2011;warnings</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#region">&#x2011;region</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#remap">&#x2011;remap</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#remote">&#x2011;remote</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#render">&#x2011;render</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#repage">&#x2011;repage</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#resample">&#x2011;resample</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#resize">&#x2011;resize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#respect-parentheses">&#x2011;respect&#x2011;parentheses</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#reverse">&#x2011;reverse</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#roll">&#x2011;roll</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#rotate">&#x2011;rotate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sample">&#x2011;sample</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sampling-factor">&#x2011;sampling&#x2011;factor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#scale">&#x2011;scale</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#scene">&#x2011;scene</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#screen">&#x2011;screen</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#seed">&#x2011;seed</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#segment">&#x2011;segment</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#selective-blur">&#x2011;selective&#x2011;blur</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#separate">&#x2011;separate</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sepia-tone">&#x2011;sepia&#x2011;tone</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#set">&#x2011;set</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#shade">&#x2011;shade</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#shadow">&#x2011;shadow</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#shared-memory">&#x2011;shared&#x2011;memory</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sharpen">&#x2011;sharpen</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#shave">&#x2011;shave</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#shear">&#x2011;shear</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sigmoidal-contrast">&#x2011;sigmoidal&#x2011;contrast</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#silent">&#x2011;silent</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#size">&#x2011;size</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sketch">&#x2011;sketch</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#snaps">&#x2011;snaps</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#solarize">&#x2011;solarize</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#sparse-color">&#x2011;sparse&#x2011;color</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#splice">&#x2011;splice</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#spread">&#x2011;spread</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#stegano">&#x2011;stegano</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#stereo">&#x2011;stereo</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#stretch">&#x2011;stretch</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#strip">&#x2011;strip</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#stroke">&#x2011;stroke</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#strokewidth">&#x2011;strokewidth</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#style">&#x2011;style</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#swap">&#x2011;swap</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#swirl">&#x2011;swirl</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#taint">&#x2011;taint</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#text-font">&#x2011;text&#x2011;font</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#texture">&#x2011;texture</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#threshold">&#x2011;threshold</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#thumbnail">&#x2011;thumbnail</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#tile">&#x2011;tile</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#tile-offset">&#x2011;tile&#x2011;offset</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#tint">&#x2011;tint</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#title">&#x2011;title</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#transform">&#x2011;transform</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#transparent">&#x2011;transparent</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#transparent-color">&#x2011;transparent&#x2011;color</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#transpose">&#x2011;transpose</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#transverse">&#x2011;transverse</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#treedepth">&#x2011;treedepth</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#trim">&#x2011;trim</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#type">&#x2011;type</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#undercolor">&#x2011;undercolor</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#unique-colors">&#x2011;unique&#x2011;colors</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#units">&#x2011;units</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#unsharp">&#x2011;unsharp</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#update">&#x2011;update</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#verbose">&#x2011;verbose</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#version">&#x2011;version</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#view">&#x2011;view</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#vignette">&#x2011;vignette</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#virtual-pixel">&#x2011;virtual&#x2011;pixel</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#visual">&#x2011;visual</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#watermark">&#x2011;watermark</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#wave">&#x2011;wave</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#weight">&#x2011;weight</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#white-point">&#x2011;white&#x2011;point</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#white-threshold">&#x2011;white&#x2011;threshold</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#window">&#x2011;window</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#window-group">&#x2011;window&#x2011;group</a> <span class='bull'>&nbsp;&bull; </span> <a href="../www/command-line-options.html#write">&#x2011;write</a>  ] </p>
+
+<p>Below is list of command-line options recognized by the ImageMagick <a href="../www/command-line-tools.html">command-line tools</a>. If you want a description of a particular option, click on the option name in the navigation bar above and you will go right to it. Unless otherwise noted, each option is recognized by the commands
+<a href="../www/convert.html">convert</a>, <a href="../www/mogrify.html">mogrify</a>, and ....  </p>
+
+<div style="margin: auto;">
+  <h4><a name="adaptive-blur" id="adaptive-blur"></a>-adaptive-blur <em class="arg">radius</em>[x<em class="arg">sigma</em>]</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Adaptively blur pixels, with decreasing effect near edges.</td><td style='text-align:right;'></td></tr></table>
+
+<p>A Gaussian operator of the given radius and standard deviation (<em class="arg">sigma</em>) is used. If <em class="arg">sigma</em> is not given it defaults to 1.</p>
+
+<div style="margin: auto;">
+  <h4><a name="adaptive-resize" id="adaptive-resize"></a>-adaptive-resize <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Resize the image using data-dependent triangulation.</td><td style='text-align:right;'></td></tr></table>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <a href="#adaptive-resize">-adaptive-resize</a> option defaults to data-dependent triangulation.  Use the <a href="#filter">-filter</a> to choose a different resampling algorithm.  Offsets, if present in the geometry string, are ignored, and the <a href="#gravity">-gravity</a> option has no effect.</p>
+
+<div style="margin: auto;">
+  <h4><a name="adaptive-sharpen" id="adaptive-sharpen"></a>-adaptive-sharpen <em class="arg">radius</em>[x<em class="arg">sigma</em>]</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Adaptively sharpen pixels, with increasing effect near edges.</td><td style='text-align:right;'></td></tr></table>
+
+<p>A Gaussian operator of the given radius and standard deviation (<em class="arg">sigma</em>) is used. If <em class="arg">sigma</em> is not given it defaults to 1.</p>
+
+<div style="margin: auto;">
+  <h4><a name="adjoin" id="adjoin"></a>-adjoin</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Join images into a single multi-image file.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option is enabled by default. An attempt is made to save all
+images of an image sequence into the given output file.
+However, some formats, such as JPEG and PNG, do not support more than one
+image per file, and in that case ImageMagick is forced to write each image as a separate file.  As
+such, if more than one image needs to be written, the filename given is
+modified by adding a <a href="#scene">-scene</a> number before the
+suffix, in order to make distinct names for each image. </p>
+
+<p>Use <a href="#adjoin">+adjoin</a> to force each image to be written
+to separate files, whether or not the file format allows multiple images
+per file (for example, GIF, MIFF, and TIFF). </p>
+
+<p>Including a C-style integer format string in the output filename will automagically enable <a href="#adjoin">+adjoin</a> and are used to specify where the <a href="#scene">-scene</a> number is placed in the filenames. These strings, such as '<kbd>%d</kbd>' or '<kbd>%03d</kbd>', are familiar to those who have used the standard <kbd>printf()</kbd>' C-library function. As an example, the command</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert logo: rose: -morph 15 my%02dmorph.jpg</span></p>
+<p>will create a sequence of 17 images named my00morph.jpg, my01morph.jpg, my02morph.jpg, ..., my16morph.jpg.
+</p>
+
+<p>In summary, ImageMagick tries to write all images to one file, but will use
+multiple files if either (1) the output image's file format does not allow multi-image files,
+(2) the <a href="#adjoin">+adjoin</a> option is given, or (3) a C-style integer format string is
+present in the output filename. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="affine" id="affine"></a>-affine <em class="arg">s<sub>x</sub></em>,<em class="arg">r<sub>x</sub></em>,<em class="arg">r<sub>y</sub></em>,<em class="arg">s<sub>y</sub></em>,<em class="arg">t<sub>x</sub></em>,<em class="arg">t<sub>y</sub></em><br/>
+  -affine <em class="arg">s<sub>x</sub></em>,<em class="arg">r<sub>x</sub></em>,<em class="arg">r<sub>y</sub></em>,<em class="arg">s<sub>y</sub></em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the drawing transformation matrix for combined rotating and scaling.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option sets a transformation matrix, encoded as (<em class="arg">s<sub>x</sub></em>, <em class="arg">r<sub>x</sub></em>, <em class="arg">r<sub>y</sub></em>, <em class="arg">s<sub>y</sub></em>, <em class="arg">t<sub>x</sub></em>, <em class="arg">t<sub>y</sub></em>), for use by subsequent <a href="#draw">-draw</a> or <a href="#transform">-transform</a> options.</p>
+
+<p>The matrix entries are entered as comma-separated numeric values <i>with no spaces</i>. </p>
+
+<p>Internally, the transformation matrix has 3x3 elements, but three of them are omitted from the input because they are constant. The new (transformed) coordinates (<em class="arg">x'</em>, <em class="arg">y'</em>) of a pixel at position (<em class="arg">x</em>, <em class="arg">y</em>) in the original image are calculated using the following matrix equation.</p>
+
+<div class="eqn">
+<img alt="affine transformation"  src="../images/affine.png"/>
+</div>
+
+<p>
+The size of the resulting image is that of the smallest rectangle that contains the transformed source image.  The parameters <em class="arg">t<sub>x</sub></em> and <em class="arg">t<sub>y</sub></em>  subsequently shift the image pixels so that those that are moved out of the image area are cut off.</p>
+
+<p>The transformation matrix complies with the left-handed pixel coordinate system: positive <em class="arg">x</em> and <em class="arg">y</em> directions are rightward and downward, resp.; positive rotation is clockwise.</p>
+
+<p> If the translation coefficients <em class="arg">t<sub>x</sub></em> and <em class="arg">t<sub>y</sub></em> are omotted they default to 0,0. Therefore, four parameters suffice for rotation and scaling without translation.</p>
+
+<p>Scaling by the factors <em class="arg">s<sub>x</sub></em> and <em class="arg">s<sub>y</sub></em> in the <em>x</em> and <em>y</em> directions, respectively, is accomplished with the following.</p>
+
+<p class="crtsnip">
+ -affine <em class="arg">s<sub>x</sub></em>,0,0,<em class="arg">s<sub>y</sub></em>
+</p>
+
+<p>Translation by a displacement (<em class="arg">t<sub>x</sub></em>, <em class="arg">t<sub>y</sub></em>) is accomplished like so:</p>
+
+<p class="crtsnip">
+  -affine 1,0,0,1,<em class="arg">t<sub>x</sub></em>,<em class="arg">t<sub>y</sub></em>
+</p>
+
+<p>Rotate clockwise about the origin (the upper left-hand corner) by an angle <em>a</em> by letting
+<em>c</em> = cos(<em>a</em>), <em>s</em> = sin(<em>a</em>), and using the following.</p>
+
+<p class="crtsnip">
+  -affine <em>c</em>,<em>s</em>,-<em>s</em>,<em>c</em>
+</p>
+
+<p>The cumulative effect of a sequence of <a href="#affine" >-affine</a> transformations can be accomplished by instead by a single <a href="#affine" >-affine</a> operation using the matrix equal to the product of the matrices of the individual transformations.</p>
+
+<p>An attempt is made to detect near-singular transformation matrices. If the matrix determinant has a sufficiently small absolute value it is rejected.</p>
+
+<div style="margin: auto;">
+  <h4><a name="alpha" id="alpha"></a>-alpha <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Gives control of the alpha/matte channel of an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Used to set a flag on an image indicating whether or not to use existing alpha
+channel data, to create an alpha channel, or to perform other operations on the alpha channel.  Choose the argument <em class="arg">type</em> from the list below.</p>
+
+
+<table class="doc">
+  <tbody>
+  <tr valign="top">
+    <th align="left" style="width: 8%">type</th>
+    <th align="left">Description</th>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Off</kbd>&nbsp; or
+    <kbd>Deactivate</kbd></td>
+    <td valign="top">
+       Disables the image's transparency channel. Does not delete or change the
+       existing data, just turns off the use of that data. This is the same as
+       the older <a href="#matte" >+matte</a> operator. </td></tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>On</kbd>&nbsp; or
+    <kbd>Activate</kbd></td>
+    <td valign="top">
+       Enables the image's use of transparency.  If transparency data does not
+       already exist, allocates the data and sets it to opaque. If the image has
+       transparency data, the channel is enabled and the transparency data is not changed or modified in any way. This is NOT
+       the same as the older <a href="#matte" >-matte</a> operator. </td></tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Set</kbd></td>
+    <td valign="top">
+       Turns '<kbd>On</kbd>' the alpha/matte channel and if it was previously
+       turned off resets the channel to opaque.  If the image already had the
+       alpha channel turned on, it will have no effect. This is the same as the older <a href="#matte">-matte</a> operator. </td></tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Opaque</kbd></td>
+    <td valign="top">
+       Turns '<kbd>On</kbd>' the alpha/matte channel and forces it to be fully
+       opaque. </td></tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Transparent</kbd></td>
+    <td valign="top">
+       Turns '<kbd>On</kbd>' the alpha/matte channel and forces it to be fully
+       transparent. This effectively creates a fully transparent image the same
+       size as the original and with all its original RGB data still intact. </td></tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Extract</kbd></td>
+    <td valign="top">
+       Copies the alpha channel values into all the color channels and turns
+       '<kbd>Off</kbd>' the the image's transparency, so as to generate a
+       gray-scale mask of the image's shape. This is the inverse of
+       '<kbd>Copy</kbd>'. </td></tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Copy</kbd></td>
+    <td valign="top">
+       Turns '<kbd>On</kbd>' the alpha/matte channel, then copies the
+       gray-scale intensity of the image, as an alpha mask, into the alpha
+       channel, converting a gray-scale mask into a transparent shaped image
+       ready to be colored appropriately. The color channels are not modified.
+       </td></tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Shape</kbd></td>
+    <td valign="top">
+       As per '<kbd>Copy</kbd>' but also colors the resulting shape mask with
+       the current background color.
+       </td></tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Background</kbd></td>
+    <td valign="top">
+       Set any fully-transparent pixel to the background color.
+       </td></tr>
+  </tbody>
+</table>
+
+<p>Note that while the <a href="#matte" >+matte</a> operation is the same as
+"<kbd><a href="#alpha" >-alpha</a> off</kbd>", the <a href="#matte"
+>-matte</a> operation is the same as "<kbd><a href="#alpha" >-alpha</a> set</kbd>" and
+not "<kbd><a href="#alpha" >-alpha</a> on</kbd>".
+That is, "<kbd><a href="#alpha" >-alpha</a> set</kbd>" will ensure that the
+written image is opaque if the original image had no transparency
+channel enabled, regardless if transparency data is already present. </p>
+
+
+<div style="margin: auto;">
+ <h4><a name="annotate" id="annotate"></a>
+ -annotate <em class="arg">degrees</em> <em class="arg">text</em><br />
+ -annotate <em class="arg">Xdegrees</em>x<em class="arg">Ydegrees</em> <em class="arg">text</em><br />
+ -annotate <em class="arg">Xdegrees</em>x<em class="arg">Ydegrees</em> {+-}<em class="arg">t<sub>x</sub></em>{+-}<em class="arg">t<sub>y</sub></em> <em class="arg">text</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Annotate an image with text.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This is a convenience for annotating an image with text. For more precise control over text annotations, use <a href="#draw">-draw</a>.</p>
+
+
+<p>The values <em class="arg">Xdegrees</em> and <em class="arg">Ydegrees</em> control the shears with respect to the , respectively, applied to the text, while <em class="arg">t<sub>x</sub></em> and <em class="arg">t<sub>y</sub></em> are offsets that give the location of the text relative to the upper left corner of the image.</p>
+
+<p>Using <a href="#annotate">-annotate</a>&nbsp;<em class="arg">degrees</em> or <a href="#annotate">-annotate</a>&nbsp;<em class="arg">degrees</em>x<em class="arg">degrees</em> produces an unsheared rotation of the text. The direction of the rotation is positive, which means a clockwise rotation if <em class="arg">degrees</em> is positive. (This conforms to the usual mathematical convention once it is realized that the positive <em>y</em>&ndash;direction is conventionally considered to be <em>downward</em> for images.)</p>
+
+<p>The new (transformed) coordinates (<em class="arg">x'</em>, <em class="arg">y'</em>) of a pixel at position (<em class="arg">x</em>, <em class="arg">y</em>) in the image are calculated using the following matrix equation.</p>
+<div class="eqn"><img alt="annotate transformation"  src="../images/annotate.png"/></div>
+
+<p>If <em class="arg">t<sub>x</sub></em> and <em class="arg">t<sub>y</sub></em> are omitted, they default to 0. This makes the bottom-left of the text becomes the upper-left corner of the image, which is probably undesirable. Adding a <a href="#gravity" >-gravity</a> option in this case leads to nice results.</p>
+
+<p>Text is any UTF-8 encoded character sequence.  If <em class="arg">text</em> is of the form '@mytext.txt', the text is read from the file <kbd>mytext.txt</kbd>.  Text  in a file is taken literally; no embedded formatting characters are recognized.</p>
+
+<div style="margin: auto;">
+  <h4><a name="antialias" id="antialias"></a>-antialias</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Enable/Disable of the rendering of anti-aliasing pixels when
+drawing fonts and lines.</td><td style='text-align:right;'></td></tr></table>
+
+<p>By default, objects (e.g. text, lines, polygons, etc.) are antialiased when
+drawn.  Use <a href="#antialias">+antialias</a> to disable the addition of
+antialiasing edge pixels.  This will then reduce the number of colors added to
+an image to just the colors being directly drawn.  That is, no mixed colors
+will be added when drawing such objects. </p>
+
+<div style="margin: auto;">
+  <h4><a name="append" id="append"></a>-append</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Join current images vertically or horizontally.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option creates a single longer image image, by joining all the current
+images in sequence top-to-bottom. Use <a href="#append">+append</a> to
+stack images left-to-right. </p>
+
+<p>If they are not of the same width, narrower images are padded with the
+current <a href="#background">-background</a> color setting, and their
+position relative to each other can be controled by the current <a
+href="#gravity">-gravity</a> setting. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="attenuate" id="attenuate"></a>-attenuate <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Lessen (or intensify) when adding noise to an image.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="authenticate" id="authenticate"></a>-authenticate <em class="arg">password</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Decrypt a PDF with a password.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use this option to supply a <em class="arg">password</em> for decrypting a PDF that has been encrypted using Microsoft Crypto API (MSC API). The encrypting using the MSC API is not supported.</p>
+
+<p>For a different encryption method, see <a href="#encipher">-encipher</a> and <a href="#decipher">-decipher</a>. </p>
+
+<div style="margin: auto;">
+  <h4><a name="auto-gamma" id="auto-gamma"></a>-auto-gamma</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Automagically adjust gamma level of image.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="auto-level" id="auto-level"></a>-auto-level</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Automagically adjust color levels of image.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="auto-orient" id="auto-orient"></a>-auto-orient</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Automagically orient (rotate) an image created by a digital camera.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="average" id="average"></a>-average</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Average a set of images.</td><td style='text-align:right;'></td></tr></table>
+
+<p>An error results if the images are not identically sized.</p>
+
+<p>The sequence of images is terminated by the appearance of any option. If the <a href="#average">-average</a> option appears after all of the input images, all images are averaged.</p>
+
+<div style="margin: auto;">
+  <h4><a name="backdrop" id="backdrop"></a>-backdrop</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Display the image centered on a backdrop.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>
+
+<p>This backdrop covers the entire workstation screen and is useful for hiding other X window activity while viewing the image. The color of the backdrop is specified as the background color. The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>
+
+<div style="margin: auto;">
+  <h4><a name="background" id="background"></a>-background <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the background color.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The color is specified using the format described under the <a href="#fill">-fill</a> option. The default background color (if none is specified or found in the image) is white.</p>
+
+<div style="margin: auto;">
+  <h4><a name="bench" id="bench"></a>-bench <em class="arg">iterations</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Measure performance.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Repeat the entire command for the given number of <em class="arg">iterations</em> and report the user-time and elapsed time. For instance, consider the following command and its output.</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert logo: -resize 1000% -bench 5 biglogo.png</span><span class='crtout'>Performance: 5i 0.0539724ips 91.750u 2:33</span></p>
+<p>In this example, 5&nbsp;iterations were completed at 0.0539724&nbsp;iterations per second, using 91.750&nbsp;seconds of the user's allotted time, for a total elapsed time of 2&nbsp;minutes&nbsp;and&nbsp;33&nbsp;seconds.</p>
+
+<div style="margin: auto;">
+  <h4><a name="bias" id="bias"></a>-bias <em class="arg">value</em>{<em class="arg">%</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Add bias when convolving an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option shifts the output of <a href="../www/command-line-options.html#convolve">&#x2011;convolve</a>  so that positive and negative results are relative to the specified bias value. </p>
+
+<p>This is important for non-HDRI compilations of ImageMagick when dealing with convolutions that contain negative as well as positive values. This is especially the case with convolutions involving high pass filters or edge detection. Without an output bias, the negative values are clipped at zero.</p>
+
+<p>When using an ImageMagick with the HDRI compile-time setting, <a href="../www/command-line-options.html#bias">&#x2011;bias</a> is not needed, as ImageMagick is able to store/handle any
+negative results without clipping to the color value range
+(0..QuantumRange).</p>
+
+<p>See the discussion on HDRI implementations of ImageMagick on the page
+<a href="/www/high-dynamic-range.html">High Dynamic-Range Images</a>. For more about HDRI go the ImageMagick <a href="http://www.imagemagick.org/Usage/basics/#hdri">Usage</a> pages or this <a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">Wikipedia</a> entry.
+</p>
+
+<div style="margin: auto;">
+  <h4><a name="black-point-compensation" id="black-point-compensation"></a>-black-point-compensation</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Use black point compensation.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="black-threshold" id="black-threshold"></a>-black-threshold <em class="arg">threshold</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Force to black all pixels at or below the threshold while leaving all pixels above the threshold unchanged.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="blend" id="blend"></a>-blend <em class="arg">percent</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>blend an image into another by the given percent.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>
+
+<p>Blend will average the images together ('plus') according to the
+percentages given and each pixels transparency.  If only a single percentage
+value is given it sets the weight of the composite or 'source' image, while
+the background image is weighted by the exact opposite amount. That is a
+<kbd>-blend 30</kbd> merges 30% of the 'source' image with 70% of the
+'destination' image.  Thus it is equivalent to <kbd>-blend 30x70</kbd>.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="blue-primary" id="blue-primary"></a>-blue-primary <em class="arg">x</em>,<em class="arg">y</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the blue chromaticity primary point.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="blue-shift" id="blue-shift"></a>-blue-shift <em class="arg">factor</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate a scene at nighttime in the moonlight.  Start with a factor of 1.5</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+
+<div style="margin: auto;">
+  <h4><a name="blur" id="blur"></a>-blur <em class="arg">radius</em><br />-blur <em class="arg">radius</em>x<em class="arg">sigma</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Reduce image noise and reduce detail levels.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Convolve the image with a Gaussian or normal distribution.  The formula is:</p>
+
+<div class="eqn"><img alt="gaussian distribution" width="243px" height="42px" src="../images/gaussian-blur.png"/>
+</div>
+
+<p>Where <i>r</i> is the blur radius (<i>r</i><sup>2</sup> = <i>u</i><sup>2</sup> + <i>v</i><sup>2</sup>), and &sigma; is the standard deviation of the Gaussian distribution.  As a guideline, set <i>r</i> to approximately 3&sigma;.  If a radius of 0 is specified, ImageMagick selects a suitable radius for you.</p>
+
+<p>This option differs from <a href="#gaussian-blur">-gaussian-blur</a> simply by taking advantage of the separability properties of the distribution.  Here we apply a single-dimensional Gaussian matrix in the horizontal direction, then repeat the process in the vertical direction.</p>
+
+<p>The <a href="#virtual-pixel">-virtual-pixel</a> setting will determine how
+pixels which are outside the image proper are blurred into the final result.
+</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="blur-composite" id="blur"></a>-blur <em class="arg">Width</em>[x<em class="arg">Height</em>[+<em class="arg">Angle</em>]]</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Variably blur and image according to the overlay mapping.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>
+
+<p>Each pixel in the overlaid region is replaced with an Elliptical Weighted
+Average (EWA) of the source image, scaled according to the grayscale
+mapping. </p>
+
+<p>The ellipse is weighted with sigma set to the given <em class="arg"
+>Width</em> and <em class="arg" >Height</em>. The <em class="arg" >Height</em>
+defaults to the <em class="arg" >Width</em> for a normal circular Guassian
+weighting.  The <em class="arg" >Angle</em> will rotate the ellipse from
+horizontal clock-wise.  </p>
+
+<p>The <a href="#virtual-pixel">-virtual-pixel</a> setting will determine how
+pixels which are outside the image proper are blurred into the final result.
+</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="border" id="border"></a>-border <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Surround the image with a border of color. </td><td style='text-align:right;'></td></tr></table>
+
+<p>Set the width and height using the <em class="arg">size</em> portion of the <em class="arg">gravity</em> argument.  See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. Offsets are ignored. </p>
+
+<p>Set the border color by preceding with the <a href="#bordercolor">-bordercolor</a> setting.</p>
+
+<p>See also the <a href="#frame">-frame</a> option, which has more functionality.</p>
+
+<div style="margin: auto;">
+  <h4><a name="bordercolor" id="bordercolor"></a>-bordercolor <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the border color.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>
+
+<p>The default border color is <kbd>#DFDFDF</kbd>, <span style="background-color: #dfdfdf;">this shade of gray</span>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="borderwidth" id="borderwidth"></a>-borderwidth <em class="arg">geometry</em> </h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the border width.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="cache" id="cache"></a>-cache <em class="arg">threshold</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>(This option has been replaced by the <a href='#limit'>-limit</a> option.)</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="caption" id="caption"></a>-caption <em class="arg">string</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Assign a caption to an image.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="cdl" id="cdl"></a>-cdl <em class="arg">filename</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>color correct with a color decision list.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Here is an example color correction collection:</p>
+
+<pre class="text">
+&lt;?xml version="1.0" encoding="UTF-8"?>
+&lt;ColorCorrectionCollection xmlns="urn:ASC:CDL:v1.2">
+  &lt;ColorCorrection id="cc06668">
+    &lt;SOPNode>
+      &lt;Slope> 0.9 1.2 0.5 &lt;/Slope>
+      &lt;Offset> 0.4 -0.5 0.6 &lt;/Offset>
+      &lt;Power> 1.0 0.8 1.5 &lt;/Power>
+    &lt;/SOPNode>
+    &lt;SATNode>
+      &lt;Saturation> 0.85 &lt;/Saturation>
+    &lt;/SATNode>
+  &lt;/ColorCorrection>
+&lt;/ColorCorrectionCollection>
+</pre>
+
+<div style="margin: auto;">
+  <h4><a name="channel" id="channel"></a>-channel <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify those image color channels to which subsequent operators are limited.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Choose from: <kbd>Red</kbd>, <kbd>Green</kbd>, <kbd>Blue</kbd>, <kbd>Alpha</kbd>, <kbd>Cyan</kbd>, <kbd>Magenta</kbd>, <kbd>Yellow</kbd>, <kbd>Black</kbd>, <kbd>Opacity</kbd>, <kbd>Index</kbd>, <kbd>RGB</kbd>, <kbd>RGBA</kbd>, <kbd>CMYK</kbd>, or <kbd>CMYKA</kbd>.</p>
+
+<p>To print a complete list of channel types, use <a href="#list">-list channel</a>.</p>
+
+<p>The channels above can be specified as a comma-separated list or can be abbreviated as a
+concatenation of the letters '<kbd>R</kbd>', '<kbd>G</kbd>', '<kbd>B</kbd>',
+'<kbd>A</kbd>', '<kbd>O</kbd>', '<kbd>C</kbd>', '<kbd>M</kbd>', '<kbd>Y</kbd>',
+'<kbd>K</kbd>'.
+
+For example, to negate only the alpha channel of an image, use</p>
+<p class="crtsnip">
+    -channel Alpha -negate
+</p>
+
+<p>By default, ImageMagick sets <a href="#channel">-channel</a> to the value
+'<kbd>RGB</kbd>', which specifies that operators act on all channels except
+the opacity channel. Using the option <a href="#channel" >+channel</a> will reset the value back to this default. </p>
+
+<p>Operators that are affected by the <a href="#channel" >-channel</a>
+setting include the following.
+<a href="#black-threshold">-black-threshold</a>,
+<a href="#blur">-blur</a>,
+<a href="#clut">-clut</a>,
+<a href="#combine">-combine</a>,
+<a href="#contrast-stretch">-contrast-stretch</a>,
+<a href="#evaluate">-evaluate</a>,
+<a href="#function">-function</a>,
+<a href="#fx">-fx</a>,
+<a href="#clut">-hald-clut</a>,
+<a href="#gaussian-blur">-gaussian-blur</a>,
+<a href="#motion-blur">-motion-blur</a>,
+<a href="#negate">-negate</a>,
+<a href="#normalize">-normalize</a>,
+<a href="#ordered-dither">-ordered-dither</a>,
+<a href="#radial-blur">-radial-blur</a>,
+<a href="#random-threshold">-random-threshold</a>,
+<a href="#separate">-separate</a>, and
+<a href="#white-threshold">-white-threshold</a>.
+</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="charcoal" id="charcoal"></a>-charcoal <em class="arg">factor</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Simulate a charcoal drawing.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="chop" id="chop"></a>-chop <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Remove pixels from the interior of an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <em class="arg">width</em> and <em class="arg">height</em> given in the of the <em class="arg">size</em> portion of the <em class="arg">geometry</em> argument  give the number of columns and rows to remove. The <em class="arg">offset</em> portion of the <em class="arg">geometry</em> argument is influenced by a <a href="#gravity">-gravity</a> setting, if present.</p>
+
+<p>The <a href="#chop">-chop</a> option removes entire rows and columns, and moves the remaining corner blocks leftward and upward to close the gaps.</p>
+
+<div style="margin: auto;">
+  <h4><a name="clip" id="clip"></a>-clip</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply the clipping path if one is present.</td><td style='text-align:right;'></td></tr></table>
+
+<p>If a clipping path is present, it is applied to subsequent operations.</p>
+
+<p>For example, in the command</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -clip -negate cockatoo.tif negated.tif</span></p>
+<p>only the pixels within the clipping path are negated.</p>
+
+<p>The <a href="#clip">-clip</a> feature requires the XML library. If the XML library is not present, the option is ignored.</p>
+
+<div style="margin: auto;">
+  <h4><a name="clip-mask" id="clip-mask"></a>-clip-mask</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Clip the image as defined by this mask.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="clip-path" id="clip-path"></a>-clip-path <em class="arg">id</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Clip along a named path from the 8BImageMagick profile.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="clone" id="clone"></a>-clone <em class="arg">index(s)</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Make a copy of an image (or images).</td><td style='text-align:right;'></td></tr></table>
+
+<p>Specify the image by its index in the sequence.  The first image is index
+0.  Negative indexes are relative to the end of the sequence; for example, &minus;1
+represents the last image of the sequence.  Specify a range of images with a
+dash (e.g. 0&minus;4).  Separate multiple indexes with commas but no spaces (e.g. 0,2,5).  Use <a
+href="#clone">+clone</a>  make a copy of the last image in the image
+sequence.</p>
+
+<div style="margin: auto;">
+  <h4><a name="clut" id="clut"></a>-clut</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Replace the channel values in the first image using each
+corresponding channel in the second image as a <b>c</b>olor
+<b>l</b>ook<b>u</b>p <b>t</b>able.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The second (LUT) image is ordinarily a gradient image containing the
+histogram mapping of how each channel should be modified. Typically it is a
+either a single row or column image of replacement color values. If larger
+than a single row or column, values are taken from a diagonal line from
+top-left to bottom-right corners.</p>
+
+<p>The lookup is further controlled by the <a
+href="#interpolate">-interpolate</a> setting, which is especially handy for an
+LUT which is not the full length needed by the ImageMagick installed Quality
+(Q) level. Good settings for this are the '<kbd>bilinear</kbd>' and
+'<kbd>bicubic</kbd>' interpolation settings, which give smooth color
+gradients, and the '<kbd>integer</kbd>' setting for a direct, unsmoothed
+lookup of color values. </p>
+
+<p>This operator is especially suited to replacing a grayscale image with a
+specific color gradient from the CLUT image. </p>
+
+<p>Only the channel values defined by the <a href="#channel">-channel</a>
+setting will have their values replaced. In particular, since the default <a
+href="#channel">-channel</a> setting is <kbd>RGB</kbd>, this means that
+transparency (alpha/matte channel) is not affected, unless the <a
+href="#channel">-channel</a> setting is modified. When the alpha channel is
+set, it is treated by the <a href="#clut" >-clut</a> operator in the same way
+as the other channels, implying that alpha/matte values are replaced using the
+alpha/matte values of the original image. </p>
+
+<p>If either the image being modified, or the lookup image, conatins no
+transparency (i.e. <a href="#alpha" >-alpha</a> is turned 'off') but the <a
+href="#channel">-channel</a> setting includes alpha replacement, then it is
+assumed that image represents a gray-scale graident which will be used for the
+replacement alpha values.  That is you can use a gray-scale CLUT image to
+adjust a existing images alpha channel, or you can color a gray-scale image
+using colors form CLUT containing the desired colors, including transparency.
+</p>
+
+<p>See also <a href="#hald-clut" >-hald-clut</a> which replaces colors according
+the lookup of the full color RGB value from a 2D representation of a 3D color
+cube. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="coalesce" id="coalesce"></a>-coalesce</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Fully define the look of each frame of an GIF animation sequence, to form a 'film strip' animation.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Overlay each image in an image sequence according to its <a href="#dispose">-dispose</a> meta-data, to reproduce the look of an animation at each point in the animation sequence. All images should be the same size, and are assigned appropriate GIF disposal settings for the animation to continue working as expected as a GIF animation.  Such frames are more easilly viewed and processed than the highly optimized GIF overlay images.  </p>
+
+<p>The animation can be re-optimized after processing using the <a href="#layers">-layers</a> method '<kbd>optimize</kbd>', though there is no guarantee that the restored GIF animation optimization is better than the original. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="colorize" id="colorize"></a>-colorize <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Colorize the image by an amount specified by <em class="arg">value</em> using the color specified by the most recent <a href="#fill" >-fill</a> setting.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Specify the amount of colorization as a percentage. Separate colorization values can be applied to the red, green, and blue channels of the image with a comma-delimited list of colorization values (e.g., <kbd>-colorize 0,0,50</kbd>).</p>
+
+<div style="margin: auto;">
+  <h4><a name="colormap" id="colormap"></a>-colormap <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Define the colormap type.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>
+
+<p>The <em class="arg">type</em> can be  <kbd>shared</kbd> or <kbd>private</kbd>.</p>
+
+<p>This option only applies when the default X server visual is <kbd>PseudoColor</kbd> or <kbd>GrayScale</kbd>. Refer to <a href="#visual">-visual</a> for more details. By default, a shared colormap is allocated. The image shares colors with other X clients. Some image colors could be approximated, therefore your image may look very different than intended. If <kbd>private</kbd> is chosen, the image colors appear exactly as they are defined. However, other clients may go <em>technicolor</em> when the image colormap is installed.</p>
+
+<div style="margin: auto;">
+  <h4><a name="colors" id="colors"></a>-colors <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the preferred number of colors in the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The actual number of colors in the image may be less than your request, but never more. Note that this a color reduction option. Images with fewer unique colors than specified by <em class="arg">value</em> will have any duplicate or unused colors removed.  The ordering of an existing color palette may be altered. When converting an image from color to grayscale, it is more efficient to convert the image to the gray colorspace before reducing the number of colors. Refer to the <a href="../www/quantize.html">color reduction algorithm</a> for more details.</p>
+
+<div style="margin: auto;">
+  <h4><a name="colorspace" id="colorspace"></a>-colorspace <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the image colorspace.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Choices are:</p>
+
+<pre class="text">
+  CMY
+  CMYK
+  Gray
+  HSB
+  HSL
+  HWB
+  Lab
+  Log
+  OHTA
+  Rec601Luma
+  Rec601YCbCr
+  Rec709Luma
+  Rec709YCbCr
+  RGB
+  sRGB
+  Transparent
+  XYZ
+  YCbCr
+  YCC
+  YIQ
+  YPbPr
+  YUV
+</pre>
+
+<p>To print a complete list of colorspaces, use <a href="#list">-list colorspace</a>.</p>
+
+<p>For a more accurate color conversion to or from the RGB, CMYK, or grayscale colorspaces, use the <a href="#profile">-profile</a> option.</p>
+
+<table class="doc">
+        <caption>Conversion Of RGB To Other Color Spaces</caption>
+        <tr><th align="left" valign="middle">CMY</th></tr>
+        <tr><td align="left" valign="middle">C=<em class="QR">QuantumRange</em>&minus;R</td></tr>
+        <tr><td align="left" valign="middle">M=<em class="QR">QuantumRange</em>&minus;G</td></tr>
+        <tr><td align="left" valign="middle">Y=<em class="QR">QuantumRange</em>&minus;B</td></tr>
+        <tr><th align="left" valign="middle">CMYK &mdash; starts with CMY from above</th></tr>
+        <tr><td align="left" valign="middle">K=min(C,Y,M)</td></tr>
+        <tr><td align="left" valign="middle">C=<em class="QR">QuantumRange</em>*(C&minus;K)/(<em class="QR">QuantumRange</em>&minus;K)</td></tr>
+        <tr><td align="left" valign="middle">M=<em class="QR">QuantumRange</em>*(M&minus;K)/(<em class="QR">QuantumRange</em>&minus;K)</td></tr>
+        <tr><td align="left" valign="middle">Y=<em class="QR">QuantumRange</em>*(Y&minus;K)/(<em class="QR">QuantumRange</em>&minus;K)</td></tr>
+
+        <tr><th align="left" valign="middle">Gray</th></tr>
+        <tr><td align="left" valign="middle">Gray = 0.29900*R+0.58700*G+0.11400*B</td></tr>
+
+        <tr><th align="left" valign="middle">HSB &mdash; Hue, Saturation, Brightness; like a cone peak downward</th></tr>
+        <tr><td align="left" valign="middle">H=angle around perimeter (0 to 360 deg); H=0 is red; increasing angles toward green</td></tr>
+        <tr><td align="left" valign="middle">S=distance from axis outward</td></tr>
+        <tr><td align="left" valign="middle">B=distance along axis from bottom upward; B=max(R,G,B); <em>intensity-like</em></td></tr>
+
+        <tr><th align="left" valign="middle">HSL &mdash; Hue, Saturation, Lightness; like a double cone end-to-end with peaks at very top and bottom</th></tr>
+        <tr><td align="left" valign="middle">H=angle around perimeter (0 to 360 deg); H=0 is red; increasing angles toward green</td></tr>
+        <tr><td align="left" valign="middle">S=distance from axis outward</td></tr>
+        <tr><td align="left" valign="middle">L=distance along axis from bottom upward; L=0.5*max(R,G,B) + 0.5*min(R,G,B); <em>intensity-like</em></td></tr>
+
+        <tr><th align="left" valign="middle">HWB &mdash; Hue, Whiteness, Blackness</th></tr>
+        <tr><td align="left" valign="middle">Hue (complicated equation)</td></tr>
+        <tr><td align="left" valign="middle">Whiteness (complicated equation)</td></tr>
+        <tr><td align="left" valign="middle">Blackness (complicated equation)</td></tr>
+
+        <tr><th align="left" valign="middle">LAB</th></tr>
+        <tr><td align="left" valign="middle">L (complicated equation relating X,Y,Z)</td></tr>
+        <tr><td align="left" valign="middle">A (complicated equation relating X,Y,Z)</td></tr>
+        <tr><td align="left" valign="middle">B (complicated equation relating X,Y,Z)</td></tr>
+
+        <tr><th align="left" valign="middle">LOG</th></tr>
+        <tr><td align="left" valign="middle">I1 (complicated equation involving logarithm of R)</td></tr>
+        <tr><td align="left" valign="middle">I2 (complicated equation involving logarithm of G)</td></tr>
+        <tr><td align="left" valign="middle">I3 (complicated equation involving logarithm of B)</td></tr>
+
+        <tr><th align="left" valign="middle">OHTA &mdash; approximates principal components transformation</th></tr>
+        <tr><td align="left" valign="middle">I1=0.33333*R+0.33334*G+0.33333*B; <em>intensity-like</em></td></tr>
+        <tr><td align="left" valign="middle">I2=(0.50000*R+0.00000*G&minus;0.50000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+        <tr><td align="left" valign="middle">I3=(&minus;0.25000*R+0.50000*G&minus;0.25000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+
+        <tr><th align="left" valign="middle">Rec601Luma</th></tr>
+        <tr><td align="left" valign="middle">Gray = 0.29900*R+0.58700*G+0.11400*B</td></tr>
+
+        <tr><th align="left" valign="middle">Rec601YCbCr</th></tr>
+        <tr><td align="left" valign="middle">Y=0.299000*R+0.587000*G+0.114000*B; <em>intensity-like</em></td></tr>
+        <tr><td align="left" valign="middle">Cb=(&minus;0.168736*R-0.331264*G+0.500000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+        <tr><td align="left" valign="middle">Cr=(0.500000*R&minus;0.418688*G&minus;0.081312*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+
+        <tr><th align="left" valign="middle">Rec709Luma</th></tr>
+        <tr><td align="left" valign="middle">Gray=0.21260*R+0.71520*G+0.07220*B</td></tr>
+
+        <tr><th align="left" valign="middle">Rec709YCbCr</th></tr>
+        <tr><td align="left" valign="middle">Y=0.212600*R+0.715200*G+0.072200*B; <em>intensity-like</em></td></tr>
+        <tr><td align="left" valign="middle">Cb=(&minus;0.114572*R&minus;0.385428*G+0.500000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+        <tr><td align="left" valign="middle">Cr=(0.500000*R&minus;0.454153*G&minus;0.045847*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+
+        <tr><th align="left" valign="middle">sRGB</th></tr>
+        <tr><td align="left" valign="middle">if Rs &le; .03928 then Rs=R/12.92 else Rs=((R+.055)/1.055)^2.4</td></tr>
+        <tr><td align="left" valign="middle">if Gs &le; .03928 then Gs=B/12.92 else Gs=((G+.055)/1.055)^2.4</td></tr>
+        <tr><td align="left" valign="middle">if Bs &le; .03928 then Bs=B/12.92 else Bs=((B+.055)/1.055)^2.4</td></tr>
+
+        <tr><th align="left" valign="middle">XYZ</th></tr>
+        <tr><td align="left" valign="middle">X=0.4124240*R+0.3575790*G+0.1804640*B</td></tr>
+        <tr><td align="left" valign="middle">Y=0.2126560*R+0.7151580*G+0.0721856*B</td></tr>
+        <tr><td align="left" valign="middle">Z=0.0193324*R+0.1191930*G+0.9504440*B</td></tr>
+
+        <tr><th align="left" valign="middle">YCC</th></tr>
+        <tr><td align="left" valign="middle">Y=(0.29900*R+0.58700*G+0.11400*B) (with complicated scaling); <em>intensity-like</em></td></tr>
+        <tr><td align="left" valign="middle">C1=(&minus;0.29900*R&minus;0.58700*G+0.88600*B) (with complicated scaling)</td></tr>
+        <tr><td align="left" valign="middle">C2=(0.70100*R&minus;0.58700*G&minus;0.11400*B) (with complicated scaling)</td></tr>
+
+        <tr><th align="left" valign="middle">YCbCr</th></tr>
+        <tr><td align="left" valign="middle">Y=0.299000*R+0.587000*G+0.114000*B; <em>intensity-like</em></td></tr>
+        <tr><td align="left" valign="middle">Cb=(&minus;0.168736*R&minus;0.331264*G+0.500000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+        <tr><td align="left" valign="middle">Cr=(0.500000*R&minus;0.418688*G&minus;0.081312*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+
+        <tr><th align="left" valign="middle">YIQ</th></tr>
+        <tr><td align="left" valign="middle">Y=0.29900*R+0.58700*G+0.11400*B; <em>intensity-like</em></td></tr>
+        <tr><td align="left" valign="middle">I=(0.59600*R&minus;0.27400*G&minus;0.32200*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+        <tr><td align="left" valign="middle">Q=(0.21100*R&minus;0.52300*G+0.31200*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+
+        <tr><th align="left" valign="middle">YPbPr</th></tr>
+        <tr><td align="left" valign="middle">Y=0.299000*R+0.587000*G+0.114000*B; <em>intensity-like</em></td></tr>
+        <tr><td align="left" valign="middle">Pb=(&minus;0.168736*R&minus;0.331264*G+0.500000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+        <tr><td align="left" valign="middle">Pr=(0.500000*R&minus;0.418688*G&minus;0.081312*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+
+        <tr><th align="left" valign="middle">YUV</th></tr>
+        <tr><td align="left" valign="middle">Y=0.29900*R+0.58700*G+0.11400*B; <em>intensity-like</em></td></tr>
+        <tr><td align="left" valign="middle">U=(&minus;0.14740*R&minus;0.28950*G+0.43690*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+        <tr><td align="left" valign="middle">V=(0.61500*R&minus;0.51500*G&minus;0.10000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>
+</table>
+
+<div style="margin: auto;">
+  <h4><a name="combine" id="combine"></a>-combine</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Combine one or more images into a single image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The channels (previously set by <a href="#channel">-channel</a>) of the combined image are taken from the grayscale values of each image in the sequence, in order. For the default -channel setting of <kbd>RGB</kbd>, this means the first image  is assigned to the <kbd>Red</kbd> channel, the second to the <kbd>Green</kbd> channel, the third to the <kbd>Blue</kbd>.</p>
+
+<p>This option can be thought of as the inverse to <a href="#separate">-separate</a>, so long as the channel settings are the same. Thus, in the following example, the final image should be a copy of the original.
+</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert original.png -channel RGB -separate sepimage.png</span><span class='crtout'></span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert sepimage-0.png sepimage-1.png sepimage-2.png -channel RGB -combine imagecopy.png</span></p>
+<div style="margin: auto;">
+  <h4><a name="comment" id="comment"></a>-comment <em class="arg">string</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Embed a comment in an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option places comments in a non-pixel portion of the image file. For a comment to be visibly written on the image itself, use the <a href="#annotate">-annotate</a> or <a href="#draw">-draw</a> options.</p>
+
+<p>Use this option to assign a specific comment to the image, when writing to an image format that supports comments.  You can include the image filename, type, width, height, or other image attribute by embedding special format characters listed under the <a href="#format">-format</a> option. The comment is not drawn on the image, but is embedded in the image datastream via "Comment" tag or similar mechanism. </p>
+
+<p>For example,</p>
+
+<p class="crtsnip">
+     -comment "%m:%f %wx%h"
+</p>
+
+<p>produces an image comment of <kbd>MIFF:bird.miff 512x480</kbd> for an image titled <kbd>bird.miff</kbd> and whose width is 512 and height is 480.</p>
+
+<p>If the first character of <em class="arg">string</em> is <em class="arg">@</em>, the image comment is read from a file titled by the remaining characters in the string.  Comments in a file are literal; no embedded formatting characters are recognized.</p>
+
+<div style="margin: auto;">
+  <h4><a name="compose" id="compose"></a>-compose <em class="arg">operator</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the type of image composition.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The description of composition uses abstract terminology in order to allow
+the description to be more precise, while avoiding constant values which are
+specific to a particular build configuration. Each image pixel is represented
+by red, green, and blue levels (which are equal for a gray pixel). The
+build-dependent value <em class="QR">QuantumRange</em> is the maximum integral
+value which may be stored, per pixel, in the red, green, or blue channels of
+the image. Each image pixel may also optionally (if the image matte channel is
+enabled) have an associated level of opacity, ranging from <em>opaque</em> to
+<em>transparent</em>, which may be used to determine the influence of the pixel
+color when compositing the pixel with another image pixel. If the image matte
+channel is disabled, then all pixels in the image are treated as opaque. The
+color of an opaque pixel is fully visible while the color of a transparent
+pixel color is entirely absent (pixel color is ignored).</p>
+
+<p>By definition, raster images have a rectangular shape. All image rows are of
+equal length, as are all image columns. By treating the alpha channel as a
+visual "mask" the rectangular image may be given a "shape" by treating the
+alpha channel as a cookie-cutter for the image. This is done by setting the
+pixels within the shape to be opaque, with pixels outside the shape set as
+transparent. Pixels on the boundary of the shape may be between opaque and
+transparent in order to provide antialiasing (visually smooth edges). The
+description of the composition operators use this concept of image "shape" in
+order to make the description of the operators easier to understand. While it
+is convenient to describe the operators in terms of "shapes" they are by no
+means limited to mask-style operations since they are based on continuous
+floating-point mathematics rather than simple boolean operations.</p>
+
+<p>The following alpha blending (Duff-Porter) compose methods are available:</p>
+
+<table class="doc">
+  <tbody>
+  <tr valign="top">
+    <th align="left" style="width: 8%">Method</th>
+    <th align="left">Description</th>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">clear</td>
+    <td valign="top">Both the color and the alpha of the destination are
+        cleared. Neither the source nor the destination are used (except for
+        destinations size and other meta-data which is always preserved.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">src</td>
+    <td valign="top">The source is copied to the destination. The destination
+        is not used as input, though it is cleared.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">dst</td>
+    <td valign="top">The destination is left untouched. The source image is
+        completely ignored.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">src-over</td>
+    <td valign="top">The source is composited over the destination. this is
+       the default alpha blending compose method, when neither the compose
+       setting is set, nor is set in the image meta-data.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">dst-over</td>
+    <td valign="top">The destination is composited over the source and the
+        result replaces the destination.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">src-in</td>
+    <td valign="top">The part of the source lying inside of the destination
+        replaces the destination.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">dst-in</td>
+    <td valign="top">The part of the destination lying inside of the source
+        replaces the destination. Areas not overlaid are cleared.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">src-out</td>
+    <td valign="top">The part of the source lying outside of the destination
+        replaces the destination.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">dst-out</td>
+    <td valign="top">The part of the destination lying outside of the source
+        replaces the destination.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">src-atop</td>
+    <td valign="top">The part of the source lying inside of the destination is
+        composited onto the destination.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">dst-atop</td>
+    <td valign="top">The part of the destination lying inside of the source is
+        composited over the source and replaces the destination. Areas not
+        overlaid are cleared. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">xor</td>
+    <td valign="top">The part of the source that lies outside of the
+        destination is combined with the part of the destination that lies
+        outside of the source.  Source or Destination, but not both. </td>
+  </tr>
+
+  </tbody>
+</table>
+
+<p>Any of the 'Src-*' methods can also be specified without the 'Src-' part.
+For example the defaul compose method can be specified as just 'Over'.</p>
+
+
+<p>The following mathemathical composition methods are also available. </p>
+
+<p>Typically these use the default 'Over' alpha blending when transparencies
+are also involved, except for 'Plus', 'Minus', 'Add', and 'Subtract', which
+also composes the alpha channel using the same process as the color channels.
+This allows them to be used for special image masking techniques. </p>
+
+<table class="doc">
+  <tbody>
+  <tr valign="top">
+    <th align="left" style="width: 8%">Method</th>
+    <th align="left">Description</th>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">multiply</td>
+    <td valign="top">The source is multiplied by the destination and replaces the destination. The resultant color is always at least as dark as either of the two constituent colors. Multiplying any color with black produces black. Multiplying any color with white leaves the original color unchanged.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">screen</td>
+    <td valign="top">The source and destination are complemented and then multiplied and then replace the destination. The resultant color is always at least as light as either of the two constituent colors. Screening any color with white produces white. Screening any color with black leaves the original color unchanged.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">plus</td>
+    <td valign="top">The source is added to the destination and replaces the
+        destination. This operator is useful for averaging or a controled
+        merger of two images, rather than a direct overlay.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">add</td>
+    <td valign="top">As per 'plus' but transparency data is treated as matte
+        values. As such any transparent areas in either image remain
+        transparent. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">minus</td>
+    <td valign="top">Subtract the colors in the source image from the
+        destination image. When transparency is involved, opaque areas is
+        subtracted from any destination opaque areas. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">subtract</td>
+    <td valign="top">Subtract the colors in the source image from the
+        destination image. When transparency is involved transparent areas are
+        subtracted, so only the opaque areas in the source remain opaque in
+        the destination image. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">difference</td>
+    <td valign="top">Subtracts the darker of the two constituent colors from
+        the lighter. Painting with white inverts the destination color.
+        Painting with black produces no change.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">exclusion</td>
+    <td valign="top">Produces an effect similar to that of 'difference', but
+        appears as lower contrast.  Painting with white inverts the
+        destination color. Painting with black produces no change.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">darken</td>
+    <td valign="top">Selects the darker of the destination and source colors.
+        The destination is replaced with the source when the source is darker,
+        otherwise it is left unchanged.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">lighten</td>
+    <td valign="top">Selects the lighter of the destination and source colors.
+        The destination is replaced with the source when the source is
+        lighter, otherwise it is left unchanged. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">linear-dodge</td>
+    <td valign="top">This is equivelent to 'Plus' in that the color channels
+        are simply added, however it does not 'Plus' the alpha channel, but
+        uses the normal 'Over' alpha blending, which transparencies are
+        involved.  Produces a sort of additive multiply-like result. Added
+        ImageMagick version 6.5.4-3. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">linear-burn</td>
+    <td valign="top">As 'Linear-Dodge', but also subtract one from the result.
+        Sort of a additive 'Screen' of the images.  Added ImageMagick version
+        6.5.4-3. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">color-dodge</td>
+    <td valign="top">Brightens the destination color to reflect the source
+        color. Painting with black produces no change.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">color-burn</td>
+    <td valign="top">Darkens the destination color to reflect the source
+        color.  Painting with white produces no change. Fixed in ImageMagick
+        version 6.5.4-3. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">overlay</td>
+    <td valign="top">Multiplies or screens the colors, dependent on the
+        destination color. Source colors overlay the destination whilst
+        preserving its highlights and shadows. The destination color is not
+        replaced, but is mixed with the source color to reflect the lightness
+        or darkness of the destination.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">hard-light</td>
+    <td valign="top">Multiplies or screens the colors, dependent on the source
+        color value. If the source color is lighter than 0.5, the destination
+        is lightened as if it were screened. If the source color is darker
+        than 0.5, the destination is darkened, as if it were multiplied. The
+        degree of lightening or darkening is proportional to the difference
+        between the source color and 0.5. If it is equal to 0.5 the
+        destination is unchanged.  Painting with pure black or white produces
+        black or white.</td>
+  </tr>
+
+
+  <tr valign="top">
+    <td valign="top">linear-light</td>
+    <td valign="top">Like 'Hard-Light' but using linear-dodge and linear-burn
+        instead.  Increases contrast slightly with an impact on the
+        foreground's tonal values.</td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">soft-light</td>
+    <td valign="top">Darkens or lightens the colors, dependent on the source
+        color value. If the source color is lighter than 0.5, the destination
+        is lightened. If the source color is darker than 0.5, the destination
+        is darkened, as if it were burned in. The degree of darkening or
+        lightening is proportional to the difference between the source color
+        and 0.5. If it is equal to 0.5, the destination is unchanged. Painting
+        with pure black or white produces a distinctly darker or lighter area,
+        but does not result in pure black or white. Fixed in ImageMagick
+        version 6.5.4-3. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">pegtop-light</td>
+    <td valign="top">Almost equivelent to 'Soft-Light', but using a
+        continuious mathematical formula rather than two conditionally
+        selected formulae. Added ImageMagick version 6.5.4-3. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">vivid-light</td>
+    <td valign="top">A modified 'Linear-Light' designed to preserve very stong
+        primary and secondary colors in the image. Added ImageMagick version
+        6.5.4-3. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">pin-light</td>
+    <td valign="top">Similar to 'Hard-Light', but using sharp linear shadings,
+        to similate the effects of a strong 'pinhole' light source. Added
+        ImageMagick version 6.5.4-3. </td>
+  </tr>
+
+  </tbody>
+</table>
+
+
+<p>Also included are these special purpose compose methods:</p>
+
+<table class="doc">
+  <tbody>
+  <tr valign="top">
+    <th align="left" style="width: 8%">Method</th>
+    <th align="left">Description</th>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">copy-*</td>
+    <td valign="top">Copy the specified channel (Red, Green, Blue, Cyan,
+        Magenta, Yellow, Black, or Opacity) in the source image to the
+        same channel in the destination image.  If the channel specified
+        does not exist in the source image, (which can only happen for methods,
+        '<kbd>copy-opacity</kbd>' or '<kbd>copy-black</kbd>') then it is
+        assumed that the source image is a special grayscale channel image
+        of the values to be copied. </td>
+    </tr>
+
+  <tr valign="top">
+    <td valign="top">change-mask</td>
+    <td valign="top">Replace any destination pixel that is the similar to the source images pixel (as defined by the current <a href="#fuzz">-fuzz</a> factor), with transparency. </td>
+  </tr>
+  </tbody>
+</table>
+
+<p>On top of these composed methods are a few special ones that not only require
+the two images that are being merged or overlaid, but have some extra numerical
+arguments, which are tabled below. </p>
+
+<p>In the "<code>composite</code>" command these composition methods are
+selected using special options with the arguments needed. They are usually,
+but not always, the same name as the composte 'method' they use, and replaces
+the normal use of the <a href="#compose" >-compose</a> setting in the
+"<code>composite</code>" command.  For example... </p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>composite ... -blend 50x50 ...</span></p>
+<p>As of IM v6.5.3-4 the "<code>convert</code>" command can now also supply
+these extra arguments to its <a href="#composite" >-composite</a> operator,
+using the special <a href="#set">-set</a> attribute of '<kbd class="arg">option:compose:args</kbd>'.  This means you can now make use of
+these special argumented <a href="#compose" >-compose</a> methods, those the
+argument and the method both need to be set separatally.  For example... </p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert ... -compose blend  -set option:compose:args 50x50  -composite ...</span></p>
+<p>The following is a table of these special 'argumented' compose methods,
+with a brief summary of what they do. For more details see the equivalent
+"composite" command option name.  </p>
+
+<table class="doc">
+  <tbody>
+  <tr valign="top">
+    <th align="left" style="width: 8%">Method</th>
+    <th align="left">Description</th>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">dissolve</td>
+    <td valign="top">Arguments:
+        <em class="arg">src_percent</em>[x<em class="arg">dst_percent</em>]
+    <br>Equivalent to "<code>composite</code>" <a href="#dissolve">-dissolve</a>
+    <br>Dissolve the 'source' image by the percentage given before overlaying
+        'over' the 'destination' image. If <em class="arg">src_percent</em> is
+        greater than 100, it starts dissolving the main image so it will
+        become transparent at a value of '<kbd class="arg">200</kbd>'.  If
+        both percentages are given, each image are dissolved to the
+        percentages given.
+    </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">blend</td>
+    <td valign="top">Arguments:
+        <em class="arg">src_percent</em>[x<em class="arg">dst_percent</em>]
+    <br>Equivalent to "<code>composite</code>" <a href="#blend">-blend</a>
+    <br>Average the images together ('plus') according to the percentages
+        given and each pixels transparency.  If only a single percentage value
+        is given it sets the weight of the composite or 'source' image, while
+        the background image is weighted by the exact opposite amount. That is
+        a <kbd>-blend 30</kbd> merges 30% of the 'source' image with 70% of
+        the 'destination' image.  Thus it is equivalent to <kbd>-blend
+        30x70</kbd>.
+    </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">mathematics</td>
+    <td valign="top">Arguments: <em class="arg">A, B, C, D</em>
+    <br>Not available in "<code>composite</code>" at this time.
+    <br>Merge the source and destination images according to the formula
+    <br>&nbsp; &nbsp; &nbsp;<code>A*Sc*Dc + B*Sc + C*Dc + D</code>
+    <br>Can be used to generate a custom composition method that would
+        otherwise need to be implemented using the slow <a href="#fx">-fx</a>
+        DIY image operator.   Added to ImageMagick version 6.5.4-3.
+    </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">modulate</td>
+    <td valign="top">Arguments:
+        <em class="arg">brightness</em>[x<em class="arg">saturation</em>]
+    <br>Equivalent to "<code>composite</code>" <a href="#watermark">-watermark</a>
+    <br>Take a grayscale image (with alpha mask) and modify the destination
+        image's brightness according to watermark image's grayscale value and
+        the <em class="arg">brightness</em> percentage.  The destinations
+        color saturation attribute is just direct modified by the <em
+        class="arg">saturation</em> percentage, which defaults to 100 percent
+        (no color change).
+
+    </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">displace</td>
+    <td valign="top">Arguments:
+        <em class="arg">X-scale</em>[x<em class="arg">Y-scale</em>][!][%]
+    <br>Equivalent to "<code>composite</code>" <a href="#displace">-displace</a>
+    <br>With this option, the 'overlay' image, and optionally the 'mask'
+        image, is used as a relative displacement map, which is used to
+        displace the lookup of what part of the destination image is seen at
+        each point of the overlaid area.  Much like the displacement map is a
+        'lens' that distorts the original 'background' image behind it.
+    <br><br>
+        The X-scale is modilated by the 'red' channel of the overlay image
+        while the Y-scale is modulated by the green channel, (the mask image
+        if given is rolled into green channel of the overlay image. This
+        separation allows you to modulate the X and Y lookup displacement
+        separatally allowing you to di 2 dimentional displacements, rather
+        than 1 dimentional verctored displacements (using grayscale image).
+    <br><br>
+        If the overlay image contains transparency this is used as a mask
+        of the resulting image to remove 'invalid' pixels.
+    <br><br>
+        The '%' flag makes the displacement scale relative to the size of the
+        overlay image (100% = half width/height of image). Using '!' switches
+        percentage arguments to refer to the destination image size instead.
+    <br><br>
+        Special flags were added Added to ImageMagick version 6.5.3-5.
+    </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">distort</td>
+    <td valign="top">Arguments:
+        <em class="arg">X-scale</em>[x<em class="arg">Y-scale</em
+        >[+<em class="arg">X-center</em>+<em class="arg">Y-center</em>]][!][%]
+    <br>Not available in "<code>composite</code>" at this time.
+    <br>Exactly as per 'Displace' (above), but using absolute coordinates,
+        relative to the center of the overlay (or that given).  Basically
+        allows you to generate absolute distortion maps where 'black' will
+        look up the left/top edge, and 'white' looks up the bottom/right
+        edge of the destination image, according to the scale given.
+    <br><br>
+        The '!' flag not only switches percentage scaling, to use the
+        destination image, but also the image the center offset of the lookup.
+        This means the overlay can lookup a completely different region of the
+        destination image.
+    <br><br>
+        Added to ImageMagick version 6.5.3-5.
+    </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">blur</td>
+    <td valign="top">Arguments:
+        <em class="arg">Width</em>[x<em class="arg">Height</em
+          >[+<em class="arg">Angle</em>]]
+    <br>Equivalent to "<code>composite</code>"
+        <a href="#blur-composite">-blur</a>
+    <br>A Variable Blur Mapping Composition method, where each pixel in the
+        overlaid region is replaced with an Elliptical Weighted Average (EWA),
+        with an ellipse (typically a circle) of the given sigma size, scaled
+        according to overlay (source image) grayscale mapping.
+    <br><br>
+        As per 'Displace' and 'Distort', the red channel will modulate the
+        width of the ellipse, while the green channel will modulate the height
+        of the ellipse.  However at this time the ellipse angle is not
+        modulated though this may be a future posibility (perhaps with a
+        special flag to enable use of blur channel for this purpose).
+    <br><br>
+        Added to ImageMagick version 6.5.4-0.
+    </td>
+  </tr>
+
+  </tbody>
+</table>
+
+<p>To print a complete list of all the available compose operators, use <a href="#list">-list compose</a>.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="composite" id="composite"></a>-composite</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Perform alpha composition on the current image sequence.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Take the first image 'destination' and overlay the second 'source' image
+according to the current <a href="#compose">-compose</a> setting. The location
+of the 'source' or 'overlay' image is controlled according to <a
+href="#geometry" >-geometry</a>, and <a href="#geometry" >-geometry</a>
+settings. </p>
+
+<p>If a third image is given this is treated as a gray-scale 'mask' image
+relative to the first 'destination' image. This mask will limit what parts of
+the destination can be modified by the image composition.  However for the
+'<kbd>displace</kbd>' compose method, the mask is used to provide a separate
+Y-displacement image instead. </p>
+
+<p>If a <a href="#compose">-compose</a> method requires extra numerical
+arguments or flags these can be provided by setting the  <a
+href="#set">-set</a> '<kbd class="arg">option:compose:args</kbd>'
+appropriatally for the compose method. </p>
+
+<p>Some <a href="#compose">-compose</a> methods can modify the 'destination'
+image outside the overlay area. You can disable this by setting the special <a
+href="#set">-set</a> '<kbd class="arg">option:compose:outside-overlay</kbd>'
+to '<kbd>false</kbd>'.  </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="compress" id="compress"></a>-compress <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Use pixel compression specified by <em class="arg">type</em> when writing the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Choices are: <kbd class="arg">None</kbd>, <kbd class="arg">BZip</kbd>, <kbd class="arg">Fax</kbd>, <kbd class="arg">Group4</kbd>, <kbd class="arg">JPEG</kbd>,  <kbd class="arg">JPEG2000</kbd>, <kbd class="arg">Lossless</kbd>, <kbd class="arg">LZW</kbd>, <kbd class="arg">RLE</kbd> or <kbd class="arg">Zip</kbd>.</p>
+
+<p>To print a complete list of compression types, use <a href="#list">-list compress</a>.</p>
+
+<p>Specify <a href="#compress">+compress</a> to store the binary image in an uncompressed format. The default is the compression type of the specified image file.</p>
+
+<p>If <kbd>LZW</kbd> compression is specified but LZW compression has not been enabled, the image data is written in an uncompressed LZW format that can be read by LZW decoders. This may result in larger-than-expected GIF files.</p>
+
+<p><kbd>Lossless</kbd> refers to lossless JPEG, which is only available if the JPEG library has been patched to support it. Use of lossless JPEG is generally not recommended.</p>
+
+<p>Use the <a href="#quality">-quality</a> option to set the compression level to be used by JPEG, PNG, MIFF, and MPEG encoders. Use the <a href="#sampling-factor">-sampling-factor</a> option to set the sampling factor to be used by JPEG, MPEG, and YUV encoders for down-sampling the chroma channels.</p>
+
+<div style="margin: auto;">
+  <h4><a name="contrast" id="contrast"></a>-contrast</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Enhance or reduce the image contrast.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option enhances the intensity differences between the lighter and darker elements of the image. Use <a href="#contrast">-contrast</a> to enhance the image or <a href="#contrast">+contrast</a> to reduce the image contrast.</p>
+
+<p>For a more pronounced effect you can repeat the option:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert rose: -contrast -contrast rose_c2.png</span></p>
+<div style="margin: auto;">
+  <h4><a name="contrast-stretch" id="contrast-stretch"></a>-contrast-stretch <em class="arg">black-point</em><br />-contrast-stretch <em class="arg">black-point</em>{x<em class="arg">white-point</em>}{<em class="arg">%</em>}}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Increase the contrast in an image by <em>stretching</em> the range of intensity values.</td><td style='text-align:right;'></td></tr></table>
+
+<p>While performing the stretch, black-out at most <em class="arg">black-point</em> pixels and white-out at most <em class="arg">white-point</em> pixels. Or, if percent is used, black-out at most <em class="arg">black-point %</em> pixels and white-out at most <em class="arg">white-point %</em> pixels.</p>
+
+<p>Prior to ImageMagick 6.4.7-0, <a href="#contrast-stretch">-contrast-stretch</a> will black-out at most <em class="arg">black-point</em> pixels and white-out at most <em class="arg">total pixels minus white-point</em> pixels. Or, if percent is used, black-out at most <em class="arg">black-point %</em> pixels and white-out at most <em class="arg">100% minus white-point %</em> pixels.</p>
+
+<p>Note that <kbd>-contrast-stretch 0</kbd> will modify the image such that the image's
+min and max values are stretched to 0 and <em class="QR">QuantumRange</em>, respectively, without any loss of data due to burn-out at either end. This is not the same as <a href="#normalize">-normalize</a>, which is equivalent to <kbd>-contrast-stretch 2%x1%</kbd> (or prior to ImageMagick 6.4.7-0, <kbd>-contrast-stretch 2%x99%</kbd>).</p>
+
+<p>The channels are stretched in concert.  Specify <a href="#channel">-channel</a> to normalize the RGB channels individually.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="convolve" id="convolve"></a>-convolve <em class="arg">kernel</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Convolve an image with a user-supplied convolution kernel.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The <em class="arg">kernel</em> is a square matrix specified as a comma-separated list of integers (with no spaces), ordered left-to right, starting with the top row. Presently, only odd-dimensioned kernels are supported, and therefore the number of entries in the specified <em class="arg">kernel</em> must be 3<sup>2</sup>=9, 5<sup>2</sup>=25, 7<sup>2</sup>=49, etc. </p>
+
+<p>Note that the <a href="../www/command-line-options.html#convolve">&#x2011;convolve</a> operator supports the <a href="../www/command-line-options.html#bias">&#x2011;bias</a> setting. This option shifts the convolution so that positive and negative results are relative to a user-specified bias value. This is important for non-HDRI compilations of ImageMagick when dealing with convolutions that contain negative as well as positive values. This is especially the case with convolutions involving high pass filters or edge detection. Without an output bias, the negative values is clipped at zero.
+</p>
+
+<p>When using an ImageMagick with the HDRI compile-time setting, <a href="../www/command-line-options.html#bias">&#x2011;bias</a> is not needed,
+as ImageMagick is able to store/handle any negative results without
+clipping to the color value range (0..QuantumRange).</p>
+
+<p>See the discussion on HDRI implementations of ImageMagick on the page
+<a href="/www/high-dynamic-range.html">High Dynamic-Range Images</a>. For more about HDRI go the ImageMagick <a href="http://www.imagemagick.org/Usage/basics/#hdri">Usage</a> pages or this <a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">Wikipedia</a> entry.
+</p>
+
+<div style="margin: auto;">
+  <h4><a name="crop" id="crop"></a>-crop <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Cut out one or more rectangular regions of the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<p>The <em class="arg">width</em> and <em class="arg">height</em> of the <em class="arg">geometry</em> argument give the size of the image that remains after cropping, and <em class="arg">x</em> and <em class="arg">y</em> in the <em class="arg">offset</em> (if present) gives the location of the top left corner of the cropped image with respect to the original image. To specify the amount to be removed, use <a href="#shave">-shave</a> instead.</p>
+
+<p>If the <em class="arg">x</em> and <em class="arg">y</em> offsets are present, a single image is generated, consisting of the pixels from the cropping region. The offsets specify the location of the upper left corner of the cropping region measured downward and rightward with respect to the upper left corner of the image. If the <a href="#gravity">-gravity</a> option is present with <kbd>NorthEast</kbd>, <kbd>East</kbd>, or <kbd>SouthEast</kbd> gravity, it gives the distance leftward from the right edge of the image to the right edge of the cropping region. Similarly, if the <a href="#gravity">-gravity</a> option is present with <kbd>SouthWest</kbd>, <kbd>South</kbd>, or <kbd>SouthEast</kbd> gravity, the distance is measured upward between the bottom edges.</p>
+
+<p>If the <em class="arg">x</em> and <em class="arg">y</em> offsets are omitted, a set of tiles of the specified geometry, covering the entire input image, is generated. The rightmost tiles and the bottom tiles are smaller if the specified geometry extends beyond the dimensions of the input image.</p>
+
+<p>By adding a exclamation character flag to the geometry argument, the
+cropped images virtual canvas page size and offset is set as if the
+geometry argument was a viewport or window. This means the canvas page size
+is set to exactly the same size you specified, the image offset set
+relative top left corner of the region cropped. </p>
+
+<p>If the cropped image 'missed' the actual image on its virtual canvas, a
+special single pixel transparent 'missed' image is returned, and a 'crop
+missed' warning given. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="cycle" id="cycle"></a>-cycle <em class="arg">amount</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>displace image colormap by amount.</td><td style='text-align:right;'></td></tr></table>
+
+<p><em class="arg">Amount</em> defines the number of positions each
+colormap entry is shifted.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="debug" id="debug"></a>-debug <em class="arg">events</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>enable debug printout.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The <kbd>events</kbd> parameter specifies which events are to be logged. It can be either <kbd>None</kbd>, <kbd>All</kbd>, <kbd>Trace</kbd>, or a comma-separated list consisting of one or more of the following domains: <kbd>Annotate</kbd>, <kbd>Blob</kbd>, <kbd>Cache</kbd>, <kbd>Coder</kbd>, <kbd>Configure</kbd>, <kbd>Deprecate</kbd>, <kbd>Exception</kbd>, <kbd>Locale</kbd>, <kbd>Render</kbd>, <kbd>Resource</kbd>, <kbd>Security</kbd>, <kbd>TemporaryFile</kbd>, <kbd>Transform</kbd>, <kbd>X11</kbd>, or <kbd>User</kbd>. </p>
+
+
+<p>For example, to log cache and blob events, use.</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -debug "Cache,Blob" rose: rose.png</span></p>
+<p>The <kbd>User</kbd> domain is normally empty, but developers can log user events in their private copy of ImageMagick.</p>
+
+<p>To print the complete list of debug methods, use <a href="#list">-list debug</a>.</p>
+
+<p>Use the <a href="#log">-log</a> option to specify the format for debugging output.</p>
+
+<p>Use <a href="#debug">+debug</a> to turn off all logging.</p>
+
+<p>Debugging may also be set using the <kbd>MAGICK_DEBUG</kbd> <a href="../www/resources.html#environment">environment variable</a>.  The allowed values for the <kbd>MAGICK_DEBUG</kbd> environment variable are the same as for the <a href="#debug">-debug</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="decipher" id="decipher"></a>-decipher <em class="arg">filename</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Decipher and restore pixels that were previously transformed by <a href="#encipher">-encipher</a>.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Get the passphrase from the file specified by <em class="arg">filename</em>.</p>
+
+<p>For more information, see the webpage, <a href="http://www.imagemagick.org/www/cipher.html">ImageMagick: Encipher or Decipher an Image</a>.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="deconstruct" id="deconstruct"></a>-deconstruct</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>find areas that has changed between images </td><td style='text-align:right;'></td></tr></table>
+
+<p>Given a sequence of images all the same size, such as produced by <a href="#coalesce">-coalesce</a>, replace the second and later images, with a smaller image of just the area that changed relative to the previous image. </p>
+
+<p>The resulting sequence of images can be used to optimize an animation sequence, though will not work correctly for GIF animations when parts of the animation can go from opaque to transparent. </p>
+
+<p>This option is actually equivalent to the  <a href="#layers">-layers</a> method '<kbd>compare-any</kbd>'. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="define" id="define"></a>-define <em class="arg">key</em>{<em class="arg">=value</em>}<em class="arg">...</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>add coder/decoder specific options.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option creates one or more definitions for coders and decoders to use while reading and writing image data.  Definitions may be passed to coders and decoders to control options that are specific to certain image formats. If <em class="arg">value</em> is missing for a definition, an empty-valued definition of a flag is created with that name. This used to control on/off options.  Use <a href="#define">+define key</a> to remove definitions previously created. Use <a href="#define">+define "*"</a> to remove all existing definitions.</p>
+
+<p>The following definitions may be created:</p>
+
+<ul>
+<dt>jp2:rate=value</dt>
+  <dd>Specify the compression factor to use while writing JPEG-2000 files. The compression factor is the reciprocal of the compression ratio. The valid range is 0.0 to 1.0, with 1.0 indicating lossless compression. If defined, this value overrides the -quality setting.  A quality setting of 75 results in a rate value of 0.06641.</dd><br />
+<dt>mng:need-cacheoff</dt>
+  <dd>turn playback caching off for streaming MNG.</dd><br />
+<dt>png:bit-depth=value</dt>
+<dt>png:color-type=value</dt>
+  <dd>desired bit-depth and color-type for PNG output.  You can force the PNG encoder to use a different bit-depth and color-type than it would have normally selected, but only if this does not cause any loss of image quality. Any attempt to reduce image quality is treated as an error and no PNG file is written.  E.g., if you have a 1-bit black-and-white image, you can use these "defines" to cause it to be written as an 8-bit grayscale, indexed, or even a 64-bit RGBA.  But if you have a 16-million color image, you cannot force it to be written as a grayscale or indexed PNG.  If you wish to do this, you must use the appropriate <a href="#depth">-depth</a>, <a href="#colors">-colors</a>, or <a href="#type">-type</a> directives to reduce the image quality prior to using the PNG encoder. Note that in indexed PNG files, "bit-depth" refers to the number of bits per index, which can range from 1 to 8.  In such files, the color samples always have 8-bit depth.</dd><br />
+<dt>ps:imagemask</dt>
+  <dd>If the ps:imagemask flag is defined, the PS3 and EPS3 coders will create Postscript files that render bilevel images with the Postscript imagemask operator instead of the image operator.</dd>
+</ul>
+
+<p>For example, to create a postscript file that will render only the black pixels of a bilevel image, use:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert bilevel.tif -define ps:imagemask eps3:stencil.ps</span></p>
+<p>Set attributes of the image registry by prefixing the value with <kbd>registry:</kbd>.  For example, to set a temporary path to put work files, use:</p>
+
+<p class="crtsnip">
+-define registry:temporary-path=/data/tmp
+</p>
+
+<div style="margin: auto;">
+  <h4><a name="delay" id="delay"></a>-delay <em class="arg">ticks</em> <br />-delay <em class="arg">ticks</em>x<em class="arg">ticks-per-second</em> {<em class="arg">&lt;</em>} {<em class="arg">&gt;</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>display the next image after pausing.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option is useful for regulating the animation of image sequences <em>ticks/ticks-per-second</em> seconds must expire before the display of the next image. The default is no delay between each showing of the image sequence.  The default ticks-per-second is 100.</p>
+
+<p>Use <kbd>&gt;</kbd> to change the image delay <em>only</em> if its current value exceeds the given delay. <kbd>&lt;</kbd> changes the image delay <em>only</em> if current value is less than the given delay.  For example, if you specify <kbd>30&gt;</kbd> and the image delay is 20, the image delay does not change. However, if the image delay is 40 or 50, the delay it is changed to 30. Enclose the given delay in quotation marks to prevent the <kbd>&lt;</kbd> or <kbd>&gt;</kbd> from being interpreted by your shell as a file redirection.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="delete" id="delete"></a>-delete <em class="arg">index</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>delete the image, specified by its index, from the image sequence.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Specify the image by its index in the sequence.  The first image is index 0.  Negative indexes are relative to the end of the sequence, for example, -1 represents the last image of the sequence.  Specify a range of images with a dash (e.g. 0-4).  Separate indexes with a comma (e.g. 0,2).  Use <kbd>+delete</kbd> to delete the last image in the current image sequence.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="density" id="density"></a>-density <em class="arg">width</em><br />-density <em class="arg">width</em>x<em class="arg">height</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the horizontal and vertical resolution of an image for rendering to devices.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option specifies the image resolution to store while encoding a raster image or the canvas resolution while rendering (reading) vector formats such as Postscript, PDF, WMF, and SVG into a raster image. Image resolution provides the unit of measure to apply when rendering to an output device or raster image. The default unit of measure is in dots per inch (DPI). The <a href="#units">-units</a> option may be used to select dots per centimeter instead.</p>
+
+<p>The default resolution is 72 dots per inch, which is equivalent to one point per pixel (Macintosh and Postscript standard). Computer screens are normally 72 or 96 dots per inch, while printers typically support 150, 300, 600, or 1200 dots per inch. To determine the resolution of your display, use a ruler to measure the width of your screen in inches, and divide by the number of horizontal pixels (1024 on a 1024x768 display).</p>
+
+<p>If the file format supports it, this option may be used to update the stored image resolution. Note that Photoshop stores and obtains image resolution from a proprietary embedded profile. If this profile is not stripped from the image, then Photoshop will continue to treat the image using its former resolution, ignoring the image resolution specified in the standard file header.</p>
+
+<p>The <a href="#density">-density</a> option sets an <em>attribute</em> and does not alter the underlying raster image. It may be used to adjust the rendered size for desktop publishing purposes by adjusting the scale applied to the pixels. To resize the image so that it is the same size at a different resolution, use the <a href="#resample">-resample</a> option.</p>
+
+<div style="margin: auto;">
+  <h4><a name="depth" id="depth"></a>-depth <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>depth of the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This the number of bits in a color sample within a pixel.  Use this option to specify the depth of raw images whose depth is unknown such as GRAY, RGB, or CMYK, or to change the depth of any image after it has been read.</p>
+
+<div style="margin: auto;">
+  <h4><a name="descend" id="descend"></a>-descend</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>obtain image by descending window hierarchy.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="deskew" id="deskew"></a>-deskew <em class="arg">threshold</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>straighten an image.  A threshold of 40% works for most images.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use <a href="#set">-set</a> <kbd>option:deskew:auto-crop <em>width</em></kbd> to auto crop the image.  The set argument is the pixel width of the image background (e.g 40).</p>
+
+<div style="margin: auto;">
+  <h4><a name="despeckle" id="despeckle"></a>-despeckle</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>reduce the speckles within an image.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="displace" id="displace"></a>-displace <em class="arg">horizontal-scale</em><br />-displace <em class="arg">horizontal-scale</em>x<em class="arg">vertical-scale</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>shift image pixels as defined by a displacement map.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>
+
+<p>With this option, the 'overlay' image, and optionally the 'mask' image,
+will be used as a displacement map, which is used to displace the lookup of
+what part of the 'background' image is seen at each point of the overlaid
+area.  Much like the displacement map is a 'lens' that redirects light shining
+through it so as to present a distorted view the original 'background' image
+behind it. </p>
+
+<p>Any perfect grey areas of the displacement map produce a zero
+displacement of the image. Black areas produce the given maximum negative
+displacement of the lookup point, while white produce a maximum positive
+displacement of the lookup. </p>
+
+<p>Note that it is the lookup of the 'background' that is displaced, not a
+displacement of the image itself. As such an area of the displacement map
+containing 'white' will have the lookup point 'shifted' by a positive amount,
+and thus generating a copy of the destination image to the right/downward from
+the correct position.  That is the image will look like it may have been
+'shifted' in a negative left/upward direction.  Understanding this is a very
+important in understanding how displacement maps work.  </p>
+
+<p>The given arguments define the maximum amount of displacement in pixels
+that a particular map can produce. If the displacement scale is large enough
+it is also posible to lookup parts of the 'background' image that lie well
+outside the bounds of the displacement map itself.  That is you could very
+easilly copy a section of the original image from outside the overlay area
+into the overlay area. </p>
+
+<p>The '%' flag makes the displacement scale relative to the size of the
+overlay image (100% = half width/height of image). Using '!' switches
+percentage arguments to refer to the destination image size instead.
+these flags were added as of IM v6.5.3-5.</p>
+
+<p>Normally a single grayscale displacement map is provided, which with the
+given scaling values will determine a single direction (vector) in which
+displacements can occur (positivally or negativally).  However, if you also
+specify a third image which is normally used as a <em class="arg">mask</em>,
+then the <em class="arg">composite image</em> will be used for horizontal X
+displacement, while the <em class="arg">mask image</em> is used for vertical Y
+displacement.  This allows you to define completely different displacement
+values for the X and Y directions, and allowing you to lookup any point within
+the  <em class="arg">scale</em> bounds.  In other words each pixel can lookup
+any other nearby pixel, producing complex 2 dimentional displacements, rather
+than a simple 1 dimentional vector displacements. </p>
+
+<p>Alternativally rather than suppling two separate images, as of IM v6.4.4-0,
+you can use the 'red' channel of the overlay image to specify the horizontal
+or X displacement, and the 'green' channel for the vertical or Y displacement.
+</p>
+
+<p>As of IM v6.5.3-5 any alpha channel in the overlay image will be used as a
+mask the transparency of the destination image. However areas outside the
+overlaid areas will not be effected. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="display" id="display"></a>-display <em class="arg">host:display[.screen]</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specifies the X server to contact.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>
+
+<p>This option is used with convert for obtaining image or font from this X server. See <em class="arg">X(1)</em>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="dispose" id="dispose"></a>-dispose <em class="arg">method</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>define the GIF disposal image setting for images that are being created or read in. </td><td style='text-align:right;'></td></tr></table>
+
+<p>The layer disposal method defines the way each the displayed image is to be
+modified after the current 'frame' of an animation has finished being
+displayed (after its 'delay' period), but before the next frame on an
+animation is to be overlaid onto the display. </p>
+
+<p>Here are the valid methods:</p>
+
+<pre class="text">
+Undefined   0  No disposal specified (equivalent to '<kbd>none</kbd>').
+None        1  Do not dispose, just overlay next frame image.
+Background  2  Clear the frame area with the background color.
+Previous    3  Clear to the image prior to this frames overlay.
+</pre>
+
+<p>You can also use the numbers given above, which is what the GIF format
+uses internally to represent the above settings. </p>
+
+<p>To print a complete list of dispose methods, use <a href="#list">-list dipose</a>.</p>
+
+<p>Use <a href="#dispose" >+dispose</a>, turn off the setting and prevent
+resetting the layer disposal methods of images being read in. </p>
+
+<p>Use <a href="#set">-set</a> '<kbd>dispose</kbd>' method to set the image
+disposal method for images already in memory.</p>
+
+<div style="margin: auto;">
+  <h4><a name="dissimilarity-threshold" id="dissimilarity-threshold"></a>-dissimilarity-threshold <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>maximum RMSE for subimage match (default 0.2).</td><td style='text-align:right;'>[<a href="../www/compare.html">compare</a>]</td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="dissolve" id="dissolve"></a>-dissolve <em class="arg">src_percent</em>[x<em class="arg">dst_percent</em>]</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>dissolve an image into another by the given percent.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>
+
+<p>The opacity of the composite image is multiplied by the given percent, then
+it is composited 'over' the main image.  If <em class="arg">src_percent</em>
+is greater than 100, start dissolving the main image so it will become
+transparent at a value of '<kbd class="arg">200</kbd>'.  If both percentages
+are given, each image are dissolved to the percentages given. </p>
+
+<p>Note that dissolve percentages do not add, two opaque images dissolved
+'50,50', produce a 75% transparency. For a 50% + 50% blending of the two
+images, you would need to use dissolve values of '50,100'.  </p>
+
+<div style="margin: auto;">
+  <h4><a name="distort" id="distort"></a>-distort <em class="arg">method arguments</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>distort an image, using the given <em class="arg">method</em> and its required <em class="arg">arguments</em>.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The <em class="arg">arguments</em> is a single string containing a list
+of floating point numbers separated by commas or spaces.  The number of
+and meaning of the floating point values depends on the distortion <em
+class="arg">method</em> being used. </p>
+
+<p>Choose from these distortion types:</p>
+
+<table class="doc">
+  <tr valign="top">
+    <th align="left" style="width: 8%">Method</th>
+    <th align="left">Description</th>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>ScaleRotateTranslate</kbd>&nbsp;&nbsp;
+    <br/>or &nbsp; <kbd>SRT</kbd></td>
+    <td valign="top">
+       Distort image by first scaling and rotating about a given 'center',
+       before translating that 'center' to the new location, in that order. It
+       is an alternative method of specifying a '<kbd>Affine</kbd>' type of
+       distortion, but without shearing effects.  It also provides a good way
+       of rotating and displacing a smaller image for tiling onto a larger
+       background (IE 2-dimensional animations). <br/>
+
+       The number of arguments determine the specific meaning of each
+       argument for the scales, rotation, and translation operations. <br/>
+
+       <table style="margin-left:auto; margin-right:auto;">
+       <tr><td># &nbsp;</td><td>arguments meaning</td></tr>
+       <tr><td>1:</td><td><em>Angle_of_Rotation</em></td></tr>
+       <tr><td>2:</td><td><em>Scale &nbsp; Angle</em></td></tr>
+       <tr><td>3:</td><td><em>ScaleX,ScaleY &nbsp; Angle</em></td></tr>
+       <tr><td>4:</td><td><em>X,Y &nbsp; Scale &nbsp; Angle</em></td></tr>
+       <tr><td>5:</td>
+           <td><em>X,Y &nbsp; ScaleX,ScaleY &nbsp; Angle</em></td></tr>
+       <tr><td>6:</td>
+           <td><em>X,Y &nbsp; Scale &nbsp; Angle &nbsp; NewX,NewY</em></td></tr>
+       <tr><td>7:</td>
+           <td><em>X,Y &nbsp; ScaleX,ScaleY &nbsp; Angle
+                   &nbsp; NewX,NewY</em></td></tr>
+       </table>
+
+       This is actually an alternative way of specifing a 2 dimensional linear
+       '<kbd>Affine</kbd>' or '<kbd>AffineProjection</kbd>' distortion.  </td> </tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Affine</kbd></td>
+    <td valign="top">
+       Distort the image linearly by moving a list of at least 3 or more sets
+       of control points (as defined below).  Idealy 3 sets or 12 floating
+       point values are given allowing the image to be linearly scaled,
+       rotated, sheared, and translated, according to those three points. See
+       also the related '<kbd>AffineProjection</kbd>' and '<kbd>SRT</kbd>'
+       distortions. <br/>
+
+       More than 3 sets given control point pairs (12 numbers) is least
+       squares fitted to best match a lineary affine distortion. If only 2
+       control point pairs (8 numbers) are given a two point image translation
+       rotation and scaling is performed, without any posible  shearing,
+       flipping or changes in aspect ratio to the resulting image. If only one
+       control point pair is provides the image is only translated, (which may
+       be a floating point non-integer translation). <br/>
+
+       This distortion does not include any form of perspective distortion.
+       </td>
+
+  </tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>AffineProjection</kbd></td>
+    <td valign="top">
+       Linearly distort an image using the given Affine Matrix of 6
+       pre-calculated coefficients forming a set of Affine Equations to map
+       the source image to the destination image.
+
+       <div style="text-align: center"><em>
+       s<sub>x</sub>, r<sub>x</sub>,
+       r<sub>y</sub>, s<sub>y</sub>,
+       t<sub>x</sub>, t<sub>y</sub>
+       </em></div>
+
+       See <a href="#affine" >-affine</a> setting for more detail, and
+       meanings of these coefficients. <br/>
+
+       The distortions '<kbd>Affine</kbd>' and '<kbd>SRT</kbd>' provide
+       alternative methods of defining this distortion, with ImageMagick doing the
+       calculations needed to generate the required coefficients. You can see
+       the internally generated coefficients, by using a <a href="#verbose"
+       >-verbose</a> setting.  </td>
+
+  </tr>
+
+<!--  still under development, do not display - Anthony
+  <tr valign="top">
+    <td valign="top"><kbd>Bilinear</kbd></td>
+    <td valign="top">
+       Bilinear (reversed) Distortion, given a minimum of 4 sets of
+       coordinate pairs, or 16 values (see below). Not that lines may not
+       appear straight after distortion, though the distance between
+       coordinates will remain consistant. </td>
+  </tr>
+-->
+
+  <tr valign="top">
+    <td valign="top"><kbd>Perspective</kbd></td>
+    <td valign="top">
+       Perspective distort the images, using a list of 4 or more sets of
+       control points (as defined below).  More that 4 sets (16 numbers) of
+       control points provide least squares fitting for more accurate
+       distortions (for the purposes of image registration and panarama
+       effects).  Less than 4 sets will fall back to a '<kbd>Affine</kbd>'
+       linear distortion.  <br/>
+
+       Perspective Distorted images ensures that straight lines remain
+       straight, but the scale of the distorted image will vary. The horizon
+       is anti-aliased, and the 'sky' color may be set using the
+       <a href="#mattecolor" >-mattecolor</a> setting. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>PerspectiveProjection</kbd>&nbsp;&nbsp;</td>
+    <td valign="top">
+       Do a '<kbd>Perspective</kbd>' distortion basied on a set of 8
+       pre-calculated coefficients. You can get these coefficients by looking
+       at the <a href="#verbose" >-verbose</a> output of a
+       '<kbd>Prespective</kbd>' distortion, or by calculating them yourself.
+       If the last two perspective scaling coefficients are zero, the
+       remaining 6 represents a transposed 'Affine Matrix'. </td>
+
+  </tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Arc</kbd></td>
+    <td valign="top">
+       Arc the image (variation of polar mapping) over the angle given around
+       a circle. <br/>
+       <table width="90%" style = "margin-left: auto; margin-right: auto;">
+       <tr valign="top"><td>Argument</td>
+           <td>Meaning</td></tr>
+       <tr valign="top"><td><em>arc_angle</em></td>
+           <td>The angle over which to arc the image side-to-side</td></tr>
+       <tr valign="top"><td><em>rotate_angle</em></td>
+           <td>Angle to rotate resulting image from vertical center</td></tr>
+       <tr valign="top"><td><em>top_radius</em></td>
+           <td>Set top edge of source image at this radius</td></tr>
+       <tr valign="top"><td><em>bottom_radius</em>&nbsp;</td>
+           <td>Set bottom edge to this radius (radial scaling)</td></tr>
+       </table>
+
+       The resulting image is always resized to best fit the resulting image,
+       (as if using <a href="#distort" >+distort</a>) while attempting to
+       preserve scale and aspect ratio of the original image as much as
+       possible with the arguments given by the user. All four arguments will
+       be needed to change the overall aspect ratio of an 'Arc'ed image. <br/>
+
+       This a variation of a polar distortion designed to try to preserve the
+       aspect ratio of the image rather than direct Cartesian to Polar
+       conversion. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Polar</kbd></td>
+    <td valign="top">
+       Like '<kbd>Arc</kbd>' but do a complete Cartesian to Polar mapping of
+       the image. that is the height of the input image is mapped to the
+       radius limits, while the width is wrapped around between the
+       angle limits. <br/>
+
+       Arguments: <em>Rmax,Rmin CenterX,CenterY, start,end_angle</em> <br/>
+
+       All arguments are optional. With <em>Rmin</em> defaulting to zero, the
+       center to the center of the image, and the angles going from -180 (top)
+       to +180 (top).  If <em>Rmax</em> is given the special value of
+       '<code>0</code>', the the distance from the center to the nearest edge
+       is used for the radius of the output image, which will ensure the whole
+       image is visible (though scaled smaller).  However a special value of
+       '<code>-1</code>' will use the distance from the center to the furthest
+       corner,  This may 'clip' the corners from the input rectangular image,
+       but will generate the exact reverse of a '<kbd>DePolar</kbd>' with
+       the same arguments. <br/>
+
+       If the plus form of distort (<a href="#distort" >+distort</a>) is used
+       output image center will default to <code>0,0</code> of the virtual
+       canvas, and the image size adjusted to ensure the whole input image is
+       made visible in the output image on the virtual canvas. </td>
+
+  </tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>DePolar</kbd></td>
+    <td valign="top">
+       Uses the same arguments and meanings as a '<kbd>Polar</kbd>' distortion
+       but generates the reverse Polar to Cartesian distortion. <br/>
+
+       The special <em>Rmax</em> setting of '<code>0</code>' may however clip
+       the corners of the input image.  However using the special
+       <em>Rmax</em> setting of '<code>-1</code>' (maximum center to corner
+       distance) will ensure the whole distorted image is preserved in the
+       generated result, so that the same argument to '<kbd>Polar</kbd>' will
+       reverse the distortion re-producing the original.
+
+       Note that as this distortion requires the area resampling of a circular
+       arc, which can not be handled by the builtin EWA resampling function.
+       As such the normal EWA filters are turned off. It is recomended some
+       form of 'super-sampling' image processing technique be used to produce
+       a high quality result. </td>
+
+  </tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Barrel</kbd></td>
+    <td valign="top">
+       Given the four coefficients (A,B,C,D) as defined by <a
+       href="http://www.all-in-one.ee/~dersch/barrel/barrel.html" >Helmut
+       Dersch</a>, perform a barrell or pincussion distortion appropriate to
+       correct radial lens distortions.  That is in photographs, make straight
+       lines straight again. <br/>
+
+       Arguments: <em>A &nbsp; B &nbsp; C</em> &nbsp; [ <em>D</em> &nbsp; [
+       <em>X</em> , <em>Y</em> ] ] <br/>
+       or <em>A<sub>x</sub> B<sub>x</sub> C<sub>x</sub> D<sub>x</sub> &nbsp;
+       A<sub>y</sub> B<sub>y</sub> C<sub>y</sub> D<sub>y</sub></em> &nbsp;
+       [ <em>X</em> , <em>Y</em> ] <br/>
+       So that it forms the function <br/>
+          Rsrc = r * ( <em>A</em>*r<sup>3</sup> + <em>B</em>*r<sup>2</sup> +
+                               <em>C</em>*r + <em>D</em> )<br/>
+
+       Where <em>X</em>,<em>Y</em> is the optional center of the distortion
+       (defaulting to the center of the image). <br/>
+       The second form is typically used to distort images, rather than
+       correct lens distortions. <br/>
+       </td>
+
+  </tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>BarrelInverse</kbd></td>
+    <td valign="top">
+       This is very simular to '<kbd>Barrel</kbd>' with the same set of
+       arguments, and argument handling.  However it uses the inverse
+       of the radial polynomial,
+       so that it forms the function <br/>
+          Rsrc = r / ( <em>A</em>*r<sup>3</sup> + <em>B</em>*r<sup>2</sup> +
+                               <em>C</em>*r + <em>D</em> )
+       </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top"><kbd>Shepards</kbd></td>
+    <td valign="top">
+       Distort the given list control points (any number) using an Inverse
+       Squared Distance Interpolation Method (<a
+       href="http://www.ems-i.com/smshelp/Data_Module/Interpolation/Inverse_Distance_Weighted.htm"
+       >Shepards Method</a>). The control points in effect do 'localized'
+       distortions of the image around the given control point.  For best
+       results extra control points should be added to 'lock' the positions of
+       the corners and other unchanging parts of the image. <br/>
+
+       The distortion has been likened to 'taffy pulling' using nails, pins or
+       sticks. It basically uses the <a href="#sparse-color"
+       >-sparse-color</a> method of the same name to generate separate X and Y
+       displacement maps (see <a href="#displace" >-displace</a>) for source
+       image color look-up. </td>
+
+  </tr>
+
+</table>
+
+<p>To print a complete list of distortion methods, use <a href="#list">-list distort</a>.</p>
+
+<p>Many of the above distortion methods such as '<kbd>Affine</kbd>',
+'<kbd>Perspective</kbd>', and '<kbd>Shepards</kbd>' use a list control points
+defining how these points in the given image should be distorted in the
+destination image. Each set of four floating point values represent a source
+image coordinate, followed immediately by the destination image coordinate.
+This produces a list of values such as...</p>
+<div style="text-align: center"><em>
+      U<sub>1</sub>,V<sub>1</sub> X<sub>1</sub>,Y<sub>1</sub> &nbsp;
+      U<sub>2</sub>,V<sub>2</sub> X<sub>2</sub>,Y<sub>2</sub> &nbsp;
+      U<sub>3</sub>,V<sub>3</sub> X<sub>3</sub>,Y<sub>3</sub> &nbsp;
+      ... &nbsp;
+      U<sub>n</sub>,V<sub>n</sub> X<sub>n</sub>,Y<sub>n</sub> &nbsp;
+</em></div>
+<p>where <em>U,V</em> on the source image is mapped to <em>X,Y</em> on the
+destination image. </p>
+
+<p>For example, to warp an image using '<kbd>perspective</kbd>' distortion,
+needs a list of at least 4 sets of coordinates, or 16 numbers.  Here is the
+perspective distortion of the built-in "rose:" image. Note how spaces were
+used to group the 4 sets of coordinate pairs, to make it easier to read and
+understand.</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>
+  convert rose:  -virtual-pixel black \ <br/>
+       -distort Perspective '0,0,0,0  0,45,0,45   69,0,60,10  69,45,60,35' \ <br/>
+       rose_3d_rotated.gif</span></p>
+<p>If more that the required number of coordinate pairs are given for a
+distortion, the distortion method is 'least squares' fitted to
+produce the best result for all the coordinate pairs given. If less than the
+ideal number of points are given, the distort will generally fall back to a
+simpler form of distortion that can handles the smaller number of coordinates
+(usally a linear '<kbd>Affine</kbd>' distortion). </p>
+
+<p>By using more coodinates you can make use of image registration tool to
+find matching coordinate pairs in overlaping images, so as to improve the 'fit'
+of the distortion. Of course a bad coordinate pair can also make the 'fit'
+worse. Caution is always advised. </p>
+
+<p>Colors are acquired from the source image according to the <a
+href="#interpolate" >-interpolate</a> color lookup setting, when the image is
+magnified.  However if the viewed image is minified (image becomes smaller), a
+special area resampling function (added ImageMagick v6.3.5-9), is used to
+produce a higher quality image.  For example you can use a
+'<kbd>perspective</kbd>' distortion to view a infinitely tiled 'plane' all the
+way to the horizon. </p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -size 90x90 pattern:checkerboard -normalize -virtual-pixel tile \ <br/>
+      -distort perspective  '0,0,5,45  89,0,45,46  0,89,0,89  89,89,89,89' \ <br/>
+      checks_tiled.jpg</span></p>
+<p>Note that a infinitely tiled perspective images involving the horizon can
+be very slow to generate due to the use of the high quality 'area resampling'
+function (added ImageMagick v6.3.5-9).  You can turn off 'area resampling'
+using a <a href="#filter" >-filter</a> setting of '<kbd>point</kbd>'
+(recommended if you plan to use super-sampling instead). </p>
+
+<p>If an image generates <i>invalid pixels</i>, such as the 'sky' in the last
+'<kbd>perspective</kbd>' distortion example, <a href="#distort" >-distort</a>
+will use the current <a href="#mattecolor" >-mattecolor</a> setting for these
+pixels. If you do not what these pixels to be visible, set the color to match
+the rest of the ground. </p>
+
+<p>The output image size will by default be the same as the input image.  This
+means that if the part of the distorted image falls outside the viewed area of
+the 'distorted space', those parts is clipped and lost.  However if you
+use the plus form of the operator (<a href="#distort" >+distort</a>) the
+operator will attempt (if posible) to show the whole of the distorted image,
+while retaining a correct 'virtual canvas' offset, for image layering. This
+offset may need to be removed using <a href="#repage" >+repage</a>, to remove
+if it is unwanted. </p>
+
+<p>You can alternatively specify a special "<kbd><a href="#set" >-set</a>
+option:distort:viewport {geometry_string}</kbd>" setting which will specify
+the size and the offset of the generated 'viewport' image of the distorted
+image space.</p>
+
+<p>Adding a "<kbd><a href="#set" >-set</a> option:distort:scale
+{scale_factor}</kbd>" will scale the output image (viewport or otherwise) by
+that factor without changing the viewed contents of the distorted image. This
+can be used either for 'super-sampling' the image for a higher quality result,
+or for panning and zooming around the image (with appropriate viewport
+changes, or post-distort cropping and resizing). </p>
+
+<p>Setting <a href="#verbose" >-verbose</a> setting, will cause <a
+href="#distort" >-distort</a> to attempt to output the internal coefficients,
+and the <a href="#fx" >-fx</a> equivalent to the distortion, for expert study,
+and debugging purposes. This many not be available for all distorts. </p>
+
+<p>Affine rotations and shears (such as '<kbd>SRT</kbd>' distortion), tend to
+produce a cleaner result that the equivalent <a href="#rotate" >-rotate</a>
+and/or <a href="#shear" >-shear</a> operation, with more control of due to the
+above settings. It is algorithmically slower, though in ImageMagick it may be faster.
+</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="dither" id="dither"></a>-dither <em class="arg">method</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply a Riemersma or Floyd-Steinberg error diffusion dither to images when general color reduction is applied via an option, or automagically when saving to specific formats. This enabled by default. </td><td style='text-align:right;'></td></tr></table>
+
+<p>Dithering places two or more colors in neighbouring pixels so that to the eye a closer approximation of the images original color is reproduced. This reduces the number of colors needed to reproduce the image but at the cost of a lower level pattern of colors. Error diffusion dithers can use any set of colors (generated or user defined) to an image.  </p>
+
+<p>Dithering is turned on by default, to turn it off use the plus form of the
+setting, <a href="#dither">+dither</a>. This will also also render PostScript
+without text or graphic aliasing. Disabling dithering often (but not always)
+leads to faster process, a smaller number of colors, but more cartoon like
+image coloring.  Generally resulting in 'color banding' effects in areas with
+color gradients. </p>
+
+<p>The color reduction operators <a href="#colors">-colors</a>, <a
+href="#monochrome">-monochrome</a>, <a href="#remap ">-remap</a>, and <a href="#posterize">-posterize</a>, apply dithering to images using the reduced color set they created. These operators are also used as part of automatic color reduction when saving images to formats with limited color support, such as <kbd>GIF:</kbd>, <kbd>XBM:</kbd>, and others, so dithering may also be used in these cases. </p>
+
+<p>Alternatively you can use <a href="#random-threshold">-random-threshold</a> to generate purely random dither. Or use <a href="#ordered-dither">-ordered-dither</a> to apply threshold mapped dither patterns, using uniform color maps, rather than specific color maps. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="draw" id="draw"></a>-draw <em class="arg">string</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Annotate an image with one or more graphic primitives.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use this option to annotate or decorate an image with one or more graphic primitives. The primitives include shapes, text, transformations, and pixel operations.</p>
+
+<p>The shape primitives:</p>
+
+<pre class="text">
+   point           x,y
+   line            x0,y0 x1,y1
+   rectangle       x0,y0 x1,y1
+   roundRectangle  x0,y0 x1,y1 wc,hc
+   arc             x0,y0 x1,y1 a0,a1
+   ellipse         x0,y0 rx,ry a0,a1
+   circle          x0,y0 x1,y1
+   polyline        x0,y0  ...  xn,yn
+   polygon         x0,y0  ...  xn,yn
+   bezier          x0,y0  ...  xn,yn
+   path            path specification
+   image           operator x0,y0 w,h filename
+</pre>
+
+<p>The text primitive:</p>
+
+<pre class="text">
+   text            x0,y0 string
+</pre>
+<p>The text gravity primitive:</p>
+
+<pre class="text">
+   gravity         NorthWest, North, NorthEast, West, Center,
+                   East, SouthWest, South, or SouthEast
+</pre>
+
+<p>The text gravity primitive only affects the placement of text and does not interact with the other primitives.  It is equivalent to using the <a href="#gravity">-gravity</a> command-line option, except that it is limited in scope to the <a href="#draw">-draw</a> option in which it appears.</p>
+
+<p>The transformation primitives:</p>
+
+<pre class="text">
+   rotate          degrees
+   translate       dx,dy
+   scale           sx,sy
+   skewX           degrees
+   skewY           degrees
+</pre>
+
+<p>The pixel operation primitives:</p>
+
+<pre class="text">
+   color           x0,y0 method
+   matte           x0,y0 method
+</pre>
+
+<p>The shape primitives are drawn in the color specified by the preceding <a href="#fill">-fill</a> setting.  For unfilled shapes, use <a href="#fill">-fill none</a>.  You can optionally control the stroke (the "outline" of a shape) with the <a href="#stroke">-stroke</a> and <a href="#strokewidth">-strokewidth</a> settings.</p>
+
+<p>A <kbd>point</kbd> primitive is specified by a single <em>point</em> in the pixel plane, that is, by an ordered pair of integer coordinates, <em>x</em>,<em>y</em>. (As it involves only a single pixel, a <kbd>point</kbd> primitive is not affected by <a href="#stroke">-stroke</a> or <a href="#strokewidth">-strokewidth</a>.)</p>
+
+<p>A <kbd>line</kbd> primitive requires a start point and end point.</p>
+
+<p>A <kbd>rectangle</kbd> primitive is specified by the pair of points at the upper left and lower right corners.</p>
+
+<p>A <kbd>roundRectangle</kbd> primitive takes the same corner points as a <kbd>rectangle</kbd> followed by the width and height of the rounded corners to be removed.</p>
+
+<p>The <kbd>circle</kbd> primitive makes a disk (filled) or circle (unfilled). Give the center and any point on the perimeter (boundary).</p>
+
+<p>The <kbd>arc</kbd> primitive is used to inscribe an elliptical segment in to a given rectangle. An <kbd>arc</kbd> requires the two corners used for <kbd>rectangle</kbd> (see above) followed by the start and end angles of the arc of the segment segment (e.g. 130,30 200,100 45,90). The start and end points produced are then joined with a line segment and the resulting segment of an ellipse is filled.</p>
+
+<p>Use <kbd>ellipse</kbd> to draw a partial (or whole) ellipse. Give the center point, the horizontal and vertical "radii" (the <em>semi-axes</em> of the ellipse) and start and end angles in degrees (e.g. 100,100 100,150 0,360).</p>
+
+<p>The <kbd>polyline</kbd> and <kbd>polygon</kbd> primitives require three or more points to define their perimeters. A <kbd>polyline</kbd> is simply a <kbd>polygon</kbd> in which the final point is not stroked to the start point. When unfilled, this is a <em>polygonal line</em>. If the <a href="#stroke">-stroke</a> setting is <kbd>none</kbd> (the default), then a <kbd>polyline</kbd> is identical to a <kbd>polygon</kbd>.
+</p>
+
+<p>A <em>coordinate</em> is a pair of integers separated by a space or optional comma. </p>
+
+<p>As an example, to define a circle centered at 100,100 that extends to 150,150 use:</p>
+
+<p class="crtsnip">
+   -draw 'circle 100,100 150,150'
+</p>
+
+<p>The <kbd>Bezier</kbd> primitive creates a spline curve and requires three or points to define its shape. The first and last points are the <em>knots</em> and these points are attained by the curve, while any intermediate coordinates are <em>control points</em>. If two control points are specified, the line between each end knot and its sequentially respective control point determines the tangent direction of the curve at that end. If one control point is specified, the lines from the end knots to the one control point determines the tangent directions of the curve at each end. If more than two control points are specified, then the additional control points act in combination to determine the intermediate shape of the curve. In order to
+draw complex curves, it is highly recommended either to use the <kbd>path</kbd> primitive or to draw multiple four-point bezier segments with the start and end knots of each successive segment repeated. For example:</p>
+
+<p class="crtsnip">
+   -draw 'bezier 20,50 45,100 45,0 70,50'
+</p>
+<p class="crtsnip">
+   -draw 'bezier 70,50 95,100 95,0 120,50'
+</p>
+
+
+<p>A <kbd>path</kbd> represents an outline of an object, defined in terms of moveto (set a new current point), lineto (draw a straight line), curveto (draw a Bezier curve), arc (elliptical or circular arc) and closepath (close the current shape by drawing a line to the last moveto) elements. Compound paths (i.e., a path with subpaths, each consisting of a single moveto followed by one or more line or curve operations) are possible to allow effects such as <em>donut holes</em> in objects. (See <a href="http://www.w3.org/TR/SVG/paths.html">Paths</a>.)</p>
+
+<p>Use <kbd>image</kbd> to composite an image with another image. Follow the image keyword with the composite operator, image location, image size, and filename:</p>
+
+<p class="crtsnip">
+   -draw 'image SrcOver 100,100 225,225 image.jpg'
+</p>
+
+<p>You can use 0,0 for the image size, which means to use the actual dimensions found in the image header. Otherwise, it is scaled to the given dimensions. See <a href="#compose">-compose</a> for a description of the composite operators.</p>
+
+<p>Use <kbd>text</kbd> to annotate an image with text. Follow the text coordinates with a string. If the string has embedded spaces, enclose it in single or double quotes.</p>
+
+<p>For example, the following annotates the image with <kbd>Works like magick!</kbd> for an image titled <kbd>bird.miff</kbd>. </p>
+
+<p class="crtsnip">
+   -draw 'text 100,100 "Works like magick!"'
+</p>
+
+<p>See the <a href="#annotate">-annotate</a> option for another convenient way to annotate an image with text.</p>
+
+<p>The <kbd>rotate</kbd> primitive rotates subsequent shape primitives and text primitives about the origin of the main image. If the <a href="#region">-region</a> option precedes the <a href="#draw">-draw</a> option, the origin for transformations is the upper left corner of the region.</p>
+
+<p>The <kbd>translate</kbd> primitive translates subsequent shape and text primitives.</p>
+
+<p>The <kbd>scale</kbd> primitive scales them.</p>
+
+<p>The <kbd>skewX</kbd> and <kbd>skewY</kbd> primitives skew them with respect to the origin of the main image or the region.</p>
+
+<p>The transformations modify the current affine matrix, which is initialized from the initial affine matrix defined by the <a href="#affine">-affine</a> option. Transformations are cumulative within the <a href="#draw">-draw</a> option. The initial affine matrix is not affected; that matrix is only changed by the appearance of another <a href="#affine">-affine</a> option. If another <a href="#draw">-draw</a> option appears, the current affine matrix is reinitialized from the initial affine
+matrix.</p>
+
+<p>Use the <kbd>color</kbd> primitive to change the color of a pixel to the fill color (see <a href="#fill">-fill</a>). Follow the pixel coordinate with a method:</p>
+
+<pre class="text">
+   point
+   replace
+   floodfill
+   filltoborder
+   reset
+</pre>
+
+<p>Consider the target pixel as that specified by your coordinate. The <kbd>point</kbd> method recolors the target pixel. The <kbd>replace</kbd> method recolors any pixel that matches the color of the target pixel.  <kbd>Floodfill</kbd> recolors any pixel that matches the color of the target pixel and is a neighbor, whereas <kbd>filltoborder</kbd> recolors any neighbor pixel that is not the border color. Finally, <kbd>reset</kbd> recolors all pixels.</p>
+
+<p>Use <kbd>matte</kbd> to the change the pixel matte value to transparent. Follow the pixel coordinate with a method (see the <kbd>color</kbd> primitive for a description of methods). The <kbd>point</kbd> method changes the matte value of the target pixel. The <kbd>replace</kbd> method changes the matte value of any pixel that matches the color of the target pixel. <kbd>Floodfill</kbd> changes the matte value of any pixel that matches the color of the target pixel and is a neighbor, whereas <kbd>filltoborder</kbd> changes the matte value of any neighbor pixel that is not the border color (<a href="#bordercolor">-bordercolor</a>). Finally <kbd>reset</kbd> changes the matte value of all pixels.</p>
+
+<p>You can set the primitive color, font, and font bounding box color with <a href="#fill">-fill</a>, <a href="#font">-font</a>, and <a href="#box">-box</a> respectively.  Options are processed in command line order so be sure to use these options <em>before</em> the <a href="#draw">-draw</a> option.</p>
+
+<p>Strings that begin with a number must be quoted (e.g. use '1.png' rather than 1.png).</p>
+
+<p>Drawing primitives conform to the <a href="../www/magick-vector-graphics.html">Magick Vector Graphics</a> format.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="edge" id="edge"></a>-edge <em class="arg">radius</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>detect edges within an image.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="emboss" id="emboss"></a>-emboss <em class="arg">radius</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>emboss an image.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="encipher" id="encipher"></a>-encipher <em class="arg">filename</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Encipher pixels for later deciphering by <a href="#decipher">-decipher</a>.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Get the passphrase from the file specified by <em class="arg">filename</em>.</p>
+
+<p>For more information, see the webpage, <a href="http://www.imagemagick.org/www/cipher.html">ImageMagick: Encipher or Decipher an Image</a>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="encoding" id="encoding"></a>-encoding <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>specify the text encoding.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Choose from <kbd>AdobeCustom</kbd>, <kbd>AdobeExpert</kbd>, <kbd>AdobeStandard</kbd>, <kbd>AppleRoman</kbd>, <kbd>BIG5</kbd>, <kbd>GB2312</kbd>, <kbd>Latin 2</kbd>, <kbd>None</kbd>, <kbd>SJIScode</kbd>, <kbd>Symbol</kbd>, <kbd>Unicode</kbd>, <kbd>Wansung</kbd>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="endian" id="endian"></a>-endian <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify endianness (<kbd>MSB</kbd> or <kbd>LSB</kbd>) of the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>To print a complete list of endian types, use the <a href="#list">-list endian</a> option.</p>
+
+<p>Use <a href="#endian">+endian</a> to revert to unspecified endianness.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="enhance" id="enhance"></a>-enhance</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply a digital filter to enhance a noisy image.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="equalize" id="equalize"></a>-equalize</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>perform histogram equalization on the image channel-by-channel.</td><td style='text-align:right;'></td></tr></table>
+
+<p>To perform histogram equalization on all channels in concert, transform the image into some other color space, such as HSL, OHTA, YIQ or YUV, then equalize the appropriate intensity-like channel, then convert back to RGB.</p>
+
+<p>For example using HSL, we have: ... <kbd>-colorspace HSL -channel lightness -equalize -colorspace RGB</kbd> ...</p>
+
+<p>For YIQ, YUV and OHTA use the red channel. For example, OHTA is a principal components transformation that puts most of the information in the first channel. Here we have ... <kbd>-colorspace OHTA -channel red -equalize -colorspace RGB</kbd> ...</p>
+
+<div style="margin: auto;">
+  <h4><a name="evaluate" id="evaluate"></a>-evaluate <em class="arg">operator value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Alter channel pixels by evaluating an arithmetic, relational, or logical expression.</td><td style='text-align:right;'></td></tr></table>
+
+<p>(See the <a href="#function" >-function</a> operator for some multi-parameter functions. See the <a href="#fx" >-fx</a> operator if more elaborate calculations are needed.)</p>
+
+<p>The behaviors of each <em class="arg">operator</em> are summarized in the following list. For brevity, the numerical value of a "pixel" referred to below is the value of the corresponding channel of that pixel, while a "normalized pixel" is that number divided by the maximum (installation-dependent) value <em class="QR">QuantumRange</em>. (If normalized pixels are used, they are restored, following the other calculations, to the full range by multiplying by <em class="QR">QuantumRange</em>.)</p>
+
+<table class="doc">
+  <col width="25%" />
+  <col width="75%" />
+  <thead>
+  <tr>
+  <th><em class="arg">operator</em></th>
+  <th>Summary (see further below for details)</th>
+  </tr>
+  </thead>
+  <tbody>
+
+    <tr><td>Add </td>             <td>Add <em class="arg">value</em> to pixels. </td></tr>
+    <tr><td>AddModulus </td>      <td>Add <em class="arg">value</em> to pixels modulo <em class="QR">QuantumRange</em>.</td></tr>
+    <tr><td>And  </td>            <td>Binary AND of pixels with <em class="arg">value</em>.</td></tr>
+    <tr><td>Cos, Cosine </td>             <td>Apply cosine to pixels with frequency <em class="arg">value</em> with 50% bias added.</td></tr>
+    <tr><td>Divide  </td>         <td>Divide pixels by <em class="arg">value</em>.</td></tr>
+    <tr><td>LeftShift </td>       <td>Shift the pixel values left by <em class="arg">value</em> bits (i.e., multiply pixels by 2<sup><em class="arg">value</em></sup>).</td></tr>
+    <tr><td>Log  </td>            <td>Apply scaled logarithm to normalized pixels.</td></tr>
+    <tr><td>Max  </td>            <td>Clip pixels at lower bound <em class="arg">value</em>.</td></tr>
+    <tr><td>Min  </td>            <td>Clip pixels at upper bound <em class="arg">value</em>.</td></tr>
+    <tr><td>Multiply </td>        <td>Multiply pixels by <em class="arg">value</em>.</td></tr>
+    <tr><td>Or  </td>             <td>Binary OR of pixels with <em class="arg">value</em>.</td></tr>
+    <tr><td>Pow </td>             <td>Raise normalized pixels to the power <em class="arg">value</em>.</td></tr>
+    <tr><td>RightShift </td>      <td>Shift the pixel values right by <em class="arg">value</em> bits (i.e., divide pixels by 2<sup><em class="arg">value</em></sup>).</td></tr>
+    <tr><td>Set </td>             <td>Set pixel equal to <em class="arg">value</em>.</td></tr>
+    <tr><td>Sin, Sine </td>             <td>Apply sine to pixels with frequency <em class="arg">value</em> with 50% bias added.</td></tr>
+    <tr><td>Subtract </td>        <td>Subtract <em class="arg">value</em> from pixels.</td></tr>
+    <tr><td>Xor </td>             <td>Binary XOR of pixels with <em class="arg">value.</em></td></tr>
+
+    <tr><td>&nbsp;</td></tr>
+
+   <tr><td>Gaussian-noise</td></tr>
+   <tr><td>Impulse-noise</td></tr>
+   <tr><td>Laplacian-noise</td></tr>
+   <tr><td>Multiplicative-noise</td>      <td>(These are equivalent to the corresponding <a href="#noise" >-noise</a> operators.)</td></tr>
+   <tr><td>PoissonNoise</td></tr>
+   <tr><td>Uniform-noise</td></tr>
+
+   <tr><td>&nbsp;</td></tr>
+
+   <tr><td>Threshold </td>       <td>Threshold pixels larger than <em class="arg">value</em>.</td></tr>
+   <tr><td>ThresholdBlack </td>  <td>Threshold pixels to zero values equal to or below <em class="arg">value</em>.</td></tr>
+   <tr><td>ThresholdWhite </td>  <td>Threshold pixels to maximum values above <em class="arg">value</em>.  </td></tr>
+ </tbody>
+ </table>
+
+<p>The specified functions are applied only to each previously set <a
+href="#channel" >-channel</a> in the image. If necessary, the results of the
+calculations are truncated (clipped) to fit in the interval [0,&nbsp;<em
+class="QR">QuantumRange</em>].  The transparency channel of the image is
+represented as a 'alpha' values (0 = fully transparent), so, for example, a
+<kbd>Divide</kbd> by&nbsp;2 of the alpha channel will make the image
+semi-transparent.  Append the percent symbol '<kbd>%</kbd>' to specify a value
+as a percentage of the <em class="QR">QuantumRange</em>.</p>
+
+<p>To print a complete list of <a href="#evaluate">-evaluate</a> operators, use
+<a href="#list">-list evaluate</a>.</p>
+
+<p>The results of the <kbd>Add</kbd>, <kbd>Subtract</kbd> and
+<kbd>Multiply</kbd> methods can also be achieved using either the <a
+href="#level" >-level</a> or the <a href="#level" >+level</a> operator, with
+appropriate argument, to linearly modify the overall range of color values.
+Please note, however, that <a href="#level" >-level</a> treats transparency as
+'matte' values (0 = opaque), while <a href="#level" >-evaluate</a> works with
+'alpha' values.</p>
+
+<p><kbd>AddModulus</kbd> has been added as of ImageMagick 6.4.8-4 and provides addition modulo the <em class="QR">QuantumRange</em>. It is therefore equivalent to <kbd>Add</kbd> unless the resulting pixel value is outside the interval [0,&nbsp;<em class="QR">QuantumRange</em>]. </p>
+
+<p><kbd>Log</kbd> has been added as of ImageMagick 6.4.2-1 and works on normalized pixel values. This a <em>scaled</em> log function. The <em class="arg">value</em> used with <kbd>Log</kbd> provides a <em>scaling factor</em> that adjusts the curvature in the graph of the log function. The formula applied to a normalized value <b><em>u</em></b> is below. </p>
+
+        <div style="text-align:center;">
+        log(<em class="arg">value</em> &times; <b><em>u</em></b> + 1) / log(<em class="arg">value</em> + 1)
+        </div>
+
+<p><kbd>Pow</kbd> has been added as of ImageMagick 6.4.1-9, and works on
+normalized pixel values. Note that <kbd>Pow</kbd> is related to the <a
+href="#gamma" >-gamma</a> operator. For example, <b>-gamma 2</b> is equivalent
+to <b>-evaluate pow 0.5</b>, i.e., a 'square root' function. The value used
+with <a href="#gamma" >-gamma</a> is simply the reciprocal of the value used
+with <kbd>Pow</kbd>.</p>
+
+<p><kbd>Cosine</kbd> and <kbd>Sine</kbd> was added as of IM v6.4.8-8 and
+converts the image values into a value according to a (co)sine wave function.
+The  synonyms <kbd>Cos</kbd> and <kbd>Sin</kbd> may also be used.  The output
+is biased 50% and normalized by 50% so as to fit in the respective color value
+range.  The <em class="arg">value</em> scaling of the <em>period</em> of the
+function (its frequency), and thus determines the number of 'waves' that will
+be generated over the input color range.  For example, if the <em
+class="arg">value</em> is&nbsp;1, the effective period is simply the <em
+class="QR">QuantumRange</em>; but if the <em class="arg">value</em> is&nbsp;2,
+then the effective period is the <em>half</em> the <em
+class="QR">QuantumRange</em>.
+
+        <div style="text-align:center;">
+        0.5 + 0.5 &times; cos(2 &pi; <b><em>u</em></b> &times; <em class="arg">value</em>).
+        </div>
+
+See also the <a href="#function" >-function</a> operator, which is a
+multi-value version of evaluate. </P>
+
+
+<div style="margin: auto;">
+  <h4><a name="extent" id="extent"></a>-extent <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the image size and offset.</td><td style='text-align:right;'></td></tr></table>
+
+<p>If the image is enlarged, unfilled areas are set to the background color. To position the image, use offsets in the <em class="arg">geometry</em> specification or precede with a <a href="#gravity">-gravity</a> setting.</p>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<div style="margin: auto;">
+  <h4><a name="extract" id="extract"></a>-extract <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Extract the specified area from image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option is most useful for extracting a subregion of a very large raw image.  Note that these two commands are equivalent:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -size 16000x16000 -depth 8 -extract 640x480+1280+960 image.rgb image.png</span><span class='crtout'></span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -size 16000x16000 -depth 8 'image.rgb[640x480+1280+960]' image.rgb image.png</span></p><p>If you omit the offsets, as in</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -size 16000x16000 -depth 8 -extract 640x480 image.rgb image.png</span></p>
+<p>then the image will be <em>resized</em> to the specified dimensions instead,
+equivalent to:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -size 16000x16000 -depth 8 -resize 640x480 image.rgb image.png</span></p>
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<div style="margin: auto;">
+  <h4><a name="family" id="family"></a>-family <em class="arg">fontFamily</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set a font family for text.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This setting suggests a font family that ImageMagick should try to use for rendering text. If the family can be found it is used; if not, a default font (e.g., "Arial") or a family known to be similar is substituted (e.g., "Courier" might be used if "System" is requested but not found).
+</p>
+
+<p>For other settings that affect fonts, see the options <a href="#font">-font</a>, <a href="#stretch">-stretch</a>, <a href="#style">-style</a>, and <a href="#weight">-weight</a>.
+</p>
+
+<div style="margin: auto;">
+  <h4><a name="fft" id="fft"></a>-fft</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>implements the forward discrete Fourier transform (DFT).</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option is new as of ImageMagick 6.5.4-3 and transforms an image from the normal (spatial) domain to the frequency domain. In the frequency domain, an image is represented as a superposition of complex sinusoidal waves of varying amplitudes. The image x and y coordinates are the possible frequencies along the x and y directions, respectively, and the pixel intensity values are complex numbers that correspond to the sinusoidal wave amplitudes. See for example, <a href="http://en.wikipedia.org/wiki/Fourier_transform" target="_blank">Fourier Transform</a>, <a href="http://en.wikipedia.org/wiki/DFT" target="_blank">Discrete Fourier Transform</a> and <a href="http://en.wikipedia.org/wiki/FFT" target="_blank">Fast Fourier Transform</a>.</p>
+
+<p>A single image name is provided as output for this option. However, the output result will have two components. It will be either a two-frame image or two separate images, depending upon whether the image format specified supports multi-frame images. The reason that we get a dual output result is because the frequency domain represents an image using complex numbers, which cannot be visualized directly. Therefore, the complex values are automagically separated into a two-component image representation. The first component is the magnitude of the complex number and the second is the phase of the complex number. See for example, <a href="http://en.wikipedia.org/wiki/Complex_numbers" target="_blank">Complex Numbers</a>.<p>
+
+<p>The magnitude and phase component images must be specified using image formats that do not limit the color or compress the image. Thus, MIFF, TIF, PFM, EXR and PNG are the recommended image formats to use. All of these formats, except PNG support multi-frame images. So for example,</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -fft fft_image.miff</span></p>
+<p>generates a magnitude image as <kbd>fft_image.miff[0]</kbd> and a phase image as <kbd>fft_image.miff[1]</kbd>. Similarly,</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -fft fft_image.png</span></p>
+<p>generates a magnitude image as <kbd>fft_image-0.png</kbd> and a phase image as <kbd>fft_image-1.png</kbd>. If you prefer this representation, then you can force any of the other formats to produce two output images by including <a href="#adjoin">+adjoin</a> following -fft in the command line.</p>
+
+<p>The input image can be any size, but if not square and even-dimensioned, it will be padded automagically to the larger of the width or height of the input image and to an even number of pixels. The padding will occur at the bottom and/or right sides of the input image. The resulting output magnitude and phase images will be square at this size. The kind of padding relies on the <a href="#virtual-pixel">-virtual-pixel</a> setting.</p>
+
+<p>Both output components will have dynamic ranges that fit within [0,&nbsp;<em class="QR">QuantumRange</em>], so that HDRI need not be enabled. Phase values nominally range from 0 to 2*&pi;, but for non-HDRI compilations of ImageMagick, the phase image is scaled to span the full dynamic range. The magnitude image is not scaled and thus generally will contain very small values. As such, the image normally will appear totally black. In order to view any detail, the magnitude image typically is enhanced with a log function into what is usually called the spectrum. A log function is used to enhance the darker values more in comparison to the lighter values. This can be done, for example, as follows:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert fft_image.miff[0] -contrast-stretch 0 \ <br />
+                -evaluate log 1000 fft_image_spectrum.png</span></p>
+<p>where the <a href="#contrast-stretch">-contrast-stretch</a> 0 is used to  scale the image to full dynamic range, first. The argument to the <a href="#evaluate">-evaluate</a> log typically is specified between 100 and 10,000, depending upon the amount of detail that one wants to bring out in the spectrum. Larger values produce more visible detail. Too much detail, however, may hide the important features.</p>
+
+<p>The <a href="http://www.fftw.org/" target="_blank">FFTW</a> delegate library is required to use <a href="#fft">-fft</a>.
+
+<p>Use <a href="#fft">+fft</a> to produce two output images that are the real and imaginary components of the complex valued Fourier transform.</p>
+
+<p>However, as the real and imaginary components can contain negative values, this requires that IM be configured with HDRI enabled. In this case, you must use either MIFF, TIF or PFM formats for the real and imaginary component results, since they are formats that preserve both negative and fractional values without clipping them or truncating the fractional part.</p>
+
+<p>The real and imaginary component images resulting from <a href="#fft">+fft</a> also will be square, even dimensioned images due to the same padding that was discussed above for the magnitude and phase component images.</a>
+
+<p>See the discussion on HDRI implementations of ImageMagick on the page
+<a href="/www/high-dynamic-range.html">High Dynamic-Range Images</a>. For more about HDRI go the ImageMagick <a href="http://www.imagemagick.org/Usage/basics/#hdri">Usage</a> pages or this <a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">Wikipedia</a> entry.
+</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="fill" id="fill"></a>-fill <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>color to use when filling a graphic primitive.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option accepts a color name, a hex color, or a numerical RGB, RGBA, HSL, HSLA, CMYK, or CMYKA specification.  See <a href="../www/color.html">Color Names</a> for a description of how to properly specify the color argument.</p>
+
+<p>Enclose the color specification in quotation marks to prevent the "#" or the parentheses from being interpreted by your shell.</p>
+
+<p>For example,</p>
+
+<p class="crtsnip">
+  -fill blue
+</p>
+<p class="crtsnip">
+  -fill "#ddddff"
+</p>
+<p class="crtsnip">
+  -fill "rgb(255,255,255)"
+</p>
+
+<p>See <a href="#draw">-draw</a> for further details.</p>
+
+<p>To print a complete list of color names, use the <a href="#list">-list color</a> option.</p>
+
+<div style="margin: auto;">
+  <h4><a name="filter" id="filter"></a>-filter <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Use this <em class="arg">type</em> of filter when resizing an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use this option to affect the resizing operation of an image (see <a
+href="#resize">-resize</a>). For example you can use a simple resize filter
+such as:</p>
+
+<pre class="text">
+   Point       Hermite       Cubic
+   Box         Gaussian      Catrom
+   Triangle    Quadratic     Mitchell
+</pre>
+
+<p>The <kbd>Bessel</kbd> and <kbd>Sinc</kbd> filter is also provided, but are
+by default <kbd>blackman</kbd>-windowed.  However these filters define a
+windowing filter for the Sinc or Bessel filter function, as appropriate for
+the scaling operator used (usally Sinc for orthogonal <a href="#resize"
+>-resize</a>).   Windowed filters include: </p>
+
+<pre class="text">
+   Lanczos       Hamming       Parzen
+   Blackman      Kaiser        Welsh
+   Hanning       Bartlett      Bohman
+</pre>
+
+<p>Also one special self-windowing filter is also provided
+<kbd>Lagrange</kbd>, which will automagically re-adjust its function depending
+on the current 'support' or 'lobes' expert settings (see below).</p>
+
+<p>If you do not select a filter with this option, the filter defaults to <kbd>Mitchell</kbd> for a colormapped image, a image with a matte channel, or if the image is enlarged.  Otherwise the filter default to <kbd>Lanczos</kbd>.</p>
+
+<p>To print a complete list of resize filters, use the <a href="#list">-list filter</a> option.</p>
+
+<p>You can modify how the filter behaves as it scales your image through the
+use of these expert settings:</p>
+
+<dl class="doc">
+<dt>-set filter:blur <em>factor</em></dt>
+<dd>Scale the X axis of the filter (and its window). Use &gt; 1.0 for
+    blurry or &lt; 1.0 for sharp.</dd>
+
+<dt>-set filter:support <em>radius</em></dt>
+<dd>Set the filter support radius.</dd>
+
+<dt>-set filter:lobes <em>count</em></dt>
+<dd>Set the number of lobes to use for the Sinc/Bessel filter. This an
+    alternative way of specifying the 'support' range of the filter.</dd>
+
+<dt>-set filter:b <em>b-spline_factor</em></dt>
+<dt>-set filter:c <em>keys_alpha_factor</em></dt>
+<dd>Redefine the values used for cubic filters such as <kbd>Cubic</kbd>,
+    <kbd>Catrom</kbd>, <kbd>Mitchel</kbd>, and <kbd>Hermite</kbd>, as well as
+    the <kbd>Parzen</kbd> Sinc windowing function. If only one of the values
+    are defined, the other is set so as to generate a 'Keys' type cubic
+    filter.
+
+<dt>-set filter:filter <em>filter</em></dt>
+<dd>Use this function directly as the scaling filter.  This will allow
+    you to directly use a 'windowing filter' such as <kbd>blackman</kbd>,
+    rather than as its normal usage as a windowing function for 'Sinc' or
+    'Bessel'. If defined, no windowing function is used, unless the following
+    expert setting is also defined.</dd>
+
+<dt>-set filter:window <em>filter</em></dt>
+<dd>The IIR (infinite impulse response) filters <kbd>bessel</kbd> and
+    <kbd>sinc</kbd>  are windowed (brought down to zero over the defined
+    support range) with the given filter. This allows you to use a filter that
+    is not normally used as a windowing function, such as <kbd>box</kbd>,
+    (which effectivally turns off the windowing function).  </dd>
+
+</dl>
+
+<p>For example, to get a 8 lobe Lanczos-Bessel filter:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -filter bessel \ <br/>
+          -set filter:window=bessel -set filter:lobes=8 \ <br/>
+          -resize 150%   image.jpg</span></p>
+<p>Or a raw un-windowed Sinc filter with 4 lobes:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -set filter:filter=sinc -set filter:lobes=4 \ <br/>
+          -resize 150%   image.jpg</span></p>
+<p>Note that the use of expert options (except for 'blur' with simple resize
+filters), are provided for image processing experts who have studied and
+understood how resize filters work. Without this knowledge, and an
+understanding of the defination of the actual filters involved, using expert
+settings are more likely to be detremental to your image resizing.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="flatten" id="flatten"></a>-flatten</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>This is a simple alias for the <a href="#layers" >-layers</a> method "flatten".</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="flip" id="flip"></a>-flip</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>create a <em>mirror image</em>.</td><td style='text-align:right;'></td></tr></table>
+
+<p>reflect the scanlines in the vertical direction.</p>
+
+<div style="margin: auto;">
+  <h4><a name="floodfill" id="floodfill"></a>-floodfill {<em class="arg">+-</em>}<em class="arg">x</em>{<em class="arg">+-</em>}<em class="arg">y</em> <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>floodfill the image with color at the specified offset. Using <a href="#fuzz" >-fuzz</a> to floodfill pixels which only change by a small amount.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="flop" id="flop"></a>-flop</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>create a <em>mirror image</em>.</td><td style='text-align:right;'></td></tr></table>
+
+<p>reflect the scanlines in the horizontal direction.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="font" id="font"></a>-font <em class="arg">name</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set the font to use when annotating images with text, or creating labels.</td><td style='text-align:right;'></td></tr></table>
+
+<p>To print a complete list of fonts, use the <a href="#list">-list font</a> option (for versions prior to 6.3.6, use 'type' instead of 'font').</p>
+
+<p>In addition to the fonts specified by the above pre-defined list, you can
+also specify a font from a specific source.  For example <kbd>Arial.ttf</kbd>
+is a TrueType font file, <kbd>ps:helvetica</kbd> is PostScript font, and
+<kbd>x:fixed</kbd> is X11 font.</p>
+
+<p>For other settings that affect fonts, see the options <a href="#family">-family</a>, <a href="#stretch">-stretch</a>, <a href="#style">-style</a>, and <a href="#weight">-weight</a>. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="foreground" id="foreground"></a>-foreground <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Define the foreground color.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>
+
+<p>The default foreground color is black.</p>
+
+<div style="margin: auto;">
+  <h4><a name="format" id="format"></a>-format <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the image format type.</td><td style='text-align:right;'></td></tr></table>
+
+<p>When used with the <kbd>mogrify</kbd> utility, this option converts any image to the image <a href="/www/formats.html">format</a> you specify.  For a list of image format types supported by ImageMagick, use <a href="#list">-list format</a>.</p>
+
+<p>By default the file is written to its original name. However, if the filename extension matches a supported format, the extension is replaced with the image format type specified with <a href="#format">-format</a>. For example, if you specify <em class="arg">tiff</em> as the format type and the input image filename is <em class="arg">image.gif</em>, the output image filename becomes <em class="arg">image.tiff</em>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="format_identify_" id="format_identify_"></a>-format <em class="arg">string</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>output formatted image characteristics.</td><td style='text-align:right;'>[<a href="../www/identify.html">identify</a>]</td></tr></table>
+
+<p>See <a href="../www/escape.html">Format and Print Image Properties</a> for an explanation on how to specify the argument to this option.</p>
+
+<div style="margin: auto;">
+  <h4><a name="frame" id="frame"></a>-frame <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Surround the image with a border or beveled frame.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The color of the border is specified with the <a href="#mattecolor">-mattecolor</a> command line option. </p>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <em class="arg">size</em> portion of the <em class="arg">geometry</em> argument indicates the amount of extra width and height that is added to the dimensions of the image. If no offsets are given in the <em class="arg">geometry</em> argument, then the border added is a solid color.  Offsets <em>x</em> and <em>y</em>, if present, specify that the width and height of the border is partitioned to form an outer bevel of thickness <em>x</em>&nbsp;pixels and an inner bevel of thickness <em>y</em>&nbsp;pixels. (Negative offsets make no sense here.)  The <a href="#frame">-frame</a> option is not affected by the <a href="#gravity">-gravity</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="frame_import_" id="frame_import_"></a>-frame</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>include the X window frame in the imported image.</td><td style='text-align:right;'>[<a href="../www/import.html">import</a>]</td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="function" id="function"></a>-function <em class="arg">function</em> <em class="arg">parameters</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply a function to channel values.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This operator performs calculations based on the given arguments to modify each of the color values for each previously set <a href="#channel">-channel</a> in the image. See <a href="#evaluate">-evaluate</a> for details concerning how the results of the calculations are handled.</p>
+
+<p>This is can be considered a multi-argument version of the <a href="#evaluate">-evaluate</a> operator. (Added in ImageMagick&nbsp;6.4.8&minus;8.)</p>
+
+<p>Here,  <em class="arg">parameters</em> is a comma-separated list of numerical values. The number of values varies depending on which <em class="arg">function</em> is selected. Choose the <em class="arg">function</em> from:</p>
+
+<pre class="text">
+  Polynomial
+  Sinusoid
+  Arcsin
+  Arctan
+</pre>
+
+<p>To print a complete list of <a href="#function">-function</a> operators, use <a href="#list">-list function</a>. Descriptions follow.</p>
+
+<dl class="doc">
+<dt><kbd>Polynomial</kbd></dt>
+<dd>
+<p>The <kbd>Polynomial</kbd> function takes an arbitrary number of parameters, these being the coefficients of a polynomial, in decreasing order of degree. That is, entering</p>
+
+<div style="text-align: center">
+   -function Polynomial <em>a</em><sub><em>n</em></sub>,<em>a</em><sub><em>n</em>-1</sub>,...<em>a</em><sub>1</sub>,<em>a</em><sub>0</sub>
+</div>
+
+<p>will invoke a polynomial function given by</p>
+
+<div style="text-align: center">
+   <em>a</em><sub><em>n</em></sub> <b><em>u</em></b><sup><em>n</em></sup> +
+   <em>a</em><sub><em>n</em>-1</sub> <b><em>u</em></b><sup><em>n</em>-1</sup> +
+   &middot;&middot;&middot; <em>a</em><sub>1</sub> <b><em>u</em></b> + <em>a</em><sub>0</sub>,
+</div>
+
+<p>where <b><em>u</em></b> is pixel's original normalized channel value.</p>
+
+<p>The <kbd>Polynomial</kbd> function can be used in place of <kbd>Set</kbd> (the <em>constant</em> polynomial) and <kbd>Add</kbd>, <kbd>Divide</kbd>, <kbd>Multiply</kbd>, and <kbd>Subtract</kbd> (some <em>linear</em> polynomials) of the <a href="#evaluate">-evaluate</a> operator. The <a href="#level">-level</a> operator also affects channels linearly. Some correspondences follow.</p>
+
+<table class="doc">
+  <col width="35%" />
+  <col width="35%" />
+  <col width="30%" />
+  <tr>
+        <td>-evaluate Set <em class="arg">value</em> </td>
+        <td>-function Polynomial <em class="arg">value</em></td>
+        <td>(Constant functions; set <em class="arg">value</em>&times;100% gray when channels are RGB.)</td>
+  </tr>
+  <tr>
+        <td>-evaluate Add <em class="arg">value</em> </td>
+        <td>-function Polynomial 1,<em class="arg">value</em></td>
+  </tr>
+  <tr>
+        <td>-evaluate Subtract <em class="arg">value</em> </td>
+        <td>-function Polynomial 1,&minus;<em class="arg">value</em></td>
+  </tr>
+  <tr>
+        <td>-evaluate Multiply <em class="arg">value</em> </td>
+        <td>-function Polynomial <em class="arg">value</em>,0</td>
+  </tr>
+  <tr>
+        <td>+level  black% x white%</td>
+        <td>-function Polynomial  A,B</td>
+        <td>(Reduce contrast. Here, A=(white-black)/100 and  B=black/100.)</td>
+  </tr>
+</table>
+
+<p>The <kbd>Polynomial</kbd> function gives great versatility, since polynomials can be used to fit any continuous curve to any degree of accuracy desired.</p>
+</dd>
+
+<dt><kbd>Sinusoid</kbd></dt>
+<dd>
+<p>The <kbd>Sinusoid</kbd> function can be used to vary the channel values sinusoidally by setting frequency, phase shift, amplitude, and a bias. These values are given as one to four parameters, as follows,</p>
+
+<div style="text-align: center">
+   -function <kbd>Sinusoid</kbd> <em class="arg">freq</em>,[<em class="arg">phase</em>,[<em class="arg">amp</em>,[<em class="arg">bias</em>]]]
+</div>
+
+<p>where <em>phase</em> is in degrees. (The domain [0,1] of the function corresponds to 0 through <em class="arg">freq</em>&times;360&nbsp;degrees.) The result is that if a pixel's normalized channel value is originally <b><em>u</em></b>, its resulting normalized value is given by </p>
+
+<div style="text-align: center">
+<em class="arg">amp</em> * sin(2*&pi;* (<em class="arg">freq</em> * <b><em>u</em></b> + <em class="arg">phase</em> / 360)) + <em class="arg">bias</em>
+</div>
+
+<p> For example, the following generates a curve that starts and ends at 0.9 (when <b><em>u</em></b>=0 and 1, resp.), oscillating three times between .7&minus;.2=.5 and .7+.2=.9. </p>
+
+<p class="crtsnip">
+   -function Sinusoid 3,-90,.2,.7
+</p>
+
+<p>The default values of <em class="arg">amp</em> and <em class="arg">bias</em> are both .5. The default for <em class="arg">phase</em> is 0.</p>
+
+<p>The <kbd>Sinusoid</kbd> function generalizes <kbd>Sin</kbd> and <kbd>Cos</kbd> of the <a href="#evaluate">-evaluate</a> operator by allowing varying amplitude, phase and bias. The correspondence is as follows.</p>
+
+<table class="doc">
+  <tr>
+        <td>-evaluate Sin <em class="arg">freq</em> </td>
+        <td>-function Sinusoid <em class="arg">freq</em>,0 </td>
+  </tr>
+  <tr>
+        <td>-evaluate Cos <em class="arg">freq</em> </td>
+        <td>-function Sinusoid <em class="arg">freq</em>,90 </td>
+  </tr>
+</table>
+</dd>
+
+<dt><kbd>ArcSin</kbd></dt>
+<dd>
+<p>The <kbd>ArcSin</kbd> function generates the inverse curve of a Sinusoid,
+and can be used to generate cylindrical distortion and displacement maps.
+The curve can be adjusted relative to both the input values and output range
+of values.
+
+<div style="text-align: center">
+   -function <kbd>ArcSin</kbd> <em class="arg">width</em>,[<em class="arg">center</em>,[<em class="arg">range</em>,[<em class="arg">bias</em>]]]
+</div>
+
+<p>with all values given in terms of noramlize color values (0.0 for black,
+1.0 for white). Defaulting to values covering the full range from 0.0 to 1.0
+for bout input (<em class="arg">width</em>), and output (<em
+class="arg">width</em>) values. '<code>1.0,0.5,1.0,0.5</code>' </p>
+
+<div style="text-align: center">
+<em class="arg">range</em>/&pi; * asin( 2/<em class="arg">width</em> * ( <b><em>u</em></b> - <em class="arg">center</em> ) ) + <em class="arg">bias</em>
+</div>
+
+</dd>
+
+<dt><kbd>ArcTan</kbd></dt>
+<dd>
+<p>The <kbd>ArcTan</kbd> function generates a curve that smooth crosses from
+limit values at infinities, though a center using the given slope value.
+All these values can be adjusted via the arguments.
+
+<div style="text-align: center">
+   -function <kbd>ArcTan</kbd> <em class="arg">slope</em>,[<em class="arg">center</em>,[<em class="arg">range</em>,[<em class="arg">bias</em>]]]
+</div>
+
+<p>Defaulting to '<code>1.0,0.5,1.0,0.5</code>'.
+</p>
+
+<div style="text-align: center">
+<em class="arg">range</em>/&pi; * atan( <em class="arg">slope</em>*&pi; * ( <b><em>u</em></b> - <em class="arg">center</em> ) ) + <em class="arg">bias</em>
+</div>
+
+</dd>
+
+</dl>
+
+
+<div style="margin: auto;">
+  <h4><a name="fuzz" id="fuzz"></a>-fuzz <em class="arg">distance</em>{<em class="arg">%</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Colors within this <em class="arg">distance</em> are considered equal.</td><td style='text-align:right;'></td></tr></table>
+
+<p>A number of algorithms search for a target color. By default the color must be exact. Use this option to match colors that are close to the target color in RGB space. For example, if you want to automagically trim the edges of an image with <a href="#trim">-trim</a> but the image was scanned and the target background color may differ by a small amount. This option can account for these differences.</p>
+
+<p>The <em class="arg">distance</em> can be in absolute intensity units or, by appending <kbd>%</kbd> as a percentage of the maximum possible intensity (255, 65535, or 4294967295).</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="fx" id="fx"></a>-fx <em class="arg">expression</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>apply a mathematical expression to an image or image channels.</td><td style='text-align:right;'></td></tr></table>
+
+<p>If the first character of <em class="arg">expression</em> is <kbd>@</kbd>, the expression is read from a file titled by the remaining characters in the string.</p>
+
+<p>See <a href="../www/fx.html">FX, The Special Effects Image Operator</a> for a detailed discussion of this option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="gamma" id="gamma"></a>-gamma <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>level of gamma correction.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The same color image displayed on two different workstations may look different due to differences in the display monitor. Use gamma correction to adjust for this color difference.  Reasonable values extend from <kbd>0.8</kbd> to <kbd>2.3</kbd>. Gamma less than 1.0 darkens the image and gamma greater than 1.0 lightens it. Large adjustments to image gamma may result in the loss of some image information if the pixel quantum size is only eight bits (quantum range 0 to 255).</p>
+
+<p>Gamma adjusts the image's channel values pixel-by-pixel according to a power law, namely, pow(pixel,1/gamma) or pixel^(1/gamma), where pixel is the normalized or 0 to 1 color value. For example, using a value of gamma=2 is the same as taking the square root of the image.</p>
+
+<p>You can apply separate gamma values to the red, green, and blue channels of the image with a gamma value list delimited with commas (e.g., <kbd>1.7,2.3,1.2</kbd>).</p>
+
+<p>Use <a href="#gamma">+gamma <em class="arg">value</em></a> to set the image gamma level without actually adjusting the image pixels. This option is useful if the image is of a known gamma but not set as an image attribute (e.g. PNG images).</p>
+
+<p>Note that gamma adjustments are also available via the <a href="#level">-level</a> operator.</p>
+
+<div style="margin: auto;">
+  <h4><a name="gaussian-blur" id="gaussian-blur"></a>-gaussian-blur <em class="arg">radius</em><br />-gaussian-blur <em class="arg">radius</em>x<em class="arg">sigma</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Blur the image with a Gaussian operator.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Convolve the image with a Gaussian or normal distribution.  The formula is:</p>
+
+<div class="eqn"><img alt="gaussian distribution" width="243px" height="42px" src="../images/gaussian-blur.png"/>
+</div>
+
+<p>where <i>r</i> is the blur radius (<i>r</i><sup>2</sup> = <i>u</i><sup>2</sup> + <i>v</i><sup>2</sup>), and &sigma; is the standard deviation of the Gaussian distribution.  As a guideline, set <i>r</i> to approximately 3&sigma;.  Specify a radius of 0 and ImageMagick selects a suitable radius for you.</p>
+
+<p>This differs from the faster <a href="#blur">-blur</a> operator in that a
+full 2-dimentional convolution is used to generate the weighted average of the
+neighbouring pixels. </p>
+
+<p>The <a href="#virtual-pixel">-virtual-pixel</a> setting will determine how
+pixels which are outside the image proper are blurred into the final result.
+</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="geometry" id="geometry"></a>-geometry <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the preferred size and location of the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<div style="margin: auto;">
+  <h4><a name="gravity" id="gravity"></a>-gravity <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Sets the current gravity suggestion for various other settings and options.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Choices include: <kbd>NorthWest</kbd>, <kbd>North</kbd>, <kbd>NorthEast</kbd>,
+<kbd>West</kbd>, <kbd>Center</kbd>, <kbd>East</kbd>, <kbd>SouthWest</kbd>,
+<kbd>South</kbd>, <kbd>SouthEast</kbd>.  Use <a href="#list">-list gravity</a> to get a complete
+list of <a href="#gravity">-gravity</a> settings available in your ImageMagick
+installation.</p>
+
+<p>The direction you choose specifies where to position text or subimages. For example, a gravity of <kbd>Center</kbd> forces the text to be centered within the image. By default, the image gravity is <kbd>NorthWest</kbd>. See <a href="#draw">-draw</a> for more details about graphic primitives.  Only the text primitive of <a href="#draw">-draw</a> affected by the <a href="#gravity">-gravity</a> option.</p>
+
+<p>The <a href="#gravity">-gravity</a> option is also used in concert with the <a href="#geometry">-geometry</a> setting and other settings or options that take <em class="arg">geometry</em> as an argument, such as the <a href="#crop">-crop</a> option. </p>
+
+<p>If a <a href="#gravity">-gravity</a> setting occurs before another option or setting having a <em class="arg">geometry</em> argument that specifies an offset, the offset is usually applied to the point within the image suggested by the <a href="#gravity">-gravity</a> argument.  Thus, in the following command, for example, suppose the file <kbd>image.png</kbd> has dimensions 200x100. The offset specified by the argument to <a href="#region">-region</a> is (&minus;40,+20). The argument to <a href="#gravity">-gravity</a> is <kbd>Center</kbd>, which suggests the midpoint of the image, at the point (100,50). The offset (&minus;40,20) is applied to that point, giving (100&minus;40,50+20)=(60,70), so the specified 10x10&nbsp;region is located at that point. (In addition, the <a href="#gravity">-gravity</a> affects the region itself, which is <em>centered</em> at the pixel coordinate&nbsp;(60,70). (See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.)</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -gravity Center -region 10x10-40+20 -negate output.png</span></p>
+<p>When used as an option to <a href="../www/composite.html">composite</a>, <a href="#gravity">-gravity</a> gives the direction that the image gravitates within the composite.</p>
+
+<p>When used as an option to <a href="../www/montage.html">montage</a>, <a href="#gravity">-gravity</a> gives the direction that an image gravitates within a tile. The default gravity is <kbd>Center</kbd> for this purpose.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="green-primary" id="green-primary"></a>-green-primary <em class="arg">x,y</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>green chromaticity primary point.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="hald-clut" id="hald-clut"></a>-hald-clut</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>apply a Hald color lookup table to the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>A Hald color lookup table is a 3-dimensional color cube mapped to 2
+dimensions.  Create it with the <kbd>HALD:</kbd> prefix (e.g. HALD:8).  You
+can apply any color transformation to the Hald image and then use this option
+to apply the transform to the image. </p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png hald.png -hald-clut transform.png</span></p>
+<p>This option provides a convenient method for you to use Gimp or Photoshop
+to make color corrections to the Hald CLUT image and subsequently apply them
+to multiple images using an ImageMagick script. </p>
+
+<p>Note that the representation is only of the normal RGB color space and that
+the whole color value triplet is used for the interpolated lookup of the
+represented Hald color cube image.  Because of this the operation is not <a
+href="#channel" >-channel</a> setting effected, nor can it adjust or modify an
+images transparency or alpha/matte channel.</p>
+
+<p>See also <a href="#clut" >-clut</a> which provides color value replacement
+of the individual color channels, usally involving a simplier gray-scale
+image. E.g:  gray-scale to color replacement, or modification by a histogram
+mapping. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="help" id="help"></a>-help</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>print usage instructions.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="highlight-color" id="highlight-color"></a>-highlight-color <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>when comparing images, emphasize pixel differences with this color.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="iconGeometry" id="iconGeometry"></a>-iconGeometry <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>specify the icon geometry.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Offsets, if present in the geometry specification, are handled in the same manner as the <a href="#geometry">-geometry</a> option, using X11 style to handle negative offsets.</p>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<div style="margin: auto;">
+  <h4><a name="iconic" id="iconic"></a>-iconic</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>iconic animation.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="identify" id="identify"></a>-identify</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>identify the format and characteristics of the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This information is printed: image scene number; image name; image size; the image class (<em class="arg">DirectClass</em> or <em class="arg">PseudoClass</em>); the total number of unique colors; and the number of seconds to read and transform the image. Refer to <a href="../www/miff.html">MIFF</a> for a description of the image class.</p>
+
+<p>If <a href="#colors">-colors</a> is also specified, the total unique colors in the image and color reduction error values are printed. Refer to <a href="/www/quantize.html">color reduction algorithm</a> for a description of these values.</p>
+
+<p>If <a href="#verbose">-verbose</a> preceds this option, copious
+amounts of image properties are displayed including image statistics, profiles,
+image histogram, and others.</p>
+
+<div style="margin: auto;">
+  <h4><a name="ift" id="ift"></a>-ift</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>implements the inverse discrete Fourier transform (DFT).</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option is new as of ImageMagick 6.5.4-3 and transforms a pair of magnitude and phase images from the frequency domain to a single image in the normal or spatial domain. See for example, <a href="http://en.wikipedia.org/wiki/Fourier_transform" target="_blank">Fourier Transform</a>, <a href="http://en.wikipedia.org/wiki/DFT" target="_blank">Discrete Fourier Transform</a> and <a href="http://en.wikipedia.org/wiki/FFT" target="_blank">Fast Fourier Transform</a>.</p>
+
+<p>For example, depending upon the image format used to store the result of the <a href="#fft">-fft</a>, one would use either</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert fft_image.miff -ift fft_image_ift.png</span></p>
+<p>or</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert fft_image-0.png fft_image-1.png -ift fft_image_ift.png</span></p>
+
+<p>The resulting image may need to be cropped due to padding introduced when the original image, prior to the <a href="#fft">-fft</a> or <a href="#fft">+fft</a>, was not square or even dimensioned. Any padding will be at the right and/or bottom sides of the image.
+
+<p>The <a href="http://www.fftw.org/" target="_blank">FFTW</a> delegate library is required to use <a href="#ift">-ift</a>.
+
+<p>Use <a href="#ift">+ift</a> (with HDRI enabled) to transform a pair of real and imaginary images from the frequency domain to a single image in the normal (spatial) domain.
+
+<div style="margin: auto;">
+  <h4><a name="immutable" id="immutable"></a>-immutable</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>make image immutable.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="implode" id="implode"></a>-implode <em class="arg">factor</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>implode image pixels about the center.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="insert" id="insert"></a>-insert <em class="arg">index</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>insert the last image into the image sequence.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option takes last image in the current image sequence and inserts it at the given index. If a negative index is used, the insert position is calculated before the last image is removed from the sequence. As such <kbd>-insert -1</kbd> will result in no change to the image sequence.</p>
+
+<p>The <kbd>+insert</kbd> option is equivalent to <kbd>-insert -1</kbd>. In other words, insert the last image, at the end of the current image sequence. Consequently this has no effect on the image sequence order.</p>
+
+<div style="margin: auto;">
+  <h4><a name="intent" id="intent"></a>-intent <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>use this type of rendering intent when managing the image color.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use this option to affect the color management operation of an image (see <a href="#profile">-profile</a>).  Choose from these intents: <kbd>Absolute, Perceptual, Relative, Saturation</kbd>.</p>
+
+<p>The default intent is undefined.</p>
+
+<p>To print a complete list of rendering intents, use <a href="#list">-list intent</a>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="interlace" id="interlace"></a>-interlace <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the type of interlacing scheme.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Choose from:</p>
+
+<pre class="text">
+  none
+  line
+  plane
+  partition
+  JPEG
+  GIF
+  PNG
+</pre>
+
+<p>This option is used to specify the type of interlacing scheme for raw image formats such as <kbd>RGB</kbd> or <kbd>YUV</kbd>.</p>
+
+<p><kbd>None</kbd> means do not interlace (RGBRGBRGBRGBRGBRGB...),</p>
+
+<p><kbd>Line</kbd> uses scanline interlacing (RRR...GGG...BBB...RRR...GGG...BBB...), and.</p>
+
+<p><kbd>Plane</kbd> uses plane interlacing (RRRRRR...GGGGGG...BBBBBB...).</p>
+
+<p><kbd>Partition</kbd> is like plane except the different planes are saved to individual files (e.g. image.R,
+image.G, and image.B).</p>
+
+<p>Use <kbd>Line</kbd> or <kbd>Plane</kbd> to create an <kbd>interlaced PNG</kbd> or <kbd>GIF</kbd> or <kbd>progressive JPEG</kbd>
+image.</p>
+
+<p>To print a complete list of interlacing schemes, use <a href="#list">-list interlace</a>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="interpolate" id="interpolate"></a>-interpolate <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the pixel color interpolation method to use when looking up a color based on a floating point or real value.</td><td style='text-align:right;'></td></tr></table>
+
+<p>When looking up the color of a pixel using a non-interger floating point
+value, you typically fall in between the pixel colors defined by the source
+image. This setting determines how the color is determined from the colors of
+the pixels surrounding that point.  That is how to determine the color of a
+point that falls between two, or even four different colored pixels. </p>
+
+<pre class="text">
+  integer:           The color of the top-left pixel (floor function)
+  nearest-neighbor:  The nearest pixel to the lookup point (rounded function)
+  average:           The average color of the surrounding four pixels
+  bilinear           A double linear interpolation of pixels (the default)
+  mesh               Divide area into two flat triangular interpolations
+  bicubic            Fitted bicubic-spines of surrounding 16 pixels
+  spline             Direct spline curves (colors are blurred)
+  filter             Use resize <a href="#filter">-filter</a> settings
+</pre>
+
+<p>This most important for distortion operators such as <a href="#distort"
+>-distort</a>, <a href="#implode" >-implode</a>, <a href="#transform"
+>-transform</a> and <a href="#fx" >-fx</a>. </p>
+
+<p>To print a complete list of interpolation methods, use <a href="#list">-list interpolate</a>.</p>
+
+<p>See also <a href="#virtual-pixel" >-virtual-pixel</a>, for control of the
+lookup for positions outside the boundaries of the image. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="interword-spacing" id="interword-spacing"></a>-interword-spacing <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the space between two words.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="kerning" id="kerning"></a>-kerning <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the space between two letters.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="label" id="label"></a>-label <em class="arg">name</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>assign a label to an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use this option to assign a specific label to the image, as it is read in or created.  You can use the <a href="#set" >-set</a> operation to re-assign a the labels of images already read in.  Image formats such as TIFF, PNG, MIFF, supports saving the label information with the image.</p>
+
+<p>When saving an image to a <em class="arg">PostScript</em> file, any label assigned to an image is used as a header string to print above the postscript image. </p>
+
+<p>You can include the image filename, type, width, height, or other image attribute by embedding special format character.  See <a href="#format">-format</a> for details of the percent escape codes.</p>
+
+<p>For example,</p>
+
+<p class="crtsnip">
+  -label "%m:%f %wx%h"  bird.miff
+</p>
+
+<p>assigns an image label of <kbd>MIFF:bird.miff 512x480</kbd> to the "<kbd>bird.miff</kbd>" image and whose width is 512 and height is 480, as it is read in.  If a  <a href="#label">+label</a> option was used instead, any existing label present in the image would be used.  You can remove all labels from an image by assigning the empty string. </p>
+
+<p>A label is not drawn on the image, but is embedded in the image datastream via <em>Label</em> tag or similar mechanism. If you want the label to be visible on the image itself, use the <a href="#draw">-draw</a> option, or during the final processing in the creation of a image montage.</p>
+
+<p>The label font can be specified with <a href="#font">-font</a>, and the
+other font attribute settings.</p>
+
+<p>If the first character of <em class="arg">string</em> is <em class="arg">@</em>, the image label is read from a file titled by the remaining characters in the string. Labels in a file are literal, no embedded formatting characters are recognized.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="lat" id="lat"></a>-lat <em class="arg">width</em><br />-lat <em class="arg">width</em>x<em class="arg">height</em>{<em class="arg">+-</em>}<em class="arg">offset</em>{<em class="arg">%</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>perform local adaptive threshold.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Adaptively threshold each pixel based on the value of pixels in a
+surrounding window.  If the current pixel is lighter than this average plus
+the optional <kbd>offset</kbd>, then it is made white, otherwise it is made
+black.  Small variations in pixel values such as found in scanned documents
+can be ignored if offset is positive. A negative offset will make it more
+sensitive to those small variations. </p>
+
+<p>This is commonly used to threshold images with an uneven background.  It is
+based on the assumption that average color of the small window is the
+the local background color, from which to separate the forground color. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="layers" id="layers"></a>-layers <em class="arg">method</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>handle multiple images forming a set of image layers or animation frames.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Perform various image operation methods to a ordered sequence of images
+which may represent either a set of overlaid 'image layers', a GIF disposal
+animation, or a fully-'coalesced' animation sequence. </p>
+
+<table class="doc">
+  <tbody>
+  <tr valign="top">
+    <th align="left" style="width: 8%">Method</th>
+    <th align="left">Description</th>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">compare-any</td>
+    <td valign="top">Crop the second and later frames to the smallest rectangle
+        that contains all the differences between the two images.  No GIF <a
+        href="#dispose" >-dispose</a> methods are taken into account. </td>
+  </tr>
+
+  <tr><td></td><td>This exactly the same as the <a href="#deconstruct"
+        >-deconstruct</a> operator, and does not preserve animations normal
+        working, especially when animation used layer disposal methods such as
+        '<kbd>Previous</kbd>' or '<kbd>Background</kbd>'. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">compare-clear</td>
+    <td valign="top">As '<kbd>compare-any</kbd>' but crop to the bounds of any
+       opaque pixels which become transparent in the second frame. That is the
+       smallest image needed to mask or erase pixels for the next frame. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">compare-overlay</td>
+    <td valign="top">As '<kbd>compare-any</kbd>' but crop to pixels that add
+       extra color to the next image, as a result of overlaying color pixels.
+       That is the smallest single overlaid image to add or change colors. </td>
+   </tr>
+
+   <tr><td></td><td>This can be used with the <a href="#compose" >-compose</a> alpha
+       composition method '<kbd>change-mask</kbd>', to reduce the image to
+       just the pixels that need to be overlaid. </td>
+   </tr>
+
+  <tr valign="top">
+    <td valign="top">coalesce</td>
+    <td valign="top">Equivalent to a call to the <a href="#coalesce"
+        >-coalesce</a> operator.  Apply the layer disposal methods set in the
+        current image sequence to form a fully defined animation sequence, as
+        it should be displayed.  Effectively converting a GIF animation into a
+        'film strip'-like animation.  </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">composite</td>
+    <td valign="top">Alpha Composition of two image lists, separated by a
+        "<kbd>null:</kbd>" image, with the destination image list first, and
+        the source images last.  An image from each list are composited
+        together until one list is finished. The separator image and source
+        image lists are removed. </td>
+  </tr>
+
+
+  <tr><td></td><td>The <a href="#geometry" >-geometry</a> offset is adjusted according to
+        <a href="#gravity" >-gravity</a> in accordance of the virtual canvas
+        size of the first image in each list. Unlike a normal <a
+        href="#composite" >-composite</a> operation, the canvas offset is also
+        added to the final composite positioning of each image. </td>
+  </tr>
+
+  <tr><td></td><td>If one of the image lists only contains one image, that image is
+        applied to all the images in the other image list, regardless of which
+        list it is. In this case it is the image meta-data of the list which
+        preserved.  </td>
+  </tr>
+
+
+  <tr valign="top">
+    <td valign="top">dispose</td>
+    <td valign="top">This like '<kbd>coalesce</kbd>' but shows the look of
+        the animation after the layer disposal method has been applied, before
+        the next sub-frame image is overlaid. That is the 'dispose' image that
+        results from the application of the GIF <a href="#dispose"
+        >-dispose</a> method.  This allows you to check what
+        is going wrong with a particular animation you may be developing.
+        </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">flatten</td>
+    <td valign="top">Create a canvas the size of the first images virtual
+        canvas using the current <a href="#background" >-background</a> color,
+        and <a href="#compose" >-compose</a> each image in turn onto that
+        canvas.  Images falling outside that canvas is clipped. Final
+        image will have a zero virtual canvas offset. </td>
+  </tr>
+
+  <tr><td></td><td>This usally used as one of the final 'image layering' operations
+        overlaying all the prepared image layers into a final image. </td>
+  </tr>
+
+  <tr><td></td><td>For a single image this method can also be used to fillout a virtual
+        canvas with real pixels, or to underlay a opaque color to remove
+        transparency from an image.</td>
+  </tr>
+
+
+  <tr valign="top">
+    <td valign="top">merge</td>
+    <td valign="top">As 'flatten' method but merging all the given image
+        layers into a new layer image just large enough to hold all the image
+        without clipping or extra space. The new images virtual offset will
+        prevere the position of the new layer, even if this offset is
+        negative.  the virtual canvas size of the first image is preserved.
+        </td>
+    </tr>
+
+     <tr><td></td><td>Caution is advised when handling image layers with negative offsets
+        as few image file formats handle them correctly. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">mosaic</td>
+    <td valign="top">As 'flatten' method but expanding the initial canvas size
+        of the first image so as to hold all the image layers.  However as a
+        virtual canvas is 'locked' to the origin, by defination, image layers
+        with a negative offsets will still be clipped by the top and left
+        edges.</td>
+  </tr>
+
+  <tr><td></td><td>This method is commonly used to layout individual image using various
+        offset but without knowning the final canvas size. The resulting image
+        will, like 'flatten' not have any virtual offset, so can be saved to
+        any image file format. </td>
+  </tr>
+
+
+  <tr valign="top">
+    <td valign="top">optimize</td>
+    <td valign="top">Optimize a coalesced animation, into GIF animation using
+        a number of general techniques.  This currently a short cut to
+        apply both the '<kbd>optimize-frame</kbd>', and
+        '<kbd>optimize-transparency</kbd>' methods but may be expanded to
+        include other optimization methods as they are developed. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">optimize-frame</td>
+    <td valign="top">Optimize a coalesced animation, into GIF animation by
+        reducing the number of pixels per frame as much as possible by
+        attempting to pick the best layer disposal method to use, while ensuring
+        the result will continue to animate properly. </td>
+  </tr>
+
+  <tr><td></td><td> There is no guarantee that the best optimization is found. But
+        then no reasonably fast GIF optimization algorithm can do this.
+        However this does seem to do better than most other GIF frame
+        optimizers seen. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">optimize-plus</td>
+    <td valign="top">As '<kbd>optimize-frame</kbd>' but attempt to improve the
+        overall optimization by adding extra frames to the animation, without
+        changing the final look or timing of the animation.  The frames are
+        added to attempt to separate the clearing of pixels from the
+        overlaying of new additional pixels from one animation frame to the
+        next.  If this does not improve the optimization (for the next frame
+        only), it will fall back to the results of the previous normal
+        '<kbd>optimize-frame</kbd>' technique. </td>
+  </tr>
+
+  <tr><td></td><td>There is the possibility that the change in the disposal style will
+        result in a worsening in the optimization of later frames, though this
+        is unlikely. In other words there no guarantee that it is better than
+        the normal '<kbd>optimize-frame</kbd>' technique. For some animations
+        however you can get a vast improvment in the final animation size. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">optimize-transparency</td>
+    <td valign="top">Given a GIF animation, replace any pixel in the sub-frame
+        overlay images with transparency, if it does not change the resulting
+        animation by more than the current <a href="#fuzz" >-fuzz</a> factor.
+        </td>
+  </tr>
+
+  <tr><td></td><td>This should allow a existing frame optimized GIF animation to compress
+        into a smaller file size due to larger areas of one (transparent)
+        color rather than a pattern of multiple colors repeating the current
+        disposed image of the last frame. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">remove-dups</td>
+    <td valign="top">Remove (and merge time delays) of duplicate consecutive
+        images, so as to simplify layer overlays of coalesced animations.
+        </td>
+  </tr>
+
+   <tr><td></td><td>Usually this a result of using a constant time delay across the
+        whole animation, or after a larger animation was split into smaller
+        sub-animations.  The duplicate frames could also have been used as
+        part of some frame optimization methods. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">remove-zero</td>
+    <td valign="top">Remove any image with a zero time delay, unless ALL the
+        images have a zero time delay (and is not a proper timed animation, a
+        warning is then issued). </td>
+  </tr>
+
+  <tr><td></td><td>In a GIF animation, such images are usually frames which provide
+        partial intermediary updates between the frames that are actually
+        displayed to users.  These frames are usally added for improved frame
+        optimization in GIF animations. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">trim-bounds</td>
+    <td valign="top">Find the bounds of all the images in the current
+        image sequence, then adjust the offsets so all images are contained on
+        a minimal positive canvas. None of the image data is modified, only
+        there virtual canvas size and offset.  The all the image is given
+        the same canvas size, and and will have a positive offset, but will
+        remain in the same position relative to each other. As a result of the
+        minimal canvas size at least one image will touch every edge of that
+        canvas.  The image data however may be transparent.
+        </td>
+  </tr>
+
+  </tbody>
+</table>
+
+<p>To print a complete list of layer types, use <a href="#list">-list layers</a>.</p>
+
+<p>The operators <a href="#coalesce" >-coalesce</a>, <a href="#deconstruct"
+>-deconstruct</a>, <a href="#flatten" >-flatten</a>, and <a href="#mosaic"
+>-mosaic</a> are only aliases for the above methods.  Also see  <a
+href="#page" >-page</a>,  <a href="#repage" >-repage</a> operators, the <a
+href="#compose" >-compose</a> setting, and the GIF <a href="#dispose"
+>-dispose</a> and  <a href="#delay" >-delay</a> settings. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="level" id="level"></a>-level <em class="arg">black_point</em>{,<em class="arg">white_point</em>}{<em class="arg">%</em>}{,<em class="arg">gamma</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>adjust the level of image channels.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Given one, two or three values delimited with commas: black-point,
+white-point, gamma (for example: 10,250,1.0 or 2%,98%,0.5). The black and
+white points range from 0 to <em class="QR">QuantumRange</em>, or from 0 to 100%; if the white
+point is omitted it is set to (<em class="QR">QuantumRange</em> - black_point), so as to center
+contrast changes.  If a <kbd>%</kbd> sign is present anywhere in the string,
+both black and white points are percentages of the full color range.  Gamma
+will do a <a href="#gamma">-gamma</a> adjustment of the values.  If it is
+omitted, the default of 1.0 (no gamma correction) is assumed.</p>
+
+<p>In normal usage (<kbd>-level</kbd>) the image values are stretched so that
+the given '<kbd>black_point</kbd>' value in the original image is set to
+zero (or black), while the given '<kbd>white_point</kbd>' value is set to
+<em class="QR">QuantumRange</em> (or white).  This provides you with direct contrast adjustments
+to the image.  The '<kbd>gamma</kbd>' of the resulting image will then be
+adjusted. </p>
+
+<p>From ImageMagick v6.4.1-9 using the plus form of the operator (<kbd>+level</kbd>) or
+adding the special '!' flag anywhere in the argument list, will cause the
+operator to do the reverse of the level adjustment.  That is a zero, or
+<em class="QR">QuantumRange</em> value (black, and white, resp.) in the original image, is
+adjusted to the given level values, allowing you to de-contrast, or compress
+the channel values within the image. The '<kbd>gamma</kbd>' is adjusted before the level adjustment to de-contrast the image is made. </p>
+
+<p>Only the channels defined by the current <a href="#channel">-channel</a>
+setting are adjusted (defaults to RGB color channels only), allowing you to
+limit the effect of this operator. </p>
+
+<p>Please note that the transparency channel is treated as 'matte'
+values (0 is opaque) and not as 'alpha' values (0 is transparent).</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="level-colors" id="level-colors"></a>-level-colors {<em
+  class="arg">black_color</em>}{,}{<em class="arg">white_color</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>adjust the level of an image using the provided dash seperated colors.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This function is exactly like <a href="#level">-level</a>, except that the
+value value for each color channel is determined by the
+'<kbd>black_color</kbd>' and '<kbd>white_color</kbd>' colors given (as
+described under the <a href="#fill">-fill</a> option). </p>
+
+<p>This effectivally means the colors provided to <kbd>-level-colors</kbd>
+is mapped to become 'black' and 'white' respectivally, with all the other
+colors linearly adjusted (or clipped) to match that change. Each channel is
+adjusted separatally using the channel values of the colors specified. </p>
+
+<p>On the other hand the plus form of the operator (<kbd>+level-colors</kbd>)
+will map the image color 'black' and 'white' to the given colors
+respectivally, resulting in a gradient (de-contrasting) tint of the image to
+those colors. This can also be used to convert a plain gray-scale image into a
+one using the gradient of colors specified. </p>
+
+<p>By supplying a single color with a comma separator either before or after
+that color, will just replace the respective 'black' or 'white' point
+respectivally.  But if no comma separator is provided, the given color is
+used for both the black and white color points, making the operator either
+threshold the images around that color (- form) or set all colors to that
+color (+ form). </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="limit" id="limit"></a>-limit <em class="arg">type value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the pixel cache resource limit.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Choose from: <kbd>area</kbd>, <kbd>disk</kbd>, <kbd>file</kbd>, <kbd>map</kbd>, <kbd>memory</kbd>, <kbd>threads</kbd>, or <kbd>time</kbd>.</p>
+
+<p>The value for <kbd>file</kbd> is in number of files. The other limits are in bytes. By default the limits are 768 files, 2gb of image area, 1.5gb memory, 8gb memory map, and 16tb of disk.  These limits are adjusted relative to the available resources on your computer if this information is available.   When any limit is reached, ImageMagick fails in some fashion but attempts to take compensating actions, if possible. For example, the following limits memory:</p>
+
+<p class="crtsnip">
+  -limit memory 32mb -limit map 64mb
+</p>
+
+<p>Use <a href="#list">-list resource</a> to list the current limits. For example, our system shows these limits:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify -list resource</span><span class='crtout'><pre>File       Area     Memory        Map       Disk  Thread       Time
+-------------------------------------------------------------------
+ 768   3.8187gb    2.864gb   7.6375gb       16eb       2  unlimited</pre>
+</span></p>
+<p>Requests for pixel storage to keep intermediate images are satisfied by one of three resource categories: in-memory pool, memory-mapped files pool, and disk pool (in that order) depending on the <a href="../www/command-line-options.html#limit">&#x2011;limit</a> settings and whether the system honors a resource request. If the total size of allocated pixel storage in the given pool reaches the corresponding limit, the request is passed to the next pool. Additionally, requests that exceed the  <kbd>area</kbd> limit automagically are allocated on disk.</p>
+
+<p>To illustrate how ImageMagick utilizes resource limits, consider a typical image resource request.  First, ImageMagick tries to allocate the pixels in memory.  The request might be denied if the resource request exceeds the <kbd>memory</kbd> limit or if the system does not honor the request.  If a memory request is not honored, the pixels are allocated to disk and the file is memory-mapped. However, if the allocation request exceeds the <kbd>map</kbd> limit, the resource allocation goes to disk. In all cases, if the resource request exceeds the <kbd>area</kbd> limit, the pixels are automagically cached to disk. If the disk has a hard limit, the program fails.</p>
+
+<p>In most cases you simply do not need to concern yourself with resource limits.  ImageMagick chooses reasonable defaults and most images do not tax your computer resources.  Where limits do come in handy is when you process images that are large or on shared systems where ImageMagick can consume all or most of the available memory. In this case, the ImageMagick workflow slows other processes or, in extreme cases, brings the system to a halt.  Under these circumstances, setting limits give some assurances that the ImageMagick workflow will not interfere with other concurrent uses of the computer.  For example, assume you have a web interface that processes images uploaded from the Internet.  To assure ImageMagick does not exceed 10mb of memory you can simply set the area limit to 10mb:</p>
+
+<p class="crtsnip">
+-limit area 10mb
+</p>
+
+<p>Now whenever a large image is processed, the pixels are automagically cached to disk instead of memory.  This of course implies that large images typically process very slowly, simply because pixel processing in memory can be an order of magnitude faster than on disk.  Because your web site users might inadvertedly upload a huge image to process, you should set a disk limit as well:</p>
+
+<p class="crtsnip">
+-limit area 10mb -limit disk 500mb
+</p>
+
+<p>Here ImageMagick stops processing if an image requires more than 500MB of disk storage.</p>
+
+<p>In addition to command-line resource limit option, resources can be set with <a href="../www/resources.html#environment">environment variables</a>. Set the environment variables <kbd>MAGICK_AREA_LIMIT</kbd>, <kbd>MAGICK_DISK_LIMIT</kbd>, <kbd>MAGICK_FILE_LIMIT</kbd>, <kbd>MAGICK_MEMORY_LIMIT</kbd>, <kbd>MAGICK_MAP_LIMIT</kbd>, <kbd>MAGICK_THREAD_LIMIT</kbd>, <kbd>MAGICK_TIME_LIMIT</kbd> for limits of  image area, disk space, open files, heap memory, memory map, number of threads of execution, and maximum elapsed time in seconds respectively.</p>
+
+<p> Inquisitive users can try adding <a href="#debug">-debug cache</a> to their commands and then scouring the generated output for references to the pixel cache, in order to determine how the pixel cache was allocated and how resources were consumed. Advanced Unix/Linux users can pipe that output through <kbd>grep memory|open|destroy|disk</kbd> for more readable sifting.
+</p>
+
+<p>For more about ImageMagick's use of resources, see the section <b>Cache Storage and Resource Requirements</b> on the <a href="../www/architecture.html#cache">Architecture</a> page.
+</p>
+
+<div style="margin: auto;">
+  <h4><a name="linear-stretch" id="linear-stretch"></a>-linear-stretch <em class="arg">black-point</em><br />-linear-stretch <em class="arg">black-point</em>{x<em class="arg">white-point</em>}{<em class="arg">%</em>}}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Linear with saturation stretch.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="linewidth" id="linewidth"></a>-linewidth</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the line width for subsequent draw operations.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="liquid-rescale" id="liquid-rescale"></a>-liquid-rescale <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>rescale image with seam-carving.</td><td style='text-align:right;'></td></tr></table>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<div style="margin: auto;">
+  <h4><a name="list" id="list"></a>-list <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Print a list of supported arguments for various options or settings.  Choose from these list types:</td><td style='text-align:right;'></td></tr></table>
+
+<pre class="text">
+  coder
+  color
+  configure
+  delegate
+  font
+  format
+  list
+  log
+  magic
+  module
+  resource
+  threshold
+</pre>
+
+<p>The above lists are only some of the many lists available. These lists vary depending on your version of ImageMagick. For example use "<kbd>-list list</kbd>" to get a complete listing of all the "<kbd>-list</kbd>" arguments available:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify -list list</span></p>
+<div style="margin: auto;">
+  <h4><a name="log" id="log"></a>-log <em class="arg">string</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify format for debug log.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option specifies the format for the log printed when the <a href="#debug">-debug</a> option is active.</p>
+
+<p>You can display the following components by embedding special format characters:</p>
+
+<pre class="text">
+   %d   domain
+   %e   event
+   %f   function
+   %l   line
+   %m   module
+   %p   process ID
+   %r   real CPU time
+   %t   wall clock time
+   %u   user CPU time
+   %%   percent sign
+   \n   newline
+   \r   carriage return
+</pre>
+
+<p>For example:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -debug coders -log "%u %m:%l %e" in.gif out.png</span></p>
+<p>The default behavior is to print all of the components.</p>
+
+<div style="margin: auto;">
+  <h4><a name="loop" id="loop"></a>-loop <em class="arg">iterations</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>add Netscape loop extension to your GIF animation.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Set iterations to zero to repeat the animation an infinite number of times, otherwise the animation repeats itself up to <em class="arg">iterations</em> times.</p>
+
+<div style="margin: auto;">
+  <h4><a name="lowlight-color" id="lowlight-color"></a>-lowlight-color <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>when comparing images, de-emphasize pixel differences with this color.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="magnify" id="magnify"></a>-magnify <em class="arg">factor</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>magnify the image.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="map" id="map"></a>-map <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Display image using this <em class="arg">type</em>.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>
+
+<p>Choose from these <em class="arg">Standard Colormap</em> types:</p>
+
+<pre class="text">
+  best
+  default
+  gray
+  red
+  green
+  blue
+</pre>
+
+<p>The <em class="arg">X server</em> must support the <em class="arg">Standard Colormap</em> you choose, otherwise an error occurs.  Use <kbd>list</kbd> as the type and <kbd>display</kbd> searches the list of colormap types in <kbd>top-to-bottom</kbd> order until one is located. See <em class="arg">xstdcmap(1)</em> for one way of creating Standard Colormaps.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="map_stream_" id="map_stream_"></a>-map <em class="arg">components</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>pixel map.</td><td style='text-align:right;'>[<a href="../www/stream.html">stream</a>]</td></tr></table>
+
+<p>Here are the valid components of a map:</p>
+
+<pre class="text">
+  r        red pixel component
+  g        green pixel component
+  b        blue pixel component
+  a        alpha pixel component (0 is transparent)
+  o        opacity pixel component (0 is opaque)
+  i        grayscale intensity pixel component
+  c        cyan pixel component
+  m        magenta pixel component
+  y        yellow pixel component
+  k        black pixel component
+  p        pad component (always 0)
+</pre>
+
+<p>You can specify as many of these components as needed in any order (e.g. bgr).  The components can repeat as well (e.g. rgbr).</p>
+
+<div style="margin: auto;">
+  <h4><a name="mask" id="mask"></a>-mask
+<em class="arg">filename</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Composite the image pixels as defined by the mask.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use <a href="#mask">+mask</a> to remove the image mask.</p>
+
+<div style="margin: auto;">
+  <h4><a name="mattecolor" id="mattecolor"></a>-mattecolor <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify the color to be used with the <a href="#frame">-frame</a> option.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>
+
+<p>The default matte color is <kbd>#BDBDBD</kbd>, <span style="background-color: #bdbdbd;">this shade of gray</span>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="median" id="median"></a>-median <em class="arg">radius</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>apply a median filter to the image.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="metric" id="metric"></a>-metric <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Output to STDERR a measure of the differences between images according to the <em class="arg">type</em> given metric.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Choose from:</p>
+
+<pre class="text">
+ AE    absolute number of differnet pixels
+ MAE   mean absolute error (normalized), average channel error distance
+ MEPP  mean error per pixel (normalized mean error, normalized peak error)
+ MSE   mean error squared, average of the channel error squared
+ PAE   peak absolute (normalize peak absolute)
+ PSNR  peak signal to noise ratio
+ RMSE  root mean squared (normalized root mean squared)
+</pre>
+
+<p>The '<kbd>AE</kbd>' or absolute count of pixels that are different, can be
+controled using a <a href="#fuzz" >-fuzz</a> factor to ignore pixels which
+only changed by a small amount.  The '<kbd>PAE</kbd>' can be used to find the
+size of the <a href="#fuzz" >-fuzz</a> factor needed to make all pixels
+'similar'. </p>
+
+<p>The '<kbd>MEPP</kbd>' metric returns three different metrics
+('<kbd>MAE</kbd>', '<kbd>MAE</kbd>' normalized, and '<kbd>PAE</kbd>'
+normalized) from the single comparision run. </p>
+
+<p>To print a complete list of metrics, use the <a href="#list">-list metrics</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="mode" id="mode"></a>-mode <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Mode of operation.</td><td style='text-align:right;'>[<a href="../www/montage.html">montage</a>]</td></tr></table>
+
+<p>Choose the <em class="arg">value</em> from these styles: <kbd>Frame, Unframe, or Concatenate</kbd></p>
+
+<p>Use the <a href="#list" >-list</a> option with a '<kbd>Mode</kbd>'
+argument for a list of <a href="#mode" >-mode</a> arguments available
+in your ImageMagick installation.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="modulate" id="modulate"></a>-modulate <em class="arg">brightness</em>[,<em class="arg">saturation</em>,<em class="arg">hue</em>]</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Vary the <em class="arg">brightness</em>, <em class="arg">saturation</em>, and <em class="arg">hue</em> of an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The arguments are given as a percentages of variation. A value of 100 means no change, and any
+missing values are taken to mean 100.</p>
+
+<p>The <em class="arg">brightness</em> is a multiplier of the overall brightness of the image, so 0
+means pure black, 50 is half as bright, 200 is twice as bright. To invert its
+meaning <a href="#negate">-negate</a> the image before and after. </p>
+
+<p>The <em class="arg">saturation</em> controls the amount of color in an image. For example, 0 produce a grayscale image, while a large value such as 200 produce a very colorful, 'cartoonish' color.</p>
+
+<p>The <em class="arg">hue</em> argument causes a "rotation" of the colors within the image by the amount specified. For example, 50 results in a counter-clockwise rotation of 90, mapping red
+shades to purple, and so on. A value of either 0 or 200 results in a complete
+180 degree rotation of the image. Using a value of 300 is a 360 degree
+rotation resulting in no change to the original image. </p>
+
+<p>For example, to increase the color brightness by 20% and decrease the color saturation by 10% and leave the hue unchanged, use <a href="#modulate">-modulate 120,90</a>.</p>
+
+<p>Use <a href="#set">-set</a> attribute of '<kbd class="arg">option:modulate:colorspace</kbd>' to specify which colorspace to modulate.  Choose from <kbd>HSB</kbd>, <kbd>HSL</kbd> (the default), or <kbd>HWB</kbd>.  For example,</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png -set option:modulate:colorspace hsb -modulate 120,90 modulate.png</span></p>
+<div style="margin: auto;">
+  <h4><a name="monitor" id="monitor"></a>-monitor</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>monitor progress.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="monochrome" id="monochrome"></a>-monochrome</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>transform the image to black and white.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="morph" id="morph"></a>-morph <em class="arg">frames</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>morphs an image sequence.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Both the image pixels and size are linearly interpolated to give the
+appearance of a meta-morphosis from one image to the next, over all the images
+in the current image list. The added images are the equivalent of a <a
+href="#blend">-blend</a> composition. The <em class="arg">frames</em>
+argument determine how many images to interpolate between each image. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="mosaic" id="mosaic"></a>-mosaic</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>an simple alias for the <a href="#layers" >-layers</a> method "mosaic"</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="motion-blur" id="motion-blur"></a>-motion-blur <em class="arg">radius</em><br />-motion-blur <em class="arg">radius</em>x<em class="arg">sigma</em>+<em class="arg">angle</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate motion blur.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Blur with the given radius, standard deviation (sigma), and angle.   The
+angle given is the angle toward which the image is blurred.  That is the
+direction people would consider the object is coming from. </p>
+
+<p>Note that the blur is not uniform distribution, giving the motion a
+definate sense of direction of movement. </p>
+
+<p>The <a href="#virtual-pixel">-virtual-pixel</a> setting will determine how
+pixels which are outside the image proper are blurred into the final result.
+</p>
+
+<div style="margin: auto;">
+  <h4><a name="name" id="name"></a>-name</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>name an image.</td><td style='text-align:right;'></td></tr></table>
+<div style="margin: auto;">
+  <h4><a name="negate" id="negate"></a>-negate</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>replace every pixel with its complementary color.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The red, green, and blue intensities of an image are negated. White becomes black, yellow becomes blue, etc.  Use <a href="#negate">+negate</a> to only negate the grayscale pixels of the image.</p>
+
+<div style="margin: auto;">
+  <h4><a name="noise" id="noise"></a>-noise <em class="arg">radius</em><br/>
+  +noise <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Add or reduce noise in an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The principal function of noise peak elimination filter is to smooth the objects within an image without losing edge information and without creating undesired structures.  The central idea of the algorithm is to replace a pixel with its next neighbor in value within a pixel window, if this pixel has been found to be noise. A pixel is defined as noise if and only if this pixel is a maximum or minimum within the pixel window.</p>
+
+<p>Use <kbd><a href="#noise">-noise</a> <em class="arg">radius</em></kbd> to specify the width of the neighborhood when reducing noise.</p>
+
+<p>Use <a href="#noise">+noise</a> followed by a noise <em class="arg">type</em> to add noise to an image. Choose from these noise types:</p>
+
+<pre class="text">
+Gaussian
+Impulse
+Laplacian
+Multiplicative
+Poisson
+Random
+Uniform
+</pre>
+
+<p>To print a complete list of noises, use the <a href="#list">-list noise</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="normalize" id="normalize"></a>-normalize</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Increase the contrast in an image by <em>stretching</em> the range of intensity values.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The intensity values are stretched to cover the entire range of possible values. While doing so, black-out at most <em>2%</em> of the pixels and white-out at most <em>1%</em> of the pixels.</p>
+
+<p>Note that as of ImageMagick 6.4.7-0, <a href="#normalize" >-normalize</a> is equivalent to <a href="#contrast-stretch" >-contrast-stretch 2%x1%</a>. (Before this
+version, it was equivalent to <a href="#contrast-stretch">-contrast-stretch 2%x99%)</a></p>
+
+<p>All the channels are normalized in concert by the came amount so as to preserve color integrity.  Specify <a href="#channel">-channel</a> to normalize the RGB channels independently.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="ordered-dither" id="ordered-dither"></a>-ordered-dither <em class="arg">threshold_map</em>{,<em class="arg">level</em>...}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>dither the image using a pre-defined  ordered dither <em class="arg">threshold map</em> specified, and a uniform color map with the number of <em class="arg">levels</em> per color channel .  </td><td style='text-align:right;'></td></tr></table>
+
+<p>You can choose from these standard threshold maps:</p>
+
+<pre class="text">
+  checks
+  o2x2
+  o3x3
+  o4x4
+  o8x8
+  h4x4a
+  h6x6a
+  h8x8a
+  h4x4o
+  h6x6o
+  h8x8o
+  h16x16o
+</pre>
+
+<p>The '<kbd>o</kbd>' are ordered diffused pixel threshold maps, while the
+'<kbd>h</kbd>' maps are halftone threshold maps which are either 'a' angled,
+or 'o' orthogonal. The '<kbd>checks</kbd>' produce a 3 level checkerbord
+dither pattern.  Or you can define your own <em class="arg">threshold
+map</em> in a personal or system "<kbd>thresholds.xml</kbd>" XML file. </p>
+
+<p>To print a complete list of threshold, use the <a href="#list">-list threshold</a> option.</p>
+
+<p>It is recommended that the <a href="#map">+map</a> operator be used after
+applying <a href="#ordered-dither">-ordered-dither</a> to reduce the number of
+colors an animated image sequence, to less that 256 colors. This ensures that
+a common or global color table is used when saving the result to a color
+limited file format such as GIF.  </p>
+
+<p>Note that at this time the exact same map is used for all color channels, no
+attempt is made to offset or rotate the dither map for different channels is
+made, at this point in time. (possible future expansion) </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="opaque" id="opaque"></a>-opaque <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>change this color to the fill color within the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The <em class="arg">color</em> argument is defined using the format
+described under the <a href="#fill">-fill</a> option.
+The <a href="#fuzz">-fuzz</a> setting can be used to match and replace colors similar
+to the one given.</p>
+
+<p>The <a href="#transparent">-transparent</a>  operator is exactly the same
+as <a href="#opaque">-opaque</a> but makes the matching color transparent,
+rather than the same as the current <a href="#fill">-fill</a> color. </p>
+
+<p>Use <em class="arg">+opaque</em> to paint any pixel that does not match the target color.</p>
+
+<div style="margin: auto;">
+  <h4><a name="orient" id="orient"></a>-orient <em class="arg">image orientation</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>specify orientation of a digital camera image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Choose from these orientations:</p>
+
+<pre class="text">
+  bottom-left
+  bottom-right
+  left-bottom
+  left-top
+  right-bottom
+  right-top
+  top-left
+  top-right
+  undefined
+</pre>
+
+<p>To print a complete list of orientations, use the <a href="#list">-list orientation</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="page" id="page"></a>-page <em class="arg">geometry</em><br/>
+  -page <em class="arg">media</em>[<em class="arg">offset</em>][{<em class="arg">^!&lt;&gt;</em>}]<br/>
+  +page
+  </h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the size and location of an image on the larger virtual canvas.</td><td style='text-align:right;'></td></tr></table>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<p>For convenience you can specify the page size using <em class="arg">media</em> (see below). Offsets can then be added as with other <em class="arg">geometry</em> arguments (e.g. <a href="#page">-page</a>&nbsp;<kbd>Letter+43+43</kbd>).</p>
+
+<p>Use <em class="arg">media</em> as shorthand to specify the dimensions (<em class="arg">width</em>x<em class="arg">height</em>) of the <em class="arg">PostScript</em> page in dots per inch or a TEXT page in pixels. The choices for a PostScript page are:</p>
+<table id="geometryTable" cellpadding="2" cellspacing="0" border="1" width="50%" style="margin-left: auto; margin-right: auto;">
+<thead>
+        <tr valign="top">
+    <th align="center"><em class="arg">media</em></th>
+    <th align="center"><em class="arg">width</em></th>
+    <th align="center"><em class="arg">height</em></th>
+        </tr>
+</thead>
+<tbody>
+<tr><td align="left"> 11x17      </td> <td align="right">  792</td> <td align="right"> 1224</td> </tr>
+<tr><td align="left"> Ledger     </td> <td align="right"> 1224</td> <td align="right">  792</td> </tr>
+<tr><td align="left"> Legal      </td> <td align="right">  612</td> <td align="right"> 1008</td> </tr>
+<tr><td align="left"> Letter     </td> <td align="right">  612</td> <td align="right">  792</td> </tr>
+<tr><td align="left"> LetterSmall</td> <td align="right">  612</td> <td align="right">  792</td> </tr>
+<tr><td align="left"> ArchE      </td> <td align="right"> 2592</td> <td align="right"> 3456</td> </tr>
+<tr><td align="left"> ArchD      </td> <td align="right"> 1728</td> <td align="right"> 2592</td> </tr>
+<tr><td align="left"> ArchC      </td> <td align="right"> 1296</td> <td align="right"> 1728</td> </tr>
+<tr><td align="left"> ArchB      </td> <td align="right">  864</td> <td align="right"> 1296</td> </tr>
+<tr><td align="left"> ArchA      </td> <td align="right">  648</td> <td align="right">  864</td> </tr>
+<tr><td align="left"> A0         </td> <td align="right"> 2380</td> <td align="right"> 3368</td> </tr>
+<tr><td align="left"> A1         </td> <td align="right"> 1684</td> <td align="right"> 2380</td> </tr>
+<tr><td align="left"> A2         </td> <td align="right"> 1190</td> <td align="right"> 1684</td> </tr>
+<tr><td align="left"> A3         </td> <td align="right">  842</td> <td align="right"> 1190</td> </tr>
+<tr><td align="left"> A4         </td> <td align="right">  595</td> <td align="right">  842</td> </tr>
+<tr><td align="left"> A4Small    </td> <td align="right">  595</td> <td align="right">  842</td> </tr>
+<tr><td align="left"> A5         </td> <td align="right">  421</td> <td align="right">  595</td> </tr>
+<tr><td align="left"> A6         </td> <td align="right">  297</td> <td align="right">  421</td> </tr>
+<tr><td align="left"> A7         </td> <td align="right">  210</td> <td align="right">  297</td> </tr>
+<tr><td align="left"> A8         </td> <td align="right">  148</td> <td align="right">  210</td> </tr>
+<tr><td align="left"> A9         </td> <td align="right">  105</td> <td align="right">  148</td> </tr>
+<tr><td align="left"> A10        </td> <td align="right">   74</td> <td align="right">  105</td> </tr>
+<tr><td align="left"> B0         </td> <td align="right"> 2836</td> <td align="right"> 4008</td> </tr>
+<tr><td align="left"> B1         </td> <td align="right"> 2004</td> <td align="right"> 2836</td> </tr>
+<tr><td align="left"> B2         </td> <td align="right"> 1418</td> <td align="right"> 2004</td> </tr>
+<tr><td align="left"> B3         </td> <td align="right"> 1002</td> <td align="right"> 1418</td> </tr>
+<tr><td align="left"> B4         </td> <td align="right">  709</td> <td align="right"> 1002</td> </tr>
+<tr><td align="left"> B5         </td> <td align="right">  501</td> <td align="right">  709</td> </tr>
+<tr><td align="left"> C0         </td> <td align="right"> 2600</td> <td align="right"> 3677</td> </tr>
+<tr><td align="left"> C1         </td> <td align="right"> 1837</td> <td align="right"> 2600</td> </tr>
+<tr><td align="left"> C2         </td> <td align="right"> 1298</td> <td align="right"> 1837</td> </tr>
+<tr><td align="left"> C3         </td> <td align="right">  918</td> <td align="right"> 1298</td> </tr>
+<tr><td align="left"> C4         </td> <td align="right">  649</td> <td align="right">  918</td> </tr>
+<tr><td align="left"> C5         </td> <td align="right">  459</td> <td align="right">  649</td> </tr>
+<tr><td align="left"> C6         </td> <td align="right">  323</td> <td align="right">  459</td> </tr>
+<tr><td align="left"> Flsa       </td> <td align="right">  612</td> <td align="right">  936</td> </tr>
+<tr><td align="left"> Flse       </td> <td align="right">  612</td> <td align="right">  936</td> </tr>
+<tr><td align="left"> HalfLetter </td> <td align="right">  396</td> <td align="right">  612</td> </tr>
+</tbody>
+</table>
+
+
+
+
+<p>This option is also used to place subimages when writing to a multi-image format that supports offsets, such as GIF89 and MNG. When used for this purpose the offsets are always measured from the top left corner of the canvas and are not affected by the <a href="#gravity">-gravity</a> option. To position a GIF or MNG image, use <a href="#page">-page</a><em class="arg">{+-}x{+-}y</em> (e.g.  -page +100+200). When writing to a MNG file, a <a href="#page">-page</a> option appearing ahead of the first image in the sequence with nonzero width and height defines the width and height values that are written in the <kbd>MHDR</kbd> chunk.  Otherwise, the MNG width and height are computed from the bounding box that contains all images in the sequence. When writing a GIF89 file, only the bounding box method is used to determine its dimensions.</p>
+
+<p>For a PostScript page, the image is sized as in <a href="#geometry">-geometry</a> but positioned relative to the <em>lower left-hand corner</em> of the page by {+-}<kbd>x</kbd><em class="arg">offset</em>{+-}<kbd>y</kbd> <em class="arg">offset</em>. Use <a href="#page">-page 612x792</a>, for example, to center the image within the page. If the image size exceeds the PostScript page, it is reduced to fit the page. The default gravity for the <a href="#page">-page</a> option is <em class="arg">NorthWest</em>, i.e., positive <kbd>x</kbd> and <kbd>y</kbd> <em class="arg">offset</em> are measured rightward and downward from the top left corner of the page, unless the <a href="#gravity">-gravity</a> option is present with a value other than <em class="arg">NorthWest</em>.</p>
+
+<p>The default page dimensions for a TEXT image is 612x792.</p>
+
+<p>This option is used in concert with <a href="#density">-density</a>.</p>
+
+<p>Use <a href="#page">+page</a> to remove the page settings for an image.</p>
+
+<div style="margin: auto;">
+  <h4><a name="paint" id="paint"></a>-paint <em class="arg">radius</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate an oil painting.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Each pixel is replaced by the most frequent color in a circular neighborhood whose width is specified with <em class="arg">radius</em>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="path" id="path"></a>-path <em class="arg">path</em></h4></div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>write images to this path on disk.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="pause_animate_" id="pause_animate_"></a>-pause <em class="arg">seconds</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Pause between animation loops.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>]</td></tr></table>
+
+<p>Pause for the specified number of seconds before repeating the animation.</p>
+
+<div style="margin: auto;">
+  <h4><a name="pause_import_" id="pause_import_"></a>-pause <em class="arg">seconds</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Pause between snapshots.</td><td style='text-align:right;'>[<a href="../www/import.html">import</a>]</td></tr></table>
+
+<p>Pause for the specified number of seconds before taking the next snapshot.</p>
+
+<div style="margin: auto;">
+  <h4><a name="ping" id="ping"></a>-ping</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>efficiently determine image characteristics.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="pointsize" id="pointsize"></a>-pointsize <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>pointsize of the PostScript, OPTION1, or TrueType font.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="polaroid" id="polaroid"></a>-polaroid <em class="arg">angle</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate a Polaroid picture.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use <kbd>+polaroid</kbd> to rotate the image at a random angle between -15 and +15 degrees.</p>
+
+<div style="margin: auto;">
+  <h4><a name="posterize" id="posterize"></a>-posterize <em class="arg">levels</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>reduce the image to a limited number of color levels.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="preview" id="preview"></a>-preview <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>image preview type.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use this option to affect the preview operation of an image (e.g. <kbd>convert file.png -preview Gamma Preview:gamma.png</kbd>). Choose from these previews:</p>
+
+<pre class="text">
+  Rotate
+  Shear
+  Roll
+  Hue
+  Saturation
+  Brightness
+  Gamma
+  Spiff
+  Dull
+  Grayscale
+  Quantize
+  Despeckle
+  ReduceNoise
+  Add Noise
+  Sharpen
+  Blur
+  Threshold
+  EdgeDetect
+  Spread
+  Shade
+  Raise
+  Segment
+  Solarize
+  Swirl
+  Implode
+  Wave
+  OilPaint
+  CharcoalDrawing
+  JPEG
+</pre>
+
+<p>To print a complete list of previews, use the <a href="#list">-list preview</a> option.</p>
+
+<p>The default preview is <kbd>JPEG</kbd>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="print" id="print"></a>-print <em class="arg">string</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>interpret string and print to console.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="process" id="process"></a>-process <em class="arg">command</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>process the image with a custom image filter.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The command arguments has the form <kbd>"module arg1 arg2 arg3 ... argN"</kbd> where <kbd>module</kbd> is the name of the module to invoke (e.g.  "Analyze") and arg1 arg2 arg3 ... argN are an arbitrary number of arguments to pass to the process module.</p>
+
+<div style="margin: auto;">
+  <h4><a name="profile" id="profile"></a>-profile <em class="arg">filename</em><br/>
+  +profile <em class="arg">profile_name</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Manage ICM, IPTC, or generic profiles in an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Using <a href="#profile">-profile</a> <em class="arg">filename</em> adds an ICM (ICC color management), IPTC (newswire information), or a generic profile to the image.</p>
+
+<p>Use <a href="#profile">+profile <em class="arg">profile_name</em></a> to remove the indicated profile. ImageMagick uses standard filename globbing, so wildcard expressions may be used to remove more than one profile.  Here we remove all profiles from the image except for the XMP profile:  <kbd>+profile "!xmp,*"</kbd>. </p>
+
+<p>Use <kbd>identify -verbose</kbd> to find out which profiles are in the image file. Use <a href="#strip">-strip</a> to remove all profiles (and comments).</p>
+
+<p>To extract a profile, the <a href="#profile">-profile</a> option is not used. Instead, simply write the file to an image format such as <em class="arg">APP1, 8BImageMagick, ICM,</em> or <em class="arg">IPTC</em>.</p>
+
+<p>For example, to extract the Exif data (which is stored in JPEG files in the <em class="arg">APP1</em> profile), use.</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert cockatoo.jpg profile.exif</span></p>
+<p>It is important to note that results may depend on whether or not the original image already has an included profile. Also, keep in mind that <a href="#profile">-profile</a> is an "operator" (as opposed to a "setting") and therefore a conversion is made each time it is encountered, in order, in the command-line. For instance, in the following example, if the original image is CMYK with profile, a CMYK-CMYK-RGB conversion results.</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert CMYK.tif -profile "CMYK.icc" -profile "RGB.icc" RGB.tiff</span></p>
+<p>Furthermore, since ICC profiles are not necessarily symmetric, extra conversion steps can yield unwanted results.
+CMYK profiles are often very asymmetric since they involve 3&minus;&gt;4 and 4&minus;&gt;3 channel mapping.
+</p>
+
+<div style="margin: auto;">
+  <h4><a name="quality" id="quality"></a>-quality <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>JPEG/MIFF/PNG compression level.</td><td style='text-align:right;'></td></tr></table>
+
+<p>For the JPEG and MPEG image formats, quality is 0 (lowest image quality and highest compression) to 100 (best quality but least effective compression). The default is to use the estimate quality of your input image otherwise 85. Use the <a href="#sampling-factor">-sampling-factor</a> option to specify the factors for chroma downsampling.</p>
+
+<p>For the MIFF image format, quality/10 is the zlib compression level, which is 0 (worst but fastest compression) to 9 (best but slowest). It has no effect on the image appearance, since the compression is always lossless.</p>
+
+<p>For the JPEG-2000 image format, quality is mapped using a non-linear equation to the compression ratio required by the Jasper library. This non-linear equation is intended to loosely approximate the quality provided by the JPEG v1 format. The default quality value 85 results in a request for 16:1 compression. The quality value 100 results in a request for non-lossy compression.</p>
+
+<p>For the MNG and PNG image formats, the quality value sets the zlib compression level (quality / 10) and filter-type (quality % 10). Compression levels range from 0 (fastest compression) to 100 (best but slowest). For compression level 0, the Huffman-only strategy is used, which is fastest but not necessarily the worst compression.</p>
+
+<p>If filter-type is 4 or less, the specified filter-type is used for all scanlines:</p>
+
+<pre class="text">
+  0: none
+  1: sub
+  2: up
+  3: average
+  4: Paeth
+</pre>
+
+<p>If filter-type is 5, adaptive filtering is used when quality is greater than 50 and the image does not have a color map, otherwise no filtering is used.</p>
+
+<p>If filter-type is 6, adaptive filtering with <em class="arg">minimum-sum-of-absolute-values</em> is used.</p>
+
+<p>Only if the output is MNG, if filter-type is 7, the LOCO color transformation and adaptive filtering with <em class="arg">minimum-sum-of-absolute-values</em> are used.</p>
+
+<p>The default is quality is 85, which means nearly the best compression with adaptive filtering. The quality setting has no effect on the appearance of PNG and MNG images, since the compression is always lossless.</p>
+
+<p>For further information, see the <a href="http://www.w3.org/pub/WWW/TR">PNG</a> specification.</p>
+
+<p>When writing a JNG image with transparency, two quality values are required, one for the main image and one for the grayscale image that conveys the alpha channel. These are written as a single integer equal to the main image quality plus 1000 times the opacity quality. For example, if you want to use quality 85 for the main image and quality 90 to compress the opacity data, use <a href="#quality">-quality 90085</a>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="quantize" id="quantize"></a>-quantize <em class="arg">colorspace</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>reduce colors in this colorspace.</td><td style='text-align:right;'></td></tr></table>
+
+<p>To print a complete list of colorspaces, use the <a href="#list">-list colorspace</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="quiet" id="quiet"></a>-quiet</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>suppress all warning messages. Error messages are still reported.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="radial-blur" id="radial-blur"></a>-radial-blur  <em class="arg">angle</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Blur around the center of the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Note that this is actually a rotational blur rather than a radial and as
+such actually mis-named. </p>
+
+<p>The <a href="#virtual-pixel">-virtual-pixel</a> setting will determine how
+pixels which are outside the image proper are blurred into the final result.
+</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="raise" id="raise"></a>-raise <em class="arg">thickness</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Lighten or darken image edges.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This will create a 3-D effect. Use <a href="#raise">-raise</a> to create a raised effect, otherwise use <a href="#raise">+raise</a>.
+</p>
+
+<p>Unlike the similar <a href="#frame">-frame</a> option, <a href="#raise">-raise</a> does not alter the dimensions of the image.</p>
+
+<div style="margin: auto;">
+  <h4><a name="random-threshold" id="random-threshold"></a>-random-threshold <em class="arg">low</em>x<em class="arg">high</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply a random threshold to the image.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="recolor" id="recolor"></a>-recolor <em class="arg">matrix</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Translate, scale, shear, or rotate image colors.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Although variable-sized matrices can be used, typically one uses a  5x5 matrix for an RGBA image and a 6x6 for CMYKA.  Populate the last row with normalized values to translate.
+</p>
+
+<div style="margin: auto;">
+  <h4><a name="red-primary" id="red-primary"></a>-red-primary <em class="arg">x,y</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the red chromaticity primary point.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="regard-warnings" id="regard-warnings"></a>-regard-warnings</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Pay attention to warning messages.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="remap" id="remap"></a>-remap <em class="arg">filename</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Reduce the number of colors in an image to the colors used by this image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>If the <a href="#dither">-dither</a> setting is enabled (the default) then
+the given colors are dithered over the image as necessary, otherwise the closest
+color (in RGB colorspace) is selected to replace that pixel in the image. </p>
+
+<p>As a side effect of applying a <a href="#remap">-remap</a> of colors across all
+images in the current image sequence, all the images will have the same color
+table.  That means that when saved to a file format such as GIF, it will use
+that color table as a single common or global color table, for all the images,
+without requiring extra local color tables. </p>
+
+<p>Use <a href="#remap">+remap</a> to reduce all images in the current image
+sequence to use a common color map over all the images. This equivalent to
+appending all the images together (without extra background colors) and color
+reducing those images using <a href="#colors">-colors</a> with a 256 color
+limit, then <a href="#remap">-remap</a> those colors over the original list of
+images. This ensures all the images follow a single color map. </p>
+
+<p>If the number of colors over all the images is less than 256, then <a
+href="#remap">+remap</a> should not perform any color reduction or dithering, as
+no color changes are needed. In that case, its only effect is to force the use
+of a global color table.  This recommended after using either <a
+href="#colors">-colors</a> or <a href="#ordered-dither">-ordered-dither</a> to
+reduce the number of colors in an animated image sequence. </p>
+
+<div style="margin: auto;">
+  <h4><a name="region" id="region"></a>-region <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set a region in which subsequent operations apply.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The <em class="arg">x</em> and <em class="arg">y</em> offsets are treated in the same manner as in <a href="#crop">-crop</a>.</p>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<div style="margin: auto;">
+  <h4><a name="remote" id="remote"></a>-remote</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>perform a remote operation.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The only command recognized is the name of an image file to load.</p>
+
+<p>If you have more than one <a href="../www/display.html">display</a> application running simultaneously, use the <a href="#window"> window</a> option to specify which application to control.</p>
+
+<div style="margin: auto;">
+  <h4><a name="render" id="render"></a>-render</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>render vector operations.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use <a href="#render">+render</a> to turn off rendering vector operations. This useful when saving the result to vector formats such as MVG or SVG.</p>
+
+<div style="margin: auto;">
+<h4><a name="repage" id="repage"></a>-repage <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Adjust the canvas and offset information of the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option is like <a href="#page">-page</a> but acts as an image operator
+rather than a setting.  You can separately set the canvas size or the offset
+of the image on that canvas by only providing those components. </p>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<p>If a <kbd>!</kbd> flag is given the offset given is added to the existing
+offset to move the image relative to its previous position. This useful for
+animation sequences. </p>
+
+<p>A given a canvas size of zero such as '<kbd>0x0</kbd>' forces it to
+recalculate the canvas size so the image (at its current offset) will appear
+completely on that canvas (unless it has a negative offset).</p>
+
+<p>Use <a href="#repage">+repage</a> to completely remove/reset the virtual
+canvas meta-data from the images. </p>
+
+<p>The <a href="#set">-set</a> '<kbd>page</kbd>' option can be used to
+directly assign virtual canvas meta-data. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="resample" id="resample"></a>-resample <em class="arg">horizontal</em>x<em class="arg">vertical</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Resample image to specified horizontal and vertical resolution.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Resize the image so that its rendered size remains the same as the original at the specified target resolution. For example, if a 300 DPI image renders at 3 inches by 2 inches on a 300 DPI device, when the image has been resampled to 72 DPI, it will render at 3 inches by 2 inches on a 72 DPI device.  Note that only a small number of image formats (e.g. JPEG, PNG, and TIFF) are capable of storing the image resolution. For formats which do not support an image resolution, the original resolution of the image must be specified via <a href="#density">-density</a> on the command line prior to specifying the resample resolution.</p>
+
+<p>Note that Photoshop stores and obtains image resolution from a proprietary embedded profile. If this profile exists in the image, then Photoshop will continue to treat the image using its former resolution, ignoring the image resolution specified in the standard file header.</p>
+
+<div style="margin: auto;">
+  <h4><a name="resize" id="resize"></a>-resize <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Resize an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. Offsets, if present in the geometry string, are ignored, and the <a href="#gravity">-gravity</a> option has no effect.</p>
+
+<p>If the <a href="#filter">-filter</a> option precedes the <a href="#resize">-resize</a> option, the image is resized with the specified filter.</p>
+
+<div style="margin: auto;">
+  <h4><a name="respect-parentheses" id="respect-parentheses"></a>-respect-parentheses</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>settings remain in effect until parenthesis boundary.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="reverse" id="reverse"></a>-reverse</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Reverse the order of images in the current image list.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="roll" id="roll"></a>-roll {<em class="arg">+-</em>}<em class="arg">x</em>{<em class="arg">+-</em>}<em class="arg">y</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>roll an image vertically or horizontally by the amount given.</td><td style='text-align:right;'></td></tr></table>
+
+<p>A negative <em class="arg">x</em> offset rolls the image left-to-right. A negative <em class="arg">y</em> offset rolls the image top-to-bottom.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="rotate" id="rotate"></a>-rotate <em class="arg">degrees</em>{<em class="arg">&lt;</em>}{<em class="arg">&gt;</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply Paeth image rotation (using shear operations) to the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use <kbd>&gt;</kbd> to rotate the image only if its width exceeds the height. <kbd>&lt;</kbd> rotates the image <em>only</em> if its width is less than the height. For example, if you specify <kbd>-rotate "-90&gt;"</kbd> and the image size is 480x640, the image is not rotated. However, if the image is 640x480, it is rotated by -90 degrees. If you use <kbd>&gt;</kbd> or <kbd>&lt;</kbd>, enclose it in quotation marks to prevent it from being misinterpreted as a file redirection.</p>
+
+<p>Empty triangles in the corners, left over from rotating the image, are
+filled with the <kbd>background</kbd> color. </p>
+
+<p>See also the <a href="#distort">-distort</a> operator and specifically the
+'<kbd>ScaleRotateTranslate</kbd>' distort method. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="sample" id="sample"></a>-sample <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>scale image using pixel sampling.</td><td style='text-align:right;'></td></tr></table>
+
+<p><a href="#sample">-sample</a> ignores the current <a href="#resize">-resize</a> <a href="#filter">-filter</a> setting. The results are equivalent to using <a href="#resize">-resize</a> with a <a href="#filter">-filter</a> setting of <kbd>point</kbd>,  though <a href="#sample">-sample</a> is a lot faster. </p>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. Offsets, if present in the geometry string, are ignored, and the <a href="#gravity">-gravity</a> option has no effect.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="sampling-factor" id="sampling-factor"></a>-sampling-factor <em class="arg">horizontal-factor</em>x<em class="arg">vertical-factor</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>sampling factors used by JPEG or MPEG-2 encoder and YUV decoder/encoder.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option specifies the sampling factors to be used by the JPEG encoder for chroma downsampling. If this option is omitted, the JPEG library will use its own default values. When reading or writing the YUV format and when writing the M2V (MPEG-2) format, use <a href="#sampling-factor">-sampling-factor 2x1</a> or <a href="#sampling-factor">-sampling-factor 4:2:2</a> to specify the 4:2:2 downsampling method.</p>
+
+<div style="margin: auto;">
+  <h4><a name="scale" id="scale"></a>-scale <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>scale the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <a href="#scale">-scale</a> option uses a simpler, faster algorithm than <a href="#resize">-resize</a>, and it ignores the <a href="#filter">-filter</a> setting if one is present. Offsets, if present in the <em class="arg">geometry</em> string, are ignored, and the <a href="#gravity">-gravity</a> option has no effect.</p>
+
+<div style="margin: auto;">
+  <h4><a name="scene" id="scene"></a>-scene <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set scene number.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option sets the scene number of an image or the first image in an image sequence.</p>
+
+<div style="margin: auto;">
+  <h4><a name="screen" id="screen"></a>-screen</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>specify the screen to capture.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option indicates that the GetImage request used to obtain the image should be done on the root window, rather than directly on the specified window. In this way, you can obtain pieces of other windows that overlap the specified window, and more importantly, you can capture menus or other popups that are independent windows but appear over the specified window.</p>
+
+<div style="margin: auto;">
+  <h4><a name="seed" id="seed"></a>-seed</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>seed a new sequence of pseudo-random numbers</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="segment" id="segment"></a>-segment <em class="arg">cluster-threshold</em>x<em class="arg">smoothing-threshold</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>segment the colors of an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Segment an image by analyzing the histograms of the color components and identifying units that are homogeneous with the fuzzy c-means technique. This is part of the ImageMagick color quantization routines. </p>
+
+<p>Specify <em class="arg">cluster threshold</em> as the number of pixels in each cluster that must exceed the cluster threshold to be considered valid. <em class="arg">Smoothing threshold</em> eliminates noise in the second derivative of the histogram. As the value is increased, you can expect a smoother second derivative.  The default is 1.5.</p>
+
+<p>If the <a href="#verbose">-verbose</a> setting is defined, a detailed report
+of the color clusters is returned.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="selective-blur" id="selective-blur"></a>-selective-blur <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Selectively blur pixels within a contrast threshold.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="separate" id="separate"></a>-separate</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>separate an image channel into a grayscale image.  Specify the channel with <a href="#channel">-channel</a>.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="sepia-tone" id="sepia-tone"></a>-sepia-tone <em class="arg">threshold</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate a sepia-toned photo.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Specify <em class="arg">threshold</em> as the percent threshold of the intensity (0 - 99.9%).</p>
+
+<p>This option applies a special effect to the image, similar to the effect achieved in a photo darkroom by sepia toning.  Threshold ranges from 0 to <em class="QR">QuantumRange</em> and is a measure of the extent of the sepia toning.  A threshold of 80% is a good starting point for a reasonable tone.</p>
+
+<div style="margin: auto;">
+  <h4><a name="set" id="set"></a>-set <em class="arg">attribute value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set an image attribute for all images in the current image sequence, after they have been created or read in. </td><td style='text-align:right;'></td></tr></table>
+
+<p>Attributes of interest include <a href="#comment">-comment</a>, <a href="#delay">-delay</a>, <a href="#dispose">-dispose</a>, and <a href="#page">-page</a>.  For example:</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert rose: -set comment 'Rose is a rose is a rose is a rose' rose.png</span><span class='crtout'></span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify -format %c rose.png</span><span class='crtout'>Rose is a rose is a rose is a rose</span></p>
+<p>The <a href="#repage">-repage</a> operator will also set the
+'<kbd>page</kbd>' attribute of images already in memory, but allows you to
+separately set the virtual canvas's size and offset components, and also allows
+relative offset changes, and automatic canvas size re-calculating.  The above
+<a href="#set">-set</a> option is purely a direct, unmodified assignment of the
+virtual canvas (page) meta-data. </p>
+
+<p>Set image options by prefixing the value with <kbd>option:</kbd>.  Set attributes of the image registry by prefixing the value with <kbd>registry:</kbd>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="shade" id="shade"></a>-shade <em class="arg">azimuth</em>x<em class="arg">elevation</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>shade the image using a distant light source.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Specify <em class="arg">azimuth</em> and <em class="arg">elevation</em> as the position of the light source. Use <a href="#shade">+shade</a> to return the shading results as a grayscale image.</p>
+
+<div style="margin: auto;">
+  <h4><a name="shadow" id="shadow"></a>-shadow <em class="arg">percent-opacity</em>{x<em class="arg">sigma</em>}{<em class="arg">+-</em>}<em class="arg">x</em>{<em class="arg">+-</em>}<em class="arg">y</em>{<em class="arg">%</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate an image shadow.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="shared-memory"
+id="shared-memory"></a>-shared-memory</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>use shared memory.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option specifies whether the utility should attempt to use shared memory for pixmaps. ImageMagick must be compiled with shared memory support, and the display must support the <em class="arg">MIT-SHM</em> extension. Otherwise, this option is ignored. The default is <kbd>True</kbd>.</p>
+
+<div style="margin: auto;">
+  <h4><a name="sharpen" id="sharpen"></a>-sharpen <em class="arg">radius</em>{x<em class="arg">sigma</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>sharpen the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use a Gaussian operator of the given radius and standard deviation (sigma).</p>
+
+<div style="margin: auto;">
+  <h4><a name="shave" id="shave"></a>-shave <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Shave pixels from the image edges.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The <em class="arg">size</em> portion of the <em class="arg">geometry</em> argument specifies the width of the region to be removed from both sides of the image and the height of the regions to be removed from top and bottom. Offsets are ignored.</p>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<div style="margin: auto;">
+  <h4><a name="shear" id="shear"></a>-shear <em class="arg">Xdegrees</em>[x<em class="arg">Ydegrees</em>]</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Shear the image along the x-axis and/or y-axis.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The shear angles may be positive, negative, or zero. When <em class="arg">Ydegrees</em> is omitted it defaults to 0. When both angles are given, the horizontal component of the shear is performed before the vertical component.</p>
+
+<p>Shearing slides one edge of an image along the x-axis or y-axis (i.e., horizontally or vertically, respectively),creating a parallelogram. The amount of each is controlled by the respective shear angle. For horizontal shears, <em class="arg">Xdegrees</em> is measured clockwise relative to "up" (the negative y-axis), sliding the top edge to the right when 0&deg;&lt;<em class="arg">Xdegrees</em>&lt;90&deg; and to the left when 90&deg;&lt;<em class="arg">Xdegrees</em>&lt;180&deg;.  For vertical shears <em class="arg">Ydegrees</em> is measured clockwise relative to "right" (the positive x-axis), sliding the right edge down when 0&deg;&lt;<em class="arg">Ydegrees</em>&lt;90&deg; and up when 90&deg;&lt;<em class="arg">Ydegrees</em>&lt;180&deg;.</p>
+
+<p>Empty triangles left over from shearing the image are filled with the color defined by the <a href="#fill">-background</a> option. The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>
+
+<p>The horizontal shear is performed before the vertical part. This is important to note, since horizontal and vertical shears do not <em>commute</em>, i.e., the order matters in a sequence of shears. For example, the following two commands are not equivalent.</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert logo: -shear 20x0 -shear 0x60 logo-sheared.png</span><span class='crtout'></span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert logo: -shear 0x60 -shear 20x0 logo-sheared.png</span></p>
+<p>The first of the two commands above is equivalent to the following, except for the amount of empty space created; the command that follows generates a smaller image, and so is a better choice in terms of time and space.</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert logo: -shear 20x60 logo-sheared.png</span></p>
+<div style="margin: auto;">
+  <h4><a name="sigmoidal" id="sigmoidal-contrast"></a>-sigmoidal-contrast <em class="arg">contrast</em>x<em class="arg">mid-point</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>increase the contrast without saturating highlights or shadows.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Increase the contrast of the image using a sigmoidal transfer function without saturating highlights or shadows. <em class="arg">Contrast</em> indicates how much to increase the contrast (0 is none; 3 is typical; 20 is a lot); <em class="arg">mid-point</em> indicates where midtones fall in the resultant image (0 is white; 50% is middle-gray; 100% is black).  By default the image contrast is increased, use <em class="arg">+sigmoidal-contrast</em> to decrease the contrast.</p>
+
+<div style="margin: auto;">
+  <h4><a name="silent" id="silent"></a>-silent</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>operate silently.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="size" id="size"></a>-size <em class="arg">width</em>[x<em class="arg">height</em>][<em class="arg">+offset</em>]</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set the width and height of the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use this option to specify the width and height of raw images whose dimensions are unknown such as <kbd>GRAY</kbd>, <kbd>RGB</kbd>, or <kbd>CMYK</kbd>. In addition to width and height, use <a href="#size">-size</a> with an offset to skip any header information in the image or tell the number of colors in a <kbd>MAP</kbd> image file, (e.g. -size 640x512+256).</p>
+
+<p>For Photo CD images, choose from these sizes:</p>
+
+<pre class="text">
+  192x128
+  384x256
+  768x512
+  1536x1024
+  3072x2048
+</pre>
+
+<p>Finally, use this option to choose a particular resolution layer of a JBIG or JPEG image (e.g. -size 1024x768).</p>
+
+<div style="margin: auto;">
+  <h4><a name="sketch" id="sketch"></a>-sketch <em class="arg">radius</em><br />-sketch <em class="arg">radius</em>x<em class="arg">sigma</em>+<em class="arg">angle</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>simulate a pencil sketch.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Sketch with the given radius, standard deviation (sigma), and angle.   The angle given is the angle toward which the image is sketched.  That is the direction people would consider the object is coming from.  </p>
+
+<div style="margin: auto;">
+  <h4><a name="snaps" id="snaps"></a>-snaps <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the number of screen snapshots.</td><td style='text-align:right;'>[<a href="../www/import.html">import</a>]</td></tr></table>
+
+<p>Use this option to grab more than one image from the X server screen, to create an animation sequence.</p>
+
+<div style="margin: auto;">
+  <h4><a name="solarize" id="solarize"></a>-solarize <em class="arg">threshold</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>negate all pixels above the threshold level.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Specify <em class="arg">factor</em> as the percent threshold of the intensity (0 - 99.9%).</p>
+
+<p>This option produces a <em class="arg">solarization</em> effect seen when exposing a photographic film to light during the development process.</p>
+
+<div style="margin: auto;">
+  <h4><a name="sparse-color" id="sparse-color"></a>-sparse-color <em
+  class="arg">method</em>  '<em class="arg">x</em>,<em class="arg">y</em> <em class="arg">color</em>  ...'</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'> color the given image using the specified points of color, and filling the other intervening colors using the given methods. </td><td style='text-align:right;'></td></tr></table>
+
+
+<table class="doc">
+  <tbody>
+  <tr valign="top">
+    <th align="left" style="width: 8%">Method</th>
+    <th align="left">Description</th>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">voronoi</td>
+    <td valign="top">Simply map each pixel to the to nearest color point
+        given. The result are polygonal 'cells' of solid color. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">shepards</td>
+    <td valign="top">Colors points basied on the ratio of inverse distance
+        squared. Generating spots of color in a sea of the average of
+        colors. </td>
+    </tr>
+
+  <tr valign="top">
+    <td valign="top">barycentric</td>
+    <td valign="top">three point triangle of color given 3 points.
+        Giving only 2 points will form a linear gradient between those points.
+        Gradient is however not restricted to just the triangle or line. </td>
+  </tr>
+
+  <tr valign="top">
+    <td valign="top">bilinear</td>
+    <td valign="top">Like barycentric but for 4 points. Less than 4 points
+        fall back to barycentric. </td>
+  </tr>
+
+  </tbody>
+</table>
+
+<p>The points are placed according to the images location on the virtual
+canvas (<a href="#page" >-page</a> or <a href="#repage" >-repage</a>
+offset), and do not actually have to exist on the given image, but may be
+some point beyond the edge of the image. All points are floating point values.
+</p>
+
+<p>Only the color channels defined by the <a href="#channel" >-channel</a> are
+modified, whcih means the matte/alpha transparency channel is not effected by
+default. If enabled, the image also needs a the matte/alpha channel to be
+enabled for this operator to effect an images transparency. This is typical
+transparency handling for images. </p>
+
+<p>All the above methods when given a single point of color will replace all
+the colors in the image with the color given, regardless of the point. This is
+logical, and provides an alternative technique to recolor a image to some
+default value. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="splice" id="splice"></a>-splice <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Splice the current background color into the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. See <a href="#background">-background</a> to reset the background color.</p>
+
+<div style="margin: auto;">
+  <h4><a name="spread" id="spread"></a>-spread <em class="arg">amount</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>displace image pixels by a random amount.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The argument <em class="arg">amount</em> defines the size of the neighborhood around each pixel from which to choose a candidate pixel to swap.</p>
+
+<div style="margin: auto;">
+  <h4><a name="stegano" id="stegano"></a>-stegano <em class="arg">offset</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>hide watermark within an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Use an offset to start the image hiding some number of pixels from the beginning of the image. Note this offset and the image size. You will need this information to recover the steganographic image (e.g. display -size 320x256+35 stegano:image.png).</p>
+
+<div style="margin: auto;">
+  <h4><a name="stereo" id="stereo"></a>-stereo <em class="arg">+x</em>{<em class="arg">+y</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>composite two images to create a stereo anaglyph.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>
+
+<p>The left side of the stereo pair is saved as the red channel of the output image. The right side is saved as the green channel. Red-green stereo glasses are required to properly view the stereo image.</p>
+
+<div style="margin: auto;">
+  <h4><a name="storage-type" id="storage-type"></a>-storage-type <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>pixel storage type.  Here are the valid types:</td><td style='text-align:right;'></td></tr></table>
+
+<pre class="text">
+  char        store pixels as unsigned characters
+  double      store pixels as doubles
+  float       store pixels as floats
+  integer     store pixels as integers
+  long        store pixels as longs
+  quantum     store pixels in the native depth of your ImageMagick distribution
+  short       store pixels as unsigned shorts
+</pre>
+
+<p>Float and double types are normalized from 0.0 to 1.0 otherwise the pixels
+values range from 0 to the maximum value the storage type can support.</p>
+
+<div style="margin: auto;">
+  <h4><a name="stretch" id="stretch"></a>-stretch <em class="arg">fontStretch</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set a type of stretch style for fonts.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This setting suggests a type of stretch that ImageMagick should try to apply to the currently selected font family. Select <em class="arg">fontStretch</em> from the following.</p>
+
+<pre class="text">
+        Any
+        Condensed
+        Expanded
+        ExtraCondensed
+        ExtraExpanded
+        Normal
+        SemiCondensed
+        SemiExpanded
+        UltraCondensed
+        UltraExpanded
+</pre>
+
+<p>To print a complete list of stretch types, use <a href="#list">-list stretch</a>.</p>
+
+<p>For other settings that affect fonts, see the options <a href="#font">-font</a>, <a href="#family">-family</a>, <a href="#style">-style</a>, and <a href="#weight">-weight</a>. </p>
+
+<div style="margin: auto;">
+  <h4><a name="strip" id="strip"></a>-strip</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>strip the image of any profiles or comments.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="stroke" id="stroke"></a>-stroke <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>color to use when stroking a graphic primitive.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>
+
+<p>See <a href="#draw">-draw</a> for further details.</p>
+
+<div style="margin: auto;">
+  <h4><a name="strokewidth" id="strokewidth"></a>-strokewidth <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set the stroke width.</td><td style='text-align:right;'></td></tr></table>
+
+<p>See <a href="#draw">-draw</a> for further details.</p>
+
+<div style="margin: auto;">
+  <h4><a name="style" id="style"></a>-style <em class="arg">fontStyle</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set a font style for text.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This setting suggests a font style that ImageMagick should try to apply to the currently selected font family. Select <em class="arg">fontStyle</em> from the following.</p>
+
+<pre class="text">
+        Any
+        Italic
+        Normal
+        Oblique
+</pre>
+
+<p>For other settings that affect fonts, see the options <a href="#font">-font</a>, <a href="#family">-family</a>, <a href="#stretch">-stretch</a>, and <a href="#weight">-weight</a>. </p>
+
+<div style="margin: auto;">
+  <h4><a name="swap" id="swap"></a>-swap <em class="arg">index,index</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Swap the positions of two images in the image sequence.</td><td style='text-align:right;'></td></tr></table>
+
+<p>For example, <a href="#swap">-swap 0,2</a> swaps the first and the third images in the current image sequence. Use <a href="#swap">+swap</a> to switch the last two images in the sequence.</p>
+
+<div style="margin: auto;">
+  <h4><a name="swirl" id="swirl"></a>-swirl <em class="arg">degrees</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>swirl image pixels about the center.</td><td style='text-align:right;'></td></tr></table>
+
+<p><em class="arg">Degrees</em> defines the tightness of the swirl.</p>
+
+<div style="margin: auto;">
+  <h4><a name="taint" id="taint"></a>-taint</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Mark the image as modified even if it isn't.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="text-font" id="text-font"></a>-text-font <em class="arg">name</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>font for writing fixed-width text.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Specifies the name of the preferred font to use in fixed (typewriter style) formatted text. The default is 14 point <em class="arg">Courier</em>.</p>
+
+<p>You can tag a font to specify whether it is a PostScript, TrueType, or OPTION1 font. For example, <kbd>Courier.ttf</kbd> is a TrueType font and <kbd>x:fixed</kbd> is OPTION1.</p>
+
+<div style="margin: auto;">
+  <h4><a name="texture" id="texture"></a>-texture <em class="arg">filename</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>name of texture to tile onto the image background.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="threshold" id="threshold"></a>-threshold <em class="arg">value</em>{<em class="arg">%</em>}</h4>
+</div>
+
+<!-- {<em class="arg">green,blue,opacity</em>}
+<p>If the green or blue value is omitted, these channels use the same value as the first one provided. If all three color values are the same, the result is a bi-level image. If the opacity threshold is omitted, OpaqueOpacity is used and any partially transparent pixel becomes fully transparent.</p>
+-->
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Apply simultaneous black/white threshold to the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Any pixel values (more specifically, those channels set using <a href="../www/command-line-options.html#channel">&#x2011;channel</a>) that exceed the specified threshold are reassigned the maximum channel value, while all other values are assigned the minimum.</p>
+
+<p> The threshold value can be given as a percentage or as an absolute integer value corresponding to the desired channel value. When given as an integer, the minimum attainable value is 0 (corresponding to black when all channels are affected), but the maximum value (corresponding to white) is that of the <kbd>quantum depth</kbd> of the particular build of ImageMagick, and is therefore dependent on the installation. For that reason, a reasonable recommendation for most applications is to specify the threshold values as a percentage.
+</p>
+
+<p> The following would force pixels with red values above 50% to have 100% red values, while those at or below 50% red would be set to 0 in the red channel. The green, blue, and alpha channels (if present) would be unchanged. </p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -channel red -threshold 50% out.png</span></p>
+<p>As (possibly) impractical but instructive examples, the following would generate an all-black and an all-white image with the same dimensions as the input image.</p>
+
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -threshold 100% black.png</span><span class='crtout'></span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -threshold -1 white.png</span></p>
+<p>Note that the values of the transparency channel is treated as 'matte'
+values (0 is opaque) and not as 'alpha' values (0 is transparent).</p>
+
+<p> See also <a href="../www/command-line-options.html#black-threshold">&#x2011;black&#x2011;threshold</a> and <a href="../www/command-line-options.html#white-threshold">&#x2011;white&#x2011;threshold</a>.
+</p>
+
+<div style="margin: auto;">
+  <h4><a name="thumbnail" id="thumbnail"></a>-thumbnail <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Create a thumbnail of the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This is similar to <a href="#resize">-resize</a>, except it is optimized for speed and any image profile, other than a color profile, is removed to reduce the thumbnail size.  To strip the color profiles as well, add <a href="#strip">-strip</a> just before of after this option.</p>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<div style="margin: auto;">
+  <h4><a name="tile" id="tile"></a>-tile <em class="arg">filename</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the tile image used for filling a subsequent graphic primitive.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4>-tile <em class="arg">geometry</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify the layout of images .</td><td style='text-align:right;'>[<a href="../www/montage.html">montage</a>]</td></tr></table>
+
+<p>See <a href="../www/command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<div style="margin: auto;">
+  <h4>-tile</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specifies that a subsequent composite operation is repeated across and down image.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="tile-offset" id="tile-offset"></a>-tile-offset {<em class="arg">+-</em>}<em class="arg">x</em>{<em class="arg">+-</em>}<em class="arg">y</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify the offset for tile images, relative to the background image it is tiled on.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This should be set before the tiling image is set by <a href="#tile" >-tile</a> or <a href="#texture" >-texture</a>, or directly applied for creating a tiled canvas using <kbd>TILE:</kbd> or <kbd>PATTERN:</kbd> input formats. </p>
+
+<p>Internally ImageMagick does a <a href="#roll" >-roll</a> of the tile image by the arguments given when the tile image is set. </p>
+
+<div style="margin: auto;">
+  <h4><a name="tint" id="tint"></a>-tint <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Tint the image with the fill color.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Tint the image with the fill color.</p>
+
+<p>Specify the amount of tinting as a percentage.  Pure colors like black, white red, yellow, will not be affected by -tint. Only mid-range colors such as the various shades of grey.</p>
+
+<div style="margin: auto;">
+  <h4><a name="title" id="title"></a>-title <em class="arg">string</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Assign a title to displayed image.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>, <a href="../www/montage.html">montage</a>]</td></tr></table>
+
+<p>Use this option to assign a specific title to the image. This assigned to the image window and is typically displayed in the window title bar. Optionally you can include the image filename, type, width, height, Exif data, or other image attribute by embedding special format characters described under the <a href="#format">-format</a> option.</p>
+
+<p>For example,</p>
+
+<p class="crtsnip">
+  -title "%m:%f %wx%h"
+</p>
+
+<p>produces an image title of <kbd>MIFF:bird.miff 512x480</kbd> for an image titled <kbd>bird.miff</kbd> and whose width is 512 and height is 480.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="transform" id="transform"></a>-transform</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>transform the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option applies the transformation matrix from a previous <a href="#affine">-affine</a> option.</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert -affine 2,2,-2,2,0,0 -transform bird.ppm bird.jpg</span></p>
+<div style="margin: auto;">
+  <h4><a name="transparent" id="transparent"></a>-transparent <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Make this color transparent within the image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The <em class="arg">color</em> argument is defined using the format
+described under the <a href="#fill">-fill</a> option. The <a href="#fuzz"
+>-fuzz</a> setting can be used to match and replace colors similar to the one
+given. </p>
+
+<p>The <a href="#opaque">-opaque</a>  operator is exactly the same as <a
+href="#transparent" >-transparent</a> but replaces the matching color same as
+the current <a href="#fill">-fill</a> color setting. </p>
+
+<p>This does not define the 'transparency color' used for color-mapped image
+formats, such as GIF.  For that use <a href="#transparent-color"
+>-transparent-color</a> </p>
+
+<p>Use <a href="#opaque">+opaque</a> to invered the pixels matched, that is
+paint any pixel that does not match the target color, with the fill color.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="transparent-color" id="transparent-color"></a>-transparent-color <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set the transparent color.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Sometimes this is used for saving to image formats such as
+GIF and PNG8 which uses this color to represent boolean transparency.  This
+does not make a color transparent, it only defines what color the transparent
+color is in the color palette of the saved image. Use <a
+href="#transparent">-transparent</a> to make an opaque color transparent.</p>
+
+<p>This option allows you to have both an opaque visible color, as well as a
+transparent color of the same color value without conflict.  That is, you can
+use the same color for both the transparent and opaque color areas within an
+image.  This, in turn, frees to you to select a transparent color that is
+appropriate when an image is displayed by an application that does not handle a
+transparent color index, while allowing ImageMagick to correctly handle images of this
+type. </p>
+
+<p>The default transparent color is <kbd>#00000000</kbd>, which is fully transparent black.</p>
+
+<div style="margin: auto;">
+  <h4><a name="transpose" id="transpose"></a>-transpose</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Mirror the image along the top-left to bottom-right diagonal.</td><td style='text-align:right;'></td></tr></table>
+
+<p> This option mathematically transposes the pixel array.  It is equivalent to the sequence <kbd>-flip -rotate 90</kbd>.
+</p>
+
+<div style="margin: auto;">
+  <h4><a name="transverse" id="transverse"></a>-transverse</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Mirror the image along the images bottom-left top-right diagonal.  Equivalent to the operations <kbd>-flop -rotate 90</kbd>.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="treedepth" id="treedepth"></a>-treedepth <em class="arg">value</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>tree depth for the color reduction algorithm.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Normally, this integer value is zero or one. A value of zero or one causes the use of an optimal tree depth for the color reduction algorithm.</p>
+
+<p>An optimal depth generally allows the best representation of the source image with the fastest computational speed and the least amount of memory. However, the default depth is inappropriate for some images. To assure the best representation, try values between 2 and 8 for this parameter.  Refer to the <a href="../www/quantize.html">color reduction algorithm</a> for more details.</p>
+
+<p>The <a href="#colors">-colors</a> or <a href="#monochrome">-monochrome</a> option, or writing to an image format which requires color reduction, is required for this option to take effect.</p>
+
+<div style="margin: auto;">
+  <h4><a name="trim" id="trim"></a>-trim</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>trim an image.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option removes any edges that are exactly the same color as the corner pixels. Use <a href="#fuzz">-fuzz</a> to make <a href="#trim">-trim</a> remove edges that are nearly the same color as the corner pixels.</p>
+
+<p>The page or virtual canvas information of the image is preserved allowing
+you to extract the result of the <a href="#trim">-trim</a> operation from the
+image.  Use a <a href="#repage">+repage</a> to remove the virtual canvas page
+information if it is unwanted.</p>
+
+<p>If the trimmed image 'disappears' an warning is produced, and a special
+single pixel transparent 'missed' image is returned, in the same way as when a
+<a href="#crop">-crop</a> operation 'misses' the image proper. </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="type" id="type"></a>-type <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the image type.</td><td style='text-align:right;'></td></tr></table>
+ <p>Choose from: <kbd>Bilevel</kbd>, <kbd>Grayscale</kbd>, <kbd>GrayscaleMatte</kbd>, <kbd>Palette</kbd>, <kbd>PaletteMatte</kbd>, <kbd>TrueColor</kbd>, <kbd>TrueColorMatte</kbd>, <kbd>ColorSeparation</kbd>, <kbd>ColorSeparationMatte</kbd>, or <kbd>Optimize</kbd>.</p>
+
+<p>Normally, when a format supports different subformats such as grayscale and truecolor, the encoder will try to choose an efficient subformat. The <a href="#type">-type</a> option can be used to overrride this behavior. For example, to prevent a JPEG from being written in grayscale format even though only gray pixels are present, use.</p>
+
+<p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert bird.png -type TrueColor bird.jpg</span></p>
+<p>Similarly, use <a href="#type">-type TrueColorMatte</a> to force the encoder to write an alpha channel even though the image is opaque, if the output format supports transparency.</p>
+
+<p>Use <a href="#type">-type optimize</a> to ensure the image is written in the smallest possible file size.</p>
+
+<div style="margin: auto;">
+  <h4><a name="undercolor" id="undercolor"></a>-undercolor <em class="arg">color</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set the color of the annotation bounding box.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The color is specified using the format described under the <a href="#fill">-fill</a> option.</p>
+
+<p>See <a href="#draw">-draw</a> for further details.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="update" id="update"></a>-update <em class="arg">seconds</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>detect when image file is modified and redisplay.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Suppose that while you are displaying an image the file that is currently displayed is over-written.  <kbd>display</kbd> will automagically detect that the input file has been changed and update the displayed image accordingly.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="unique-colors" id="unique-colors"></a>-unique-colors</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>discard all but one of any pixel color.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="units" id="units"></a>-units <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>the units of image resolution.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Choose from: <kbd>Undefined</kbd>, <kbd>PixelsPerInch</kbd>, or <kbd>PixelsPerCentimeter</kbd>. This option is normally used in conjunction with the <a href="#density">-density</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="unsharp" id="unsharp"></a>-unsharp <em class="arg">radius</em><br />-unsharp <em class="arg">radius</em>x<em class="arg">sigma</em>{<em class="arg">+amount</em>}{<em class="arg">+threshold</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>sharpen the image with an unsharp mask operator.</td><td style='text-align:right;'></td></tr></table>
+
+<p>The <a href="#unsharp">-unsharp</a> option sharpens an image. The image is convolved with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 to have the method select a suitable radius.</p>
+
+<p>The parameters are:</p>
+
+<pre class="text">
+  radius:    The radius of the Gaussian, in pixels,  not counting the center
+             pixel (default 0).
+  sigma:     The standard deviation of the Gaussian, in pixels (default 1.0).
+  amount:    The fraction of the difference between the original and the blur
+             image that is added back into the original (default 1.0).
+  threshold: The threshold, as a fraction of <em class="QR">QuantumRange</em>, needed to apply the
+             difference amount (default 0.05).
+</pre>
+
+
+<div style="margin: auto;">
+  <h4><a name="verbose" id="verbose"></a>-verbose</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>print detailed information about the image when this option preceds the <a href="#identify">-identify</a> option or <kbd>info:</kbd>.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="version" id="version"></a>-version</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>print ImageMagick version string and exit.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="view" id="view"></a>-view <em class="arg">string</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>FlashPix viewing parameters.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="vignette" id="vignette"></a>-vignette <em class="arg">radius</em>{x<em class="arg">sigma</em>}{<em class="arg">+-</em>}<em class="arg">x</em>{<em class="arg">+-</em>}<em class="arg">y</em>{<em class="arg">%</em>}</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>soften the edges of the image in vignette style.</td><td style='text-align:right;'></td></tr></table>
+
+
+<div style="margin: auto;">
+  <h4><a name="virtual-pixel" id="virtual-pixel"></a>-virtual-pixel <em class="arg">method</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Specify contents of <em>virtual pixels</em>.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This option defines what color source should be used if and when a color
+lookup completely 'misses' the source image. The color(s) that appear to
+surround the source image.  Generally this color is derived from the source
+image, but could also be set to a specify background color. </p>
+
+<p>Choose from these methods:</p>
+
+<pre class="text">
+  background:           the area surrounding the image is the background color
+  black:                the area surrounding the image is black
+  checker-tile:         alternate squares with image and background color
+  dither:               non-random 32x32 dithered pattern
+  edge:                 extend the edge pixel toward infinity
+  gray:                 the area surrounding the image is gray
+  horizontal-tile:      horizontally tile the image, background color above/below
+  horizontal-tile-edge: horizontally tile the image and replicate the side edge pixels
+  mirror:               mirror tile the image
+  random:               choose a random pixel from the image
+  tile:                 tile the image (default)
+  transparent:          the area surrounding the image is transparent blackness
+  vertical-tile:        vertically tile the image, sides are background color
+  vertical-tile-edge:   vertically tile the image and replicate the side edge pixels
+  white:                the area surrounding the image is white
+</pre>
+
+<p>The default value is "edge".</p>
+
+<p>This most important for distortion operators such as <a href="#distort"
+>-distort</a>, <a href="#implode" >-implode</a>, and <a href="#fx" >-fx</a>.
+However it also effects operations that may access pixels just outside the
+image proper, such as <a href="#convolve">-convolve</a>, <a
+href="#blur">-blur</a>, and <a href="#sharpen">-sharpen</a>. </p>
+
+<p>To print a complete list of virtual pixel types, use the <a href="#list">-list virtual-pixel</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="visual" id="visual"></a>-visual <em class="arg">type</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Animate images using this X visual type.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>
+
+<p>Choose from these visual classes:</p>
+
+<pre class="text">
+  StaticGray
+  GrayScale
+  StaticColor
+  PseudoColor
+  TrueColor
+  DirectColor
+  default
+  visual id
+</pre>
+
+<p>The X server must support the visual you choose, otherwise an error occurs. If a visual is not specified, the visual class that can display the most simultaneous colors on the default screen is chosen.</p>
+
+
+<div style="margin: auto;">
+  <h4><a name="watermark" id="watermark"></a>-watermark <em
+  class="arg">brightness</em>x<em class="arg">saturation</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Watermark an image using the given percentages of brightness and
+saturation.</td><td style='text-align:right;'>[<a href="../www/composite.html">composite</a>]</td></tr></table>
+
+<p>Take a grayscale image (with alpha mask) and modify the destination image's
+brightness according to watermark image's grayscale value and the <em
+class="arg">brightness</em> percentage.  The destinations color saturation
+attribute is just direct modified by the <em class="arg">saturation</em>
+percentage, which defaults to 100 percent (no color change). </p>
+
+
+<div style="margin: auto;">
+  <h4><a name="wave" id="wave"></a>-wave <em class="arg">amplitude</em><br />-wave <em class="arg">amplitude</em>x<em class="arg">wavelength</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Shear the columns of an image into a sine wave.</td><td style='text-align:right;'></td></tr></table>
+
+<p>Specify <em class="arg">amplitude</em> and <em class="arg">wavelength</em> of the wave.</p>
+
+<div style="margin: auto;">
+  <h4><a name="weight" id="weight"></a>-weight <em class="arg">fontWeight</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Set a font weight for text.</td><td style='text-align:right;'></td></tr></table>
+
+<p>This setting suggests a font weight that ImageMagick should try to apply to the currently selected font family. Use a positive integer for <em class="arg">fontWeight</em> or select from the following.</p>
+
+<table class="doc">
+  <col width="25%" />
+  <col width="75%" />
+  <thead>
+  <tr>
+  <th><em class="arg">fontWeight</em></th>
+  <th>Description</th>
+  </tr>
+  </thead>
+  <tbody>
+    <tr><td>All </td>       <td>No effect. </td></tr>
+    <tr><td>Bold </td>      <td>Same as <em class="arg">fontWeight</em> = 700.</td></tr>
+    <tr><td>Bolder </td>    <td>Add 100 to font weight if currently &le; 800.</td></tr>
+    <tr><td>Lighter </td>   <td>Subtract 100 to font weight if currently &le; 100.</td></tr>
+    <tr><td>Normal </td>    <td>Same as <em class="arg">fontWeight</em> = 400.</td></tr>
+ </tbody>
+ </table>
+
+<p>To print a complete list of weight types, use <a href="#list">-list weight</a>.</p>
+
+<p>For other settings that affect fonts, see the options <a href="#font">-font</a>, <a href="#family">-family</a>, <a href="#stretch">-stretch</a>, and <a href="#style">-style</a>. </p>
+
+<div style="margin: auto;">
+  <h4><a name="white-point" id="white-point"></a>-white-point <em class="arg">x,y</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>chromaticity white point.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="white-threshold" id="white-threshold"></a>-white-threshold <em class="arg">threshold</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Force to white all pixels at or above the threshold.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="window" id="window"></a>-window <em class="arg">id</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Make the image the background of a window.</td><td style='text-align:right;'>[<a href="../www/animate.html">animate</a>, <a href="../www/display.html">display</a>]</td></tr></table>
+
+<p><em class="arg">id</em> can be a window id or name. Specify <kbd>root</kbd> to select X's root window as the target window.</p>
+
+<p>By default the image is tiled onto the background of the target window. If <kbd>backdrop</kbd> or <a href="#geometry">-resize</a> are specified, the image is surrounded by the background color. Refer to <kbd>X RESOURCES</kbd> for details.</p>
+
+<p>The image will not display on the root window if the image has more unique colors than the target window colormap allows. Use <a href="#colors">-colors</a> to reduce the number of colors.</p>
+
+<div style="margin: auto;">
+  <h4><a name="window-group" id="window-group"></a>-window-group</h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>specify the window group.</td><td style='text-align:right;'></td></tr></table>
+
+<div style="margin: auto;">
+  <h4><a name="write" id="write"></a>-write <em class="arg">filename</em></h4>
+</div>
+
+<table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>write an image sequence.</td><td style='text-align:right;'></td></tr></table>
+ <p>The image sequence preceding the <a href="#write">-write</a> <em class="arg">filename</em> option is written out, and processing continues with the same image in its current state if there are additional options. To restore the image to its original state after writing it, use the <a href="#write">+write</a> <em class="arg">filename</em> option.</p>
+
+<p>Use <a href="#compress">-compress</a> to specify the type of image compression.</p>
+
+
+</div>
+
+<div id="linkbar">
+ <!--    <span id="linkbar-west">&nbsp;</span>  -->
+    <span id="linkbar-center">
+      <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
+      <a href="../www/mailing-list.html">Mailing Lists</a> &bull;
+    <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
+    </span>
+    <span id="linkbar-east">&nbsp;</span>
+  </div>
+  <div class="footer">
+    <span id="footer-west">&copy; 1999-2009 ImageMagick Studio LLC</span>
+    <span id="footer-east"> <a href="http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
+  </div>
+  <div style="clear: both; margin: 0; width: 100%; "></div>
+</body>
+</html>
