diff --git a/www/command-line-options.html b/www/command-line-options.html
index a1f5663..4d62542 100644
--- a/www/command-line-options.html
+++ b/www/command-line-options.html
@@ -1,539 +1,7550 @@
-
-
-
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
-  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html version="-//W3C//DTD XHTML 1.1//EN"
-      xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
-      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://www.w3.org/1999/xhtml
-                          http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html lang="en">
 <head>
-  <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
-  <meta name=viewport content="width=device-width, initial-scale=0.3333334">
-  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4"/>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
   <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="application-name" content="ImageMagick"/>
-  <meta name="description" content="A collection of tools and libraries to read, write, and manipulate an image in any of the more popular image formats."/>
-  <meta name="application-url" content="http://www.imagemagick.org"/>
-  <meta name="generator" content="PHP"/>
-  <meta name="keywords" content="command-line, options, convert, edit, compose, image, pixel"/>
-  <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-2012 ImageMagick Studio LLC"/>
-  <meta name="distribution" content="Global"/>
-  <link rel="icon" href="../images/wand.png"/>
-  <link rel="shortcut icon" href="../images/wand.ico" type="images/x-icon"/>
-  <link rel="canonical" href="http://www.imagemagick.org" />
-  <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
-
-  <!-- Add jQuery library -->
-  <script type="text/javascript" src="http://localhost/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
-  
-  <!-- Add mousewheel plugin (this is optional) -->
-  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/lib/jquery.mousewheel-3.0.6.pack.js"></script>
-  
-  <!-- Add fancyBox -->
-  <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" />
-  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
-  
-  <!-- Optionally add helpers - button, thumbnail and/or media -->
-  <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-buttons.css?v=1.0.5" type="text/css" media="screen" />
-  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-buttons.js?v=1.0.5"></script>
-  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.6"></script>
-  
-  <link rel="stylesheet" href="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" type="text/css" media="screen" />
-  <script type="text/javascript" src="http://www.imagemagick.org/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script>
-  
-  <script type="text/javascript">
-  	$(document).ready(function() {
-  		$(".fancybox").fancybox();
-  	});
-  </script>
-
-  <!-- ImageMagick style -->
-  <style type="text/css" media="all">
-    @import url("../www/magick.css");
-  </style>
+  <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="application-name" content="ImageMagick">
+  <meta name="description" content="ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.">
+  <meta name="application-url" content="http://www.imagemagick.org">
+  <meta name="generator" content="PHP">
+  <meta name="keywords" content="command-line, options, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert">
+  <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-2012 ImageMagick Studio LLC">
+  <meta name="distribution" content="Global">
+  <link rel="icon" href="../images/wand.png">
+  <link rel="shortcut icon" href="../images/wand.ico" type="images/x-icon">
+  <link rel="stylesheet" href="www/css/bootstrap.min.css">
+  <link rel="stylesheet" href="www/css/magick.css">
 </head>
 
-<body id="www-imagemagick-org">
-
-<script type="text/javascript">
-  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-  })(window,document,'offline-script','//www.google-analytics.com/analytics.js','ga');
-
-  ga('create', 'UA-40133312-1', 'imagemagick.org');
-  ga('send', 'pageview');
-</script>
-
-<div class="titlebar">
-<div style="margin: 17px auto; float: left;">
-  <script type="text/javascript">
-  <!--
-    google_ad_client = "pub-3129977114552745";
-    google_ad_slot = "5439289906";
-    google_ad_width = 728;
-    google_ad_height = 90;
-  //-->
-  </script>
-  <script type="text/javascript"
-    src="http://localhost/pagead/show_ads.js">
-  </script>
-</div>
-<a href="../discourse-server">
-  <img src="../images/logo.jpg"
-  alt="ImageMagick Logo" width="123" height="118"
-  style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
-<a href="http://www.imagemagick.org/ImageMagick-7.0.0/index.html">
-  <img src="../images/sprite.jpg"
-  alt="ImageMagick Sprite" width="114" height="118"
-  style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
-</div>
-
-<div class="westbar">
-
-<div class="menu">
-  <a title="About ImageMagick" href="http://www.imagemagick.org/ImageMagick-7.0.0/index.html">About ImageMagick</a>
-</div>
-<div class="menu">
-  <a title="Binary Releases" href="binary-releases.html">Binary Releases</a>
-</div>
-<div class="sub">
-    <a title="Binary Release: Unix" href="binary-releases.html#unix">Unix</a>
-</div>
-<div class="sub">
-    <a title="Binary Release: MacOS X" href="binary-releases.html#macosx">Mac OS X</a>
-</div>
-<div class="sub">
-    <a title="Binary Release: iOS" href="binary-releases.html#iOS">iOS</a>
-</div>
-<div class="sub">
-    <a title="Binary Release: Windows" href="binary-releases.html#windows">Windows</a>
-</div>
-<div class="sep"></div>
-<div class="menu">
-  <a title="Command-line Tools" href="command-line-tools.html">Command-line Tools</a>
-</div>
-<div class="sub">
-    <a title="Command-line Tools: Processing" href="command-line-processing.html">Processing</a>
-</div>
-<div class="sub">
-    <a title="Command-line Tools: Options" href="command-line-options.html">Options</a>
-</div>
-<div class="sub">
-    <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
-</div>
-<div class="menu">
-  <a title="Program Interfaces" href="api.html">Program Interfaces</a>
-</div>
-<div class="sub">
-    <a title="Program Interface: MagickWand" href="magick-wand.html">MagickWand</a>
-</div>
-<div class="sub">
-    <a title="Program Interface: MagickCore" href="magick-core.html">MagickCore</a>
-</div>
-<div class="sub">
-    <a title="Program Interface: PerlMagick" href="perl-magick.html">PerlMagick</a>
-</div>
-<div class="sub">
-    <a title="Program Interface: Magick++" href="magick++.html">Magick++</a>
-</div>
-<div class="sep"></div>
-<div  class="menu">
-   <a title="Install from Source" href="install-source.html">Install from Source</a>
-</div>
-<div class="sub">
-    <a title="Install from Source: Unix" href="install-source.html#unix">Unix</a>
-</div>
-<div class="sub">
-    <a title="Install from Source: Windows" href="install-source.html#windows">Windows</a>
- </div>
-<div class="menu">
-  <a title="Resources" href="resources.html">Resources</a>
-</div>
-<div class="menu">
-  <a title="Architecture" href="architecture.html">Architecture</a>
-</div>
-<div class="menu">
-  <a title="Download" href="download.html">Download</a>
-</div>
-<div class="sep"></div>
-<div class="menu">
-  <a title="Search" href="search.html">Search</a>
-</div>
-<div class="sep"></div>
-<div class="menu">
-  <a title="Site Map" href="sitemap.html">Site Map</a>
-</div>
-<div  class="sub">
-  <a title="Site Map: Links" href="links.html">Links</a>
-</div>
-<div class="sep"></div>
-</div>
-
-<div class="eastbar">
-  <script type="text/javascript">
-    /* <![CDATA[ */
-    window.___gcfg = {
-      lang: 'en-US'
-    };
-
-    (function() {
-      var po = document.createElement('offline-script');
-      po.type = 'text/javascript';
-      po.async = true;
-      po.src = 'https://apis.google.com/js/plusone.js';
-      var script = document.getElementsByTagName('offline-script')[0];
-      script.parentNode.insertBefore(po, script);
-    })();
-    var gplusone = document.getElementById("gplusone");
-    gplusone.setAttribute("data-size","medium");
-    gplusone.setAttribute("data-count","true");
-    /* ]]> */
-  </script>
-  <script type="text/javascript">
-    /* <![CDATA[ */
-    (function() {
-        var po = document.createElement('offline-script'), t = document.getElementsByTagName('offline-script')[0];
-        po.type = 'text/javascript';
-        po.async = true;
-        po.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
-        var script = document.getElementsByTagName('offline-script')[0];
-        script.parentNode.insertBefore(po, script);
-    })();
-    /* ]]> */
-  </script>
-  <div> <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.imagemagick.org/"></a></div>
-  <noscript>
-    <a href="http://flattr.com/thing/947300/Convert-Edit-And-Compose-Images" target="_blank">
-    <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" width="93" height="20" border="0" /></a>
-  </noscript>
-  <div class="g-plusone" data-size="standard" data-count="true"></div>
-</div>
-
+<body>
 <div class="main">
+<div class="magick-masthead">
+  <div class="container">
+    <script type="text/javascript">
+    <!--
+      google_ad_client = "pub-3129977114552745";
+      google_ad_slot = "5439289906";
+      google_ad_width = 728;
+      google_ad_height = 90;
+    //-->
+    </script>
+    <center><script type="text/javascript" src="http://localhost/pagead/show_ads.js">
+    </script></center>
+    <nav class="magick-nav">
+      <a class="magick-nav-item " href="http://www.imagemagick.org/ImageMagick-7.0.0/index.html">Home</a>
+      <a class="magick-nav-item " href="binary-releases.html">Downloads</a>
+      <a class="magick-nav-item " href="command-line-tools.html">Tools</a>
+      <a class="magick-nav-item active" href="command-line-options.html">Options</a>
+      <a class="magick-nav-item " href="api.html">Development</a>
+      <a class="magick-nav-item" href="../discourse-server">Community</a>
+      <a class="magick-nav-item navbar-right " href="search.html">Search</a>
+    </nav>
+  </div>
+</div>
+<div class="container">
+<div class="magick-header">
+<p class="text-center"><a href="command-line-options.html#adaptive-blur">‑adaptive‑blur</a> <span class="bull"> • </span> <a href="command-line-options.html#adaptive-resize">‑adaptive‑resize</a> <span class="bull"> • </span> <a href="command-line-options.html#adaptive-sharpen">‑adaptive‑sharpen</a> <span class="bull"> • </span> <a href="command-line-options.html#adjoin">‑adjoin</a> <span class="bull"> • </span> <a href="command-line-options.html#affine">‑affine</a> <span class="bull"> • </span> <a href="command-line-options.html#alpha">‑alpha</a> <span class="bull"> • </span> <a href="command-line-options.html#annotate">‑annotate</a> <span class="bull"> • </span> <a href="command-line-options.html#antialias">‑antialias</a> <span class="bull"> • </span> <a href="command-line-options.html#append">‑append</a> <span class="bull"> • </span> <a href="command-line-options.html#attenuate">‑attenuate</a> <span class="bull"> • </span> <a href="command-line-options.html#authenticate">‑authenticate</a> <span class="bull"> • </span> <a href="command-line-options.html#auto-gamma">‑auto‑gamma</a> <span class="bull"> • </span> <a href="command-line-options.html#auto-level">‑auto‑level</a> <span class="bull"> • </span> <a href="command-line-options.html#auto-orient">‑auto‑orient</a> <span class="bull"> • </span> <a href="command-line-options.html#backdrop">‑backdrop</a> <span class="bull"> • </span> <a href="command-line-options.html#background">‑background</a> <span class="bull"> • </span> <a href="command-line-options.html#bench">‑bench</a> <span class="bull"> • </span> <a href="command-line-options.html#bias">‑bias</a> <span class="bull"> • </span> <a href="command-line-options.html#black-point-compensation">‑black‑point‑compensation</a> <span class="bull"> • </span> <a href="command-line-options.html#black-threshold">‑black‑threshold</a> <span class="bull"> • </span> <a href="command-line-options.html#blend">‑blend</a> <span class="bull"> • </span> <a href="command-line-options.html#blue-primary">‑blue‑primary</a> <span class="bull"> • </span> <a href="command-line-options.html#blue-shift">‑blue‑shift</a> <span class="bull"> • </span> <a href="command-line-options.html#blur">‑blur</a> <span class="bull"> • </span> <a href="command-line-options.html#border">‑border</a> <span class="bull"> • </span> <a href="command-line-options.html#bordercolor">‑bordercolor</a> <span class="bull"> • </span> <a href="command-line-options.html#borderwidth">‑borderwidth</a> <span class="bull"> • </span> <a href="command-line-options.html#brightness-contrast">‑brightness‑contrast</a> <span class="bull"> • </span> <a href="command-line-options.html#cache">‑cache</a> <span class="bull"> • </span> <a href="command-line-options.html#canny">‑canny</a> <span class="bull"> • </span> <a href="command-line-options.html#caption">‑caption</a> <span class="bull"> • </span> <a href="command-line-options.html#cdl">‑cdl</a> <span class="bull"> • </span> <a href="command-line-options.html#channel">‑channel</a> <span class="bull"> • </span> <a href="command-line-options.html#charcoal">‑charcoal</a> <span class="bull"> • </span> <a href="command-line-options.html#chop">‑chop</a> <span class="bull"> • </span> <a href="command-line-options.html#clamp">‑clamp</a> <span class="bull"> • </span> <a href="command-line-options.html#clip">‑clip</a> <span class="bull"> • </span> <a href="command-line-options.html#clip-mask">‑clip‑mask</a> <span class="bull"> • </span> <a href="command-line-options.html#clip-path">‑clip‑path</a> <span class="bull"> • </span> <a href="command-line-options.html#clone">‑clone</a> <span class="bull"> • </span> <a href="command-line-options.html#clut">‑clut</a> <span class="bull"> • </span> <a href="command-line-options.html#coalesce">‑coalesce</a> <span class="bull"> • </span> <a href="command-line-options.html#colorize">‑colorize</a> <span class="bull"> • </span> <a href="command-line-options.html#colormap">‑colormap</a> <span class="bull"> • </span> <a href="command-line-options.html#color-matrix">‑color‑matrix</a> <span class="bull"> • </span> <a href="command-line-options.html#colors">‑colors</a> <span class="bull"> • </span> <a href="command-line-options.html#colorspace">‑colorspace</a> <span class="bull"> • </span> <a href="command-line-options.html#combine">‑combine</a> <span class="bull"> • </span> <a href="command-line-options.html#comment">‑comment</a> <span class="bull"> • </span> <a href="command-line-options.html#compare">‑compare</a> <span class="bull"> • </span> <a href="command-line-options.html#complex">‑complex</a> <span class="bull"> • </span> <a href="command-line-options.html#compose">‑compose</a> <span class="bull"> • </span> <a href="command-line-options.html#composite">‑composite</a> <span class="bull"> • </span> <a href="command-line-options.html#compress">‑compress</a> <span class="bull"> • </span> <a href="command-line-options.html#connected-components">‑connected‑components</a> <span class="bull"> • </span> <a href="command-line-options.html#contrast">‑contrast</a> <span class="bull"> • </span> <a href="command-line-options.html#contrast-stretch">‑contrast‑stretch</a> <span class="bull"> • </span> <a href="command-line-options.html#convolve">‑convolve</a> <span class="bull"> • </span> <a href="command-line-options.html#crop">‑crop</a> <span class="bull"> • </span> <a href="command-line-options.html#cycle">‑cycle</a> <span class="bull"> • </span> <a href="command-line-options.html#debug">‑debug</a> <span class="bull"> • </span> <a href="command-line-options.html#decipher">‑decipher</a> <span class="bull"> • </span> <a href="command-line-options.html#deconstruct">‑deconstruct</a> <span class="bull"> • </span> <a href="command-line-options.html#define">‑define</a> <span class="bull"> • </span> <a href="command-line-options.html#delay">‑delay</a> <span class="bull"> • </span> <a href="command-line-options.html#delete">‑delete</a> <span class="bull"> • </span> <a href="command-line-options.html#density">‑density</a> <span class="bull"> • </span> <a href="command-line-options.html#depth">‑depth</a> <span class="bull"> • </span> <a href="command-line-options.html#descend">‑descend</a> <span class="bull"> • </span> <a href="command-line-options.html#deskew">‑deskew</a> <span class="bull"> • </span> <a href="command-line-options.html#despeckle">‑despeckle</a> <span class="bull"> • </span> <a href="command-line-options.html#direction">‑direction</a> <span class="bull"> • </span> <a href="command-line-options.html#displace">‑displace</a> <span class="bull"> • </span> <a href="command-line-options.html#display">‑display</a> <span class="bull"> • </span> <a href="command-line-options.html#dispose">‑dispose</a> <span class="bull"> • </span> <a href="command-line-options.html#dissimilarity-threshold">‑dissimilarity‑threshold</a> <span class="bull"> • </span> <a href="command-line-options.html#dissolve">‑dissolve</a> <span class="bull"> • </span> <a href="command-line-options.html#distort">‑distort</a> <span class="bull"> • </span> <a href="command-line-options.html#distribute-cache">‑distribute‑cache</a> <span class="bull"> • </span> <a href="command-line-options.html#dither">‑dither</a> <span class="bull"> • </span> <a href="command-line-options.html#draw">‑draw</a> <span class="bull"> • </span> <a href="command-line-options.html#duplicate">‑duplicate</a> <span class="bull"> • </span> <a href="command-line-options.html#edge">‑edge</a> <span class="bull"> • </span> <a href="command-line-options.html#emboss">‑emboss</a> <span class="bull"> • </span> <a href="command-line-options.html#encipher">‑encipher</a> <span class="bull"> • </span> <a href="command-line-options.html#encoding">‑encoding</a> <span class="bull"> • </span> <a href="command-line-options.html#endian">‑endian</a> <span class="bull"> • </span> <a href="command-line-options.html#enhance">‑enhance</a> <span class="bull"> • </span> <a href="command-line-options.html#equalize">‑equalize</a> <span class="bull"> • </span> <a href="command-line-options.html#evaluate">‑evaluate</a> <span class="bull"> • </span> <a href="command-line-options.html#evaluate-sequence">‑evaluate‑sequence</a> <span class="bull"> • </span> <a href="command-line-options.html#extent">‑extent</a> <span class="bull"> • </span> <a href="command-line-options.html#extract">‑extract</a> <span class="bull"> • </span> <a href="command-line-options.html#family">‑family</a> <span class="bull"> • </span> <a href="command-line-options.html#features">‑features</a> <span class="bull"> • </span> <a href="command-line-options.html#fft">‑fft</a> <span class="bull"> • </span> <a href="command-line-options.html#fill">‑fill</a> <span class="bull"> • </span> <a href="command-line-options.html#filter">‑filter</a> <span class="bull"> • </span> <a href="command-line-options.html#flatten">‑flatten</a> <span class="bull"> • </span> <a href="command-line-options.html#flip">‑flip</a> <span class="bull"> • </span> <a href="command-line-options.html#floodfill">‑floodfill</a> <span class="bull"> • </span> <a href="command-line-options.html#flop">‑flop</a> <span class="bull"> • </span> <a href="command-line-options.html#font">‑font</a> <span class="bull"> • </span> <a href="command-line-options.html#foreground">‑foreground</a> <span class="bull"> • </span> <a href="command-line-options.html#format">‑format</a> <span class="bull"> • </span> <a href="command-line-options.html#format_identify_">‑format[identify]</a> <span class="bull"> • </span> <a href="command-line-options.html#frame">‑frame</a> <span class="bull"> • </span> <a href="command-line-options.html#frame_import_">‑frame[import]</a> <span class="bull"> • </span> <a href="command-line-options.html#function">‑function</a> <span class="bull"> • </span> <a href="command-line-options.html#fuzz">‑fuzz</a> <span class="bull"> • </span> <a href="command-line-options.html#fx">‑fx</a> <span class="bull"> • </span> <a href="command-line-options.html#gamma">‑gamma</a> <span class="bull"> • </span> <a href="command-line-options.html#gaussian-blur">‑gaussian‑blur</a> <span class="bull"> • </span> <a href="command-line-options.html#geometry">‑geometry</a> <span class="bull"> • </span> <a href="command-line-options.html#gravity">‑gravity</a> <span class="bull"> • </span> <a href="command-line-options.html#grayscale">‑grayscale</a> <span class="bull"> • </span> <a href="command-line-options.html#green-primary">‑green‑primary</a> <span class="bull"> • </span> <a href="command-line-options.html#hald-clut">‑hald‑clut</a> <span class="bull"> • </span> <a href="command-line-options.html#help">‑help</a> <span class="bull"> • </span> <a href="command-line-options.html#highlight-color">‑highlight‑color</a> <span class="bull"> • </span> <a href="command-line-options.html#hough-lines">‑hough‑lines</a> <span class="bull"> • </span> <a href="command-line-options.html#iconGeometry">‑iconGeometry</a> <span class="bull"> • </span> <a href="command-line-options.html#iconic">‑iconic</a> <span class="bull"> • </span> <a href="command-line-options.html#identify">‑identify</a> <span class="bull"> • </span> <a href="command-line-options.html#ift">‑ift</a> <span class="bull"> • </span> <a href="command-line-options.html#immutable">‑immutable</a> <span class="bull"> • </span> <a href="command-line-options.html#implode">‑implode</a> <span class="bull"> • </span> <a href="command-line-options.html#insert">‑insert</a> <span class="bull"> • </span> <a href="command-line-options.html#intensity">‑intensity</a> <span class="bull"> • </span> <a href="command-line-options.html#intent">‑intent</a> <span class="bull"> • </span> <a href="command-line-options.html#interlace">‑interlace</a> <span class="bull"> • </span> <a href="command-line-options.html#interpolate">‑interpolate</a> <span class="bull"> • </span> <a href="command-line-options.html#interline-spacing">‑interline‑spacing</a> <span class="bull"> • </span> <a href="command-line-options.html#interword-spacing">‑interword‑spacing</a> <span class="bull"> • </span> <a href="command-line-options.html#kerning">‑kerning</a> <span class="bull"> • </span> <a href="command-line-options.html#kuwahara">‑kuwahara</a> <span class="bull"> • </span> <a href="command-line-options.html#label">‑label</a> <span class="bull"> • </span> <a href="command-line-options.html#lat">‑lat</a> <span class="bull"> • </span> <a href="command-line-options.html#layers">‑layers</a> <span class="bull"> • </span> <a href="command-line-options.html#level">‑level</a> <span class="bull"> • </span> <a href="command-line-options.html#level-colors">‑level‑colors</a> <span class="bull"> • </span> <a href="command-line-options.html#limit">‑limit</a> <span class="bull"> • </span> <a href="command-line-options.html#linear-stretch">‑linear‑stretch</a> <span class="bull"> • </span> <a href="command-line-options.html#linewidth">‑linewidth</a> <span class="bull"> • </span> <a href="command-line-options.html#liquid-rescale">‑liquid‑rescale</a> <span class="bull"> • </span> <a href="command-line-options.html#list">‑list</a> <span class="bull"> • </span> <a href="command-line-options.html#log">‑log</a> <span class="bull"> • </span> <a href="command-line-options.html#loop">‑loop</a> <span class="bull"> • </span> <a href="command-line-options.html#lowlight-color">‑lowlight‑color</a> <span class="bull"> • </span> <a href="command-line-options.html#magnify">‑magnify</a> <span class="bull"> • </span> <a href="command-line-options.html#map">‑map</a> <span class="bull"> • </span> <a href="command-line-options.html#map_stream_">‑map[stream]</a> <span class="bull"> • </span> <a href="command-line-options.html#mask">‑mask</a> <span class="bull"> • </span> <a href="command-line-options.html#mattecolor">‑mattecolor</a> <span class="bull"> • </span> <a href="command-line-options.html#median">‑median</a> <span class="bull"> • </span> <a href="command-line-options.html#mean-shift">‑mean‑shift</a> <span class="bull"> • </span> <a href="command-line-options.html#metric">‑metric</a> <span class="bull"> • </span> <a href="command-line-options.html#mode">‑mode</a> <span class="bull"> • </span> <a href="command-line-options.html#modulate">‑modulate</a> <span class="bull"> • </span> <a href="command-line-options.html#moments">‑moments</a> <span class="bull"> • </span> <a href="command-line-options.html#monitor">‑monitor</a> <span class="bull"> • </span> <a href="command-line-options.html#monochrome">‑monochrome</a> <span class="bull"> • </span> <a href="command-line-options.html#morph">‑morph</a> <span class="bull"> • </span> <a href="command-line-options.html#morphology">‑morphology</a> <span class="bull"> • </span> <a href="command-line-options.html#mosaic">‑mosaic</a> <span class="bull"> • </span> <a href="command-line-options.html#motion-blur">‑motion‑blur</a> <span class="bull"> • </span> <a href="command-line-options.html#name">‑name</a> <span class="bull"> • </span> <a href="command-line-options.html#negate">‑negate</a> <span class="bull"> • </span> <a href="command-line-options.html#noise">‑noise</a> <span class="bull"> • </span> <a href="command-line-options.html#normalize">‑normalize</a> <span class="bull"> • </span> <a href="command-line-options.html#opaque">‑opaque</a> <span class="bull"> • </span> <a href="command-line-options.html#ordered-dither">‑ordered‑dither</a> <span class="bull"> • </span> <a href="command-line-options.html#orient">‑orient</a> <span class="bull"> • </span> <a href="command-line-options.html#page">‑page</a> <span class="bull"> • </span> <a href="command-line-options.html#paint">‑paint</a> <span class="bull"> • </span> <a href="command-line-options.html#path">‑path</a> <span class="bull"> • </span> <a href="command-line-options.html#pause_animate_">‑pause[animate]</a> <span class="bull"> • </span> <a href="command-line-options.html#pause_import_">‑pause[import]</a> <span class="bull"> • </span> <a href="command-line-options.html#perceptible">‑perceptible</a> <span class="bull"> • </span> <a href="command-line-options.html#ping">‑ping</a> <span class="bull"> • </span> <a href="command-line-options.html#pointsize">‑pointsize</a> <span class="bull"> • </span> <a href="command-line-options.html#polaroid">‑polaroid</a> <span class="bull"> • </span> <a href="command-line-options.html#poly">‑poly</a> <span class="bull"> • </span> <a href="command-line-options.html#posterize">‑posterize</a> <span class="bull"> • </span> <a href="command-line-options.html#precision">‑precision</a> <span class="bull"> • </span> <a href="command-line-options.html#preview">‑preview</a> <span class="bull"> • </span> <a href="command-line-options.html#print">‑print</a> <span class="bull"> • </span> <a href="command-line-options.html#process">‑process</a> <span class="bull"> • </span> <a href="command-line-options.html#profile">‑profile</a> <span class="bull"> • </span> <a href="command-line-options.html#quality">‑quality</a> <span class="bull"> • </span> <a href="command-line-options.html#quantize">‑quantize</a> <span class="bull"> • </span> <a href="command-line-options.html#quiet">‑quiet</a> <span class="bull"> • </span> <a href="command-line-options.html#radial-blur">‑radial‑blur</a> <span class="bull"> • </span> <a href="command-line-options.html#raise">‑raise</a> <span class="bull"> • </span> <a href="command-line-options.html#random-threshold">‑random‑threshold</a> <span class="bull"> • </span> <a href="command-line-options.html#red-primary">‑red‑primary</a> <span class="bull"> • </span> <a href="command-line-options.html#regard-warnings">‑regard‑warnings</a> <span class="bull"> • </span> <a href="command-line-options.html#region">‑region</a> <span class="bull"> • </span> <a href="command-line-options.html#remap">‑remap</a> <span class="bull"> • </span> <a href="command-line-options.html#remote">‑remote</a> <span class="bull"> • </span> <a href="command-line-options.html#render">‑render</a> <span class="bull"> • </span> <a href="command-line-options.html#repage">‑repage</a> <span class="bull"> • </span> <a href="command-line-options.html#resample">‑resample</a> <span class="bull"> • </span> <a href="command-line-options.html#resize">‑resize</a> <span class="bull"> • </span> <a href="command-line-options.html#respect-parentheses">‑respect‑parentheses</a> <span class="bull"> • </span> <a href="command-line-options.html#reverse">‑reverse</a> <span class="bull"> • </span> <a href="command-line-options.html#roll">‑roll</a> <span class="bull"> • </span> <a href="command-line-options.html#rotate">‑rotate</a> <span class="bull"> • </span> <a href="command-line-options.html#sample">‑sample</a> <span class="bull"> • </span> <a href="command-line-options.html#sampling-factor">‑sampling‑factor</a> <span class="bull"> • </span> <a href="command-line-options.html#scale">‑scale</a> <span class="bull"> • </span> <a href="command-line-options.html#scene">‑scene</a> <span class="bull"> • </span> <a href="command-line-options.html#screen">‑screen</a> <span class="bull"> • </span> <a href="command-line-options.html#seed">‑seed</a> <span class="bull"> • </span> <a href="command-line-options.html#segment">‑segment</a> <span class="bull"> • </span> <a href="command-line-options.html#selective-blur">‑selective‑blur</a> <span class="bull"> • </span> <a href="command-line-options.html#separate">‑separate</a> <span class="bull"> • </span> <a href="command-line-options.html#sepia-tone">‑sepia‑tone</a> <span class="bull"> • </span> <a href="command-line-options.html#set">‑set</a> <span class="bull"> • </span> <a href="command-line-options.html#shade">‑shade</a> <span class="bull"> • </span> <a href="command-line-options.html#shadow">‑shadow</a> <span class="bull"> • </span> <a href="command-line-options.html#shared-memory">‑shared‑memory</a> <span class="bull"> • </span> <a href="command-line-options.html#sharpen">‑sharpen</a> <span class="bull"> • </span> <a href="command-line-options.html#shave">‑shave</a> <span class="bull"> • </span> <a href="command-line-options.html#shear">‑shear</a> <span class="bull"> • </span> <a href="command-line-options.html#sigmoidal-contrast">‑sigmoidal‑contrast</a> <span class="bull"> • </span> <a href="command-line-options.html#silent">‑silent</a> <span class="bull"> • </span> <a href="command-line-options.html#similarity-threshold">‑similarity‑threshold</a> <span class="bull"> • </span> <a href="command-line-options.html#size">‑size</a> <span class="bull"> • </span> <a href="command-line-options.html#sketch">‑sketch</a> <span class="bull"> • </span> <a href="command-line-options.html#smush">‑smush</a> <span class="bull"> • </span> <a href="command-line-options.html#snaps">‑snaps</a> <span class="bull"> • </span> <a href="command-line-options.html#solarize">‑solarize</a> <span class="bull"> • </span> <a href="command-line-options.html#sparse-color">‑sparse‑color</a> <span class="bull"> • </span> <a href="command-line-options.html#splice">‑splice</a> <span class="bull"> • </span> <a href="command-line-options.html#spread">‑spread</a> <span class="bull"> • </span> <a href="command-line-options.html#statistic">‑statistic</a> <span class="bull"> • </span> <a href="command-line-options.html#stegano">‑stegano</a> <span class="bull"> • </span> <a href="command-line-options.html#stereo">‑stereo</a> <span class="bull"> • </span> <a href="command-line-options.html#stretch">‑stretch</a> <span class="bull"> • </span> <a href="command-line-options.html#strip">‑strip</a> <span class="bull"> • </span> <a href="command-line-options.html#stroke">‑stroke</a> <span class="bull"> • </span> <a href="command-line-options.html#strokewidth">‑strokewidth</a> <span class="bull"> • </span> <a href="command-line-options.html#style">‑style</a> <span class="bull"> • </span> <a href="command-line-options.html#subimage-search">‑subimage‑search</a> <span class="bull"> • </span> <a href="command-line-options.html#swap">‑swap</a> <span class="bull"> • </span> <a href="command-line-options.html#swirl">‑swirl</a> <span class="bull"> • </span> <a href="command-line-options.html#synchronize">‑synchronize</a> <span class="bull"> • </span> <a href="command-line-options.html#taint">‑taint</a> <span class="bull"> • </span> <a href="command-line-options.html#text-font">‑text‑font</a> <span class="bull"> • </span> <a href="command-line-options.html#texture">‑texture</a> <span class="bull"> • </span> <a href="command-line-options.html#threshold">‑threshold</a> <span class="bull"> • </span> <a href="command-line-options.html#thumbnail">‑thumbnail</a> <span class="bull"> • </span> <a href="command-line-options.html#tile">‑tile</a> <span class="bull"> • </span> <a href="command-line-options.html#tile-offset">‑tile‑offset</a> <span class="bull"> • </span> <a href="command-line-options.html#tint">‑tint</a> <span class="bull"> • </span> <a href="command-line-options.html#title">‑title</a> <span class="bull"> • </span> <a href="command-line-options.html#transform">‑transform</a> <span class="bull"> • </span> <a href="command-line-options.html#transparent">‑transparent</a> <span class="bull"> • </span> <a href="command-line-options.html#transparent-color">‑transparent‑color</a> <span class="bull"> • </span> <a href="command-line-options.html#transpose">‑transpose</a> <span class="bull"> • </span> <a href="command-line-options.html#transverse">‑transverse</a> <span class="bull"> • </span> <a href="command-line-options.html#treedepth">‑treedepth</a> <span class="bull"> • </span> <a href="command-line-options.html#trim">‑trim</a> <span class="bull"> • </span> <a href="command-line-options.html#type">‑type</a> <span class="bull"> • </span> <a href="command-line-options.html#undercolor">‑undercolor</a> <span class="bull"> • </span> <a href="command-line-options.html#unique-colors">‑unique‑colors</a> <span class="bull"> • </span> <a href="command-line-options.html#units">‑units</a> <span class="bull"> • </span> <a href="command-line-options.html#unsharp">‑unsharp</a> <span class="bull"> • </span> <a href="command-line-options.html#update">‑update</a> <span class="bull"> • </span> <a href="command-line-options.html#verbose">‑verbose</a> <span class="bull"> • </span> <a href="command-line-options.html#version">‑version</a> <span class="bull"> • </span> <a href="command-line-options.html#view">‑view</a> <span class="bull"> • </span> <a href="command-line-options.html#vignette">‑vignette</a> <span class="bull"> • </span> <a href="command-line-options.html#virtual-pixel">‑virtual‑pixel</a> <span class="bull"> • </span> <a href="command-line-options.html#visual">‑visual</a> <span class="bull"> • </span> <a href="command-line-options.html#watermark">‑watermark</a> <span class="bull"> • </span> <a href="command-line-options.html#wave">‑wave</a> <span class="bull"> • </span> <a href="command-line-options.html#weight">‑weight</a> <span class="bull"> • </span> <a href="command-line-options.html#white-point">‑white‑point</a> <span class="bull"> • </span> <a href="command-line-options.html#white-threshold">‑white‑threshold</a> <span class="bull"> • </span> <a href="command-line-options.html#window">‑window</a> <span class="bull"> • </span> <a href="command-line-options.html#window-group">‑window‑group</a> <span class="bull"> • </span> <a href="command-line-options.html#write">‑write</a>  </p>
 
-<h1>Command-line Options</h1><p class="navigation-index">[ <a href="command-line-options.html#adaptive-blur">&#x2011;adaptive&#x2011;blur</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#adaptive-resize">&#x2011;adaptive&#x2011;resize</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#adaptive-sharpen">&#x2011;adaptive&#x2011;sharpen</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#adjoin">&#x2011;adjoin</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#affine">&#x2011;affine</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#alpha">&#x2011;alpha</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#annotate">&#x2011;annotate</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#antialias">&#x2011;antialias</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#append">&#x2011;append</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#attenuate">&#x2011;attenuate</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#authenticate">&#x2011;authenticate</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#auto-gamma">&#x2011;auto&#x2011;gamma</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#auto-level">&#x2011;auto&#x2011;level</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#auto-orient">&#x2011;auto&#x2011;orient</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#backdrop">&#x2011;backdrop</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#background">&#x2011;background</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#bench">&#x2011;bench</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#bias">&#x2011;bias</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#black-point-compensation">&#x2011;black&#x2011;point&#x2011;compensation</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#black-threshold">&#x2011;black&#x2011;threshold</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#blend">&#x2011;blend</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#blue-primary">&#x2011;blue&#x2011;primary</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#blue-shift">&#x2011;blue&#x2011;shift</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#blur">&#x2011;blur</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#border">&#x2011;border</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#bordercolor">&#x2011;bordercolor</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#borderwidth">&#x2011;borderwidth</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#brightness-contrast">&#x2011;brightness&#x2011;contrast</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#cache">&#x2011;cache</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#canny">&#x2011;canny</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#caption">&#x2011;caption</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#cdl">&#x2011;cdl</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#channel">&#x2011;channel</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#charcoal">&#x2011;charcoal</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#chop">&#x2011;chop</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#clamp">&#x2011;clamp</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#clip">&#x2011;clip</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#clip-mask">&#x2011;clip&#x2011;mask</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#clip-path">&#x2011;clip&#x2011;path</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#clone">&#x2011;clone</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#clut">&#x2011;clut</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#coalesce">&#x2011;coalesce</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#colorize">&#x2011;colorize</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#colormap">&#x2011;colormap</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#color-matrix">&#x2011;color&#x2011;matrix</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#colors">&#x2011;colors</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#colorspace">&#x2011;colorspace</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#combine">&#x2011;combine</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#comment">&#x2011;comment</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#compare">&#x2011;compare</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#complex">&#x2011;complex</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#compose">&#x2011;compose</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#composite">&#x2011;composite</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#compress">&#x2011;compress</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#connected-components">&#x2011;connected&#x2011;components</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#contrast">&#x2011;contrast</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#contrast-stretch">&#x2011;contrast&#x2011;stretch</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#convolve">&#x2011;convolve</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#crop">&#x2011;crop</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#cycle">&#x2011;cycle</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#debug">&#x2011;debug</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#decipher">&#x2011;decipher</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#deconstruct">&#x2011;deconstruct</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#define">&#x2011;define</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#delay">&#x2011;delay</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#delete">&#x2011;delete</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#density">&#x2011;density</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#depth">&#x2011;depth</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#descend">&#x2011;descend</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#deskew">&#x2011;deskew</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#despeckle">&#x2011;despeckle</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#direction">&#x2011;direction</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#displace">&#x2011;displace</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#display">&#x2011;display</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#dispose">&#x2011;dispose</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#dissimilarity-threshold">&#x2011;dissimilarity&#x2011;threshold</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#dissolve">&#x2011;dissolve</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#distort">&#x2011;distort</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#distribute-cache">&#x2011;distribute&#x2011;cache</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#dither">&#x2011;dither</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#draw">&#x2011;draw</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#duplicate">&#x2011;duplicate</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#edge">&#x2011;edge</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#emboss">&#x2011;emboss</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#encipher">&#x2011;encipher</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#encoding">&#x2011;encoding</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#endian">&#x2011;endian</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#enhance">&#x2011;enhance</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#equalize">&#x2011;equalize</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#evaluate">&#x2011;evaluate</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#evaluate-sequence">&#x2011;evaluate&#x2011;sequence</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#extent">&#x2011;extent</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#extract">&#x2011;extract</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#family">&#x2011;family</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#features">&#x2011;features</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#fft">&#x2011;fft</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#fill">&#x2011;fill</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#filter">&#x2011;filter</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#flatten">&#x2011;flatten</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#flip">&#x2011;flip</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#floodfill">&#x2011;floodfill</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#flop">&#x2011;flop</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#font">&#x2011;font</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#foreground">&#x2011;foreground</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#format">&#x2011;format</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#format_identify_">&#x2011;format[identify]</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#frame">&#x2011;frame</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#frame_import_">&#x2011;frame[import]</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#function">&#x2011;function</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#fuzz">&#x2011;fuzz</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#fx">&#x2011;fx</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#gamma">&#x2011;gamma</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#gaussian-blur">&#x2011;gaussian&#x2011;blur</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#geometry">&#x2011;geometry</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#gravity">&#x2011;gravity</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#grayscale">&#x2011;grayscale</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#green-primary">&#x2011;green&#x2011;primary</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#hald-clut">&#x2011;hald&#x2011;clut</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#help">&#x2011;help</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#highlight-color">&#x2011;highlight&#x2011;color</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#hough-lines">&#x2011;hough&#x2011;lines</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#iconGeometry">&#x2011;iconGeometry</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#iconic">&#x2011;iconic</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#identify">&#x2011;identify</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#ift">&#x2011;ift</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#immutable">&#x2011;immutable</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#implode">&#x2011;implode</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#insert">&#x2011;insert</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#intensity">&#x2011;intensity</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#intent">&#x2011;intent</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#interlace">&#x2011;interlace</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#interpolate">&#x2011;interpolate</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#interline-spacing">&#x2011;interline&#x2011;spacing</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#interword-spacing">&#x2011;interword&#x2011;spacing</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#kerning">&#x2011;kerning</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#kuwahara">&#x2011;kuwahara</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#label">&#x2011;label</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#lat">&#x2011;lat</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#layers">&#x2011;layers</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#level">&#x2011;level</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#level-colors">&#x2011;level&#x2011;colors</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#limit">&#x2011;limit</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#linear-stretch">&#x2011;linear&#x2011;stretch</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#linewidth">&#x2011;linewidth</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#liquid-rescale">&#x2011;liquid&#x2011;rescale</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#list">&#x2011;list</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#log">&#x2011;log</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#loop">&#x2011;loop</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#lowlight-color">&#x2011;lowlight&#x2011;color</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#magnify">&#x2011;magnify</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#map">&#x2011;map</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#map_stream_">&#x2011;map[stream]</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#mask">&#x2011;mask</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#mattecolor">&#x2011;mattecolor</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#median">&#x2011;median</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#mean-shift">&#x2011;mean&#x2011;shift</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#metric">&#x2011;metric</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#mode">&#x2011;mode</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#modulate">&#x2011;modulate</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#moments">&#x2011;moments</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#monitor">&#x2011;monitor</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#monochrome">&#x2011;monochrome</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#morph">&#x2011;morph</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#morphology">&#x2011;morphology</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#mosaic">&#x2011;mosaic</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#motion-blur">&#x2011;motion&#x2011;blur</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#name">&#x2011;name</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#negate">&#x2011;negate</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#noise">&#x2011;noise</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#normalize">&#x2011;normalize</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#opaque">&#x2011;opaque</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#ordered-dither">&#x2011;ordered&#x2011;dither</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#orient">&#x2011;orient</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#page">&#x2011;page</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#paint">&#x2011;paint</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#path">&#x2011;path</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#pause_animate_">&#x2011;pause[animate]</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#pause_import_">&#x2011;pause[import]</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#perceptible">&#x2011;perceptible</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#ping">&#x2011;ping</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#pointsize">&#x2011;pointsize</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#polaroid">&#x2011;polaroid</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#poly">&#x2011;poly</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#posterize">&#x2011;posterize</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#precision">&#x2011;precision</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#preview">&#x2011;preview</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#print">&#x2011;print</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#process">&#x2011;process</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#profile">&#x2011;profile</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#quality">&#x2011;quality</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#quantize">&#x2011;quantize</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#quiet">&#x2011;quiet</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#radial-blur">&#x2011;radial&#x2011;blur</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#raise">&#x2011;raise</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#random-threshold">&#x2011;random&#x2011;threshold</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#red-primary">&#x2011;red&#x2011;primary</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#regard-warnings">&#x2011;regard&#x2011;warnings</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#region">&#x2011;region</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#remap">&#x2011;remap</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#remote">&#x2011;remote</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#render">&#x2011;render</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#repage">&#x2011;repage</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#resample">&#x2011;resample</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#resize">&#x2011;resize</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#respect-parentheses">&#x2011;respect&#x2011;parentheses</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#reverse">&#x2011;reverse</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#roll">&#x2011;roll</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#rotate">&#x2011;rotate</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#sample">&#x2011;sample</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#sampling-factor">&#x2011;sampling&#x2011;factor</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#scale">&#x2011;scale</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#scene">&#x2011;scene</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#screen">&#x2011;screen</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#seed">&#x2011;seed</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#segment">&#x2011;segment</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#selective-blur">&#x2011;selective&#x2011;blur</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#separate">&#x2011;separate</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#sepia-tone">&#x2011;sepia&#x2011;tone</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#set">&#x2011;set</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#shade">&#x2011;shade</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#shadow">&#x2011;shadow</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#shared-memory">&#x2011;shared&#x2011;memory</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#sharpen">&#x2011;sharpen</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#shave">&#x2011;shave</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#shear">&#x2011;shear</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#sigmoidal-contrast">&#x2011;sigmoidal&#x2011;contrast</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#silent">&#x2011;silent</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#similarity-threshold">&#x2011;similarity&#x2011;threshold</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#size">&#x2011;size</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#sketch">&#x2011;sketch</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#smush">&#x2011;smush</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#snaps">&#x2011;snaps</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#solarize">&#x2011;solarize</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#sparse-color">&#x2011;sparse&#x2011;color</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#splice">&#x2011;splice</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#spread">&#x2011;spread</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#statistic">&#x2011;statistic</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#stegano">&#x2011;stegano</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#stereo">&#x2011;stereo</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#stretch">&#x2011;stretch</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#strip">&#x2011;strip</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#stroke">&#x2011;stroke</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#strokewidth">&#x2011;strokewidth</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#style">&#x2011;style</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#subimage-search">&#x2011;subimage&#x2011;search</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#swap">&#x2011;swap</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#swirl">&#x2011;swirl</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#synchronize">&#x2011;synchronize</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#taint">&#x2011;taint</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#text-font">&#x2011;text&#x2011;font</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#texture">&#x2011;texture</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#threshold">&#x2011;threshold</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#thumbnail">&#x2011;thumbnail</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#tile">&#x2011;tile</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#tile-offset">&#x2011;tile&#x2011;offset</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#tint">&#x2011;tint</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#title">&#x2011;title</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#transform">&#x2011;transform</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#transparent">&#x2011;transparent</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#transparent-color">&#x2011;transparent&#x2011;color</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#transpose">&#x2011;transpose</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#transverse">&#x2011;transverse</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#treedepth">&#x2011;treedepth</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#trim">&#x2011;trim</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#type">&#x2011;type</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#undercolor">&#x2011;undercolor</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#unique-colors">&#x2011;unique&#x2011;colors</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#units">&#x2011;units</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#unsharp">&#x2011;unsharp</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#update">&#x2011;update</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#verbose">&#x2011;verbose</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#version">&#x2011;version</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#view">&#x2011;view</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#vignette">&#x2011;vignette</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#virtual-pixel">&#x2011;virtual&#x2011;pixel</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#visual">&#x2011;visual</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#watermark">&#x2011;watermark</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#wave">&#x2011;wave</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#weight">&#x2011;weight</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#white-point">&#x2011;white&#x2011;point</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#white-threshold">&#x2011;white&#x2011;threshold</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#window">&#x2011;window</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#window-group">&#x2011;window&#x2011;group</a> <span class='bull'> &#8226; </span> <a href="command-line-options.html#write">&#x2011;write</a>  ] </p><div class="doc-section"><p>Below is list of command-line options recognized by the ImageMagick <ahref="command-line-tools.html">command-linetools</a>. If you want a description of a particular option, click on theoption name in the navigation bar above and you will go right to it. Unlessotherwise noted, each option is recognized by the commands <a href="convert.html">convert</a>, <a href="mogrify.html">mogrify</a>.</p><div style="margin: auto;">  <h4><a 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 (<emclass="arg">sigma</em>) is used. If <em class="arg">sigma</em> is not given itdefaults to 1.</p><div style="margin: auto;">  <h4><a 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="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <a href="command-line-options.html#adaptive-resize">-adaptive-resize</a>option defaults to data-dependent triangulation.  Use the <ahref="command-line-options.html#filter">-filter</a> to choose a different resampling algorithm.Offsets, if present in the geometry string, are ignored, and the <ahref="command-line-options.html#gravity">-gravity</a> option has no effect.</p><div style="margin: auto;">  <h4><a 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 (<emclass="arg">sigma</em>) is used. If <em class="arg">sigma</em> is not given itdefaults to 1.</p><div style="margin: auto;">  <h4><a 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 ofan image sequence into the given output file.  However, some formats, such asJPEG and PNG, do not support more than one image per file, and in that caseImageMagick is forced to write each image as a separate file.  As such, ifmore than one image needs to be written, the filename given is modified byadding a <a href="command-line-options.html#scene">-scene</a> number before the suffix, in order tomake distinct names for each image. </p><p>Use <a href="command-line-options.html#adjoin">+adjoin</a> to force each image to be written toseparate 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 willautomagically enable <a href="command-line-options.html#adjoin">+adjoin</a> and are used to specifywhere the <a href="command-line-options.html#scene">-scene</a> number is placed in the filenames. Thesestrings, such as '<code>%d</code>' or '<code>%03d</code>', are familiar to thosewho have used the standard <code>printf()</code>' C-library function. As anexample, 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 (the two given plus 15 more created by<a href="command-line-options.html#morph">-morph</a>), named: my00morph.jpg, my01morph.jpg,my02morph.jpg, ..., my16morph.jpg.  </p><p>In summary, ImageMagick tries to write all images to one file, but willsave to multiple files, if any of the following conditions exist...</p><ol><li>the output image's file format does not allow multi-image files,</li><li>the <a href="command-line-options.html#adjoin">+adjoin</a> option is given, or</li><li>a printf() integer format string (eg: "%d") is present in the output filename.</li></ol><div style="margin: auto;">  <h4><a 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>]</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, for use by subsequent <ahref="command-line-options.html#draw">-draw</a> or <a href="command-line-options.html#transform">-transform</a> options. </p><p>The matrix entries are entered as comma-separated numeric values either inquotes or without spaces. </p><p>Internally, the transformation matrix has 3x3 elements, but three of themare 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 atposition (<em class="arg">x</em>, <em class="arg">y</em>) in the originalimage 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 thatcontains the transformed source image.  The parameters <emclass="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 theimage area are cut off.</p><p>The transformation matrix complies with the left-handed pixel coordinatesystem: positive <em class="arg">x</em> and <em class="arg">y</em> directionsare rightward and downward, resp.; positive rotation is clockwise.</p><p> If the translation coefficients <em class="arg">t<sub>x</sub></em> and <emclass="arg">t<sub>y</sub></em> are omitted 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 <emclass="arg">s<sub>y</sub></em> in the <em>x</em> and <em>y</em> directions,respectively, is accomplished with the following.</p><p>See <a href="command-line-options.html#transform">-transform</a>, and the <ahref="command-line-options.html#distort">-distort</a> method '<code>Affineprojection</code> for moreinformation </p><p class="crtsnip"> -affine <em class="arg">s<sub>x</sub></em>,0,0,<emclass="arg">s<sub>y</sub></em> </p><p>Translation by a displacement (<em class="arg">t<sub>x</sub></em>, <emclass="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="command-line-options.html#affine" >-affine</a>transformations can be accomplished by instead by a single <a href="command-line-options.html#affine">-affine</a> operation using the matrix equal to the product of the matricesof the individual transformations.</p><p>An attempt is made to detect near-singular transformation matrices. If thematrix determinant has a sufficiently small absolute value it is rejected.</p><div style="margin: auto;">  <h4><a 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 alphachannel 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"><code>Activate</code> or <code>On</code></td>    <td valign="top">       Enable the image's transparency channel. Note normally <code>Set</code>       should be used instead of this, unless you specifically need to       preserve existing (but specifically turned <code>Off</code>) transparency       channel. </td></tr>  <tr valign="top">    <td valign="top"><code>Associate</code></td>    <td valign="top">       associate the alpha channel with the image.</td></tr>  <tr valign="top">    <td valign="top"><code>Deactivate</code> or <code>Off</code></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.</td></tr>  <tr valign="top">    <td valign="top"><code>Disassociate</code></td>    <td valign="top">       disassociate the alpha channel from the image.</td></tr>  <tr valign="top">    <td valign="top"><code>Set</code></td>    <td valign="top">       Activates the alpha/matte channel. If it was previously turned off       then it also resets the channel to opaque.  If the image already had       the alpha channel turned on, it will have no effect.</td></tr>  <tr valign="top">    <td valign="top"><code>Opaque</code></td>    <td valign="top">       Enables the alpha/matte channel and forces it to be fully opaque.       </td></tr>  <tr valign="top">    <td valign="top"><code>Transparent</code></td>    <td valign="top">       Activates 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, but fully transparent. </td></tr>  <tr valign="top">    <td valign="top"><code>Extract</code></td>    <td valign="top">       Copies the alpha channel values into all the color channels and turns       '<code>Off</code>' the the image's transparency, so as to generate       a gray-scale mask of the image's shape. The alpha channel data is left       intact just deactivated.  This is the inverse of '<code>Copy</code>'.       </td></tr>  <tr valign="top">    <td valign="top"><code>Copy</code></td>    <td valign="top">       Turns '<code>On</code>' the alpha/matte channel, then copies the       gray-scale intensity of the image, into the alpha channel, converting       a gray-scale mask into a transparent shaped mask ready to be colored       appropriately. The color channels are not modified.  </td></tr>  <tr valign="top">    <td valign="top"><code>Shape</code></td>    <td valign="top">       As per '<code>Copy</code>' but also colors the resulting shape mask with       the current background color.  That is the RGB color channels is       replaced, with appropriate alpha shape.       </td></tr>  <tr valign="top">    <td valign="top"><code>Remove</code></td>    <td valign="top">       Composite the image over the background color.       </td></tr>  <tr valign="top">    <td valign="top"><code>Background</code></td>    <td valign="top">       Set any fully-transparent pixel to the background color, while leaving       it fully-transparent.  This can make some image file formats, such as       PNG, smaller as the RGB values of transparent pixels are more uniform,       and thus can compress better.       </td></tr>  </tbody></table><p>Note that while the obsolete <code>+matte</code> operation was thesame as "<code><a href="command-line-options.html#alpha" >-alpha</a> Off</code>", the <code>>-matte</code> operation was the same as "<code><a href="command-line-options.html#alpha" >-alpha</a>Set</code>" and not "<code><a href="command-line-options.html#alpha" >-alpha</a> On</code>".  </p><div style="margin: auto;"> <h4><a 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><br /> -annotate {+-}<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 precisecontrol over text annotations, use <a href="command-line-options.html#draw">-draw</a>.</p><p>The values <em class="arg">Xdegrees</em> and <em class="arg">Ydegrees</em>control the shears 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 any <a href="command-line-options.html#gravity" >-gravity</a> setting and defaults to the upper left corner of the image.</p><p>Using <a href="command-line-options.html#annotate">-annotate</a> <em class="arg">degrees</em>or <a href="command-line-options.html#annotate">-annotate</a> <em class="arg">degrees</em>x<emclass="arg">degrees</em> produces an unsheared rotation of the text. Thedirection of the rotation is positive, which means a clockwise rotation if <emclass="arg">degrees</em> is positive. (This conforms to the usual mathematicalconvention once it is realized that the positive <em>y</em>–direction isconventionally considered to be <em>downward</em> for images.)</p><p>The new (transformed) coordinates (<em class="arg">x'</em>, <emclass="arg">y'</em>) of a pixel at position (<em class="arg">x</em>, <emclass="arg">y</em>) in the image are calculated using the following matrixequation.</p> <div class="eqn"><img alt="annotate transformation"  src="../images/annotate.png"/></div><p>If <em class="arg">t<sub>x</sub></em> and <emclass="arg">t<sub>y</sub></em> are omitted, they default to 0. This makes thebottom-left of the text becomes the upper-left corner of the image, which isprobably undesirable. Adding a <a href="command-line-options.html#gravity" >-gravity</a> option in thiscase 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<code>mytext.txt</code>.  Text  in a file is taken literally; no embeddedformatting characters are recognized.</p><div style="margin: auto;">  <h4><a 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 whendrawing fonts and lines.</td><td style='text-align:right;'></td></tr></table>
-<p>By default, objects (e.g. text, lines, polygons, etc.) are antialiased whendrawn.  Use <a href="command-line-options.html#antialias">+antialias</a> to disable the addition ofantialiasing edge pixels.  This will then reduce the number of colors added toan image to just the colors being directly drawn.  That is, no mixed colorsare added when drawing such objects. </p><div style="margin: auto;">  <h4><a 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, by joining all the currentimages in sequence top-to-bottom. Use <a href="command-line-options.html#append">+append</a> tostack images left-to-right. </p><p>If they are not of the same width, narrower images are padded with thecurrent <a href="command-line-options.html#background">-background</a> color setting, and theirposition relative to each other can be controlled by the current <ahref="command-line-options.html#gravity">-gravity</a> setting. </p><div style="margin: auto;">  <h4><a 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>
-<p>If unset the value is equivalent to 1.0, or a maximum noise addition</p><div style="margin: auto;">  <h4><a 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 decryptinga PDF that has been encrypted using Microsoft Crypto API (MSC API). Theencrypting using the MSC API is not supported.</p><p>For a different encryption method, see <a href="command-line-options.html#encipher">-encipher</a>and <a href="command-line-options.html#decipher">-decipher</a>. </p><div style="margin: auto;">  <h4><a 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>
-<p>This calculates the mean values of an image, then applies a calculated  <ahref="command-line-options.html#gamma" >-gamma</a> adjustment so that is the mean color exists in theimage it will get a have a value of 50%. </p><p>This means that any solid 'gray' image becomes 50% gray. </p><p>This works well for real-life images with little or no extreme dark andlight areas, but tend to fail for images with large amounts of bright sky ordark shadows. It also does not work well for diagrams or cartoon like images.</p><p>It uses the <a href="command-line-options.html#channel" >-channel</a> setting, (including the'<em>sync</em>' flag for channel synchronization), to determine which colorvalues is used and modified. As the default <a href="command-line-options.html#channel">-channel</a> setting is '<em>RGB,sync</em>', channels are modifiedtogether by the same gamma value, preserving colors. </p><div style="margin: auto;">  <h4><a 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>
-<p>This is a 'perfect' image normalization operator.  It finds the exactminimum and maximum color values in the image and then applies a <ahref="command-line-options.html#level" >-level</a> operator to stretch the values to the full range ofvalues. </p><p>The operator is not typically used for real-life images, image scans, orJPEG format images, as a single 'out-rider' pixel can set a bad min/max valuesfor the <a href="command-line-options.html#level" >-level</a> operation.  On the other hand it is theright operator to use for color stretching gradient images being used togenerate Color lookup tables, distortion maps, or other 'mathematically'defined images.  </p><p>The operator is very similar to the <a href="command-line-options.html#normalize">-normalize</a>, <ahref="command-line-options.html#contrast-stretch" >-contrast-stretch</a>, and <a href="command-line-options.html#linear-stretch">-linear-stretch</a> operators, but without 'histogram binning' or 'clipping'problems that these operators may have. That is <a href="command-line-options.html#auto-level">-auto-level</a> is the perfect or ideal version these operators. </p><p>It uses the <a href="command-line-options.html#channel" >-channel</a> setting, (including thespecial '<em>sync</em>' flag for channel synchronization), to determinewhich color values are used and modified. As the default <ahref="command-line-options.html#channel" >+channel</a> setting is '<em>RGB,sync</em>', the'<em>sync</em>' ensures that the color channels will are modifiedtogether by the same gamma value, preserving colors, and ignoringtransparency. </p><div style="margin: auto;">  <h4><a 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%'>adjusts an image so that its orientation is suitable for viewing (i.e. top-left orientation).</td><td style='text-align:right;'></td></tr></table>
-<p>This operator reads and resets the EXIF image profile setting 'Orientation'and then performs the appropriate 90 degree rotation on the image to orientthe image, for correct viewing. </p><p>This EXIF profile setting is usually set using a gravity sensor in digitalcamera, however photos taken directly downward or upward may not have anappropriate value.  Also images that have been orientation 'corrected' withoutreseting this setting, may be 'corrected' again resulting in a incorrectresult.  If the EXIF profile was previously stripped, the  <ahref="command-line-options.html#auto-orient" >-auto-orient</a> operator will do nothing. </p><div style="margin: auto;">  <h4><a 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><div style="margin: auto;">  <h4><a 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="animate.html">animate</a>, <a href="display.html">display</a>]</td></tr></table>
-<p>This backdrop covers the entire workstation screen and is useful for hidingother X window activity while viewing the image. The color of the backdrop isspecified as the background color. The color is specified using the formatdescribed under the <a href="command-line-options.html#fill">-fill</a> option.</p><div style="margin: auto;">  <h4><a 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 <ahref="command-line-options.html#fill">-fill</a> option. The default background color (if none isspecified or found in the image) is white.</p><div style="margin: auto;">  <h4><a 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.  Modify the benchmark with the-duration to run the benchmark for a fixed number of seconds and -concurrentto run the benchmark in parallel (requires the OpenMP feature).</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert logo: -resize 1000% -bench 5 logo.png</span><span class='crtout'>Performance[4]: 5i 0.875657ips 6.880u 0:05.710</span></p><p>In this example, 5 iterations were completed at 0.875657 iterations persecond, using 4 threads and 6.88 seconds of the user's allotted time, fora total elapsed time of 5.71 seconds.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#convolve">&#x2011;convolve</a>  so thatpositive and negative results are relative to the specified bias value. </p><p>This is important for non-HDRI compilations of ImageMagick when dealingwith convolutions that contain negative as well as positive values. This isespecially the case with convolutions involving high pass filters or edgedetection. Without an output bias, the negative values are clipped atzero.</p><p>When using an ImageMagick with the HDRI compile-time setting, <a href="command-line-options.html#bias">&#x2011;bias</a> is not needed, as ImageMagick is able to store/handle anynegative results without clipping to the color value range(0..QuantumRange).</p><p>See the discussion on HDRI implementations of ImageMagick on the page <ahref="high-dynamic-range.html" >High Dynamic-Range Images</a>. For moreabout HDRI go the ImageMagick <ahref="http://www.imagemagick.org/Usage/basics/#hdri" >Usage</a> pages or this<ahref="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">Wikipedia</a>entry.  </p><div style="margin: auto;">  <h4><a 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 id="black-threshold"></a>-black-threshold <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%'>Force to black all pixels below the threshold while leaving all pixels at or above the threshold unchanged.</td><td style='text-align:right;'></td></tr></table>
-<p> The threshold value can be given as a percentage or as an absolute integervalue within [0, <em class="QR">QuantumRange</em>] corresponding to thedesired <a href="command-line-options.html#channel">&#x2011;channel</a> value. See <a href="command-line-options.html#threshold">&#x2011;threshold</a>for more details on thresholds and resulting values.  </p><div style="margin: auto;">  <h4><a id="blend"></a>-blend <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%'>blend an image into another by the given absolute value or percent.</td><td style='text-align:right;'>[<a href="composite.html">composite</a>]</td></tr></table>
-<p>Blend will average the images together ('plus') according to thepercentages given and each pixels transparency.  If only a single percentagevalue is given it sets the weight of the composite or 'source' image, whilethe background image is weighted by the exact opposite amount. That is a<code>-blend 30%</code> merges 30% of the 'source' image with 70% of the'destination' image.  Thus it is equivalent to <code>-blend 30x70%</code>.</p><div style="margin: auto;">  <h4><a 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 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 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 using the given<em class="arg" >Sigma</em> value.  The formula is:</p><div class="eqn"><img alt="gaussian distribution" width="243px" height="42px" src="../images/gaussian-blur.png"/></div><p>The <em class="arg" >Sigma</em> value is the important argument, anddetermines the actual amount of blurring that will take place. </p><p>The <em class="arg" >Radius</em> is only used to determine the size of thearray which will hold the calculated Gaussian distribution. It should be aninteger.  If not given, or set to zero, IM will calculate the largest possibleradius that will provide meaningful results for the Gaussian distribution.</p><p>The larger the <em class="arg" >Radius</em> the slower theoperation is. However too small a <em class="arg" >Radius</em>, and severaliasing effects may result.  As a guideline, <em class="arg" >Radius</em>should be at least twice the <em class="arg" >Sigma</em> value, though threetimes will produce a more accurate result. </p><p>This option differs from <a href="command-line-options.html#gaussian-blur">-gaussian-blur</a> simplyby taking advantage of the separability properties of the distribution.  Herewe apply a single-dimensional Gaussian matrix in the horizontal direction,then repeat the process in the vertical direction.</p><p>The <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting will determine howpixels which are outside the image proper are blurred into the final result.</p><div style="margin: auto;">  <h4>-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 an image according to the overlay mapping.</td><td style='text-align:right;'>[<a href="composite.html">composite</a>]</td></tr></table>
-<p>Each pixel in the overlaid region is replaced with an Elliptical WeightedAverage (EWA) of the source image, scaled according to the grayscalemapping. </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 Gaussianweighting.  The <em class="arg" >Angle</em> will rotate the ellipse fromhorizontal clock-wise.  </p><p>The <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting will determine howpixels which are outside the image proper are blurred into the final result.</p><div style="margin: auto;">  <h4><a 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">geometry</em> argument.  See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. Offsets areignored. </p><p>As of IM 6.7.8-8, the <em class="arg">geometry</em> arguments behave as follows:</p><table id="borderTable" class="doc">  <col width="20%"/> <col width="80%"/>  <thead>  <tr valign="top">    <th style="text-align:center"><em class="arg">size</em></th>    <th>General description</th>  </tr>  </thead>  <tbody>  <tr valign="top">    <td><em class="arg">value</em></td>    <td>value is added to both left/right and top/bottom</td>  </tr>  <tr valign="top">    <td><em class="arg">value-x</em>x</td>    <td>value-x is added only to left/right and top/bottom are unchanged</td>  </tr>  <tr valign="top">    <td>x<em class="arg">value-y</em></td>    <td>value-y is added only to top/bottom and left/right are unchanged</td>  </tr>  <tr valign="top">    <td><em class="arg">value-x</em>x<em class="arg">value-y</em></td>    <td>value-x is added to left/right and value-y added to top/bottom</td>  </tr>  <tr valign="top">    <td><em class="arg">value-x</em>x<code>0</code></td>    <td>value-x is added only to left/right and top/bottom are unchanged</td>  </tr>  <tr valign="top">    <td><code>0</code>x<em class="arg">value-y</em></td>    <td>value-y is added only to top/bottom and left/right are unchanged</td>  </tr>  <tr valign="top">    <td> </td>    <td> </td>  </tr>  <tr valign="top">    <td><em class="arg">value</em>%</td>    <td>value % of width is added to left/right and value % of height is added                  to top/bottom</td>  </tr>  <tr valign="top">    <td><em class="arg">value-x</em>x%</td>    <td>value-x % of width is added to left/right and to top/bottom</td>  </tr>  <tr valign="top">    <td>x<em class="arg">value-y</em>%</td>    <td>value-y % of height is added to top/bottom and to left/right</td>  </tr>  <tr valign="top">    <td><em class="arg">value-x</em>%x<em class="arg">value-y</em>%</td>    <td>value-x % of width is added to left/right and value-y % of height is added to top/bottom</td>  </tr>  <tr valign="top">    <td><em class="arg">value-x</em>%x<code>0</code>%</td>    <td>value-x % of width is added to left/right and top/bottom are unchanged</td>  </tr>  <tr valign="top">    <td><code>0</code>%x<em class="arg">value-y</em>%</td>    <td>value-y % of height is added to top/bottom and left/right are unchanged</td>  </tr>  </tbody>  </table><p>Set the border color by preceding with the <ahref="command-line-options.html#bordercolor">-bordercolor</a> setting.</p><p>The <a href="command-line-options.html#border">-border</a> operation is affected by the current <ahref="command-line-options.html#compose">-compose</a> setting and assumes that this is using the default'<code>Over</code>' composition method.  It generates an image of the appropriatesize colors by the current <a href="command-line-options.html#bordercolor">-bordercolor</a> beforeoverlaying the original image in the center of this net image.  This means thatwith the default compose method of '<code>Over</code>' any transparent parts maybe replaced by the current <a href="command-line-options.html#bordercolor">-bordercolor</a> setting.</p><p>See also the <a href="command-line-options.html#frame">-frame</a> option, which has morefunctionality.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#fill">-fill</a> option.</p><p>The default border color is <code>#DFDFDF</code>, <span style="background-color: #dfdfdf;">this shade of gray</span>.</p><div style="margin: auto;">  <h4><a 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="animate.html">animate</a>, <a href="display.html">display</a>]</td></tr></table>
-<div style="margin: auto;">  <h4><a id="brightness-contrast"></a>-brightness-contrast <em class="arg">brightness</em><br />-brightness-contrast <em class="arg">brightness</em>{x<em class="arg">contrast</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%'>Adjust the brightness and/or contrast of the image.</td><td style='text-align:right;'></td></tr></table>
-<p>Brightness and Contrast values apply changes to the input image. They arenot absolute settings. A brightness or contrast value of zero means no change.The range of values is -100 to +100 on each. Positive values increase thebrightness or contrast and negative values decrease the brightness or contrast.To control only contrast, set the brightness=0. To control only brightness,set contrast=0 or just leave it off.</p><p>You may also use <a href="command-line-options.html#fill">-channel</a> to control which channels toapply the brightness and/or contrast change. The default is to apply the sametransformation to all channels.</p><p>Brightness and Contrast arguments are converted to offset and slope of alinear transform and appliedusing <a href="command-line-options.html#fill">-function polynomial "slope,offset"</a>.</p><p>The slope varies from 0 at contrast=-100 to almost vertical atcontrast=+100. For brightness=0 and contrast=-100, the result are totallymidgray. For brightness=0 and contrast=+100, the result will approach butnot quite reach a threshold at midgray; that is the linear transformationis a very steep vertical line at mid gray.</p><p>Negative slopes, i.e. negating the image, are not possible with thisfunction. All achievable slopes are zero or positive.</p><p>The offset varies from -0.5 at brightness=-100 to 0 at brightness=0 to +0.5at brightness=+100. Thus, when contrast=0 and brightness=100, the result istotally white. Similarly, when contrast=0 and brightness=-100, the result istotally black.</p><p>As the range of values for the arguments are -100 to +100, adding the '%'symbol is no different than leaving it off.</p><div style="margin: auto;">  <h4><a 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='command-line-options.html#limit'>-limit</a> option.)</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a id="canny"></a>-canny <em class="arg">radius</em><br />-canny <em class="arg">radius</em>x<em class="arg">sigma</em>{<em class="arg">+lower-percent</em>}{<em class="arg">+upper-percent</em>}</h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>Canny edge detector uses a multi-stage algorithm to detect a wide range of edges in the image.</td><td style='text-align:right;'></td></tr></table>
-<p>The thresholds range from 0 to 100% (e.g. -canny 0x1+10%+30%) with {<em class="arg">+lower-percent</em>} < {<em class="arg">+upper-percent</em>}. If {<em class="arg">+upper-percent</em>} is increased but {<em class="arg">+lower-percent</em>} remains the same, lesser edge components will be detected, but their lengths will be the same. If {<em class="arg">+lower-percent</em>} is increased but {<em class="arg">+upper-percent</em>} is the same, the same number of edge components will be detected but their lengths will be shorter. The default thresholds are shown. The <em class="arg">radius</em>x<em class="arg">sigma</em> controls a gaussian blur applied to the input image to reduce noise and smooth the edges.</p><div style="margin: auto;">  <h4><a 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>
-<p>This option sets the caption meta-data of an image read in after thisoption has been given.  To modify a caption of images already in memory use"<code><a href="command-line-options.html#set">-set</a> caption</code>". </p><p>The caption can contain special format characters listed in the <ahref="escape.html">Format andPrint Image Properties</a>. These attributes are expanded when the captionis finally assigned to the individual images. </p><p>If the first character of <em class="arg">string</em> is <emclass="arg">@</em>, the image caption is read from a file titled by theremaining characters in the string.  Comments read in from a file are literal;no embedded formatting characters are recognized.</p><p>Caption meta-data is not visible on the image itself. To do that use the<a href="command-line-options.html#annotate">-annotate</a> or <a href="command-line-options.html#draw">-draw</a> optionsinstead.</p><p>For example,</p><p class="crtsnip">     -caption "%m:%f %wx%h"  bird.miff</p><p>produces an image caption of <code>MIFF:bird.miff 512x480</code> (assumingthat the image <code>bird.miff</code> has a width of 512 and a height of480.</p><div style="margin: auto;">  <h4><a 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"?&gt;&lt;ColorCorrectionCollection xmlns="urn:ASC:CDL:v1.2"&gt;  &lt;ColorCorrection id="cc06668"&gt;    &lt;SOPNode&gt;      &lt;Slope&gt; 0.9 1.2 0.5 &lt;/Slope&gt;      &lt;Offset&gt; 0.4 -0.5 0.6 &lt;/Offset&gt;      &lt;Power&gt; 1.0 0.8 1.5 &lt;/Power&gt;    &lt;/SOPNode&gt;    &lt;SATNode&gt;      &lt;Saturation&gt; 0.85 &lt;/Saturation&gt;    &lt;/SATNode&gt;  &lt;/ColorCorrection&gt;&lt;/ColorCorrectionCollection&gt;</pre><div style="margin: auto;">  <h4><a 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: <code>Red</code>, <code>Green</code>, <code>Blue</code>,<code>Alpha</code>, <code>Gray</code>, <code>Cyan</code>, <code>Magenta</code>,<code>Yellow</code>, <code>Black</code>, <code>Opacity</code>,<code>Index</code>, <code>RGB</code>, <code>RGBA</code>, <code>CMYK</code>, or<code>CMYKA</code>.</p><p>The channels above can also be specified as a comma-separated list or can beabbreviated as a concatenation of the letters '<code>R</code>', '<code>G</code>','<code>B</code>', '<code>A</code>', '<code>O</code>', '<code>C</code>','<code>M</code>', '<code>Y</code>', '<code>K</code>'.For example, to only select the <code>Red</code> and <code>Blue</code> channelsyou can either use </p><p class="crtsnip">    -channel Red,Blue</p><p>or you can use the short hand form</p><p class="crtsnip">    -channel RB</p><p>All the channels that are present in an image can be specified using thespecial channel type <code>All</code>. Not all operators are 'channel capable',but generally any operators that are generally 'grey-scale' image operators,will understand this setting.  See individual operator documentation. </p><br/><p>On top of the normal channel selection an extra flag can be specified,'<code>Sync</code>'.  This is turned on by default and if set means thatoperators that understand this flag should perform: cross-channelsynchronization of the channels. If not specified, then most grey-scaleoperators will apply their image processing operations to each individualchannel (as specified by the rest of the <a href="command-line-options.html#channel">-channel</a>setting) completely independently from each other. </p><p>For example for operators such as <a href="command-line-options.html#auto-level">-auto-level</a> and<a href="command-line-options.html#auto-gamma">-auto-gamma</a> the color channels are modifiedtogether in exactly the same way so that colors will remain in-sync. Withoutit being set, then each channel is modified separately andindependently, which may produce color distortion. </p><p>The <a href="command-line-options.html#morphology">-morphology</a> '<code>Convolve</code>' methodand the <a href="command-line-options.html#compose">-compose</a> mathematical methods, also understandsthe '<code>Sync</code>' flag to modify the behaviour of pixel colors accordingto the alpha channel (if present). That is to say it will modify the imageprocessing with the understanding that fully-transparent colors should notcontribute to the final result. </p><p>Basically, by default, operators work with color channels in synchronous, andtreats transparency as special, unless the <a href="command-line-options.html#channel">-channel</a>setting is modified so as to remove the effect of the '<code>Sync</code>' flag.How each operator does this depends on that operators current implementation.Not all operators understands this flag at this time, but that is changing.</p><p>To print a complete list of channel types, use <a href="command-line-options.html#list">-listchannel</a>.</p><br /><p>By default, ImageMagick sets <a href="command-line-options.html#channel">-channel</a> to the value'<code>RGBK,sync</code>', which specifies that operators act on all colorchannels except the transparency channel, and that all the color channels areto be modified in exactly the same way, with an understanding of transparency(depending on the operation being applied).  The 'plus' form <ahref="command-line-options.html#channel" >+channel</a> will reset the value back to this default. </p><p>Options that are affected by the <a href="command-line-options.html#channel" >-channel</a> settinginclude the following.<a href="command-line-options.html#auto-gamma">-auto-gamma</a>,<a href="command-line-options.html#auto-level">-auto-level</a>,<a href="command-line-options.html#black-threshold">-black-threshold</a>,<a href="command-line-options.html#blur">-blur</a>,<a href="command-line-options.html#clamp">-clamp</a>,<a href="command-line-options.html#clut">-clut</a>,<a href="command-line-options.html#combine">-combine</a>,<a href="command-line-options.html#composite">-composite</a> (Mathematical compose methods only),<a href="command-line-options.html#convolve">-convolve</a>,<a href="command-line-options.html#contrast-stretch">-contrast-stretch</a>,<a href="command-line-options.html#evaluate">-evaluate</a>,<a href="command-line-options.html#function">-function</a>,<a href="command-line-options.html#fx">-fx</a>,<a href="command-line-options.html#gaussian-blur">-gaussian-blur</a>,<a href="command-line-options.html#hald-clut">-hald-clut</a>,<a href="command-line-options.html#motion-blur">-motion-blur</a>,<a href="command-line-options.html#morphology">-morphology</a>,<a href="command-line-options.html#negate">-negate</a>,<a href="command-line-options.html#normalize">-normalize</a>,<a href="command-line-options.html#ordered-dither">-ordered-dither</a>,<a href="command-line-options.html#radial-blur">-radial-blur</a>,<a href="command-line-options.html#random-threshold">-random-threshold</a>,<a href="command-line-options.html#separate">-separate</a>,<a href="command-line-options.html#threshold">-threshold</a>, and<a href="command-line-options.html#white-threshold">-white-threshold</a>.</p><p>Warning, some operators behave differently when the <a href="command-line-options.html#channel">+channel</a> default setting is in effect, verses ANY user defined <ahref="command-line-options.html#channel" >-channel</a> setting (including the equivalent of thedefault). These operators have yet to be made to understand the newer 'Sync'flag. </p><p>For example <a href="command-line-options.html#threshold">-threshold</a> will by default gray-scalethe image before thresholding, if no <a href="command-line-options.html#channel" >-channel</a> settinghas been defined. This is not 'Sync flag controlled, yet. </p><p>Also some operators such as <a href="command-line-options.html#blur">-blur</a>, <ahref="command-line-options.html#gaussian-blur">-gaussian-blur</a>, will modify their handling of thecolor channels if the '<code>alpha</code>' channel is also enabled by <ahref="command-line-options.html#channel" >-channel</a>.  Generally this done to ensure thatfully-transparent colors are treated as being fully-transparent, and thus anyunderlying 'hidden' color has no effect on the final results.  Typicallyresulting in 'halo' effects. The newer <a href="command-line-options.html#morphology">-morphology</a>convolution equivalents however does have a understanding of the 'Sync' flagand will thus handle transparency correctly by default. </p><p>As a alpha channel is optional within images, some operators will read thecolor channels of an image as a greyscale alpha mask, when the image has noalpha channel present, and the <a href="command-line-options.html#channel" >-channel</a> setting tellsthe operator to apply the operation using alpha channels. The <ahref="command-line-options.html#clut">-clut</a> operator is a good example of this. </p><div style="margin: auto;">  <h4><a 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 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="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 ofcolumns and rows to remove. The <em class="arg">offset</em> portion ofthe <em class="arg">geometry</em> argument is influenced bya <a href="command-line-options.html#gravity">-gravity</a> setting, if present.</p><p>The <a href="command-line-options.html#chop">-chop</a> option removes entire rows and columns,and moves the remaining corner blocks leftward and upward to close the gaps.</p><p>While it can remove internal rows and columns of pixels, it is moretypically used with as <a href="command-line-options.html#gravity">-gravity</a> setting and zerooffsets so as to remove a single edge from an image.  Compare this to <ahref="command-line-options.html#shave" >-shave</a> which removes equal numbers of pixels from oppisitesides of the image.  </p><p>Using <a href="command-line-options.html#chop">-chop</a> effectively undoes the results of a <ahref="command-line-options.html#splice">-splice</a> that was given the same <emclass="arg">geometry</em> and <a href="command-line-options.html#gravity">-gravity</a> settings. </p><div style="margin: auto;">  <h4><a id="clamp"></a>-clamp</h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set each pixel whose value is below zero to zero and any the pixel whose value is above the quantum range to the quantum range (e.g. 65535) otherwise the pixel value remains unchanged.</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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 cockatoo.tif -clip -negate negated.tif</span></p><p>only the pixels within the clipping path are negated.</p><p>The <a href="command-line-options.html#clip">-clip</a> feature requires SVG support. If the SVGdelegate library is not present, the option is ignored.</p><p>Use <a href="command-line-options.html#clip">+clip</a> to disable clipping for subsequent operations.</p><div style="margin: auto;">  <h4><a 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>
-<p>Use the alpha channel of the current image as a mask.  Any areas that iswhite is not modified by any of the 'image processing operators' that follow,until the mask is removed. Pixels in the black areas of the clip mask aremodified per the requirements of the operator. </p><p>In some ways this is similar to (though not the same) as defininga rectangular <a href="command-line-options.html#region" >-region</a>, or using the negative of themask (third) image in a three image <a href="command-line-options.html#composite" >-composite</a>,operation. </p><p>Use <a href="command-line-options.html#clip-mask">+clip-mask</a> to disable clipping for subsequent operations.</p><div style="margin: auto;">  <h4><a 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 8BIM profile.</td><td style='text-align:right;'></td></tr></table>
-<p>This is identical to <a href="command-line-options.html#clip">-clip</a> except choose a specific clip path in the event the image has more than one path available. </p><p>Use <a href="command-line-options.html#clip-path">+clip-path</a> to disable clipping for subsequent operations.</p><div style="margin: auto;">  <h4><a 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 clone of an image (or images).</td><td style='text-align:right;'></td></tr></table>
-<p>Inside parenthesis (where the operator is normally used) it will make aclone of the images from the last 'pushed' image sequence, and adds them tothe end of the current image sequence. Outside parenthesis(not recommended) it clones the images from the current image sequence. </p><p>Specify the image by its index in the sequence.  The first image is index0.  Negative indexes are relative to the end of the sequence; forexample, <code>−1</code>represents the last image of the sequence.  Specify a range of images with adash (e.g. <code>0−4</code>).  Separate multiple indexes with commas but nospaces (e.g. <code>0,2,5</code>).  A value of '<code>0−−1</code> willeffectively clone all the images. </p><p>The <a href="command-line-options.html#clone">+clone</a> will simply make a copy of the last imagein the image sequence, and is thus equivalent to using a argument of'<code>−1</code>'. </p><div style="margin: auto;">  <h4><a 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 eachcorresponding 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 thehistogram mapping of how each channel should be modified. Typically it is aeither a single row or column image of replacement color values. If largerthan a single row or column, values are taken from a diagonal line fromtop-left to bottom-right corners.</p><p>The lookup is further controlled by the <ahref="command-line-options.html#interpolate">-interpolate</a> setting, which is especially handy for anLUT which is not the full length needed by the ImageMagick installed Quality(Q) level. Good settings for this are the '<code>bilinear</code>' and'<code>bicubic</code>' interpolation settings, which give smooth colorgradients, and the '<code>integer</code>' setting for a direct, unsmoothedlookup of color values. </p><p>This operator is especially suited to replacing a grayscale image with aspecific color gradient from the CLUT image. </p><p>Only the channel values defined by the <a href="command-line-options.html#channel">-channel</a>setting will have their values replaced. In particular, since the default <ahref="command-line-options.html#channel">-channel</a> setting is <code>RGB</code>, this means thattransparency (alpha/matte channel) is not affected, unless the <ahref="command-line-options.html#channel">-channel</a> setting is modified. When the alpha channel isset, it is treated by the <a href="command-line-options.html#clut" >-clut</a> operator in the same wayas the other channels, implying that alpha/matte values are replaced using thealpha/matte values of the original image. </p><p>If either the image being modified, or the lookup image, contains notransparency (i.e. <a href="command-line-options.html#alpha" >-alpha</a> is turned 'off') but the <ahref="command-line-options.html#channel">-channel</a> setting includes alpha replacement, then it isassumed that image represents a gray-scale gradient which is used for thereplacement alpha values.  That is you can use a gray-scale CLUT image toadjust a existing images alpha channel, or you can color a gray-scale imageusing colors form CLUT containing the desired colors, including transparency.</p><p>See also <a href="command-line-options.html#hald-clut" >-hald-clut</a> which replaces colorsaccording to the lookup of the full color RGB value from a 2D representationof a 3D color cube. </p><div style="margin: auto;">  <h4><a 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 toits <a href="command-line-options.html#dispose">-dispose</a> meta-data, to reproduce the look ofan animation at each point in the animation sequence. All images should bethe same size, and are assigned appropriate GIF disposal settings for theanimation to continue working as expected as a GIF animation.  Such framesare more easily viewed and processed than the highly optimized GIF overlayimages.  </p><p>The animation can be re-optimized after processing usingthe <a href="command-line-options.html#layers">-layers</a> method '<code>optimize</code>', althoughthere is no guarantee that the restored GIF animation optimization isbetter than the original. </p><div style="margin: auto;">  <h4><a 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="command-line-options.html#fill" >-fill</a> setting.</td><td style='text-align:right;'></td></tr></table>
-<p>Specify the amount of colorization as a percentage. Separate colorizationvalues can be applied to the red, green, and blue channels of the image witha comma-delimited list of colorizationvalues (e.g., <code>-colorize 0,0,50</code>).</p><div style="margin: auto;">  <h4><a 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="animate.html">animate</a>, <a href="display.html">display</a>]</td></tr></table>
-<p>The <em class="arg">type</em> can be  <code>shared</code> or <code>private</code>.</p><p>This option only applies when the default X server visualis <code>PseudoColor</code> or <code>GrayScale</code>. Referto <a href="command-line-options.html#visual">-visual</a> for more details. By default,a shared colormap is allocated. The image shares colors withother X clients. Some image colors could be approximated,therefore your image may look very different than intended.If <code>private</code> is chosen, the image colors appear exactlyas they are defined. However, other clients may go <em>technicolor</em>when the image colormap is installed.</p><div style="margin: auto;">  <h4><a 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 fewerunique colors than specified by <em class="arg">value</em> will have anyduplicate or unused colors removed.  The ordering of an existing colorpalette may be altered. When converting an image from color to grayscale,it is more efficient to convert the image to the gray colorspace beforereducing the number of colors. Refer tothe <a href="quantize.html">color reduction algorithm</a> for more details.</p><div style="margin: auto;">  <h4><a id="color-matrix"></a>-color-matrix <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%'>apply color correction to the image.</td><td style='text-align:right;'></td></tr></table>
-<p>This option permits saturation changes, hue rotation, luminance to alpha,and various other effects.  Although variable-sized transformation matricescan be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6for CMYKA (or RGBA with offsets).  The matrix is similar to those used byAdobe Flash except offsets are in column 6 rather than 5 (in support ofCMYKA images) and offsets are normalized (divide Flash offset by 255).</p><p>As an example, to add contrast to an image with offsets, try this command:</p><pre class="text">   convert kittens.jpg -color-matrix \     " 1.5 0.0 0.0 0.0, 0.0, -0.157 \       0.0 1.5 0.0 0.0, 0.0, -0.157 \       0.0 0.0 1.5 0.0, 0.0, -0.157 \       0.0 0.0 0.0 1.0, 0.0,  0.0 \       0.0 0.0 0.0 0.0, 1.0,  0.0 \       0.0 0.0 0.0 0.0, 0.0,  1.0" kittens.png</pre><div style="margin: auto;">  <h4><a 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         HCL   HCLp         HSB          HSI          HSL   HSV          HWB          Lab          LCHab   LCHuv        LMS          Log          Luv   OHTA         Rec601YCbCr  Rec709YCbCr  RGB   scRGB        sRGB         Transparent  xyY   XYZ          YCbCr        YCC          YDbDr   YIQ          YPbPr        YUV</pre><p>To print a complete list of colorspaces, use <a href="command-line-options.html#list">-list colorspace</a>.</p><p>For a more accurate color conversion to or from the linear RGB, CMYK, or grayscale colorspaces, use the <a href="command-line-options.html#profile">-profile</a> option.  Note, ImageMagick assumes the sRGB colorspace if the image format does not indicate otherwise.  For colorspace conversion, the gamma function is first removed to produce linear RGB.</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>−R</td></tr>        <tr><td align="left" valign="middle">M=<em class="QR">QuantumRange</em>−G</td></tr>        <tr><td align="left" valign="middle">Y=<em class="QR">QuantumRange</em>−B</td></tr>        <tr><th align="left" valign="middle">CMYK — 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−K)/(<em class="QR">QuantumRange</em>−K)</td></tr>        <tr><td align="left" valign="middle">M=<em class="QR">QuantumRange</em>*(M−K)/(<em class="QR">QuantumRange</em>−K)</td></tr>        <tr><td align="left" valign="middle">Y=<em class="QR">QuantumRange</em>*(Y−K)/(<em class="QR">QuantumRange</em>−K)</td></tr>        <tr><th align="left" valign="middle">Gray</th></tr>        <tr><td align="left" valign="middle">Gray = 0.298839*R+0.586811*G+0.114350*B</td></tr>        <tr><th align="left" valign="middle">HSB — 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 — 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 — 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 — 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−0.50000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>        <tr><td align="left" valign="middle">I3=(−0.25000*R+0.50000*G−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.298839*R+0.586811*G+0.114350*B</td></tr>        <tr><th align="left" valign="middle">Rec601YCbCr</th></tr>        <tr><td align="left" valign="middle">Y=0.2988390*R+0.5868110*G+0.1143500*B; <em>intensity-like</em></td></tr>        <tr><td align="left" valign="middle">Cb=(−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−0.418688*G−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.212656*R+0.715158*G+0.072186*B</td></tr>        <tr><th align="left" valign="middle">Rec709YCbCr</th></tr>        <tr><td align="left" valign="middle">Y=0.212656*R+0.715158*G+0.072186*B; <em>intensity-like</em></td></tr>        <tr><td align="left" valign="middle">Cb=(−0.114572*R−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−0.454153*G−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 R ≤ .0.0031308 then Rs=R/12.92 else Rs=1.055 R ^ (1.0 / 2.4) ? 0.055</td></tr>        <tr><td align="left" valign="middle">if G ≤ .0.0031308 then Gs=B/12.92 else Gs=1.055 R ^ (1.0 / 2.4) ? 0.055</td></tr>        <tr><td align="left" valign="middle">if B ≤ .0.0031308 then Bs=B/12.92 else Bs=1.055 R ^ (1.0 / 2.4) ? 0.055</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.212656*R+0.715158*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.298839*R+0.586811*G+0.114350*B) (with complicated scaling); <em>intensity-like</em></td></tr>        <tr><td align="left" valign="middle">C1=(−0.298839*R−0.586811*G+0.88600*B) (with complicated scaling)</td></tr>        <tr><td align="left" valign="middle">C2=(0.70100*R−0.586811*G−0.114350*B) (with complicated scaling)</td></tr>        <tr><th align="left" valign="middle">YCbCr</th></tr>        <tr><td align="left" valign="middle">Y=0.2988390*R+0.5868110*G+0.1143500*B; <em>intensity-like</em></td></tr>        <tr><td align="left" valign="middle">Cb=(−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−0.418688*G−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.298839*R+0.586811*G+0.114350*B; <em>intensity-like</em></td></tr>        <tr><td align="left" valign="middle">I=(0.59600*R−0.27400*G−0.32200*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr>        <tr><td align="left" valign="middle">Q=(0.21100*R−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.2988390*R+0.5868110*G+0.1143500*B; <em>intensity-like</em></td></tr>        <tr><td align="left" valign="middle">Pb=(−0.168736*R−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−0.418688*G−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.298839*R+0.586811*G+0.114350*B; <em>intensity-like</em></td></tr>        <tr><td align="left" valign="middle">U=(−0.14740*R−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−0.51500*G−0.10000*B)*(<em class="QR">QuantumRange</em>+1)/2</td></tr></table><p>Note the scRGB colorspace requires HDRI support otherwise it behaves just like linear RGB.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#channel">-channel</a>) of thecombined image are taken from the grayscale values of each image in thesequence, in order. For the default -channel setting of <code>RGB</code>, thismeans the first image  is assigned to the <code>Red</code> channel, the secondto the <code>Green</code> channel, the third to the <code>Blue</code>.</p><p>This option can be thought of as the inverse to <ahref="command-line-options.html#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 theoriginal.  </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 \ <br/> -combine imagecopy.png</span></p><div style="margin: auto;">  <h4><a 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 sets the comment meta-data of an image read in after thisoption has been given.  To modify a comment of images already in memory use"<code><a href="command-line-options.html#set">-set</a> comment</code>". </p><p>The comment can contain special format characters listed in the <ahref="escape.html">Format andPrint Image Properties</a>. These attributes are expanded when the commentis finally assigned to the individual images. </p><p>If the first character of <em class="arg">string</em> is <emclass="arg">@</em>, the image comment is read from a file titled by theremaining characters in the string.  Comments read in from a file are literal;no embedded formatting characters are recognized.</p><p>Comment meta-data are not visible on the image itself. To do that use the<a href="command-line-options.html#annotate">-annotate</a> or <a href="command-line-options.html#draw">-draw</a> optionsinstead.</p><p>For example,</p><p class="crtsnip">     -comment "%m:%f %wx%h"  bird.miff</p><p>produces an image comment of <code>MIFF:bird.miff 512x480</code> (assumingthat the image <code>bird.miff</code> has a width of 512 and a height of480.</p><div style="margin: auto;">  <h4><a id="compare"></a>-compare</h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>mathematically and visually annotate the difference between an image and its reconstruction</td><td style='text-align:right;'></td></tr></table>
-<p>This is a convert version of "<code>compare</code>" for two same sized images. The syntax is as follows, but other metrics are allowed.</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png reference.png -metric RMSE -compare \ <br/> difference.png</span></p><p>To get the metric value use the string format "%[distortion]".</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png reference.png -metric RMSE -compare -format \ <br/> "%[distortion]" info:</span></p><div style="margin: auto;">  <h4><a id="complex"></a>-complex <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%'>perform complex mathematics on an image sequence</td><td style='text-align:right;'></td></tr></table>
-Choose from these operators:<pre class="text">  add  conjugate  divide  magnuitude-phase  multiply  real-imaginary  subtract</pre><p>Optionally specify the <code>divide</code> operator SNR with <code><a href="command-line-options.html#define">-define</a> complex:snr=float</code>.</p><div style="margin: auto;">  <h4><a 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>See <a href="compose.html">Alpha Compositing</a> fora detailed discussion of alpha compositing.</p><p>This setting effects image processing operators that merge two (or more)images together in some way.  This includes the operators,<a href="command-line-options.html#composite">-compare</a>,<a href="command-line-options.html#composite">-composite</a>,<a href="command-line-options.html#layers">-layers</a> composite,<a href="command-line-options.html#flatten">-flatten</a>,<a href="command-line-options.html#mosaic">-mosaic</a>,<a href="command-line-options.html#layers">-layers</a> merge,<a href="command-line-options.html#border">-border</a>,<a href="command-line-options.html#frame">-frame</a>,and <a href="command-line-options.html#extent">-extent</a>. </p><p>It is also one of the primary options for the "<code>composite</code>"command.  </p><div style="margin: auto;">  <h4><a 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 two images and an optional mask</td><td style='text-align:right;'></td></tr></table>
-<p>Take the first image 'destination' and overlay the second 'source' imageaccording to the current <a href="command-line-options.html#compose">-compose</a> setting. The locationof the 'source' or 'overlay' image is controlled according to <ahref="command-line-options.html#geometry" >-geometry</a>, and <a href="command-line-options.html#geometry" >-geometry</a>settings. </p><p>If a third image is given this is treated as a gray-scale 'mask' imagerelative to the first 'destination' image. This mask will limit what parts ofthe destination can be modified by the image composition.  However for the'<code>displace</code>' compose method, the mask is used to provide a separateY-displacement image instead. </p><p>If a <a href="command-line-options.html#compose">-compose</a> method requires extra numericalarguments or flags these can be provided by setting the  <ahref="command-line-options.html#set">-set</a> '<code class="arg">option:compose:args</code>'appropriately for the compose method. </p><p>Some <a href="command-line-options.html#compose">-compose</a> methods can modify the 'destination'image outside the overlay area. You can disable this by setting the special <ahref="command-line-options.html#set">-set</a> '<code class="arg">option:compose:outside-overlay</code>'to '<code>false</code>'.  </p><div style="margin: auto;">  <h4><a 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: <code class="arg">None</code>, <code class="arg">BZip</code>, <codeclass="arg">Fax</code>, <code class="arg">Group4</code>, <codeclass="arg">JPEG</code>,  <code class="arg">JPEG2000</code>, <codeclass="arg">Lossless</code>, <code class="arg">LZW</code>, <codeclass="arg">RLE</code> or <code class="arg">Zip</code>.</p><p>To print a complete list of compression types, use <a href="command-line-options.html#list">-listcompress</a>.</p><p>Specify <a href="command-line-options.html#compress">+compress</a> to store the binary image in anuncompressed format. The default is the compression type of the specifiedimage file.</p><p>If <code>LZW</code> compression is specified but LZW compression has not beenenabled, the image data is written in an uncompressed LZW format that can beread by LZW decoders. This may result in larger-than-expected GIF files.</p><p><code>Lossless</code> refers to lossless JPEG, which is only available if theJPEG library has been patched to support it. Use of lossless JPEG is generallynot recommended.</p><p>When writing an ICO file, you may request that the images be encoded inPNG format, by specifying <code>Zip</code> compression.</p><p>When writing a JNG file, specify <code>Zip</code> compression to request thatthe alpha channel be encoded in PNG "IDAT" format, or <code>JPEG</code>to request that it be encoded in JPG "JDAA" format.</p><p>Use the <a href="command-line-options.html#quality">-quality</a> option to set the compression levelto be used by JPEG, PNG, MIFF, and MPEG encoders.Use the <a href="command-line-options.html#sampling-factor">-sampling-factor</a> option to set thesampling factor to be used by JPEG, MPEG, and YUV encoders for down-samplingthe chroma channels.</p><div style="margin: auto;">  <h4><a id="connected-components"></a>-connected-components <em class="arg">connectivity</em></h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>connected-components uniquely labeled, choose from 4 or 8 way connectivity.</td><td style='text-align:right;'></td></tr></table>
-<p>Use <code><a href="command-line-options.html#define" >-define</a> connected-components:verbose=true</code> to output statistics associated with each unique label.</p><div style="margin: auto;">  <h4><a 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 anddarker elements of the image. Use <a href="command-line-options.html#contrast">-contrast</a> to enhancethe image or <a href="command-line-options.html#contrast">+contrast</a> to reduce the imagecontrast.</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 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 <emclass="arg" >black-point</em> pixels and white-out at most <emclass="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 <emclass="arg" >white-point %</em> pixels.</p><p>Prior to ImageMagick 6.4.7-0, <a href="command-line-options.html#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 pixelsminus white-point</em> pixels. Or, if percent is used, black-out at most <emclass="arg">black-point %</em> pixels and white-out at most <em class="arg">100% minus white-point %</em> pixels.</p><p>Note that <code>-contrast-stretch 0</code> will modify the image such thatthe 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 orclipping at either end. This is not the same as <a href="command-line-options.html#normalize">-normalize</a>, which is equivalent to <code>-contrast-stretch 0.15x0.05%</code> (orprior to ImageMagick 6.4.7-0, <code>-contrast-stretch 2%x99%</code>).</p><p>Internally operator works by creating a histogram bin, and then uses thatbin to modify the image. As such some colors may be merged together when theyoriginally fell into the same 'bin'. </p><p>All the channels are normalized in concert by the came amount so as topreserve color integrity, when the default <a href="command-line-options.html#channel" >+channel</a>setting is in use.  Specifying any other <a href="command-line-options.html#channel" >-channel</a>setting will normalize the RGB channels independently.</p><p>See also  <a href="command-line-options.html#auto-level" >-auto-level</a> for a 'perfect'normalization of mathematical images. </p><p>This operator is under review for re-development. </p><div style="margin: auto;">  <h4><a 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 matrix specified asa comma-separated list of integers (with no spaces), ordered left-to right,starting with the top row. Presently, only odd-dimensioned kernels aresupported, and therefore the number of entries in the specified <emclass="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="command-line-options.html#convolve">&#x2011;convolve</a> operator supports the <a href="command-line-options.html#bias">&#x2011;bias</a> setting. This option shifts the convolution so thatpositive and negative results are relative to a user-specified bias value.This is important for non-HDRI compilations of ImageMagick when dealing withconvolutions that contain negative as well as positive values. This isespecially the case with convolutions involving high pass filters or edgedetection. 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="command-line-options.html#bias">&#x2011;bias</a> is not needed, as ImageMagick is able to store/handle anynegative results without clipping to the color value range (0..QuantumRange).See the discussion on HDRI implementations of ImageMagick on the page <ahref="high-dynamic-range.html">HighDynamic-Range Images</a>. For more about HDRI go the ImageMagick <ahref="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 id="crop"></a>-crop <em class="arg">geometry</em>{<em class="arg">@</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%'>Cut out one or more rectangular regions of the image.</td><td style='text-align:right;'></td></tr></table>
-<p>See <a href="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 <emclass="arg">geometry</em> argument give the size of the image that remainsafter 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 leftcorner of the cropped image with respect to the original image. To specify theamount to be removed, use <a href="command-line-options.html#shave">-shave</a> instead.</p><p>If the <em class="arg">x</em> and <em class="arg">y</em> offsets arepresent, a single image is generated, consisting of the pixels from thecropping region. The offsets specify the location of the upper left corner ofthe cropping region measured downward and rightward with respect to the upperleft corner of the image. If the <a href="command-line-options.html#gravity">-gravity</a> option ispresent with <code>NorthEast</code>, <code>East</code>, or <code>SouthEast</code>gravity, it gives the distance leftward from the right edge of the image tothe right edge of the cropping region. Similarly, if the <ahref="command-line-options.html#gravity">-gravity</a> option is present with <code>SouthWest</code>,<code>South</code>, or <code>SouthEast</code> gravity, the distance is measuredupward between the bottom edges.</p><p>If the <em class="arg">x</em> and <em class="arg">y</em> offsets areomitted, a set of tiles of the specified geometry, covering the entire inputimage, is generated. The rightmost tiles and the bottom tiles are smaller ifthe specified geometry extends beyond the dimensions of the input image.</p><p>You can add the <em class="arg">@</em> to the geometry argument to equally divide the image into the number of tiles generated.</p><p>By adding a exclamation character flag to the geometry argument, thecropped images virtual canvas page size and offset is set as if thegeometry argument was a viewport or window. This means the canvas page sizeis set to exactly the same size you specified, the image offset setrelative top left corner of the region cropped. </p><p>If the cropped image 'missed' the actual image on its virtual canvas, aspecial single pixel transparent 'missed' image is returned, and a 'cropmissed' warning given. </p><p>It might be necessary to <a href="command-line-options.html#repage" >+repage</a> the image prior tocropping the image to ensure the crop coordinate frame is relocated to theupper-left corner of the visible image.Similarly you may want to use <a href="command-line-options.html#repage" >+repage</a> after cropping toremove the page offset that will be left behind. This is especially true whenyou are going to write to an image format such as PNG that supports an imageoffset.</p><div style="margin: auto;">  <h4><a 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 eachcolormap entry is shifted.</p><div style="margin: auto;">  <h4><a 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 <code>events</code> parameter specifies which events are to be logged. Itcan be either <code>None</code>, <code>All</code>, <code>Trace</code>, ora comma-separated list consisting of one or more of the following domains:<code>Accelerate</code>, <code>Annotate</code>, <code>Blob</code>, <code>Cache</code>,<code>Coder</code>, <code>Configure</code>, <code>Deprecate</code>,<code>Exception</code>, <code>Locale</code>, <code>Render</code>,<code>Resource</code>, <code>Security</code>, <code>TemporaryFile</code>,<code>Transform</code>, <code>X11</code>, or <code>User</code>. </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 <code>User</code> domain is normally empty, but developers can log userevents in their private copy of ImageMagick.</p><p>To print the complete list of debug methods, use <a href="command-line-options.html#list">-listdebug</a>.</p><p>Use the <a href="command-line-options.html#log">-log</a> option to specify the format for debuggingoutput.</p><p>Use <a href="command-line-options.html#debug">+debug</a> to turn off all logging.</p><p>Debugging may also be set using the <code>MAGICK_DEBUG</code> <a href="resources.html#environment">environment variable</a>.  The allowed values for the <code>MAGICK_DEBUG</code>environment variable are the same as for the <a href="command-line-options.html#debug">-debug</a>option.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#encipher">-encipher</a>.</td><td style='text-align:right;'></td></tr></table>
-<p>Get the passphrase from the file specified by <emclass="arg">filename</em>.</p><p>For more information, see the webpage, <ahref="../cipher.html">ImageMagick: Encipher orDecipher an Image</a>.</p><div style="margin: auto;">  <h4><a 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 <ahref="command-line-options.html#coalesce">-coalesce</a>, replace the second and later images, witha 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 animationsequence, though will not work correctly for GIF animations when parts of theanimation can go from opaque to transparent. </p><p>This option is actually equivalent to the  <a href="command-line-options.html#layers">-layers</a>method '<code>compare-any</code>'. </p><div style="margin: auto;">  <h4><a 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 specific global settings generally used to controlcoders and image processing operations.</td><td style='text-align:right;'></td></tr></table>
-<p>This option creates one or more definitions for coders and decoders to usewhile reading and writing image data.  Definitions are generally used tocontrol image file format coder modules, and image processing operations,beyond what is provided by normal means.  Defined settings are listed in <ahref="command-line-options.html#verbose" >-verbose</a> information ("<code>info:</code>" output format)as "Artifacts". </p><p>If <em class="arg">value</em> is missing for a definition, an empty-valueddefinition of a flag is created with that name. This used to control on/offoptions.  Use <a href="command-line-options.html#define">+define key</a> to remove definitionspreviously created.  Use <a href="command-line-options.html#define">+define "*"</a> to remove allexisting definitions.</p><p>The same 'artifact' settings can also be defined using the <ahref="command-line-options.html#set" >-set "option:<em class="arg">key</em>" "<em class="arg">value</em>"</a> option, which also allows the use of <a href="escape.html" >Format and Print ImageProperties</a> in the defined value. </p><p>The <em>option</em> and <em>key</em> are case-independent (they areconverted to lowercase for use within the decoders) while the <em>value</em>is case-dependent.</p><p>Such settings are global in scope, and affect all images and operations. </p><p>The following definitions are just some of the artifacts that areavailable:</p><dl><dt>bmp:format=<em class="arg">value</em></dt>   <dd> valid values are <em class="arg">bmp2</em>, <em class="arg">bmp3</em>,   and <em class="arg">bmp4</em>.  This option can be useful when the   method of prepending "BMP2:" to the output filename is inconvenient or   is not available, such as when using the <a href="mogrify.html">mogrify</a>   utility.</dd><dt>complex:snr=<em class="arg">value</em></dt>   <dd>Set the divide SNR constant<a href="command-line-options.html#complex"   >-complex</a></dd><dt>compose:args=<em class="arg">arguments</em></dt>    <dd>Sets certain compose argument values when using convert ... -compose ...    -composite. See <a href="../compose.html"    >Image Composition</a></dd><dt>convolve:scale=<em class="arg">{kernel_scale}[!^] [,{origin_addition}] [%]</em></dt>    <dd>Defines the kernel scaling. The special flag ! automatically scales to     full dynamic range. The ! flag can be used in combination with a factor or     percent. The factor or percent is then applied after the automatic scaling.     An example is 50%!. This produces a result 50% darker than full dynamic     range scaling. The ^ flag assures the kernel is 'zero-summing', for     example when some values are positive and some are negative as in edge     detection kernels. The origin addition adds that value to the center     pixel of the kernel. This produces and effect that is like adding the image 	    that many times to the result of the filtered image. The typical value     is 1 so that the original image is added to the result of the convolution.     The default is 0.</dd><dt>convolve:showkernel=<em class="arg">1</em></dt>    <dd>Outputs (to 'standard error') all the information about a specified <a    href="command-line-options.html#morphology" >-morphology convolve</a> kernel.</dd><dt>dcm:display-range=<em class="arg">reset</em></dt>    <dd>Sets the display range to the minimum and maximum pixel values for the    DCM image format.</dd><dt>dds:cluster-fit=<em class="arg">true|false</em></dt>    <dd>Enables the dds cluster-fit.</dd><dt>dds:compression=<em class="arg">dxt1|dxt5|none</em></dt>    <dd>Sets the dds compression.</dd><dt>dds:mipmaps=<em class="arg">value</em></dt>    <dd>Sets the dds number of mipmaps.</dd><dt>dds:weight-by-alpha=<em class="arg">true|false</em></dt>    <dd>Enables the dds alpha weighting.</dd><dt>delegate:bimodal=<em class="arg">true</em></dt>    <dd>Specifies direct conversion from Postscript to PDF.</dd><dt>distort:scale=<em class="arg">value</em></dt>   <dd>Sets the output scaling factor for use with <a href="command-line-options.html#distort"   >-distort</a></dd><dt>distort:viewport=<em class="arg">WxH+X+Y</em></dt>   <dd>Sets the viewport for use with <a href="command-line-options.html#distort">-distort</a></dd><dt>dot:layout-engine=<em class="arg">value</em></dt>    <dd>Specifies the layout engine for the DOT image format (e.g.    <code>neato</code>).</dd><dt>filter:option=<em class="arg">value</em></dt>    <dd>Set a filter option for use with <a href="command-line-options.html#resize">-resize</a>.    See <a href="command-line-options.html#filter">-filter</a> for details.</dd><dt>fourier:normalize=<em class="arg">inverse</em></dt>   <dd>Sets the location for the FFT/IFT normalization as use by     <a href="command-line-options.html#fft">+-fft</a> and <a href="command-line-options.html#ift">+-ift</a>. The default is     forward.</dd><dt>icon:auto-resize</dt>    <dd>Automatically stores multiple sizes when writing an ico image    (requires a 256x256 input image).</dd><dt>jp2:layer-number=<em class="arg">value</em></dt>    <dd>Sets the maximum number of quality layers to decode. Same for JPT, JC2,    and J2K</dd><dt>jp2:number-resolutions=<em class="arg">value</em></dt>    <dd>Sets the number of resolutions to encode.Same for JPT, JC2, and J2K</dd><dt>jp2:progression-order=<em class="arg">value</em></dt>    <dd>choose from LRCP, RLCP, RPCL, PCRL or CPRL. Same for JPT, JC2, and     J2K</dd></dd><dt>jp2:quality=<em class="arg">value,value...</em></dt>    <dd>Sets the quality layer PSNR, given in dB. The order is from left to     right in ascending order. The default is a single lossless quality layer.      Same for JPT, JC2, and J2K</dd></dd><dt>jp2:rate=<em class="arg">value</em></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. Same for JPT, JC2, and J2K</dd></dd><dt>jp2:reduce-factor=<em class="arg">value</em></dt>    <dd>Sets the number of highest resolution levels to be discarded.Same for     JPT, JC2, and J2K</dd></dd><dt>jpeg:block-smoothing=<em class="arg">on|off</em></dt><dt>jpeg:colors=<em class="arg">value</em></dt>    <dd>Set the desired number of colors and let the JPEG encoder do the    quantizing.</dd><dt>jpeg:dct-method=<em class="arg">value</em></dt>    <dd>Choose from <code>default</code>, <code>fastest</code>,     <code>float</code>, <code>ifast</code>, and <code>islow</code>.</dd><dt>jpeg:extent=<em class="arg">value</em></dt>    <dd>Restrict the maximum JPEG file size, for example <code>-define    jpeg:extent=400KB</code>.  The JPEG encoder will search for the highest    compression quality level that results in an output file that does not    exceed the value. The <code>-quality</code> option is ignored if it    is also present.</dd><dt>jpeg:fancy-upsampling=<em class="arg">on|off</em></dt><dt>jpeg:optimize-coding=<em class="arg">on|off</em></dt><dt>jpeg:q-table=<em class="arg">table</em></dt><dt>jpeg:sampling-factor=<em class="arg">sampling-factor-string</em></dt><dt>jpeg:size=<em class="arg">geometry</em></dt>    <dd>Set the size hint of a JPEG image, for    example, <code>-define jpeg:size=128x128</code>.    It is most useful for increasing performance and reducing the memory    requirements when reducing the size of a large JPEG image.</dd><dt>json:features</dt>  <dd>includes features in verbose information</dd><dt>json:limit</dt><dt>json:locate</dt><dt>json:moments</dt>  <dd>includes image moments in verbose information</dd><dt>mng:need-cacheoff</dt>  <dd>turn playback caching off for streaming MNG.</dd><dt>morphology:compose=<em class="arg">compose-method</em></dt>    <dd>Specifies how to merge results generated by multiple<a    href="command-line-options.html#morphology" >-morphology</a> kernel. The default is none. One     typical value is 'lighten' as used, for example, with the sobel edge     kernels. </dd><dt>morphology:showkernel=<em class="arg">1</em></dt>    <dd>Outputs (to 'standard error') all the information about a generated <a    href="command-line-options.html#morphology" >-morphology</a> kernel.</dd><dt>pcl:fit-to-page=<em class="arg">true</em></dt><dt>pdf:fit-page=<em class="arg">geometry</em></dt>    <dd> geometry specifies the scaling dimensions for resizing when the PDF is    being read. The geometry is either WxH{%} or page size. No offsets are    allowed. (introduced in IM 6.8.8-8)</dd><dt>pdf:fit-to-page=<em class="arg">true</em></dt><dt>pdf:use-cropbox=<em class="arg">true</em></dt><dt>pdf:use-trimbox=<em class="arg">true</em></dt><dt>png:bit-depth=<em class="arg">value</em></dt><dt>png:color-type=<em class="arg">value</em></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="command-line-options.html#depth">-depth</a>,    <a href="command-line-options.html#colors">-colors</a>, or <a href="command-line-options.html#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 be 1, 2, 4, or 8.  In such files, the color samples always have    8-bit depth.</dd><dt>png:compression-filter=<em class="arg">value</em></dt>   <dd> valid values are 0 through 9. 0-4 are the corresponding PNG filters,   5 means adaptive filtering except for images with a colormap, 6 means   adaptive filtering for all images, 7 means MNG "loco" compression, 8 means    Z_RLE strategy with adaptive filtering, and 9 means Z_RLE strategy with no    filtering.</dd><dt>png:compression-level=<em class="arg">value</em></dt>   <dd> valid values are 0 through 9, with 0 providing the least but fastest       compression and 9 usually providing the best and always the slowest.</dd><dt>png:compression-strategy=<em class="arg">value</em></dt>   <dd> valid values are 0 through 4, meaning default, filtered, huffman_only,   rle, and fixed ZLIB compression strategy. If you are using an old zlib   that does not support Z_RLE (before 1.2.0) or Z_FIXED (before 1.2.2.2),   values 3 and 4, respectively, will use the zlib default strategy   instead.</dd><dt>png:format=<em class="arg">value</em></dt>   <dd> valid values are <em class="arg">png8</em>, <em class="arg">png24</em>,   <em class="arg">png32</em>, <em class="arg">png48</em>,   <em class="arg">png64</em>, and <em class="arg">png00</em>.   This property can be useful for specifying   the specific PNG format to be used, when the usual method of prepending the   format name to the output filename is inconvenient, such as when writing   a PNG-encoded ICO file or when using <a href="mogrify.html">mogrify</a>.   Value = <em class="arg">png8</em> reduces the number of colors to 256,   only one of which may be fully transparent, if necessary.  The other   values do not force any reduction of quality; it is an error to request   a format that cannot represent the image data without loss (except that   it is allowed to reduce the bit-depth from 16 to 8 for all formats).   Value = <em class="arg">png24</em> and <em class="arg">png48</em>   allow transparency, only if a single color is fully transparent and that   color does not also appear in an opaque pixel; such transparency is   written in a PNG <code>tRNS</code> chunk.   Value = <em class="arg">png00</em> causes the image to inherit its   color-type and bit-depth from the input image, if the input was also   a PNG.</dd><dt>png:exclude-chunk=<em class="arg">value</em></dt><dt>png:include-chunk=<em class="arg">value</em></dt>    <dd>ancillary chunks to be excluded from or included in PNG output.    <p>The <em class="arg">value</em> can be the name of a PNG chunk-type such    as <em class="arg">bKGD</em>, a comma-separated list of chunk-names    (which can include the word <em class="arg">date</em>, the word    <em class="arg">all</em>, or the word <em class="arg">none</em>).    Although PNG chunk-names are case-dependent, you can use all lowercase    names if you prefer.</p>    <p>The "include-chunk" and "exclude-chunk" lists only affect the behavior    of the PNG encoder and have no effect on the PNG decoder.</p>    <p>As a special case, if the <code>sRGB</code> chunk is excluded and    the <code>gAMA</code> chunk is included, the <code>gAMA</code> chunk will    only be written if gamma is not 1/2.2, since most decoders assume    sRGB and gamma=1/2.2 when no colorspace information is included in    the PNG file.  Because the list is processed from left to right, you    can achieve this with a single define:</p><pre class="text">   -define png:include-chunk=none,gAMA</pre>    <p>As a special case, if the <code>sRGB</code> chunk is not excluded and    the PNG encoder recognizes that the image contains the sRGB ICC profile,    the PNG encoder will write the <code>sRGB</code> chunk instead of the    entire ICC profile.  To force the PNG encoder to write the sRGB    profile as an <code>iCCP</code> chunk in the output PNG instead of the    <code>sRGB</code> chunk, exclude the <code>sRGB</code> chunk.</p>    <p>The critical PNG chunks <code>IHDR</code>, <code>PLTE</code>,    <code>IDAT</code>, and <code>IEND</code> cannot be excluded.  Any such    entries appearing in the list will be ignored.</p>    <p>If the ancillary PNG <code>tRNS</code> chunk is excluded and the    image has transparency, the PNG colortype is forced to be 4 or 6    (GRAY_ALPHA or RGBA).  If the image is not transparent, then the    <code>tRNS</code> chunk isn't written anyhow, and there is no effect    on the PNG colortype of the output image.</p>    <p>The <a href="command-line-options.html#strip">-strip</a> option does the equivalent of the    following for PNG output:</p><pre class="text">   -define png:exclude-chunk=EXIF,iCCP,iTXt,sRGB,tEXt,zCCP,zTXt,date</pre>    <p>The default behavior is to include all known PNG ancillary chunks    plus ImageMagick's private <code>vpAg</code> ("virtual page") chunk,    and to exclude all PNG chunks that are unknown to ImageMagick,    regardless of their PNG "copy-safe" status as described in the    PNG specification.</p>    <p>Any chunk names that are not known to ImageMagick are ignored    if they appear in either the "include-chunk" or "exclude-chunk" list.    The ancillary chunks currently known to ImageMagick are    <code>bKGD</code>, <code>cHRM</code>, <code>gAMA</code>, <code>iCCP</code>,    <code>oFFs</code>, <code>pHYs</code>, <code>sRGB</code>, <code>tEXt</code>,    <code>tRNS</code>, <code>vpAg</code>, and <code>zTXt</code>.</p>    <p>You can also put <code>date</code> in the list to include or exclude    the "Date:create" and "Date:modify" text chunks that ImageMagick normally    inserts in the output PNG.</p></dd><dt>png:preserve-colormap[=<em class="arg">true</em>]</dt>    <dd>Use the existing image->colormap. Normally the PNG encoder will    try to optimize the palette, eliminating unused entries and putting    the transparent colors first.  If this flag is set, that behavior    is suppressed.</dd><dt>png:preserve-iCCP[=<em class="arg">true</em>]</dt>    <dd>By default, the PNG decoder and encoder examine any ICC profile    that is present, either from an <code>iCCP</code> chunk in the PNG    input or supplied via an option, and if the profile is recognized    to be the sRGB profile, converts it to the <code>sRGB</code> chunk.    You can use <code>-define png:preserve-iCCP</code> to prevent    this from happening; in such cases the <code>iCCP</code> chunk    will be read or written and no <code>sRGB</code> chunk will be    written.  There are some ICC profiles that claim to be sRGB but    have various errors that cause them to be rejected by libpng16; such    profiles are recognized anyhow and converted to the <code>sRGB</code>    chunk, but are rejected if the <code>-define png:preserve-iCCP</code>    is present. Note that not all "sRGB" ICC profiles are recognized    yet; we will add them to the list as we encounter them.</dd><dt>png:swap-bytes[=<em class="arg">true</em>]</dt>    <dd>The PNG specification requires that any multi-byte integers be stored in    network byte order (MSB-LSB endian).  This option allows you to    fix any invalid PNG files that have 16-bit samples stored incorrectly    in little-endian order (LSB-MSB).  The "-define png:swap-bytes" option    must appear before the input filename on the commandline.  The swapping    is done during the libpng decoding operation.</dd><dt>profile:skip=<em class="arg">name1,name2,...</em></dt>    <dd>Skip the named profile[s] when reading the image. Use skip="*" to    skip all named profiles in the image. Many named profiles exist,    including ICC, EXIF, APP1, IPTC, XMP, and others.</dd><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><dt>quantum:format=<em class="arg">type</em></dt>    <dd>Set the type to <code>floating-point</code> to specify a floating-point    format for raw files (e.g. GRAY:) or for MIFF and TIFF images in HDRI mode    to preserve negative values. If <a href="command-line-options.html#depth">-depth</a> 16 is    included, the result is a single precision floating point format.    If <a href="command-line-options.html#depth">-depth</a> 32 is included, the result is    double precision floating point format.</dd><dt>quantum:polarity=<em class="arg">photometric-interpretation</em></dt>    <dd>Set the photometric-interpretation of an image (typically for TIFF image    file format) to either <code>min-is-black</code> (default) or    <code>min-is-white</code>.</dd><dt>sample:offset=<em class="arg">geometry</em></dt>    <dd>Location of the sampling point within the sub-region being sampled,    expressed as percentages (see <a href="command-line-options.html#sample" >-sample</a>).</dd><dt>showkernel=<em class="arg">1</em></dt>    <dd>Outputs (to 'standard error') all the information about a generated <a    href="command-line-options.html#morphology" >-morphology</a> kernel.</dd><dt>tiff:alpha=<em class="arg">associated|unassociated|unspecified</em></dt>   <dd>Specify the alpha extra samples as associated, unassociated or unspecified </dd><dt>tiff:endian=<em class="arg">msb|lsb</em></dt><dt>tiff:exif-properties=<em class="arg">false</em></dt>	<dd>Skips reading the EXIF properties.</dd><dt>tiff:fill-order=<em class="arg">msb|lsb</em></dt><dt>tiff:ignore-tags=<em class="arg">comma-separate-list-of-tag-IDs</em></dt>   <dd>Allows one or more tag ID values to be ignored.</dd><dt>tiff:rows-per-strip=<em class="arg">value</em></dt>   <dd>Sets the number of rows per strip</dd><dt>tiff:tile-geometry=<em class="arg">WxH</em></dt>	<dd>Sets the tile size for pyramid tiffs. Requires the suffix        PTIF: before the outputname</dd></dl><p>For example, to create a postscript file that will render only the blackpixels 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<code>registry:</code>.  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 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 thenext image. The default is no delay between each showing of the imagesequence.  The default ticks-per-second is 100.</p><p>Use <code>&gt;</code> to change the image delay <em>only</em> if its currentvalue exceeds the given delay. <code>&lt;</code> changes the image delay<em>only</em> if current value is less than the given delay.  For example, ifyou specify <code>30&gt;</code> and the image delay is 20, the image delay doesnot change. However, if the image delay is 40 or 50, the delay it is changedto 30. Enclose the given delay in quotation marks to prevent the<code>&lt;</code> or <code>&gt;</code> from being interpreted by your shell asa file redirection.</p><div style="margin: auto;">  <h4><a id="delete"></a>-delete <em class="arg">indexes</em></h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>delete the images specified by 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 index0.  Negative indexes are relative to the end of the sequence, for example, -1represents the last image of the sequence.  Specify a range of images witha dash (e.g. 0-4).  Separate indexes with a comma (e.g. 0,2).  Use<code>+delete</code> to delete the last image in the current image sequence.</p><div style="margin: auto;">  <h4><a 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 forrendering to devices.</td><td style='text-align:right;'></td></tr></table>
-<p>This option specifies the image resolution to store while encoding a rasterimage or the canvas resolution while rendering (reading) vector formats suchas Postscript, PDF, WMF, and SVG into a raster image. Image resolutionprovides the unit of measure to apply when rendering to an output device orraster image. The default unit of measure is in dots per inch (DPI). The <ahref="command-line-options.html#units">-units</a> option may be used to select dots per centimeterinstead.</p><p>The default resolution is 72 dots per inch, which is equivalent to onepoint per pixel (Macintosh and Postscript standard). Computer screens arenormally 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, usea ruler to measure the width of your screen in inches, and divide by thenumber of horizontal pixels (1024 on a 1024x768 display).</p><p>If the file format supports it, this option may be used to update thestored image resolution. Note that Photoshop stores and obtains imageresolution from a proprietary embedded profile. If this profile is notstripped from the image, then Photoshop will continue to treat the image usingits former resolution, ignoring the image resolution specified in the standardfile header.</p><p>The <a href="command-line-options.html#density">-density</a> option sets an <em>attribute</em> anddoes not alter the underlying raster image. It may be used to adjust therendered size for desktop publishing purposes by adjusting the scale appliedto the pixels. To resize the image so that it is the same size at a differentresolution, use the <a href="command-line-options.html#resample">-resample</a> option.</p><div style="margin: auto;">  <h4><a 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 optionto 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 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 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="command-line-options.html#set">-set</a> <code>option:deskew:auto-crop<em>width</em></code> to auto crop the image.  The set argument is the pixelwidth of the image background (e.g 40).</p><div style="margin: auto;">  <h4><a 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 id="direction"></a>-direction <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%'>render text right-to-left or left-to-right.</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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="composite.html">composite</a>]</td></tr></table>
-<p>With this option, the 'overlay' image, and optionally the 'mask' image,is used as a displacement map, which is used to displace the lookup ofwhat part of the 'background' image is seen at each point of the overlaidarea.  Much like the displacement map is a 'lens' that redirects light shiningthrough it so as to present a distorted view the original 'background' imagebehind it. </p><p>Any perfect grey areas of the displacement map produce a zerodisplacement of the image. Black areas produce the given maximum negativedisplacement of the lookup point, while white produce a maximum positivedisplacement of the lookup. </p><p>Note that it is the lookup of the 'background' that is displaced, not adisplacement of the image itself. As such an area of the displacement mapcontaining 'white' will have the lookup point 'shifted' by a positive amount,and thus generating a copy of the destination image to the right/downward fromthe correct position.  That is the image will look like it may have been'shifted' in a negative left/upward direction.  Understanding this is a veryimportant in understanding how displacement maps work.  </p><p>The given arguments define the maximum amount of displacement in pixelsthat a particular map can produce. If the displacement scale is large enoughit is also possible to lookup parts of the 'background' image that lie welloutside the bounds of the displacement map itself.  That is you could veryeasily copy a section of the original image from outside the overlay areainto the overlay area. </p><p>The '%' flag makes the displacement scale relative to the size of theoverlay image (100% = half width/height of image). Using '!' switchespercentage 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 thegiven scaling values will determine a single direction (vector) in whichdisplacements can occur (positively or negatively).  However, if you alsospecify a third image which is normally used as a <em class="arg">mask</em>,the <em class="arg">composite image</em> is used for horizontal Xdisplacement, while the <em class="arg">mask image</em> is used for vertical Ydisplacement.  This allows you to define completely different displacementvalues for the X and Y directions, and allowing you to lookup any point withinthe  <em class="arg">scale</em> bounds.  In other words each pixel can lookupany other nearby pixel, producing complex 2 dimensional displacements, ratherthan a simple 1 dimensional vector displacements. </p><p>Alternatively rather than supplying two separate images, as of IM v6.4.4-0,you can use the 'red' channel of the overlay image to specify the horizontalor 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 is used as amask the transparency of the destination image. However areas outside theoverlaid areas will not be effected. </p><div style="margin: auto;">  <h4><a 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="animate.html">animate</a>, <a href="display.html">display</a>]</td></tr></table>
-<p>This option is used with convert for obtaining image or font from thisX server. See <em class="arg">X(1)</em>.</p><div style="margin: auto;">  <h4><a 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 bemodified after the current 'frame' of an animation has finished beingdisplayed (after its 'delay' period), but before the next frame on ananimation 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 '<code>none</code>').   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 formatuses internally to represent the above settings. </p><p>To print a complete list of dispose methods, use <a href="command-line-options.html#list">-list dispose</a>.</p><p>Use <a href="command-line-options.html#dispose" >+dispose</a>, turn off the setting and preventresetting the layer disposal methods of images being read in. </p><p>Use <a href="command-line-options.html#set">-set</a> '<code>dispose</code>' method to set the imagedisposal method for images already in memory.</p><div style="margin: auto;">  <h4><a 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="compare.html">compare</a>]</td></tr></table>
-<div style="margin: auto;">  <h4><a 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="composite.html">composite</a>]</td></tr></table>
-<p>The opacity of the composite image is multiplied by the given percent, thenit is composited 'over' the main image.  If <em class="arg">src_percent</em>is greater than 100, start dissolving the main image so it becomestransparent at a value of '<code class="arg">200</code>'.  If both percentagesare 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 twoimages, you would need to use dissolve values of '50,100'.  </p><div style="margin: auto;">  <h4><a 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 listof floating point numbers separated by commas or spaces.  The number ofand meaning of the floating point values depends on the distortion <emclass="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"><code>ScaleRotateTranslate</code>      <br/>or   <code>SRT</code></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 '<code>Affine</code>' 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>#  </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   Angle</em></td></tr>       <tr><td>3:</td><td><em>X,Y     Angle</em></td></tr>       <tr><td>4:</td><td><em>X,Y   Scale   Angle</em></td></tr>       <tr><td>5:</td>           <td><em>X,Y   ScaleX,ScaleY   Angle</em></td></tr>       <tr><td>6:</td>           <td><em>X,Y   Scale   Angle   NewX,NewY</em></td></tr>       <tr><td>7:</td>           <td><em>X,Y   ScaleX,ScaleY   Angle                     NewX,NewY</em></td></tr>       </table>       This is actually an alternative way of specifying a 2 dimensional linear       '<code>Affine</code>' or '<code>AffineProjection</code>' distortion.  </td> </tr>  <tr valign="top">    <td valign="top"><code>Affine</code></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).  Ideally 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 '<code>AffineProjection</code>' and '<code>SRT</code>'       distortions. <br/>       More than 3 sets given control point pairs (12 numbers) is least       squares fitted to best match a linear affine distortion. If only 2       control point pairs (8 numbers) are given a two point image translation       rotation and scaling is performed, without any possible  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"><code>AffineProjection</code></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="command-line-options.html#affine" >-affine</a> setting for more detail, and       meanings of these coefficients. <br/>       The distortions '<code>Affine</code>' and '<code>SRT</code>' 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="command-line-options.html#verbose" >-verbose</a> setting with those other variants.  </td>  </tr>  <tr valign="top">    <td valign="top"><code>BilinearForward</code><br/>    <code>BilinearReverse</code></td>    <td valign="top">       Bilinear 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       consistent. <br/>       The '<code>BilinearForward</code>' is used to map rectangles to any       quadrilateral, while the '<code>BilinearReverse</code>' form maps any       quadrilateral to a rectangle, while preserving the straight line edges       in each case.  <br/>       Note that '<code>BilinearForward</code>' can generate invalid pixels       which will be colored using the <a href="command-line-options.html#mattecolor" >-mattecolor</a>       color setting.  Also if the quadrilateral becomes 'flipped' the image       may disappear. <br/>       There are future plans to produce a true Bilinear distortion that will       attempt to map any quadrilateral to any other quadrilateral, while       preserving edges (and edge distance ratios).       </td>  </tr>  <tr valign="top">    <td valign="top"><code>Perspective</code></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 panorama       effects).  Less than 4 sets will fall back to a '<code>Affine</code>'       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="command-line-options.html#mattecolor" >-mattecolor</a> setting. </td>  </tr>  <tr valign="top">    <td valign="top"><code>PerspectiveProjection</code>  </td>    <td valign="top">       Do a '<code>Perspective</code>' distortion biased on a set of 8       pre-calculated coefficients. You can get these coefficients by looking       at the <a href="command-line-options.html#verbose" >-verbose</a> output of a       '<code>Perspective</code>' 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"><code>Arc</code></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> </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="command-line-options.html#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"><code>Polar</code></td>    <td valign="top">       Like '<code>Arc</code>' 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 '<code>DePolar</code>' with       the same arguments. <br/>       If the plus form of distort (<a href="command-line-options.html#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"><code>DePolar</code></td>    <td valign="top">       Uses the same arguments and meanings as a '<code>Polar</code>' 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 '<code>Polar</code>' 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 recommended some       form of 'super-sampling' image processing technique be used to produce       a high quality result. </td>  </tr>  <tr valign="top">    <td valign="top"><code>Barrel</code></td>    <td valign="top">       Given the four coefficients (A,B,C,D) as defined by <a       href="http://wiki.panotools.org/Lens_correction_model" >Helmut       Dersch</a>, perform a barrel or pin-cushion distortion appropriate to       correct radial lens distortions.  That is in photographs, make straight       lines straight again. <br/>       Arguments: <em>A   B   C</em>   [ <em>D</em>   [       <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>         A<sub>y</sub> B<sub>y</sub> C<sub>y</sub> D<sub>y</sub></em>         [ <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"><code>BarrelInverse</code></td>    <td valign="top">       This is very similar to '<code>Barrel</code>' 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> )<br/>       Note that this is not the reverse of the '<code>Barrel</code>'       distortion, just a different barrel-like radial distortion method.       </td>  </tr>  <tr valign="top">    <td valign="top"><code>Shepards</code></td>    <td valign="top">       Distort the given list control points (any number) using an Inverse       Squared Distance Interpolation Method (<a       href="http://en.wikipedia.org/wiki/Shepard%27s_method" >Shepards       Method</a>). The control points in effect do 'localized' displacement       of the image around the given control point (preserving the look and       the rotation of the area near the control points.  For best results       extra control points should be added to 'lock' the positions of the       corners, edges and other unchanging parts of the image, to prevent       their movement. <br/>       The distortion has been likened to 'taffy pulling' using nails, or       pins' stuck in a block of 'jelly' which is then moved to the new       position, distorting the surface of the jelly. <br/>       Internally it is equivalent to generating a displacement map (see <a       href="command-line-options.html#displace" >-displace</a>) for source image color look-up using       the <a href="command-line-options.html#sparse-color" >-sparse-color</a> method of the same name.       </td>  </tr></table><p>To print a complete list of distortion methods, use <a href="command-line-options.html#list">-listdistort</a>.</p><p>Many of the above distortion methods such as '<code>Affine</code>','<code>Perspective</code>', and '<code>Shepards</code>' use a list control pointsdefining how these points in the given image should be distorted in thedestination image. Each set of four floating point values represent a sourceimage 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>        U<sub>2</sub>,V<sub>2</sub> X<sub>2</sub>,Y<sub>2</sub>        U<sub>3</sub>,V<sub>3</sub> X<sub>3</sub>,Y<sub>3</sub>        ...        U<sub>n</sub>,V<sub>n</sub> X<sub>n</sub>,Y<sub>n</sub>  </em></div><p>where <em>U,V</em> on the source image is mapped to <em>X,Y</em> on thedestination image. </p><p>For example, to warp an image using '<code>perspective</code>' distortion,needs a list of at least 4 sets of coordinates, or 16 numbers.  Here is theperspective distortion of the built-in "rose:" image. Note how spaces wereused to group the 4 sets of coordinate pairs, to make it easier to read andunderstand.</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 fora distortion, the distortion method is 'least squares' fitted to produce thebest result for all the coordinate pairs given. If less than the ideal numberof points are given, the distort will generally fall back to a simpler form ofdistortion that can handles the smaller number of coordinates (usually a linear'<code>Affine</code>' distortion). </p><p>By using more coordinates you can make use of image registration tool tofind matching coordinate pairs in overlapping 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 a cylindricalresampling <a href="command-line-options.html#filter" >-filter</a>, using a special technique known asEWA resampling. This produces very high quality results, especially whenimages become smaller (minified) in the output, which is very common whenusing '<code>perspective</code>' distortion. For example here we viewa 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 canbe very slow, because of the number of pixels that are compressed to generateeach individual pixel close to the 'horizon'.  You can turn off EWAresampling, by specifing the special <a href="command-line-options.html#filter" >-filter</a> setting of'<code>point</code>' (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 lastexample, <a href="command-line-options.html#distort" >-distort</a> will use the current <ahref="command-line-options.html#mattecolor" >-mattecolor</a> setting for these pixels. If you do notwhat these pixels to be visible, set the color to match the rest of theground. </p><p>The output image size will by default be the same as the input image.  Thismeans that if the part of the distorted image falls outside the viewed area ofthe 'distorted space', those parts is clipped and lost.  However if you usethe plus form of the operator (<a href="command-line-options.html#distort" >+distort</a>) the operatorwill attempt (if possible) to show the whole of the distorted image, whileretaining a correct 'virtual canvas' offset, for image layering. This offsetmay need to be removed using <a href="command-line-options.html#repage" >+repage</a>, to remove if itis unwanted. </p><p>Setting <a href="command-line-options.html#verbose" >-verbose</a> setting, will cause <ahref="command-line-options.html#distort" >-distort</a> to attempt to output the internal coefficients,and the <a href="command-line-options.html#fx" >-fx</a> equivalent to the distortion, for expert study,and debugging purposes. This many not be available for all distorts. </p><p>You can alternatively specify a special "<code><a href="command-line-options.html#define">-define</a> distort:viewport={geometry_string}</code>" setting which willspecify the size and the offset of the generated 'viewport' image of thedistorted image space.</p><p>Setting a "<code><a href="command-line-options.html#define" >-define</a>distort:scale={scale_factor}</code>" will scale the output image (viewport orotherwise) by that factor without changing the viewed contents of thedistorted image. This can be used either for 'super-sampling' the image fora higher quality result, or for panning and zooming around the image (withappropriate viewport changes, or post-distort cropping and resizing). </p><p>Setting "<code><a href="command-line-options.html#define" >-define</a> resample:verbose=1</code>"will output the cylindrical filter lookup table created by the EWA (EllipticalWeighted Average) resampling algorithm. Note this table uses a squared radiuslookup value. This is typically only used for debugging EWA resampling. </p><div style="margin: auto;">  <h4><a id="distribute-cache"></a>-distribute-cache <em class="arg">port</em></h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>launch a distributed pixel cache server. </td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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 toimages when general color reduction is applied via an option, or automagicallywhen 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 neighboring pixels so that to theeye a closer approximation of the images original color is reproduced. Thisreduces the number of colors needed to reproduce the image but at the cost ofa lower level pattern of colors. Error diffusion dithers can use any set ofcolors (generated or user defined) to an image.  </p><p>Dithering is turned on by default, to turn it off use the plus form of thesetting, <a href="command-line-options.html#dither">+dither</a>. This will also also render PostScriptwithout text or graphic aliasing. Disabling dithering often (but not always)leads to faster process, a smaller number of colors, but more cartoon likeimage coloring.  Generally resulting in 'color banding' effects in areas withcolor gradients. </p><p>The color reduction operators <a href="command-line-options.html#colors">-colors</a>, <ahref="command-line-options.html#monochrome">-monochrome</a>, <a href="command-line-options.html#remap ">-remap</a>, and <ahref="command-line-options.html#posterize">-posterize</a>, apply dithering to images using the reducedcolor set they created. These operators are also used as part of automaticcolor reduction when saving images to formats with limited color support, suchas <code>GIF:</code>, <code>XBM:</code>, and others, so dithering may also be usedin these cases. </p><p>Alternatively you can use <a href="command-line-options.html#random-threshold">-random-threshold</a>to generate purely random dither. Or use <ahref="command-line-options.html#ordered-dither">-ordered-dither</a> to apply threshold mapped ditherpatterns, using uniform color maps, rather than specific color maps. </p><div style="margin: auto;">  <h4><a 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 graphicprimitives. The primitives include shapes, text, transformations, and pixeloperations.</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 notinteract with the other primitives.  It is equivalent to using the <ahref="command-line-options.html#gravity">-gravity</a> command-line option, except that it is limited inscope to the <a href="command-line-options.html#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 <ahref="command-line-options.html#fill">-fill</a> setting.  For unfilled shapes, use <ahref="command-line-options.html#fill">-fill none</a>.  You can optionally control the stroke (the"outline" of a shape) with the <a href="command-line-options.html#stroke">-stroke</a> and <ahref="command-line-options.html#strokewidth">-strokewidth</a> settings.</p><p>A <code>point</code> primitive is specified by a single <em>point</em> in thepixel plane, that is, by an ordered pair of integer coordinates,<em>x</em>,<em>y</em>. (As it involves only a single pixel, a <code>point</code>primitive is not affected by <a href="command-line-options.html#stroke">-stroke</a> or <ahref="command-line-options.html#strokewidth">-strokewidth</a>.)</p><p>A <code>line</code> primitive requires a start point and end point.</p><p>A <code>rectangle</code> primitive is specified by the pair of points at theupper left and lower right corners.</p><p>A <code>roundRectangle</code> primitive takes the same corner points asa <code>rectangle</code> followed by the width and height of the rounded cornersto be removed.</p><p>The <code>circle</code> primitive makes a disk (filled) or circle (unfilled).Give the center and any point on the perimeter (boundary).</p><p>The <code>arc</code> primitive is used to inscribe an elliptical segment into a given rectangle. An <code>arc</code> requires the two corners used for<code>rectangle</code> (see above) followed by the start and end angles of thearc of the segment segment (e.g. 130,30 200,100 45,90). The start and endpoints produced are then joined with a line segment and the resulting segmentof an ellipse is filled.</p><p>Use <code>ellipse</code> to draw a partial (or whole) ellipse. Give thecenter point, the horizontal and vertical "radii" (the <em>semi-axes</em> ofthe ellipse) and start and end angles in degrees (e.g. 100,100 100,1500,360).</p><p>The <code>polyline</code> and <code>polygon</code> primitives require three ormore points to define their perimeters. A <code>polyline</code> is simplya <code>polygon</code> in which the final point is not stroked to the startpoint. When unfilled, this is a <em>polygonal line</em>. If the <ahref="command-line-options.html#stroke">-stroke</a> setting is <code>none</code> (the default), thena <code>polyline</code> is identical to a <code>polygon</code>.  </p><p>A <em>coordinate</em> is a pair of integers separated by a space oroptional comma. </p><p>As an example, to define a circle centered at 100,100 that extends to150,150 use:</p><p class="crtsnip">   -draw 'circle 100,100 150,150'</p><p>The <code>Bezier</code> primitive creates a spline curve and requires threeor points to define its shape. The first and last points are the<em>knots</em> and these points are attained by the curve, while anyintermediate coordinates are <em>control points</em>. If two control pointsare specified, the line between each end knot and its sequentially respectivecontrol point determines the tangent direction of the curve at that end. Ifone control point is specified, the lines from the end knots to the onecontrol point determines the tangent directions of the curve at each end. Ifmore than two control points are specified, then the additional control pointsact in combination to determine the intermediate shape of the curve. In orderto draw complex curves, it is highly recommended either to use the<code>path</code> primitive or to draw multiple four-point bezier segments withthe 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 <code>path</code> represents an outline of an object, defined in terms ofmoveto (set a new current point), lineto (draw a straight line), curveto (drawa Bezier curve), arc (elliptical or circular arc) and closepath (close thecurrent 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 byone or more line or curve operations) are possible to allow effects such as<em>donut holes</em> in objects. (See <ahref="http://www.w3.org/TR/SVG/paths.html">Paths</a>.)</p><p>Use <code>image</code> to composite an image with another image. Follow theimage keyword with the composite operator, image location, image size, andfilename:</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 actualdimensions found in the image header. Otherwise, it is scaled to the givendimensions. See <a href="compose.html">Alpha Compositing</a> fora detailed discussion of alpha composition methods that are available. </p><p>The "special augmented compose operators" such as "dissolve" that requirearguments cannot be used at present with the <code>-draw image</code> option. </p><p>Use <code>text</code> to annotate an image with text. Follow the textcoordinates with a string. If the string has embedded spaces, enclose it insingle or double quotes.</p><p>For example, the following annotates the image with <code>Works likemagick!</code> for an image titled <code>bird.miff</code>. </p><p class="crtsnip">   -draw "text 100,100 'Works like magick!' "</p><p>See the <a href="command-line-options.html#annotate">-annotate</a> option for another convenient wayto annotate an image with text.</p><p>The <code>rotate</code> primitive rotates subsequent shape primitives andtext primitives about the origin of the main image. If the <ahref="command-line-options.html#region">-region</a> option precedes the <a href="command-line-options.html#draw">-draw</a>option, the origin for transformations is the upper left corner of theregion.</p><p>The <code>translate</code> primitive translates subsequent shape and textprimitives.</p><p>The <code>scale</code> primitive scales them.</p><p>The <code>skewX</code> and <code>skewY</code> primitives skew them with respectto the origin of the main image or the region.</p><p>The transformations modify the current affine matrix, which is initializedfrom the initial affine matrix defined by the <a href="command-line-options.html#affine">-affine</a>option. Transformations are cumulative within the <a href="command-line-options.html#draw">-draw</a>option. The initial affine matrix is not affected; that matrix is only changedby the appearance of another <a href="command-line-options.html#affine">-affine</a> option. If another<a href="command-line-options.html#draw">-draw</a> option appears, the current affine matrix isreinitialized from the initial affine matrix.</p><p>Use the <code>color</code> primitive to change the color of a pixel to thefill color (see <a href="command-line-options.html#fill">-fill</a>). Follow the pixel coordinate witha method:</p><pre class="text">   point   replace   floodfill   filltoborder   reset</pre><p>Consider the target pixel as that specified by your coordinate. The<code>point</code> method recolors the target pixel. The <code>replace</code>method recolors any pixel that matches the color of the target pixel.<code>Floodfill</code> recolors any pixel that matches the color of the targetpixel and is a neighbor, whereas <code>filltoborder</code> recolors any neighborpixel that is not the border color. Finally, <code>reset</code> recolors allpixels.</p><p>Use <code>matte</code> to the change the pixel matte value to transparent.Follow the pixel coordinate with a method (see the <code>color</code> primitivefor a description of methods). The <code>point</code> method changes the mattevalue of the target pixel. The <code>replace</code> method changes the mattevalue of any pixel that matches the color of the target pixel.<code>Floodfill</code> changes the matte value of any pixel that matches thecolor of the target pixel and is a neighbor, whereas <code>filltoborder</code>changes the matte value of any neighbor pixel that is not the border color (<ahref="command-line-options.html#bordercolor">-bordercolor</a>). Finally <code>reset</code> changes thematte value of all pixels.</p><p>You can set the primitive color, font, and font bounding box color with <ahref="command-line-options.html#fill">-fill</a>, <a href="command-line-options.html#font">-font</a>, and <a href="command-line-options.html#box">-box</a>respectively.  Options are processed in command line order so be sure to usethese options <em>before</em> the <a href="command-line-options.html#draw">-draw</a> option.</p><p>Strings that begin with a number must be quoted (e.g. use '1.png' ratherthan 1.png).</p><p>Drawing primitives conform to the <a href="magick-vector-graphics.html" >MagickVector Graphics</a> format.</p><div style="margin: auto;">  <h4><a id="duplicate"></a>-duplicate <em class="arg">count,indexes</em></h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>duplicate an image one or more times.</td><td style='text-align:right;'></td></tr></table>
-<p>Specify the count and the image to duplicate by its index in the sequence.The first image is index 0.  Negative indexes are relative to the end of thesequence, for example, -1 represents the last image of the sequence.  Specifya range of images with a dash (e.g. 0-4).  Separate indexes with a comma (e.g.0,2).  Use <code>+duplicate</code> to duplicate the last image in the currentimage sequence.</p><div style="margin: auto;">  <h4><a 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 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 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="command-line-options.html#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, <ahref="../cipher.html">ImageMagick: Encipher orDecipher an Image</a>.</p><div style="margin: auto;">  <h4><a 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 <code>AdobeCustom</code>, <code>AdobeExpert</code>,<code>AdobeStandard</code>, <code>AppleRoman</code>, <code>BIG5</code>,<code>GB2312</code>, <code>Latin 2</code>, <code>None</code>, <code>SJIScode</code>,<code>Symbol</code>, <code>Unicode</code>, <code>Wansung</code>.</p><div style="margin: auto;">  <h4><a 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 (<code>MSB</code> or <code>LSB</code>) 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="command-line-options.html#list">-list endian</a> option.</p><p>Use <a href="command-line-options.html#endian">+endian</a> to revert to unspecified endianness.</p><div style="margin: auto;">  <h4><a 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 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 theimage into some other color space, such as HSL, OHTA, YIQ or YUV, thenequalize the appropriate intensity-like channel, then convert back to RGB.</p><p>For example using HSL, we have: ... <code>-colorspace HSL -channel lightness-equalize -colorspace RGB</code> ...</p><p>For YIQ, YUV and OHTA use the red channel. For example, OHTA is a principalcomponents transformation that puts most of the information in the firstchannel. Here we have ... <code>-colorspace OHTA -channel red -equalize-colorspace RGB</code> ...</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#function" >-function</a> operator for somemulti-parameter functions. See the <a href="command-line-options.html#fx" >-fx</a> operator if moreelaborate calculations are needed.)</p><p>The behaviors of each <em class="arg">operator</em> are summarized in thefollowing list. For brevity, the numerical value of a "pixel" referred tobelow is the value of the corresponding channel of that pixel, whilea "normalized pixel" is that number divided by the maximum(installation-dependent) value <em class="QR">QuantumRange</em>. (Ifnormalized pixels are used, they are restored, following the othercalculations, to the full range by multiplying by <emclass="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>Abs </td>             <td>Add <em class="arg">value</em> to pixels and return absolute value. </td></tr>    <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>Exp  </td>            <td>base-e exponential function</td></tr>    <tr><td>Exponential  </td>            <td>base-e exponential function</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>Mean  </td>            <td>Add the <em class="arg">value</em> and divide by 2.</td></tr>    <tr><td>Median  </td>          <td>Choose the median value from an image sequence.</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>RMS</td>            <td>Square the pixel and add the <em class="arg">value</em>.</td></tr>    <tr><td>RootMeanSquare</td>            <td>Square the pixel and add the <em class="arg">value</em>.</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> </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="command-line-options.html#noise" >-noise</a> operators.)</td></tr>   <tr><td>PoissonNoise</td></tr>   <tr><td>Uniform-noise</td></tr>   <tr><td> </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 <ahref="command-line-options.html#channel" >-channel</a> in the image. If necessary, the results of thecalculations are truncated (clipped) to fit in the interval [0, <emclass="QR">QuantumRange</em>].  The transparency channel of the image isrepresented as a 'alpha' values (0 = fully transparent), so, for example, a<code>Divide</code> by 2 of the alpha channel will make the imagesemi-transparent.  Append the percent symbol '<code>%</code>' to specify a valueas a percentage of the <em class="QR">QuantumRange</em>.</p><p>To print a complete list of <a href="command-line-options.html#evaluate">-evaluate</a> operators, use<a href="command-line-options.html#list">-list evaluate</a>.</p><p>The results of the <code>Add</code>, <code>Subtract</code> and<code>Multiply</code> methods can also be achieved using either the <ahref="command-line-options.html#level" >-level</a> or the <a href="command-line-options.html#level" >+level</a> operator, withappropriate argument, to linearly modify the overall range of color values.Please note, however, that <a href="command-line-options.html#level" >-level</a> treats transparency as'matte' values (0 = opaque), while <a href="command-line-options.html#level" >-evaluate</a> works with'alpha' values.</p><p><code>AddModulus</code> has been added as of ImageMagick 6.4.8-4 and providesaddition modulo the <em class="QR">QuantumRange</em>. It is thereforeequivalent to <code>Add</code> unless the resulting pixel value is outside theinterval [0, <em class="QR">QuantumRange</em>]. </p><p><code>Exp or Exponential</code> has been added as of ImageMagick 6.6.5-1 andworks on normalized pixel values. The <em class="arg">value</em> used with<code>Exp</code> should be negative so as to produce a decaying exponentialfunction. Non-negative values will always produce results larger unity andthus outside the interval [0, <em class="QR">QuantumRange</em>]. Theformula is expressed below. </p>        <div style="text-align:center;">        exp(<em class="arg">value</em> × <b><em>u</em></b>)        </div><p> If the input image is squared, for example, using <a href="command-line-options.html#-function">-function polynomial "2 0 0"</a>, then a decaying Gaussian function will bethe result.</p><p><code>Log</code> has been added as of ImageMagick 6.4.2-1 and works onnormalized pixel values. This a <em>scaled</em> log function. The <emclass="arg">value</em> used with <code>Log</code> provides a <em>scalingfactor</em> that adjusts the curvature in the graph of the log function. Theformula applied to a normalized value <b><em>u</em></b> is below. </p>        <div style="text-align:center;">        log(<em class="arg">value</em> × <b><em>u</em></b> + 1) / log(<em class="arg">value</em> + 1)        </div><p><code>Pow</code> has been added as of ImageMagick 6.4.1-9, and works onnormalized pixel values. Note that <code>Pow</code> is related to the <ahref="command-line-options.html#gamma" >-gamma</a> operator. For example, <b>-gamma 2</b> is equivalentto <b>-evaluate pow 0.5</b>, i.e., a 'square root' function. The value usedwith <a href="command-line-options.html#gamma" >-gamma</a> is simply the reciprocal of the value usedwith <code>Pow</code>.</p><p><code>Cosine</code> and <code>Sine</code> was added as of IM v6.4.8-8 andconverts the image values into a value according to a (co)sine wave function.The  synonyms <code>Cos</code> and <code>Sin</code> may also be used.  The outputis biased 50% and normalized by 50% so as to fit in the respective color valuerange.  The <em class="arg">value</em> scaling of the <em>period</em> of thefunction (its frequency), and thus determines the number of 'waves' that willbe generated over the input color range.  For example, if the <emclass="arg">value</em> is 1, the effective period is simply the <emclass="QR">QuantumRange</em>; but if the <em class="arg">value</em> is 2,then the effective period is the <em>half</em> the <emclass="QR">QuantumRange</em>.</p>        <div style="text-align:center;">        0.5 + 0.5 × cos(2 π <b><em>u</em></b> × <em class="arg">value</em>).        </div><p>See also the <a href="command-line-options.html#function" >-function</a> operator, which is amulti-value version of evaluate. </p><div style="margin: auto;">  <h4><a id="evaluate-sequence"></a>-evaluate-sequence <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%'>Alter channel pixels by evaluating an arithmetic, relational, orlogical expression over a sequence of images.</td><td style='text-align:right;'></td></tr></table>
-<p>To print a complete list of <ahref="command-line-options.html#evaluate-sequence">-evaluate-sequence</a> operators, use <ahref="command-line-options.html#list">-list evaluate</a>.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#gravity">-gravity</a> setting.  Tospecify how to compose the image with the background, use <a href="command-line-options.html#compose">-compose</a>.</p><p>This command reduces or expands a JPEG image to fit on an 800x600display.  If the aspect ratio of the input image isn't exactly 4:3, then theimage is centered on an 800x600 black canvas: </p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert input.jpg -resize 800x600 -background black -compose Copy \ <br />  -gravity center -extent 800x600 -quality 92 output.jpg</span></p><p>See <a href="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 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 rawimage.  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 \ <br/> 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]' \ <br/> 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 \ <br/> image.rgb image.png</span></p><p>the image is <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="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 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 forrendering 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 <ahref="command-line-options.html#font">-font</a>, <a href="command-line-options.html#stretch">-stretch</a>, <ahref="command-line-options.html#style">-style</a>, and <a href="command-line-options.html#weight">-weight</a>.  </p><div style="margin: auto;">  <h4><a id="features"></a>-features <em class="arg">distance</em></h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>display (cooccurrence matrix) texture measure features for each channel in the image in each of four directions (horizontal, vertical, left and right diagonals) for the specified distance.</td><td style='text-align:right;'>[<a href="identify.html">identify</a>]</td></tr></table>
-<pre class="text">      Angular Second Moment      Contrast      Correlation      Sum of Squares Variance      Inverse Difference Moment      Sum Average      Sum Variance      Sum Entropy      Entropy      Difference Variance      Difference Entropy      Information Measure of Correlation 1      Information Measure of Correlation 2      Maximum Correlation Coefficient</pre><div style="margin: auto;">  <h4><a 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 now working for Windowsusers in ImageMagick 6.6.0-9). It transforms an image from the normal(spatial) domain to the frequency domain. In the frequency domain, an image isrepresented as a superposition of complex sinusoidal waves of varyingamplitudes. The image x and y coordinates are the possible frequencies alongthe x and y directions, respectively, and the pixel intensity values arecomplex numbers that correspond to the sinusoidal wave amplitudes. See forexample, <a href="http://en.wikipedia.org/wiki/Fourier_transform">FourierTransform</a>, <a href="http://en.wikipedia.org/wiki/DFT">Discrete FourierTransform</a> and <a href="http://en.wikipedia.org/wiki/FFT">Fast FourierTransform</a>.</p><p>A single image name is provided as output for this option. However, theoutput result will have two components. It is either a two-frame image or twoseparate images, depending upon whether the image format specified supportsmulti-frame images. The reason that we get a dual output result is because thefrequency domain represents an image using complex numbers, which cannot bevisualized directly. Therefore, the complex values are automagically separatedinto a two-component image representation. The first component is themagnitude of the complex number and the second is the phase of the complexnumber. See for example, <ahref="http://en.wikipedia.org/wiki/Complex_numbers">Complex Numbers</a>.</p><p>The magnitude and phase component images must be specified using imageformats 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 theseformats, 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 <code>fft_image.miff[0]</code> and a phaseimage as <code>fft_image.miff[1]</code>. 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 <code>fft_image-0.png</code> and a phase imageas <code>fft_image-1.png</code>. If you prefer this representation, then you canforce any of the other formats to produce two output images by including <ahref="command-line-options.html#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, itis padded automagically to the larger of the width or height of the inputimage and to an even number of pixels. The padding will occur at the bottomand/or right sides of the input image. The resulting output magnitude andphase images is square at this size. The kind of padding relies on the <ahref="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting.</p><p>Both output components will have dynamic ranges that fit within[0, <em class="QR">QuantumRange</em>], so that HDRI need not be enabled.Phase values nominally range from 0 to 2*π, but is scaled to span the fulldynamic range.  (The first few releases had non-HDRI scaled but HDRI notscaled). The magnitude image is not scaled and thus generally will containvery small values. As such, the image normally will appear totally black. Inorder to view any detail, the magnitude image typically is enhanced with a logfunction into what is usually called the spectrum. A log function is used toenhance the darker values more in comparison to the lighter values. This canbe 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 either <a href="command-line-options.html#contrast-stretch">-contrast-stretch</a> 0 or <ahref="command-line-options.html#auto-level">-auto-level</a> is used to scale the image to full dynamicrange, first. The argument to the <a href="command-line-options.html#evaluate">-evaluate</a> logtypically is specified between 100 and 10,000, depending upon the amount ofdetail that one wants to bring out in the spectrum. Larger values produce morevisible detail. Too much detail, however, may hide the important features.</p><p>The <a href="http://www.fftw.org/">FFTW</a> delegate library is required touse <a href="command-line-options.html#fft">-fft</a>.</p><p>Use <a href="command-line-options.html#fft">+fft</a> to produce two output images that are the realand 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 mustuse either MIFF, TIF, PFM or MPC formats for the real and imaginary componentresults, since they are formats that preserve both negative and fractionalvalues without clipping them or truncating the fractional part. With eitherMIFF or TIF, one should add -define quantum:format=32, to allow those imagetypes to work properly in HDRI mode without clipping.</p><p>The real and imaginary component images resulting from <ahref="command-line-options.html#fft">+fft</a> are also square, even dimensioned images due to the samepadding that was discussed above for the magnitude and phase componentimages.</p><p>See the discussion on HDRI implementations of ImageMagick on the page <ahref="high-dynamic-range.html" >High Dynamic-Range Images</a>. For moreabout HDRI go the ImageMagick <ahref="http://www.imagemagick.org/Usage/basics/#hdri" >Usage</a> pages, <ahref="http://www.fmwconcepts.com/imagemagick/fourier_transforms/fourier.html">Fred's Fourier Processing With ImageMagick page</a> or this <a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging" >Wikipedia</a> entry.  </p><p><p>By default the FFT is normalized (and the IFT is not). Use "<code><a href="command-line-options.html#define" >-define</a> fourier:normalize=forward</code> to explicityly normalize the FFT and unnormalize the IFT.</p><div style="margin: auto;">  <h4><a 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="color.html" >Color Names</a> fora description of how to properly specify the color argument.</p><p>Enclose the color specification in quotation marks to prevent the "#" orthe 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="command-line-options.html#draw">-draw</a> for further details.</p><p>To print a complete list of color names, use the <a href="command-line-options.html#list">-list color</a> option.</p><div style="margin: auto;">  <h4><a 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 ordistorting an image.</td><td style='text-align:right;'></td></tr></table>
-<p>Use this option to affect the resizing operation of an image duringoperations such as <a href="command-line-options.html#resize">-resize</a> and <a href="command-line-options.html#distort">-distort</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 <code>Bessel</code> and <code>Sinc</code> filter is also provided (as wellas a faster <code>SincFast</code> equivalent form).  However these filters aregenerally useless on their own as they are infinite filters that are beingclipped to the filters support size. Their direct use is not recommendedexcept via expert settings (see below). </p><p>Instead these special filter functions are typically windowed by a windowingfunction that the <a href="command-line-options.html#filter" >-filter</a> setting defines.   That isusing these functions will define a 'Windowed' filter, appropriate to theoperator involved.  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<code>Lagrange</code>, which will automagically re-adjust its function dependingon 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<code>Mitchell</code> for a colormapped image, an image with a matte channel, orif the image is enlarged.  Otherwise the filter default to<code>Lanczos</code>.</p><p>To print a complete list of resize filters, use the <a href="command-line-options.html#list">-listfilter</a> option.</p><p>You can modify how the filter behaves as it scales your image through theuse of these expert settings (see also <a href="command-line-options.html#define" >-define</a> and <ahref="command-line-options.html#set" >-set</a>):-</p><dl class="doc"><dt>-define 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. This should only be used with Gaussian and    Gaussian-like filters simple filters, or you may not get the expected    results. </dd><dt>-define filter:support=<em>radius</em></dt><dd>Set the filter support radius. Defines how large the filter should be and    thus directly defines how slow the filtered resampling process is. All    filters have a default 'prefered' support size. Some filters like    <code>Lagrange</code> and windowed filters adjust themselves depending on    this value.  With simple filters this value either does nothing (but slow    the resampling), or will clip the filter function in a detrimental way.    </dd><dt>-define 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, that is    designed to be more suited to windowed filters, especially when used for    image distorts.</dd><dt>-define filter:sigma=<em>value</em></dt><dd>The 'sigma' value used to define the <code>Gaussian</code> filter.  Default    sigma value is '<code>0.5</code>'.  It only effects <code>Gaussian</code> but    does not shrink (but may enlarge) the filter's 'support'.  It can be used    to generate very small blurs but without the filter 'missing' pixels due    to using a small support setting. A larger value of '<code>0.707</code>'    (a value of '1/sqrt(2)') is another common setting. </dd><dt>-define filter:b=<em>b-spline_factor</em></dt><dt>-define filter:c=<em>keys_alpha_factor</em></dt><dd>Redefine the values used for cubic filters such as <code>Cubic</code>,    <code>Catrom</code>, <code>Mitchel</code>, and <code>Hermite</code>, as well as    the <code>Parzen</code> cubic windowing function. If only one of the values    are defined, the other is set so as to generate a 'Cubic-Keys' filter.    The values meaning was defined by a research paper by    Mitchell-Netravali.</dd><dt>-define filter:kaiser-beta=<em>value</em></dt><dd>The 'alpha' value used to as part of the Kaiser Windowing function.    Default value is '6.5'.  It only effects Kaiser windowing function, and    does not effect any other attributes.</dd><dd>Before IM v6.7.6-10, this option was known as "filter:alpha", (an    inheritance from the very old "zoom" program). It was changed to bring the    function in line with more modern academic research usage, and better    assign it be more definitive.  </dd><dt>-define filter:kaiser-alpha=<em>value</em></dt><dd>This value when multiplied by 'PI' is equivalent to "kaiser-beta", and    will override that setting.  It only effects Kaiser windowing function,    and does not effect any other attributes. </dd><dt>-define filter:filter=<em>filter_function</em></dt><dd>Use this function directly as the weighting filter.  This will allow    you to directly use a windowing function such as <code>Blackman</code>,    as a resampling filter, rather than as its normal usage as a windowing    function. </dd><dd>If defined, no windowing function also defined, the window function is set    to <code>Box</code>). Directly specifying <code>Sinc</code> or <code>Jinc</code>    as a filter will also do this. </dd><dt>-define filter:window=<em>filter_function</em></dt><dd>The IIR (infinite impulse response) filters <code>Sinc</code> and    <code>Jinc</code> are windowed (brought down to zero over the defined    support range) with the given filter. This allows you to specify a filter    function to be used as a windowing function for these IIR filters. </dd><dd>Many of the defined filters are actually windowing functions for these IIR    filters.  A typical choices is <code>Box</code>, (which effectively turns    off the windowing function).  </dd><dt>-define filter:win-support=<em>radius</em></dt><dd>Scale windowing function to this size instead.  This causes the windowing    (or self-windowing Lagrange filter) to act is if the support window is    larger than what is actually supplied to the calling operator.  The filter    however is still clipped to the real support size given.  If unset this    will equal the normal filter support size. </dd><dt>-define filter:verbose=<em>1</em></dt><dd>This causes IM to print information on the final internal filter    selection to standard output.  This includes a commented header on the    filter settings being used, and data allowing the filter weights to be    easily graphed. </dd><dd>Note however that some filters are internally defined in terms of other    filters.  The <code>Lanczos</code> filter for example is defined in terms of    a <code>SincFast</code> windowed <code>SincFast</code> filter, while    <code>Mitchell</code> is defined as a general <code>Cubic</code> family filter    with specific 'B' and 'C' settings. </dd></dl><p>For example, to get a 8 lobe jinc windowed sinc filter (Genseng filter?):</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.png \<br/>          -filter sinc \<br/>          -set filter:window=jinc \<br/>          -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 \<br/>          -set filter:filter=sinc \<br/>          -set filter:lobes=4 \<br/>          -resize 150%   image.jpg</span></p><p>To extract the data for a raw windowing function, combine it witha '<code>Box</code>' filter.  For example the '<code>Welch</code> parabolicwindowing function. </p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert null: -define filter:filter=Box \<br/>                 -define filter:window=Welch \<br/>                 -define filter:support=1.0 \<br/>                 -define filter:verbose=1 \<br/>                 -resize 2 null:  > window_welch.dat<br/>  gnuplot<br/>     set grid<br/>     plot "window_welch.dat" with lines</span></p><p>Note that the use of expert options is provided for image processing expertswho have studied and understand how resize filters work. Without thisknowledge, and an understanding of the definition of the actual filtersinvolved, using expert settings are more likely to be detrimental to your imageresizing.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#layers" >-layers</a> method "flatten".</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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. The image will be mirroredupside-down. </p><div style="margin: auto;">  <h4><a 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.</td><td style='text-align:right;'></td></tr></table>
-<p>Flood fill starts from the given 'seed point' which is not gravity effected.Any color that matches within <a href="command-line-options.html#fuzz" >-fuzz</a> color distance of thegiven <em class="arg">color</em>  argument, connected to that 'seed point'will be replaced with the current <a href="command-line-options.html#fill" >-fill</a> color. </p><p>Note that if the pixel at the 'seed point' does not itself match the given<em class="arg">color</em> (according to <a href="command-line-options.html#fuzz" >-fuzz</a>), then noaction will be taken. </p><p>This operator works more like the <a href="command-line-options.html#opaque" >-opaque</a> option, thana more general flood fill that reads the matching color directly at the 'seedpoint'. For this form of flood fill, look at <a href="command-line-options.html#draw" >-draw</a>  andits 'color floodfill' drawing method.  </p><div style="margin: auto;">  <h4><a 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, just like the image ina vertical mirror. </p><div style="margin: auto;">  <h4><a 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="command-line-options.html#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 canalso specify a font from a specific source.  For example <code>Arial.ttf</code>is a TrueType font file, <code>ps:helvetica</code> is PostScript font, and<code>x:fixed</code> is X11 font.</p><p>For other settings that affect fonts, see the options <ahref="command-line-options.html#family">-family</a>, <a href="command-line-options.html#stretch">-stretch</a>, <ahref="command-line-options.html#style">-style</a>, and <a href="command-line-options.html#weight">-weight</a>. </p><div style="margin: auto;">  <h4><a 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 for menus.</td><td style='text-align:right;'>[<a href="display.html">display</a>]</td></tr></table>
-<p>The color is specified using the format described under the <ahref="command-line-options.html#fill">-fill</a> option.</p><p>The default foreground color is black.</p><div style="margin: auto;">  <h4><a 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 <code>mogrify</code> utility, this option converts anyimage to the image <a href="formats.html">format</a> you specify.For a list of image format types supported by ImageMagick, use <ahref="command-line-options.html#list">-list format</a>.</p><p>By default the file is written to its original name. However, if thefilename extension matches a supported format, the extension is replaced withthe image format type specified with <a href="command-line-options.html#format">-format</a>. Forexample, if you specify <em class="arg">tiff</em> as the format type and theinput image filename is <em class="arg">image.gif</em>, the output imagefilename becomes <em class="arg">image.tiff</em>.</p><div style="margin: auto;">  <h4><a 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="identify.html">identify</a>]</td></tr></table>
-<p>See <a href="escape.html">Format and Print ImageProperties</a> for an explanation on how to specify the argument to thisoption.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#mattecolor">-mattecolor</a> command line option. </p><p>See <a href="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 <emclass="arg">geometry</em> argument indicates the amount of extra width andheight that is added to the dimensions of the image. If no offsets are givenin the <em class="arg">geometry</em> argument, then the border added isa solid color.  Offsets <em>x</em> and <em>y</em>, if present, specify thatthe width and height of the border is partitioned to form an outer bevel ofthickness <em>x</em> pixels and an inner bevel of thickness<em>y</em> pixels. Negative offsets make no sense as frame arguments.</p><p>The <a href="command-line-options.html#frame">-frame</a> option is affected by the current <ahref="command-line-options.html#compose">-compose</a> setting and assumes that this is using the default'<code>Over</code>' composition method.  It generates an image of the appropriatesize with the current <a href="command-line-options.html#bordercolor">-bordercolor</a> setting, and thendraws the frame of four distinct colors close to the current <ahref="command-line-options.html#mattecolor">-mattecolor</a>.  The original image is then overlaid ontocenter of this image.  This means that with the default compose method of'<code>Over</code>' any transparent parts may be replaced by the current <ahref="command-line-options.html#bordercolor">-bordercolor</a> setting.</p><p>The image composition is notaffected by the <a href="command-line-options.html#gravity">-gravity</a> option.</p><div style="margin: auto;">  <h4><a 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="import.html">import</a>]</td></tr></table>
-<div style="margin: auto;">  <h4><a 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 modifyeach of the color values for each previously set <ahref="command-line-options.html#channel">-channel</a> in the image. See <ahref="command-line-options.html#evaluate">-evaluate</a> for details concerning how the results of thecalculations are handled.</p><p>This is can be considered a multi-argument version of the <ahref="command-line-options.html#evaluate">-evaluate</a> operator. (Added inImageMagick 6.4.8−8.)</p><p>Here,  <em class="arg">parameters</em> is a comma-separated list ofnumerical values. The number of values varies depending on which <emclass="arg">function</em> is selected. Choose the <emclass="arg">function</em> from:</p><pre class="text">   Polynomial   Sinusoid   Arcsin   Arctan</pre><p>To print a complete list of <a href="command-line-options.html#function">-function</a> operators,use <a href="command-line-options.html#list">-list function</a>. Descriptions follow.</p><dl class="doc"><dt><code>Polynomial</code></dt><dd><p>The <code>Polynomial</code> 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> +   ··· <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 <code>Polynomial</code> function can be used in place of <code>Set</code>(the <em>constant</em> polynomial) and <code>Add</code>, <code>Divide</code>,<code>Multiply</code>, and <code>Subtract</code> (some <em>linear</em>polynomials) of the <a href="command-line-options.html#evaluate">-evaluate</a> operator. The <ahref="command-line-options.html#level">-level</a> operator also affects channels linearly. Somecorrespondences 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>×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,−<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 <code>Polynomial</code> function gives great versatility, sincepolynomials can be used to fit any continuous curve to any degree of accuracydesired.</p></dd><dt><code>Sinusoid</code></dt><dd><p>The <code>Sinusoid</code> function can be used to vary the channel valuessinusoidally by setting frequency, phase shift, amplitude, and a bias. Thesevalues are given as one to four parameters, as follows,</p><div style="text-align: center">   -function <code>Sinusoid</code> <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 functioncorresponds to 0 through <em class="arg">freq</em>×360 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*π* (<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−.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 <emclass="arg">bias</em> are both .5. The default for <em class="arg">phase</em>is 0.</p><p>The <code>Sinusoid</code> function generalizes <code>Sin</code> and<code>Cos</code> of the <a href="command-line-options.html#evaluate">-evaluate</a> operator by allowingvarying 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><code>ArcSin</code></dt><dd><p>The <code>ArcSin</code> 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 rangeof values.</p><p style="text-align: center">   -function <code>ArcSin</code> <em class="arg">width</em>,[<em class="arg">center</em>,[<em class="arg">range</em>,[<em class="arg">bias</em>]]]</p><p>with all values given in terms of normalized color values (0.0 for black,1.0 for white). Defaulting to values covering the full range from 0.0 to 1.0for bout input (<em class="arg">width</em>), and output (<emclass="arg">width</em>) values. '<code>1.0,0.5,1.0,0.5</code>' </p><p style="text-align: center"><em class="arg">range</em>/π * asin( 2/<em class="arg">width</em> * ( <b><em>u</em></b> - <em class="arg">center</em> ) ) + <em class="arg">bias</em></p></dd><dt><code>ArcTan</code></dt><dd><p>The <code>ArcTan</code> function generates a curve that smooth crosses fromlimit values at infinities, though a center using the given slope value.All these values can be adjusted via the arguments.</p><p style="text-align: center">   -function <code>ArcTan</code> <em class="arg">slope</em>,[<em class="arg">center</em>,[<em class="arg">range</em>,[<em class="arg">bias</em>]]]</p><p>Defaulting to '<code>1.0,0.5,1.0,0.5</code>'.</p><p style="text-align: center"><em class="arg">range</em>/π * atan( <em class="arg">slope</em>*π * ( <b><em>u</em></b> - <em class="arg">center</em> ) ) + <em class="arg">bias</em></p></dd></dl><div style="margin: auto;">  <h4><a 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 mustbe exact. Use this option to match colors that are close to the target colorin RGB space. For example, if you want to automagically trim the edges of animage with <a href="command-line-options.html#trim">-trim</a> but the image was scanned and the targetbackground color may differ by a small amount. This option can account forthese differences.</p><p>The <em class="arg">distance</em> can be in absolute intensity units or, byappending <code>%</code> as a percentage of the maximum possible intensity (255,65535, or 4294967295).</p><p>Use <a href="command-line-options.html#fuzz" >+fuzz</a> to reset the fuzz value to 0.</p><div style="margin: auto;">  <h4><a 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 <code>@</code>,the expression is read from a file titled by the remaining characters in thestring.</p><p>See <a href="fx.html">FX,The Special Effects Image Operator</a> for a detailed discussion of thisoption.</p><div style="margin: auto;">  <h4><a 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 lookdifferent due to differences in the display monitor. Use gamma correction toadjust for this color difference.  Reasonable values extend from<code>0.8</code> to <code>2.3</code>. Gamma less than 1.0 darkens the image andgamma greater than 1.0 lightens it. Large adjustments to image gamma mayresult in the loss of some image information if the pixel quantum size is onlyeight bits (quantum range 0 to 255).</p><p>Gamma adjusts the image's channel values pixel-by-pixel according toa power law, namely, pow(pixel,1/gamma) or pixel^(1/gamma), where pixel is thenormalized or 0 to 1 color value. For example, using a value of gamma=2 is thesame as taking the square root of the image.</p><p>You can apply separate gamma values to the red, green, and blue channels ofthe image with a gamma value list delimited with commas (e.g.,<code>1.7,2.3,1.2</code>).</p><p>Use <a href="command-line-options.html#gamma">+gamma <em class="arg">value</em></a> to set theimage gamma level without actually adjusting the image pixels. This optionis useful if the image is of a known gamma but not set as an image attribute(e.g. PNG images).  Write the "file gamma" which is the reciprocal of thedisplay gamma; e.g., if your image is sRGB and you want to write a PNG gAMAchunk, use</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert input.png +gamma .45455 output.png</span></p><p>(0.45455 is 1/2.2)</p><p>Note that gamma adjustments are also available via the <a href="command-line-options.html#level">-level</a> operator.</p><div style="margin: auto;">  <h4><a 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 using the given<em class="arg" >Sigma</em> value.  The formula is:</p><div class="eqn"><img alt="gaussian distribution" width="243px" height="42px" src="../images/gaussian-blur.png"/></div><p>The <em class="arg" >Sigma</em> value is the important argument, anddetermines the actual amount of blurring that will take place. </p><p>The <em class="arg" >Radius</em> is only used to determine the size of thearray which will hold the calculated Gaussian distribution. It should be aninteger.  If not given, or set to zero, IM will calculate the largest possibleradius that will provide meaningful results for the Gaussian distribution.</p><p>The larger the <em class="arg" >Radius</em> the radius the slower theoperation is. However too small a <em class="arg" >Radius</em>, and severaliasing effects may result.  As a guideline, <em class="arg" >Radius</em>should be at least twice the <em class="arg" >Sigma</em> value, though threetimes will produce a more accurate result. </p><p>This differs from the faster <a href="command-line-options.html#blur">-blur</a> operator in that afull 2-dimensional convolution is used to generate the weighted average of theneighboring pixels. </p><p>The <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting will determine howpixels which are outside the image proper are blurred into the final result.</p><div style="margin: auto;">  <h4><a 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="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 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: <code>NorthWest</code>, <code>North</code>,<code>NorthEast</code>, <code>West</code>, <code>Center</code>, <code>East</code>,<code>SouthWest</code>, <code>South</code>, <code>SouthEast</code>.  Use <ahref="command-line-options.html#list">-list gravity</a> to get a complete list of <ahref="command-line-options.html#gravity">-gravity</a> settings available in your ImageMagickinstallation.</p><p>The direction you choose specifies where to position text or subimages. Forexample, a gravity of <code>Center</code> forces the text to be centered withinthe image. By default, the image gravity is <code>NorthWest</code>. See <ahref="command-line-options.html#draw">-draw</a> for more details about graphic primitives.  Only thetext primitive of <a href="command-line-options.html#draw">-draw</a> is affected by the <ahref="command-line-options.html#gravity">-gravity</a> option.</p><p>The <a href="command-line-options.html#gravity">-gravity</a> option is also used in concert with the<a href="command-line-options.html#geometry">-geometry</a> setting and other settings or options thattake <em class="arg">geometry</em> as an argument, such as the <ahref="command-line-options.html#crop">-crop</a> option. </p><p>If a <a href="command-line-options.html#gravity">-gravity</a> setting occurs before another optionor setting having a <em class="arg">geometry</em> argument that specifies anoffset, the offset is usually applied to the point within the image suggestedby the <a href="command-line-options.html#gravity">-gravity</a> argument.  Thus, in the followingcommand, for example, suppose the file <code>image.png</code> has dimensions200x100. The offset specified by the argument to <a href="command-line-options.html#region">-region</a>is (−40,+20). The argument to <a href="command-line-options.html#gravity">-gravity</a> is<code>Center</code>, which suggests the midpoint of the image, at the point(100,50). The offset (−40,20) is applied to that point, giving(100−40,50+20)=(60,70), so the specified 10x10 region is located atthat point. (In addition, the <a href="command-line-options.html#gravity">-gravity</a> affects theregion itself, which is <em>centered</em> at the pixelcoordinate (60,70). (See <a href="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 \ <br/> -negate output.png</span></p><p>When used as an option to <a href="composite.html">composite</a>, <ahref="command-line-options.html#gravity">-gravity</a> gives the direction that the image gravitateswithin the composite.</p><p>When used as an option to <a href="montage.html">montage</a>, <ahref="command-line-options.html#gravity">-gravity</a> gives the direction that an image gravitateswithin a tile. The default gravity is <code>Center</code> for this purpose.</p><div style="margin: auto;">  <h4><a id="grayscale"></a>-grayscale <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%'>convert image to grayscale.</td><td style='text-align:right;'></td></tr></table>
-<p>This will use one of the <a href="command-line-options.html#intensity" >-intensity</a> methods toconvert the given image into a linear-grayscale image. </p><p>For example, to convert an image to (linear) Rec709Luminance grayscale,  type:</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -grayscale Rec709Luminance out.png</span></p><p>which is equivalent to:</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -colorspace gray out.png</span></p><p>Similarly, to convert an image to (non-linear) Rec709Luma grayscale,  type:</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -grayscale Rec709Luma out.png</span></p><p>which is equivalent to:</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -set colorspace RGB -colorspace gray out.png</span></p><p>Note that a 'colorspace' intensity method will produce the same resultregardless of the current colorpsace of the image. But a 'mathematical'intensity method will depend on the current colorspace the image is currentlyusing. </p><p>While this operation uses an <a href="command-line-options.html#intensity" >-intensity</a> method, it does not use or set the <a href="command-line-options.html#intensity" >-intensity</a> setting, sowill not effect other operations that may use that setting.</p><div style="margin: auto;">  <h4><a 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 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 2dimensions.  Create it with the <code>HALD:</code> prefix (e.g. HALD:8).  Youcan apply any color transformation to the Hald image and then use this optionto 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 Photoshopto make color corrections to the Hald CLUT image and subsequently apply themto multiple images using an ImageMagick script. </p><p>Note that the representation is only of the normal RGB color space and thatthe whole color value triplet is used for the interpolated lookup of therepresented Hald color cube image.  Because of this the operation is not <ahref="command-line-options.html#channel" >-channel</a> setting effected, nor can it adjust or modify animages transparency or alpha/matte channel.</p><p>See also <a href="command-line-options.html#clut" >-clut</a> which provides color value replacementof the individual color channels, usually involving a simpler gray-scaleimage. E.g:  gray-scale to color replacement, or modification by a histogrammapping. </p><div style="margin: auto;">  <h4><a 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 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 id="hough-lines"></a>-hough-lines <em class="arg">width</em>x<em class="arg">height</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%'>identify straight lines in the image (e.g. -hough-lines 9x9+195).</td><td style='text-align:right;'></td></tr></table>
-<p>Use the Hough line detector with any binary edge extracted image to locate and draw any straight lines that it finds.</p><p>The process accumulates counts for every white pixel in the binary edge image for every possible orientation (for angles from 0 to 179 in 1 deg increments) and distance from the center of the image to the corners (in 1 px increments). It stores the counts in an accumulator matrix of angle vs distance. The size of the accumulator will be 180x(diagonal/2). Next it searches the accumulator for peaks in counts and converts the locations of the peaks to slope and intercept in the normal x,y input image space. The algorithm uses slope/intercepts to find the endpoints clipped to the bounds of the image. The lines are drawn from the given endpoints. The counts are a measure of the length of the lines.</p.<p>The WxH arguments specify the filter size for locating the peaks in the Hough accumulator. The threshold excludes lines whose counts are less than the threshold value.<p><p>Use <code><a href="command-line-options.html#background" >-background</a></code> to specify the color of the background onto which the lines will be drawn. The default is black.</p><p>Use <code><a href="command-line-options.html#fill" >-fill</a></code> to specify the color of the lines. The default is black.</p><p>Use <code><a href="command-line-options.html#stroke" >-stroke</a></code> and <code><a href="command-line-options.html#strokewidth" >-strokewidth</a></code> to specify the thickness of the lines. The default is black and no strokewidth.</p><p>A text file listing the endpoints and counts may be created by using the suffix, .mvg, for the output image.</p><p>Use <code><a href="command-line-options.html#define" >-define</a> hough-lines:accumulator=true</code> to return the accumulator image in addition to the lines image.</p><div style="margin: auto;">  <h4><a 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 samemanner as the <a href="command-line-options.html#geometry">-geometry</a> option, using X11 style tohandle negative offsets.</p><p>See <a href="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 id="iconic"></a>-iconic</h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>start in icon mode in X Windows</td><td style='text-align:right;'>[<a href="animate.html">animate</a>, <a href="display.html">display</a>]</td></tr></table>
-<div style="margin: auto;">  <h4><a 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 <emclass="arg">PseudoClass</em>); the total number of unique colors; and thenumber of seconds to read and transform the image. Refer to <a href="miff.html">MIFF</a> fora description of the image class.</p><p>If <a href="command-line-options.html#colors">-colors</a> is also specified, the total unique colorsin the image and color reduction error values are printed. Refer to <ahref="quantize.html">colorreduction algorithm</a> for a description of these values.</p><p>If <a href="command-line-options.html#verbose">-verbose</a> precedes this option, copiousamounts of image properties are displayed including image statistics, profiles,image histogram, and others.</p><div style="margin: auto;">  <h4><a 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 now working for Windowsusers in ImageMagick 6.6.0-9). It transforms a pair of magnitude and phaseimages from the frequency domain to a single image in the normal or spatialdomain. See for example, <ahref="http://en.wikipedia.org/wiki/Fourier_transform">Fourier Transform</a>,<a href="http://en.wikipedia.org/wiki/DFT">Discrete Fourier Transform</a> and<a href="http://en.wikipedia.org/wiki/FFT">Fast Fourier Transform</a>.</p><p>For example, depending upon the image format used to store the result ofthe <a href="command-line-options.html#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 whenthe original image, prior to the <a href="command-line-options.html#fft">-fft</a> or <ahref="command-line-options.html#fft">+fft</a>, was not square or even dimensioned. Any padding is atthe right and/or bottom sides of the image.</p><p>The <a href="http://www.fftw.org/">FFTW</a> delegate library is required touse <a href="command-line-options.html#ift">-ift</a>.</p><p>Use <a href="command-line-options.html#ift">+ift</a> (with HDRI enabled) to transform a pair of realand imaginary images from the frequency domain to a single image in the normal(spatial) domain.</p><p>By default the IFT is not normalized (and the FFT is). Use "<code><a href="command-line-options.html#define" >-define</a> fourier:normalize=inverse</code> to explictly normalize the IFT and unnormalize the FFT.</p><div style="margin: auto;">  <h4><a 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 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 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 itat the given index. If a negative index is used, the insert position iscalculated before the last image is removed from the sequence. As such<code>-insert -1</code> will result in no change to the image sequence.</p><p>The <code>+insert</code> option is equivalent to <code>-insert -1</code>. Inother 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 id="intensity"></a>-intensity <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%'>method to generate intensity value from pixel.</td><td style='text-align:right;'></td></tr></table>
-<p>ImageMagick provides a number of methods used in situations where anoperatory needs to determine a single grayscale value for some purpose, froman image with red, green, and blue pixel components. Typically the linear<code>Rec709Luminance</code> formula is used, which is the same formula used when converting images to <code>-colorspace gray</code>. </p><p>The following formulas are currently provided, and will first convertthe pixel values to linear-RGB or non-linear sRGB colorspace beforebeing applied to calulate the final greyscale value. </p><pre class="text">   Rec601Luma        0.298839R' + 0.586811G'+ 0.114350B'   Rec601Luminance   0.298839R + 0.586811G + 0.114350B   Rec709Luma        0.212656R' + 0.715158G' + 0.072186B'   Rec709Luminance   0.212656R + 0.715158G + 0.072186B   Brightness        max(R', G', B')   Lightness         (min(R', G', B') + max(R', G', B')) / 2.0</pre><p>Note that the above R,G,B values is the image's linear-RGB values, whileR',G',B' are sRGB non-linear values. </p><p>These intensity methods are mathematical in nature and will use thecurrent value in the images respective R,G,B channel regardless ofwhat that is, or what colorspace the image is currently using.</p><pre class="text">   Average           (R + G + B) / 3.0   MS                (R^2 + G^2 + B^2) / 3.0   RMS               sqrt( (R^2 + G^2 + B^2) / 3.0 )</pre><p>These methods are often used for other purposes, such as generating agrayscale difference image between two color images (using <a href="command-line-options.html#compose">-compose</a> '<code>Difference</code>' composition. </p><p> For example The 'MS' (Mean Squared) setting is good for minimizing colorerror comparisions.  While...  The method 'RMS' (Root Mean Squared) forexample is appropriate for calculating color vector distance, from a colordifference image.  This is equivalent to the color only component of the <ahref="command-line-options.html#fuzz" >-fuzz</a> factor color compare setting.  </p><p>See also <a href="command-line-options.html#grayscale" >-grayscale</a> which applies one of the abovegrayscaling formula directly to an image without setting the <ahref="command-line-options.html#intensity" >-intensity</a> setting.</p><p>The <a href="command-line-options.html#colorspace" >-colorspace gray</a> image conversion also usesthe current intensity setting, but will always convert the image to theappropriate sRGB or linear-RGB colorspace before appling the abovefunction.</p><p>To print a complete list of posible pixel intensity setting methods, use <a href="command-line-options.html#list">-list intensity</a>.</p><p>Operators affected by the <a href="command-line-options.html#intensity" >-intensity</a> setting include:</p><pre class="text">-adaptive-blur-adaptive-sharpen-black-threshold-clut (when mapping greyscale CLUT image to alpha channel if set by -channels)-colors for gray colorspace-compose {LightenIntensity, DarkenIntensity, CopyOpacity, CopyBlack}-contrast-stretch-distort {ErodeIntensity, DilateIntensity}-normalize-random-threshold-selective-blur-shade-threshold-tint-white-threshold</pre><div style="margin: auto;">  <h4><a 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="command-line-options.html#profile">-profile</a>).  Choose from these intents: <code>Absolute,Perceptual, Relative, Saturation</code>.</p><p>The default intent is Perceptual for the sRGB colorspace and undefined for the RGB and gray colorspaces.</p><p>To print a complete list of rendering intents, use <a href="command-line-options.html#list">-list intent</a>.</p><div style="margin: auto;">  <h4><a 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 imageformats such as <code>RGB</code> or <code>YUV</code>.</p><p><code>None</code> means do not interlace (RGBRGBRGBRGBRGBRGB...),</p><p><code>Line</code> uses scanline interlacing (RRR...GGG...BBB...RRR...GGG...BBB...), and.</p><p><code>Plane</code> uses plane interlacing (RRRRRR...GGGGGG...BBBBBB...).</p><p><code>Partition</code> is like plane except the different planes are saved toindividual files (e.g. image.R, image.G, and image.B).</p><p>Use <code>Line</code> or <code>Plane</code> to create an <code>interlacedPNG</code> or <code>GIF</code> or <code>progressive JPEG</code> image.</p><p>To print a complete list of interlacing schemes, use <a href="command-line-options.html#list">-listinterlace</a>.</p><div style="margin: auto;">  <h4><a 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-integer floating pointvalue, you typically fall in between the pixel colors defined by the sourceimage. This setting determines how the color is determined from the colors ofthe pixels surrounding that point.  That is how to determine the color of apoint 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="command-line-options.html#filter">-filter</a> settings</pre><p>This most important for distortion operators such as <a href="command-line-options.html#distort">-distort</a>, <a href="command-line-options.html#implode" >-implode</a>, <a href="command-line-options.html#transform">-transform</a> and <a href="command-line-options.html#fx" >-fx</a>. </p><p>To print a complete list of interpolation methods, use <a href="command-line-options.html#list">-list interpolate</a>.</p><p>See also <a href="command-line-options.html#virtual-pixel" >-virtual-pixel</a>, for control of thelookup for positions outside the boundaries of the image. </p><div style="margin: auto;">  <h4><a id="interline-spacing"></a>-interline-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 text lines.</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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 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 id="kuwahara"></a>-kuwahara <em class="arg">radius</em><br />-kuwahara <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%'>edge preserving noise reduction filter.</td><td style='text-align:right;'></td></tr></table>
-<p>The <em class="arg" >radius</em> is more important than the <em class="arg" >sigma</em>. If <em class="arg" >sigma</em> is left off, it will be computed automatically from the <em class="arg" >radius</em> as <em class="arg" >sigma</em>=<em class="arg" >radius</em>-0.5. The <em class="arg" >sigma</em> provides a bit of additional smoothing control.</p><div style="margin: auto;">  <h4><a 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 inor created.  You can use the <a href="command-line-options.html#set" >-set</a> operation to re-assigna 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 labelassigned to an image is used as a header string to print above the postscriptimage. </p><p>You can include the image filename, type, width, height, or other imageattribute by embedding special format character.  See <a href="escape.html">Format and Print ImageProperties</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 <code>MIFF:bird.miff 512x480</code> to the"<code>bird.miff</code>" image and whose width is 512 and height is 480, as itis read in.  If a  <a href="command-line-options.html#label">+label</a> option was used instead, anyexisting label present in the image would be used.  You can remove all labelsfrom an image by assigning the empty string. </p><p>A label is not drawn on the image, but is embedded in the image datastreamvia <em>Label</em> tag or similar mechanism. If you want the label to bevisible on the image itself, use the <a href="command-line-options.html#draw">-draw</a> option, orduring the final processing in the creation of an image montage.</p><p>If the first character of <em class="arg">string</em> is <emclass="arg">@</em>, the image label is read from a file titled by theremaining characters in the string. Labels in a file are literal, no embeddedformatting characters are recognized.</p><div style="margin: auto;">  <h4><a 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 asurrounding window.  If the current pixel is lighter than this average plusthe optional <code>offset</code>, then it is made white, otherwise it is madeblack.  Small variations in pixel values such as found in scanned documentscan be ignored if offset is positive. A negative offset will make it moresensitive to those small variations. </p><p>This is commonly used to threshold images with an uneven background.  It isbased on the assumption that average color of the small window is thethe local background color, from which to separate the foreground color. </p><div style="margin: auto;">  <h4><a 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 imageswhich may represent either a set of overlaid 'image layers', a GIF disposalanimation, 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="command-line-options.html#dispose" >-dispose</a> methods are taken into account. </td>  </tr>  <tr><td></td><td>This exactly the same as the <a href="command-line-options.html#deconstruct"        >-deconstruct</a> operator, and does not preserve animations normal        working, especially when animation used layer disposal methods such as        '<code>Previous</code>' or '<code>Background</code>'. </td>  </tr>  <tr valign="top">    <td valign="top">compare-clear</td>    <td valign="top">As '<code>compare-any</code>' 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 '<code>compare-any</code>' 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="command-line-options.html#compose" >-compose</a> alpha       composition method '<code>change-mask</code>', 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="command-line-options.html#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        "<code>null:</code>" 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="command-line-options.html#geometry" >-geometry</a> offset is adjusted according        to <a href="command-line-options.html#gravity" >-gravity</a> in accordance of the virtual        canvas size of the first image in each list. Unlike a normal <a        href="command-line-options.html#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 '<code>coalesce</code>' 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="command-line-options.html#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="command-line-options.html#background" >-background</a> color,        and <a href="command-line-options.html#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 usually 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 an 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 to create a new layer image just large enough to hold all the        image without clipping or extra space. The new images virtual offset        will preserve 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.        Following this operation method with <a href="command-line-options.html#repage" >+repage</a>        will remove the layer offset, and create an image in which all the        overlaid image positions relative to each other is preserved, though        not necessarily exactly where you specified them.        </td>  </tr>  <tr><td></td><td>See also 'trim-bounds' below which is closely related but        without  doing the'flatten' to merge the images together. </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 in a positive direction only so as to hold all the        image layers.  However as a virtual canvas is 'locked' to the origin,        by its own definition, image layers with a negative offsets will still        become clipped by the top and left edges. See 'merge' or 'trim-bounds'        if this could be a problem. </td>  </tr>  <tr><td></td><td>This method is commonly used to layout individual image        using various offset but without knowing 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 '<code>optimize-frame</code>', and        '<code>optimize-transparency</code>' 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 '<code>optimize-frame</code>' 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        '<code>optimize-frame</code>' 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 '<code>optimize-frame</code>' technique. For some        animations however you can get a vast improvement 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="command-line-options.html#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 usually 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 or        merged, only the individual image virtual canvas size and offset.        All the images 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 touching those        edges however may be transparent.  </td>  </tr>  <tr><td></td><td>The result is much like if you used 'merge' followed by a        <a href="command-line-options.html#repage" >+repage</a> option, except that all the images        have been kept separate.  If 'flatten' is used after using        'trim-bounds' you will get the same result.  </td>  </tr>  </tbody></table><p>To print a complete list of layer types, use <a href="command-line-options.html#list">-list layers</a>.</p><p>The operators <a href="command-line-options.html#coalesce" >-coalesce</a>, <a href="command-line-options.html#deconstruct">-deconstruct</a>, <a href="command-line-options.html#flatten" >-flatten</a>, and <a href="command-line-options.html#mosaic">-mosaic</a> are only aliases for the above methods and may be depreciated inthe future.  Also see  <a href="command-line-options.html#page" >-page</a>,  <a href="command-line-options.html#repage">-repage</a> operators, the <a href="command-line-options.html#compose" >-compose</a> setting, and theGIF <a href="command-line-options.html#dispose" >-dispose</a> and  <a href="command-line-options.html#delay" >-delay</a>settings. </p><div style="margin: auto;">  <h4><a 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 andwhite points range from 0 to <em class="QR">QuantumRange</em>, or from 0 to100%; if the white point is omitted it is set to (<emclass="QR">QuantumRange</em> - black_point), so as to center contrast changes.If a <code>%</code> sign is present anywhere in the string, both black and whitepoints are percentages of the full color range.  Gamma will do a <ahref="command-line-options.html#gamma">-gamma</a> adjustment of the values.  If it is omitted, thedefault of 1.0 (no gamma correction) is assumed.</p><p>In normal usage (<code>-level</code>) the image values are stretched so thatthe given '<code>black_point</code>' value in the original image is set to zero(or black), while the given '<code>white_point</code>' value is set to <emclass="QR">QuantumRange</em> (or white).  This provides you with directcontrast adjustments to the image.  The '<code>gamma</code>' of the resultingimage will then be adjusted. </p><p>From ImageMagick v6.4.1-9 using the plus form of the operator(<code>+level</code>) or adding the special '!' flag anywhere in the argumentlist, will cause the operator to do the reverse of the level adjustment.  Thatis 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 tode-contrast, or compress the channel values within the image. The'<code>gamma</code>' is adjusted before the level adjustment to de-contrast theimage is made. </p><p>Only the channels defined by the current <a href="command-line-options.html#channel">-channel</a>setting are adjusted (defaults to RGB color channels only), allowing you tolimit 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 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 separated colors.</td><td style='text-align:right;'></td></tr></table>
-<p>This function is exactly like <a href="command-line-options.html#level">-level</a>, except that thevalue value for each color channel is determined by the'<code>black_color</code>' and '<code>white_color</code>' colors given (asdescribed under the <a href="command-line-options.html#fill">-fill</a> option). </p><p>This effectually means the colors provided to <code>-level-colors</code>is mapped to become 'black' and 'white' respectively, with all the othercolors linearly adjusted (or clipped) to match that change. Each channel isadjusted separately using the channel values of the colors specified. </p><p>On the other hand the plus form of the operator (<code>+level-colors</code>)will map the image color 'black' and 'white' to the given colorsrespectively, resulting in a gradient (de-contrasting) tint of the image tothose colors. This can also be used to convert a plain gray-scale image into aone using the gradient of colors specified. </p><p>By supplying a single color with a comma separator either before or afterthat color, will just replace the respective 'black' or 'white' pointrespectively.  But if no comma separator is provided, the given color isused for both the black and white color points, making the operator eitherthreshold the images around that color (- form) or set all colors to thatcolor (+ form). </p><div style="margin: auto;">  <h4><a 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: <code>area</code>, <code>disk</code>, <code>file</code>,<code>map</code>, <code>memory</code>, <code>thread</code>, or <code>time</code>.</p><p>The value for <code>file</code> is in number of files. The other limits arein bytes. Define arguments for the memory, map, area, and disk resource limitswith SI prefixes (.e.g 100MB).</p><p>By default the limits are 768 files, 3GB of image area, 1.5GiB memory, 3GiBmemory map, and 18.45EB of disk.  These limits are adjusted relative to theavailable resources on your computer if this information is available.   Whenany limit is reached, ImageMagick fails in some fashion but attempts to takecompensating actions, if possible. For example, the following limitsmemory:</p><p class="crtsnip">  -limit memory 32MiB -limit map 64MiB</p><p>Use <a href="command-line-options.html#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'></span></p><pre class="text">Resource limits:  Width: 100MP  Height: 100MP  Area: 25.181GB  Memory: 11.726GiB  Map: 23.452GiB  Disk: unlimited  File: 768  Thread: 12  Throttle: 0  Time: unlimited</pre><p>Requests for pixel storage to keep intermediate images are satisfied by oneof three resource categories: in-memory pool, memory-mapped files pool, anddisk pool (in that order) depending on the <a href="command-line-options.html#limit">&#x2011;limit</a> settingsand whether the system honors a resource request. If the total size ofallocated pixel storage in the given pool reaches the corresponding limit, therequest is passed to the next pool. Additionally, requests that exceed the<code>area</code> limit automagically are allocated on disk.</p><p>To illustrate how ImageMagick utilizes resource limits, consider a typicalimage resource request.  First, ImageMagick tries to allocate the pixels inmemory.  The request might be denied if the resource request exceeds the<code>memory</code> limit or if the system does not honor the request.  Ifa memory request is not honored, the pixels are allocated to disk and the fileis memory-mapped. However, if the allocation request exceeds the<code>map</code> limit, the resource allocation goes to disk. In all cases, ifthe resource request exceeds the <code>area</code> limit, the pixels areautomagically cached to disk. If the disk has a hard limit, the programfails.</p><p>In most cases you simply do not need to concern yourself with resourcelimits.  ImageMagick chooses reasonable defaults and most images do not taxyour computer resources.  Where limits do come in handy is when you processimages that are large or on shared systems where ImageMagick can consume allor most of the available memory. In this case, the ImageMagick workflow slowsother processes or, in extreme cases, brings the system to a halt.  Underthese circumstances, setting limits give some assurances that the ImageMagickworkflow will not interfere with other concurrent uses of the computer.  Forexample, assume you have a web interface that processes images uploaded fromthe Internet.  To assure ImageMagick does not exceed 10MiB of memory you cansimply set the area limit to 10MiB:</p><p class="crtsnip">-limit area 10MB</p><p>Now whenever a large image is processed, the pixels are automagicallycached to disk instead of memory.  This of course implies that large imagestypically process very slowly, simply because pixel processing in memory canbe an order of magnitude faster than on disk.  Because your web site usersmight inadvertently upload a huge image to process, you should set a disklimit 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 setwith <a href="resources.html#environment" >environment variables</a>. Set theenvironment variables <code>MAGICK_AREA_LIMIT</code>,<code>MAGICK_DISK_LIMIT</code>, <code>MAGICK_FILE_LIMIT</code>,<code>MAGICK_MEMORY_LIMIT</code>, <code>MAGICK_MAP_LIMIT</code>,<code>MAGICK_THREAD_LIMIT</code>, <code>MAGICK_TIME_LIMIT</code> for limits ofimage area, disk space, open files, heap memory, memory map, number of threadsof execution, and maximum elapsed time in seconds respectively.</p><p> Inquisitive users can try adding <a href="command-line-options.html#debug">-debug cache</a> totheir commands and then scouring the generated output for references to thepixel cache, in order to determine how the pixel cache was allocated and howresources were consumed. Advanced Unix/Linux users can pipe that outputthrough <code>grep memory|open|destroy|disk</code> for more readable sifting.</p><p>For more about ImageMagick's use of resources, see the section <b>CacheStorage and Resource Requirements</b> on the <a href="architecture.html#cache">Architecture</a> page.  </p><div style="margin: auto;">  <h4><a 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>
-<p>This is very similar to <a href="command-line-options.html#contrast-stretch" >-contrast-stretch</a>,and uses a 'histogram bin' to determine the range of color values that needs tobe stretched.  However it then stretches those colors using the <ahref="command-line-options.html#level" >-level</a> operator.</p><p>As such while the initial determination may have 'binning' round offeffects, the image colors are stretched mathematically, rather than using thehistogram bins.  This makes the operator more accurate. </p><p>note however that a <a href="command-line-options.html#linear-stretch" >-linear-stretch</a> of'<code>0</code>' does nothing, while a value of '<code>1</code>' does a nearperfect stretch of the color range. </p><p>See also <a href="command-line-options.html#auto-level" >-auto-level</a> for a 'perfect'normalization of mathematical images. </p><p>This operator is under review for re-development. </p><div style="margin: auto;">  <h4><a 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 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="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 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">   Align          Alpha          Boolean        Channel   Class          ClipPath       Coder          Color   Colorspace     Command        Compose        Compress   Configure      DataType       Debug          Decoration   Delegate       Direction      Dispose        Distort   Dither         Endian         Evaluate       FillRule   Filter         Font           Format         Function   Gravity        ImageList      Intent         Interlace   Interpolate    Kernel         Layers         LineCap   LineJoin       List           Locale         LogEvent   Log            Magic          Method         Metric   Mime           Mode           Morphology     Module   Noise          Orientation    Policy         PolicyDomain   PolicyRights   Preview        Primitive      QuantumFormat   Resource       SparseColor    Storage        Stretch   Style          Threshold      Type           Units   Validate       VirtualPixel</pre><p>These lists vary depending on your version of ImageMagick. Use "<code>-listlist</code>" to get a complete listing of all the "<code>-list</code>" argumentsavailable:</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>identify -list list</span></p><div style="margin: auto;">  <h4><a 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 <ahref="command-line-options.html#debug">-debug</a> option is active.</p><p>You can display the following components by embedding special formatcharacters:</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 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 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 id="magnify"></a>-magnify</h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>double the size of the image with pixel art scaling.</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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="animate.html">animate</a>, <a href="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">StandardColormap</em> you choose, otherwise an error occurs.  Use <code>list</code> asthe type and <code>display</code> searches the list of colormap types in<code>top-to-bottom</code> order until one is located. See <emclass="arg">xstdcmap(1)</em> for one way of creating Standard Colormaps.</p><div style="margin: auto;">  <h4><a 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="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 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%'>Prevent updates to image pixels specified by the mask.</td><td style='text-align:right;'></td></tr></table>
-<p>This the same as using a mask used for composite masking operations, withgrayscale values causing blended updates of the image the mask is attached to.</p><p>Use <a href="command-line-options.html#mask">+mask</a> to remove the mask from images.</p><p>Also see <a href="command-line-options.html#clip-mask">-clip-mask</a> which work in the same way,but with strict boolean masking. </p><div style="margin: auto;">  <h4><a 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="command-line-options.html#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="command-line-options.html#fill">-fill</a> option.</p><p>The default matte color is <code>#BDBDBD</code>, <spanstyle="background-color: #bdbdbd;">this shade of gray</span>.</p><div style="margin: auto;">  <h4><a id="maximum"></a>-maximum</h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>return the maximum intensity of an image sequence.</td><td style='text-align:right;'></td></tr></table>
-<p>Select the 'maximum' value from all the surrounding pixels. </p><p>This is legacy option from the <a href="command-line-options.html#statistic" >method</a> of the samename. </p><div style="margin: auto;">  <h4><a id="median"></a>-median <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%'>apply a median filter to the image.</td><td style='text-align:right;'></td></tr></table>
-<p>Select the 'middle' value from all the surrounding pixels. </p><p>This is legacy option from the <a href="command-line-options.html#statistic" >method</a> of the samename. </p><div style="margin: auto;">  <h4><a id="mean-shift"></a>-mean-shift <em class="arg">width</em>x<em class="arg">height</em>{<em class="arg">+distance</em>{%}}</h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>image noise removal and color reduction/segmentation (e.g. -mean-shift 7x7+10%).</td><td style='text-align:right;'></td></tr></table>
-<p><em class="arg">width</em>x<em class="arg">height</em> is the window size and <em class="arg">distance</em> is the color distance measured in the range 0 to 1 or 0 to 100%</p><p>The mean shift algorithm is iterative and thus slower the larger the window size. For each pixel, it gets all the pixels in the window centered at the pixel and excludes those that are outside the radius=sqrt((width-1)(height-1)/4) surrounding the pixel. From those pixels, it finds which of them are within the specified squared color distance from the current mean. It then computes a new x,y centroid from those coordinates and a new mean. This new x,y centroid is used as the center for a new window. This process is iterated until it converges and the final mean is then used to replace the original pixel value. It repeats this process for the next pixel, etc, until it processes all pixels in the image. Results are better when using other colorspaces rather than RGB. Recommend YIQ, YUV or YCbCr, which seem to give equivalent results.</p><div style="margin: auto;">  <h4><a 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 error count, number of different pixels (-fuzz effected)  FUZZ   mean color distance  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  NCC    normalized cross correlation  PAE    peak absolute (normalized peak absolute)  PHASH  perceptual hash  PSNR   peak signal to noise ratio  RMSE   root mean squared (normalized root mean squared)</pre><p>Control the '<code>AE</code>', or absolute count of pixels that are different,with the <a href="command-line-options.html#fuzz" >-fuzz</a> factor (ignore pixels whichonly changed by a small amount).  Use '<code>PAE</code>' to find thesize of the <a href="command-line-options.html#fuzz" >-fuzz</a> factor needed to make all pixels'similar', while '<code>MAE</code>' determines the factor neededfor about half the pixels to be similar. </p><p>The '<code>MEPP</code>' metric returns three different metrics('<code>MAE</code>', '<code>MAE</code>' normalized, and '<code>PAE</code>'normalized) from a single comparison run. </p><p>To print a complete list of metrics, use the <a href="command-line-options.html#list">-listmetric</a> option.</p><div style="margin: auto;">  <h4><a id="minimum"></a>-minimum</h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>return the minimum intensity of an image sequence.</td><td style='text-align:right;'></td></tr></table>
-<p>Select the 'minimal' value from all the surrounding pixels. </p><p>This is legacy option from the <a href="command-line-options.html#statistic" >method</a> of the samename. </p><div style="margin: auto;">  <h4><a id="mode"></a>-mode <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%'>make each pixel the 'predominant color' of the neighborhood.</td><td style='text-align:right;'>[<a href="convert.html">convert</a>, <a href="mogrify.html">mogrify</a>]</td></tr></table>
-<div style="margin: auto;">  <h4>-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="montage.html">montage</a>]</td></tr></table>
-<p>Choose the <em class="arg">value</em> from these styles: <code>Frame,Unframe, or Concatenate</code></p><p>Use the <a href="command-line-options.html#list" >-list</a> option with a '<code>Mode</code>' argumentfor a list of <a href="command-line-options.html#mode" >-mode</a> arguments available in yourImageMagick installation.</p><div style="margin: auto;">  <h4><a 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>, <emclass="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 meansno change, and any missing values are taken to mean 100.</p><p>The <em class="arg">brightness</em> is a multiplier of the overallbrightness of the image, so 0 means pure black, 50 is half as bright, 200 istwice as bright. To invert its meaning <a href="command-line-options.html#negate">-negate</a> the imagebefore and after. </p><p>The <em class="arg">saturation</em> controls the amount of color in animage. For example, 0 produce a grayscale image, while a large value such as200 produce a very colorful, 'cartoonish' color.</p><p>The <em class="arg">hue</em> argument causes a "rotation" of the colorswithin the image by the amount specified. For example, 50 results ina 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 theimage. Using a value of 300 is a 360 degree rotation resulting in no change tothe original image. </p><p>For example, to increase the color brightness by 20% and decrease the colorsaturation by 10% and leave the hue unchanged, use <ahref="command-line-options.html#modulate">-modulate 120,90</a>.</p><p>Use <a href="command-line-options.html#set">-set</a> attribute of '<codeclass="arg">option:modulate:colorspace</code>' to specify which colorspace tomodulate.  Choose from <code>HCL</code>, <code>HCLp</code>, <code>HSB</code>, <code>HSI</code>, <code>HSL</code> (the default), <code>HSV</code>, <code>HWB</code>, or <code>LCH</code> (LCHuv).  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 id="moments"></a>-moments</h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>report image moments and perceptual hash.</td><td style='text-align:right;'>[<a href="identify.html">identify</a>]</td></tr></table>
-<div style="margin: auto;">  <h4><a 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 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 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 theappearance of a metamorphosis from one image to the next, over all the imagesin the current image list. The added images are the equivalent of a <ahref="command-line-options.html#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 id="morphology"></a>-morphology</h4>  <h4>-morphology <em class="arg">method</em>  <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%'>apply a morphology method to the image.</td><td style='text-align:right;'></td></tr></table>
-<p>Until I get around to writing an option summary for this, see <ahref="http://www.imagemagick.org/Usage/morphology/" >IM Usage Examples,Morphology</a>. </p><div style="margin: auto;">  <h4><a 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="command-line-options.html#layers" >-layers</a> method "mosaic"</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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.   Theangle given is the angle toward which the image is blurred.  That is thedirection people would consider the object is coming from. </p><p>Note that the blur is not uniform distribution, giving the motion adefinite sense of direction of movement. </p><p>The <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting will determine howpixels which are outside the image proper are blurred into the final result.</p><div style="margin: auto;">  <h4><a 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 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 each 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 becomesblack, yellow becomes blue, etc.  Use <a href="command-line-options.html#negate">+negate</a> to onlynegate the grayscale pixels of the image.</p><div style="margin: auto;">  <h4><a id="noise"></a>-noise <em class="arg">geometry</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 theobjects within an image without losing edge information and without creatingundesired structures.  The central idea of the algorithm is to replace a pixelwith its next neighbor in value within a pixel window, if this pixel has beenfound to be noise. A pixel is defined as noise if and only if this pixel isa maximum or minimum within the pixel window.</p><p>Use <code><a href="command-line-options.html#noise">-noise</a> <em class="arg">radius</em></code> tospecify the width of the neighborhood when reducing noise.  This is equivalentto using a <code><a href="command-line-options.html#statistic" >-statistic</a> NonPeak</code> operation,which should be used in preference.</p><p>Use <a href="command-line-options.html#noise">+noise</a> followed by a noise <emclass="arg">type</em> to add noise to an image. Choose from these noisetypes:</p><pre class="text">   Gaussian   Impulse   Laplacian   Multiplicative   Poisson   Random   Uniform</pre><p>The amount of noise added can be controled by the <code><ahref="command-line-options.html#attunuuate" >-attenuate</a></code> setting. If unset the value isequivalent to 1.0, or a maximum noise addition.</p><p>Note that Random will replace the image with noise rather than add noise to the image. Use Uniform, if you wish to add random noise to the image.</p><p>To print a complete list of noises, use the <a href="command-line-options.html#list">-list noise</a> option.</p><p>Also see the <a href="command-line-options.html#evaluate">-evaluate</a> noise functions that allowsthe use of a controlling value to specify the amount of noise that should beadded to an image. </p><div style="margin: auto;">  <h4><a 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 possiblevalues. While doing so, black-out at most <em>2%</em> of the pixels andwhite-out at most <em>1%</em> of the pixels.</p><p>Note that as of ImageMagick 6.4.7-0, <a href="command-line-options.html#normalize" >-normalize</a>is equivalent to <a href="command-line-options.html#contrast-stretch" >-contrast-stretch 2%x1%</a>.(Before this version, it was equivalent to <a href="command-line-options.html#contrast-stretch">-contrast-stretch 2%x99%</a>).</p><p>All the channels are normalized in concert by the came amount so as topreserve color integrity, when the default <a href="command-line-options.html#channel" >+channel</a>setting is in use.  Specifying any other <a href="command-line-options.html#channel" >-channel</a>setting will normalize the RGB channels independently.</p><p>See  <a href="command-line-options.html#contrast-stretch" >-contrast-stretch</a> for more details.Also see <a href="command-line-options.html#auto-level" >-auto-level</a> for a 'perfect' normalizationthat is better suited to mathematically generated images. </p><p>This operator is under review for re-development. </p><div style="margin: auto;">  <h4><a 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 formatdescribed under the <a href="command-line-options.html#fill" >-fill</a> option.  The <a href="command-line-options.html#fuzz">-fuzz</a> setting can be used to match and replace colors similar to the onegiven.</p><p>Use <a href="command-line-options.html#opaque">+opaque</a> to paint any pixel that does not matchthe target color. </p><p>The <a href="command-line-options.html#transparent">-transparent</a>  operator is exactly the sameas <a href="command-line-options.html#opaque" >-opaque</a> but replaces the matching color withtransparency rather than the current <a href="command-line-options.html#fill">-fill</a> color setting.To ensure that it can do this it also ensures that the image has an alphachannel enabled, as per "<code><a href="command-line-options.html#alpha" >-alpha</a> set</code>", forthe new transparent colors, and does not require you to modify the <ahref="command-line-options.html#channel">-channel</a> to enable alpha channel handling. </p><div style="margin: auto;">  <h4><a 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 <emclass="arg">threshold map</em> specified, and a uniform color map with thegiven 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">   threshold   1x1   Threshold 1x1 (non-dither)   checks      2x1   Checkerboard 2x1 (dither)   o2x2        2x2   Ordered 2x2 (dispersed)   o3x3        3x3   Ordered 3x3 (dispersed)   o4x4        4x4   Ordered 4x4 (dispersed)   o8x8        8x8   Ordered 8x8 (dispersed)   h4x4a       4x1   Halftone 4x4 (angled)   h6x6a       6x1   Halftone 6x6 (angled)   h8x8a       8x1   Halftone 8x8 (angled)   h4x4o             Halftone 4x4 (orthogonal)   h6x6o             Halftone 6x6 (orthogonal)   h8x8o             Halftone 8x8 (orthogonal)   h16x16o           Halftone 16x16 (orthogonal)   c5x5b       c5x5  Circles 5x5 (black)   c5x5w             Circles 5x5 (white)   c6x6b       c6x6  Circles 6x6 (black)   c6x6w             Circles 6x6 (white)   c7x7b       c7x7  Circles 7x7 (black)   c7x7w             Circles 7x7 (white)</pre><p> The <code>threshold</code> generated a simple 50% threshold of the image.This could be used with <em class="arg" >level</em> to do the equivalent of <ahref="command-line-options.html#posterize" >-posterize</a> to reduce an image to basic primary colors.</p><p>The <code>checks</code> pattern produces a 3 level checkerboard  ditherpattern. That is a grayscale will become a pattern of solid black, solidwhite, and  mid-tone colors into a checkerboard pattern of black and white.</p><p>You can define your own <em class="arg" >threshold map</em> for ordereddithering and halftoning your images, in either personal or system<code>thresholds.xml</code> XML file. See <a href="resources.html" >Resources</a>for more details of configuration files. </p><p>To print a complete list of the thresholds that have been defined, use the<a href="command-line-options.html#list" >-list threshold</a> option.</p><p>Note that at this time the same threshold dithering map is used for allcolor channels, no attempt is made to offset or rotate the map for differentchannels is made, to create an offset printing effect. Also as the maps aresimple threshold levels, the halftone and circle maps will create incompletecircles along the edges of a colored area. Also all the effects are purelyon/off boolean effects, without anti-aliasing to make the circles smoothlooking. Large dots can be made to look better with a small amount of blurringafter being created. </p><div style="margin: auto;">  <h4><a 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="command-line-options.html#list" >-listorientation</a> option.</p><div style="margin: auto;">  <h4><a 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="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 <emclass="arg">media</em> (see below). Offsets can then be added as with other<em class="arg">geometry</em> arguments (e.g. <ahref="command-line-options.html#page">-page</a> <code>Letter+43+43</code>).</p><p>Use <em class="arg">media</em> as shorthand to specify the dimensions (<emclass="arg">width</em>x<em class="arg">height</em>) of the <emclass="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-imageformat that supports offsets, such as GIF89 and MNG. When used for thispurpose the offsets are always measured from the top left corner of the canvasand are not affected by the <a href="command-line-options.html#gravity">-gravity</a> option. Toposition a GIF or MNG image, use <a href="command-line-options.html#page">-page</a><emclass="arg">{+-}x{+-}y</em> (e.g.  -page +100+200). When writing to a MNGfile, a <a href="command-line-options.html#page">-page</a> option appearing ahead of the first image inthe sequence with nonzero width and height defines the width and height valuesthat are written in the <code>MHDR</code> chunk.  Otherwise, the MNG width andheight are computed from the bounding box that contains all images in thesequence. When writing a GIF89 file, only the bounding box method is used todetermine its dimensions.</p><p>For a PostScript page, the image is sized as in <ahref="command-line-options.html#geometry">-geometry</a> but positioned relative to the <em>lowerleft-hand corner</em> of the page by {+-}<code>x</code><emclass="arg">offset</em>{+-}<code>y</code> <em class="arg">offset</em>. Use <ahref="command-line-options.html#page">-page 612x792</a>, for example, to center the image within thepage. If the image size exceeds the PostScript page, it is reduced to fit thepage. The default gravity for the <a href="command-line-options.html#page">-page</a> option is <emclass="arg">NorthWest</em>, i.e., positive <code>x</code> and <code>y</code> <emclass="arg">offset</em> are measured rightward and downward from the top leftcorner of the page, unless the <a href="command-line-options.html#gravity">-gravity</a> option ispresent 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="command-line-options.html#density">-density</a>.</p><p>Use <a href="command-line-options.html#page">+page</a> to remove the page settings for an image.</p><div style="margin: auto;">  <h4><a 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 circularneighborhood whose width is specified with <em class="arg">radius</em>.</p><div style="margin: auto;">  <h4><a 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 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="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 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="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 id="perceptible"></a>-perceptible <em class="arg">epsilon</em></h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>set each pixel whose value is less than |<em>epsilon</em>| to <em>-epsilon</em> or <em>epsilon</em> (whichever is closer) otherwise the pixel value remains unchanged.</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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 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 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 <code>+polaroid</code> to rotate the image at a random angle between -15 and +15 degrees.</p><div style="margin: auto;">  <h4><a id="poly"></a>-poly <em class="arg">"wt,exp ..."</em></h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>combines multiple images according to a weighted sum of polynomials; one floating point weight (coefficient) and one floating point polynomial exponent (power) for each image expressed as comma separated pairs.</td><td style='text-align:right;'></td></tr></table>
-<p> The weights should typically be fractions between -1 and 1. But the sum of weights should be 1 or at least between 0 and 1 to avoid clamping in non-hdri mode at black and white.</p><p>The exponents may be positive, negative or zero. A negative exponent is equivalent to 1 divided by the image raised to the corresponding positive exponent. A zero exponent always produces 1 scaled by quantumrange to white, i.e. wt*white, no matter what the image.</p><p>The format is: output = wt1*image1^exp1 + wt2*image2^exp2 ...</p><p>Some simple uses are:</p><ul><li>A weighted sum of each image provided all weights add to unity and all exponents=1. If the the weights are all equal to 1/(number of images), then this is equivalent to <a href="command-line-options.html#profile">-evaluate-sequence</a> <em class="arg">mean</em>.</li><li>The sum of squares of two or more images, provided the weights are equal (and sum to 1 to avoid clamping) and the exponents equal 2.</li></ul><p>Note that one may add a constant color to the expression simply by using xc:somecolor for one of the images and specifying the desired weight and exponent equal to 0.</p><p>Similarly one may add white to the expression by simply using null: (or xc:white) for one of the images with the appropriate weight and exponent equal to 0.</p><div style="margin: auto;">  <h4><a 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 per channel.</td><td style='text-align:right;'></td></tr></table>
-<p>Very low values of <em class="arg">levels</em>, e.g., 2, 3, 4, have the mostvisible effect.</p><div style="margin: auto;">  <h4><a id="precision"></a>-precision <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 maximum number of significant digits to be printed.</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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.<code>convert file.png -preview Gamma Preview:gamma.png</code>). Choose fromthese 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="command-line-options.html#list">-list preview</a> option.</p><p>The default preview is <code>JPEG</code>.</p><div style="margin: auto;">  <h4><a 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 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 <code>"module arg1 arg2 arg3 ...argN"</code> where <code>module</code> is the name of the module to invoke (e.g."Analyze") and arg1 arg2 arg3 ... argN are an arbitrary number of arguments topass to the process module.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#profile">-profile</a> <em class="arg">filename</em> adds anICM (ICC color management), IPTC (newswire information), or a generic profileto the image.</p><p>Use <a href="command-line-options.html#profile">+profile <em class="arg">profile_name</em></a> toremove the indicated profile. ImageMagick uses standard filename globbing, sowildcard expressions may be used to remove more than one profile.  Here weremove all profiles from the image except for the XMP profile:  <code>+profile"!xmp,*"</code>. </p><p>Use <code>identify -verbose</code> to find out which profiles are in theimage file. Use <a href="command-line-options.html#strip">-strip</a> to remove all profiles (andcomments).</p><p>To extract a profile, the <a href="command-line-options.html#profile">-profile</a> option is notused. Instead, simply write the file to an image format such as <emclass="arg">APP1, 8BIM, 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 theoriginal image already has an included profile. Also, keep in mind that <ahref="command-line-options.html#profile">-profile</a> is an "operator" (as opposed to a "setting") andtherefore a conversion is made each time it is encountered, in order, in thecommand-line. For instance, in the following example, if the original image isCMYK 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, extraconversion steps can yield unwanted results.  CMYK profiles are often veryasymmetric since they involve 3−&gt;4 and 4−&gt;3 channel mapping.</p><div style="margin: auto;">  <h4><a 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 1 (lowest image quality andhighest compression) to 100 (best quality but least effective compression).The default is to use the estimated quality of your input image if it canbe determined, otherwise 92. When the quality is greater than 90, then thechroma channels are not downsampled.Use the <a href="command-line-options.html#sampling-factor">-sampling-factor</a> option to specify thefactors for chroma downsampling.</p><p>For the MIFF image format, quality/10 is the zlib compression level, whichis 0 (worst but fastest compression) to 9 (best but slowest). It has no effecton the image appearance, since the compression is always lossless.</p><p>For the JPEG-2000 image format, quality is mapped using a non-linearequation to the compression ratio required by the Jasper library. Thisnon-linear equation is intended to loosely approximate the quality provided bythe JPEG v1 format. The default quality value 100, a request for non-lossycompression.  A quality of 75 results in a request for 16:1 compression.</p><p>For the MNG and PNG image formats, the quality value sets the zlibcompression level (quality / 10) and filter-type (quality % 10).  The defaultPNG "quality" is 75, which means compression level 7 with adaptive PNGfiltering, unless the image has a color map, in which case it meanscompression level 7 with no PNG filtering.</p><p>For compression level 0 (quality value less than 10), the Huffman-onlystrategy is used, which is fastest but not necessarily the worstcompression.</p><p>If filter-type is 4 or less, the specified PNG filter-type is used forall 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 greaterthan 50 and the image does not have a color map, otherwise no filtering isused.</p><p>If filter-type is 6, adaptive filteringwith <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 colortransformation (intrapixel differencing) and adaptive filteringwith <em class="arg">minimum-sum-of-absolute-values</em> are used.</p><p>If the filter-type is 8 the zlib Z_RLE compression strategy (or theZ_HUFFMAN_ONLY strategy, when compression level is 0) is used withadaptive PNG filtering.</p><p>If the filter-type is 9 the zlib Z_RLE compression strategy (or theZ_HUFFMAN_ONLY strategy, when compression level is 0) is used withno PNG filtering.</p><p>The quality setting has no effect on the appearance or signature of PNGand MNG images, since the compression is always lossless.</p><p>Not all combinations of compression level, strategy, and PNG filter typecan be obtained using the -quality option.  For more precise control,you can use the PNG:compression-level=N, PNG:compression-strategy=N, andPNG:compression-filter=N defines, respectively, instead.See <a href="command-line-options.html#define">-define</a>. Values from the defines take precedenceover values from the -quality option.</p><p>For further information, seethe <a href="http://www.w3.org/pub/WWW/TR">PNG</a> specification.</p><div style="margin: auto;">  <h4><a 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 using this colorspace.</td><td style='text-align:right;'></td></tr></table>
-<p>This setting defines the colorspace used to sort out and reduce the numberof colors needed by an image (for later dithering) by operators such as <ahref="command-line-options.html#colors" >-colors</a>, Note that color reduction also happensautomatically when saving images to color-limited image file formats, such asGIF, and PNG8.</p><div style="margin: auto;">  <h4><a 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 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 assuch actually mis-named. </p><p>The <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting will determine howpixels which are outside the image proper are blurred into the final result.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#raise">-raise</a> to createa raised effect, otherwise use <a href="command-line-options.html#raise">+raise</a>.  </p><p>Unlike the similar <a href="command-line-options.html#frame">-frame</a> option, <ahref="command-line-options.html#raise">-raise</a> does not alter the dimensions of the image.</p><div style="margin: auto;">  <h4><a 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 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 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>
-<p>This option causes some warnings in some image formats to be treatedas errors. </p><div style="margin: auto;">  <h4><a 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="command-line-options.html#dither">-dither</a> setting is enabled (the default) thenthe given colors are dithered over the image as necessary, otherwise the closestcolor (in RGB colorspace) is selected to replace that pixel in the image. </p><p>As a side effect of applying a <a href="command-line-options.html#remap">-remap</a> of colors across allimages in the current image sequence, all the images will have the same colortable.  That means that when saved to a file format such as GIF, it will usethat 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="command-line-options.html#remap">+remap</a> to reduce all images in the current imagesequence to use a common color map over all the images. This equivalent toappending all the images together (without extra background colors) and colorreducing those images using <a href="command-line-options.html#colors">-colors</a> with a 256 colorlimit, then <a href="command-line-options.html#remap">-remap</a> those colors over the original list ofimages. 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 <ahref="command-line-options.html#remap">+remap</a> should not perform any color reduction or dithering, asno color changes are needed. In that case, its only effect is to force the useof a global color table.  This recommended after using either <ahref="command-line-options.html#colors">-colors</a> or <a href="command-line-options.html#ordered-dither">-ordered-dither</a> toreduce the number of colors in an animated image sequence. </p><p>Note, the remap image colormap has at most 8-bits of precision. Deeper color maps are automagically coalesced with other colors to meet this requirement.</p><div style="margin: auto;">  <h4><a 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 treatedin the same manner as in <a href="command-line-options.html#crop">-crop</a>.</p><p>See <a href="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 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="display.html">display</a> applicationrunning simultaneously, use the <a href="command-line-options.html#window"> window</a> option tospecify which application to control.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#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 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="command-line-options.html#page">-page</a> but acts as an image operatorrather than a setting.  You can separately set the canvas size or the offsetof the image on that canvas by only providing those components. </p><p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p><p>If a <code>!</code> flag is given the offset given is added to the existingoffset to move the image relative to its previous position. This useful foranimation sequences. </p><p>A given a canvas size of zero such as '<code>0x0</code>' forces it torecalculate the canvas size so the image (at its current offset) will appearcompletely on that canvas (unless it has a negative offset).</p><p>Use <a href="command-line-options.html#repage">+repage</a> to completely remove/reset the virtualcanvas meta-data from the images. </p><p>The <a href="command-line-options.html#set">-set</a> '<code>page</code>' option can be used todirectly assign virtual canvas meta-data. </p><div style="margin: auto;">  <h4><a 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 originalat the specified target resolution. For example, if a 300 DPI image renders at3 inches by 2 inches on a 300 DPI device, when the image has been resampled to72 DPI, it will render at 3 inches by 2 inches on a 72 DPI device.  Note thatonly a small number of image formats (e.g. JPEG, PNG, and TIFF) are capable ofstoring the image resolution. For formats which do not support an imageresolution, the original resolution of the image must be specified via <ahref="command-line-options.html#density">-density</a> on the command line prior to specifying theresample resolution.</p><p>Note that Photoshop stores and obtains image resolution from a proprietaryembedded profile. If this profile exists in the image, then Photoshop willcontinue to treat the image using its former resolution, ignoring the imageresolution specified in the standard file header.</p><div style="margin: auto;">  <h4><a 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="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, areignored, and the <a href="command-line-options.html#gravity">-gravity</a> option has no effect.</p><p>If the <a href="command-line-options.html#filter">-filter</a> optionor <code>-define filter:option=value</code> precedes the <ahref="command-line-options.html#resize">-resize</a> option, the image is resized with the specifiedfilter.</p><p>Many image processing algorithms assume your image is in a linear-lightcoding.  If your image is gamma-corrected, you can remove the nonlinear gammacorrection, apply the transform, then restore it like this:</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert portrait.jpg -gamma .45455 -resize 25% -gamma 2.2  \ <br/> -quality 92 passport.jpg</span></p><div style="margin: auto;">  <h4><a 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 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 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 right-to-left.A negative <em class="arg">y</em> offset rolls the image bottom-to-top.</p><div style="margin: auto;">  <h4><a 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 <code>&gt;</code> to rotate the image only if its width exceeds theheight. <code>&lt;</code> rotates the image <em>only</em> if its width is lessthan the height. For example, if you specify <code>-rotate "-90&gt;"</code> andthe image size is 480x640, the image is not rotated. However, if the image is640x480, it is rotated by -90 degrees. If you use <code>&gt;</code> or<code>&lt;</code>, enclose it in quotation marks to prevent it from beingmisinterpreted as a file redirection.</p><p>Empty triangles in the corners, left over from rotating the image, arefilled with the <code>background</code> color. </p><p>See also the <a href="command-line-options.html#distort">-distort</a> operator and specifically the'<code>ScaleRotateTranslate</code>' distort method. </p><div style="margin: auto;">  <h4><a 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%'>minify / magnify the image with pixel subsampling and pixel replication, respectively.</td><td style='text-align:right;'></td></tr></table>
-<p>Change the image size simply by directly sampling the pixels originalfrom the image.  When magnifying, pixels are replicated in blocks.  Whenminifying, pixels are sub-sampled (i.e., some rows and columns are skippedover). </p><p>The results are thus equivalent to using <a href="command-line-options.html#resize">-resize</a> witha <a href="command-line-options.html#filter">-filter</a> setting of <code>point</code> (nearestneighbour), though <a href="command-line-options.html#sample">-sample</a> is a lot faster, as itavoids all the filter processing of the image. As such it completely ignoresthe current <a href="command-line-options.html#filter">-filter</a> setting. </p><p>The key feature of the <a href="command-line-options.html#sample">-sample</a> is that no new colorswill be added to the resulting image, though some colors may disappear. </p><p>See <a href="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, areignored, unlike <a href="command-line-options.html#resize">-resize</a>. </p><p>The actual sampling point is the middle of the sub-region being sampled.As such a single pixel sampling of an image will take the middle pixel, (ortop-left-middle if image has even dimensions).  However the <ahref="command-line-options.html#define">-define</a> '<code>sample:offset</code>' can be set to modifythis position some other location within each sub-region being sampled, asa percentage offset.</p><p>By default this value is '<code>50</code>' for the midpoint, but could be setto '<code>0</code>' for top-left, '<code>100</code>' for bottom-right, or withseparate X and Y offsets such as '<code>0x50</code>' for left-middle edge ofsampling sub-region.</p><div style="margin: auto;">  <h4><a 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 encoderfor chroma downsampling. If this option is omitted, the JPEG library will useits own default values. When reading or writing the YUV format and whenwriting the M2V (MPEG-2) format, use <ahref="command-line-options.html#sampling-factor">-sampling-factor 2x1</a> or <ahref="command-line-options.html#sampling-factor">-sampling-factor 4:2:2</a> to specify the 4:2:2downsampling method.</p><div style="margin: auto;">  <h4><a 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%'>minify / magnify the image with pixel block averaging and pixel replication, respectively.</td><td style='text-align:right;'></td></tr></table>
-<p>Change the image size simply by replacing pixels by averaging pixelstogether when minifying, or replacing pixels when magnifying.  </p><p>The results are thus equivalent to using <a href="command-line-options.html#resize">-resize</a> witha <a href="command-line-options.html#filter">-filter</a> setting of <code>box</code>.  Though it is a lotfaster, as it avoids all the filter processing of the image. As such itcompletely ignores the current <a href="command-line-options.html#filter">-filter</a> setting. </p><p>If when shrinking (minifying) images the original image is some integermultiple of the new image size, the number of pixels averaged together toproduce the new pixel color is the same across the whole image. This isa special case known as 'binning' and is often used as a method of reducingnoise in image such as those generated by digital cameras, especially in lowlight conditions. </p><div style="margin: auto;">  <h4><a 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 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 imageshould be done on the root window, rather than directly on the specifiedwindow. In this way, you can obtain pieces of other windows that overlap thespecified window, and more importantly, you can capture menus or other popupsthat are independent windows but appear over the specified window.</p><div style="margin: auto;">  <h4><a 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 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 andidentifying units that are homogeneous with the fuzzy c-means technique. Thisis part of the ImageMagick color quantization routines. </p><p>Specify <em class="arg">cluster threshold</em> as the number of pixels ineach cluster that must exceed the cluster threshold to be considered valid.<em class="arg">Smoothing threshold</em> eliminates noise in the secondderivative of the histogram. As the value is increased, you can expecta smoother second derivative.  The default is 1.5.</p><p>If the <a href="command-line-options.html#verbose">-verbose</a> setting is defined, a detailed reportof the color clusters is returned.</p><div style="margin: auto;">  <h4><a id="selective-blur"></a>-selective-blur <em class="arg">radius</em><br />-selective-blur <em class="arg">radius</em>x<em class="arg">sigma</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%'>Selectively blur pixels within a contrast threshold.</td><td style='text-align:right;'></td></tr></table>
-<p>Blurs those pixels that are less than or equal to the threshold incontrast. The threshold may be expressed as a fraction of <emclass="QR">QuantumRange</em> or as a percentage.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#channel">-channel</a>.</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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 effectachieved in a photo darkroom by sepia toning.  Threshold ranges from 0 to <emclass="QR">QuantumRange</em> and is a measure of the extent of the sepiatoning.  A threshold of 80% is a good starting point for a reasonabletone.</p><div style="margin: auto;">  <h4><a id="set"></a>-set <em class="arg">key value</em></h4>  <h4>+set <em class="arg">key</em></h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>sets image attributes and properties for images in the currentimage sequence.</td><td style='text-align:right;'></td></tr></table>
-<p>This will assign (or modify) specific settings attached to all the imagesin the current image sequence.  Using the <a href="command-line-options.html#set">+set</a> form of theoption will either remove, or reset that setting to a default state, asappropriate.  </p><p>For example, it will modify specific well known image meta-data'attributes' such as those normally overridden by: the options <ahref="command-line-options.html#delay" >-delay</a>, <a href="command-line-options.html#dispose" >-dispose</a>, and <ahref="command-line-options.html#page" >-page</a>, <a href="command-line-options.html#colorspace" >-colorspace</a>; generallyassigned before the image is read in, by using a <em class="arg">key</em> ofthe same name. </p><p>If the given <em class="arg">key</em> does not match a specific known'attribute ', such as shown above, the setting is stored as a a free form'property' string.  Such settings are listed in <a href="command-line-options.html#verbose">-verbose</a> information ("<code>info:</code>" output format) as "Properties".</p><p>This includes string 'properties' that are set by and assigned to imagesusing the options <a href="command-line-options.html#comment" >-comment</a>, <a href="command-line-options.html#label">-label</a>, <a href="command-line-options.html#caption" >-caption</a>. These options actually assigna global 'artifact' which are automatically assigned (and any <a href="escape.html" >Format PercentEscapes</a> expanded) to images as they are read in.  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'>identify -format %c rose.png</span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>Rose is a rose is a rose is a rose</span></p><p>The set value can also make use of <a href="escape.html" >Format and Print ImageProperties</a> in the defined value.  For example:</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert rose: -set origsize '%wx%h' -resize 50% \</span><span class='crtout'>        -format 'Old size = %[origsize]  New size = %wx%h' info:</span><span class="crtprompt"> $magick&gt; </span><span class='crtin'>Old size = 70x46  New size = 35x23</span></p><p>Other well known 'properties' that are availible include:'<code>date:create</code>' and '<code>date:modify</code>' and'<code>signature</code>'. </p><p>The <a href="command-line-options.html#repage">-repage</a> operator will also allow you to modifythe '<code>page</code>' attribute of an image for images already in memory (alsosee <a href="command-line-options.html#repage">-page</a>).  However it is designed to provide a finercontrol of the sub-parts of this 'attribute'. The <a href="command-line-options.html#set">-set page</a>option will only provide a direct, unmodified assignment of  '<code>page</code>'attribute. </p><p>This option can also associate a colorspace or profile with your image.For example,</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert image.psd -set profile ISOcoated_v2_eci.icc image-icc.psd</span></p><p>Some 'properties' must be defined in a specific way to be used. Forexample only 'properties' prefixed with "<code>filename:</code>" can be used tomodify the output filename of an image. For example</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert rose: -set filename:mysize '%wx%h' 'rose_%[filename:mysize].png'</span></p><p>If the setting value is prefixed with "<code>option:</code>" the setting willbe saved as a global "Artifact" exactly as if it was set using the <ahref="command-line-options.html#define" >-define</a> option. As such settings are global in scope, theycan be used to pass 'attributes' and 'properties' of one specific image,in a way that allows you to use them in a completely different image, even ifthe original image has long since been modified or destroyed. For example: </p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert rose:  -set option:rosesize '%wx%h' -delete 0 \</span><span class='crtout'>        label:'%[rosesize]'   label_size_of_rose.gif</span></p><p>Note that <a href="escape.html" >Format Percent Escapes</a> will only matcha 'artifact' if the given <em class="arg">key</em> does not match an existing'attribute' or 'property'.  </p><p>You can set the attributes of the image registry by prefixing the valuewith <code>registry:</code>.</p><p>The <a href="command-line-options.html#set">-set profile</a> option can also be used to injectpreviously-formatted ancillary chunks into the output PNG file, usingthe commandline option as shown below or by setting the profile via aprogramming interface:</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -set profile PNG-chunk-x:&lt;filename&gt; out.png</span></p><p>where <em>x</em> is a location flag and<em class="arg">filename</em> is a file containing the chunkname in the first 4 bytes, then a colon (":"), followed by the chunk data.This encoder will compute the chunk length and CRC, so those must notbe included in the file.</p><p>"x" can be "b" (before PLTE), "m" (middle, i.e., between PLTE and IDAT),or "e" (end, i.e., after IDAT).  If you want to write multiple chunksof the same type, then add a short unique string after the "x" to preventsubsequent profiles from overwriting the preceding ones, e.g.,</p><p class='crt'><span class="crtprompt"> $magick&gt; </span><span class='crtin'>convert in.png -set profile PNG-chunk-b01:file01 / <br/>            -profile PNG-chunk-b02:file02 out.png</span></p><div style="margin: auto;">  <h4><a 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> asthe position of the light source. Use <a href="command-line-options.html#shade">+shade</a> to returnthe shading results as a grayscale image.</p><div style="margin: auto;">  <h4><a 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><aid="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 sharedmemory 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 <code>True</code>.</p><div style="margin: auto;">  <h4><a id="sharpen"></a>-sharpen <em class="arg">radius</em><br />-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 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 ofthe image and the height of the regions to be removed from top and bottom.Offsets are ignored.</p><p>See <a href="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 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 <emclass="arg">Ydegrees</em> is omitted it defaults to 0. When both angles aregiven, the horizontal component of the shear is performed before the verticalcomponent.</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 amountof each is controlled by the respective shear angle. For horizontal shears,<em class="arg">Xdegrees</em> is measured clockwise relative to "up" (thenegative y-axis), sliding the top edge to the right when 0°&lt;<emclass="arg">Xdegrees</em>&lt;90° and to the left when 90°&lt;<emclass="arg">Xdegrees</em>&lt;180°.  For vertical shears <emclass="arg">Ydegrees</em> is measured clockwise relative to "right" (thepositive x-axis), sliding the right edge down when 0°&lt;<emclass="arg">Ydegrees</em>&lt;90° and up when 90°&lt;<emclass="arg">Ydegrees</em>&lt;180°.</p><p>Empty triangles left over from shearing the image are filled with the colordefined by the <a href="command-line-options.html#fill">-background</a> option. The color is specifiedusing the format described under the <a href="command-line-options.html#fill">-fill</a> option.</p><p>The horizontal shear is performed before the vertical part. This isimportant to note, since horizontal and vertical shears do not<em>commute</em>, i.e., the order matters in a sequence of shears. Forexample, 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, exceptfor the amount of empty space created; the command that follows generatesa 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 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 functionwithout saturating highlights or shadows. <em class="arg">Contrast</em>indicates how much to increase the contrast. For example, 0 is none, 3 istypical and 20 is a lot.</p><p>The <em class="arg">mid-point</em> indicates where the maximum change'slope' in contrast should fall in the resultant image (0 is white; 50% ismiddle-gray; 100% is black). </p><p>By default the image contrast is increased, use <emclass="arg">+sigmoidal-contrast</em> to decrease the contrast.</p><p>To achieve the equivalent of a sigmoidal brightness change (similar to a gamma adjustment), you would use <em class="arg">-sigmoidal-contrast{brightness}x0%</em> to increase brightness and <emclass="arg">+sigmoidal-contrast {brightness}x0%</em> to decrease brightness.Note the use of '0' fo rthe mid-point of the sigmoidal curve. </p><p>Using a very high <em class="arg">contrast</em> will produce a sort of'smoothed thresholding' of the image.  Not as sharp (with high aliasingeffects) of a true threshold, but with tapered gray-levels around the threshold<em class="arg">mid-point</em>. </p><div style="margin: auto;">  <h4><a 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 id="similarity-threshold"></a>-similarity-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%'>minimum RMSE for subimage match.</td><td style='text-align:right;'>[<a href="compare.html">compare</a>]</td></tr></table>
-<p>If this setting is used, then the search will stop as soon as it finds a match whose metric is less than or equal to the value. A partially filled second output image will result. Using a value of zero, will cause the search to stop at the first perfect match it finds. If this setting is left off, then the search will proceed to completion or as limited by <em class="arg">-dissimilarity-threshold</em>.</p><div style="margin: auto;">  <h4><a 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 whosedimensions are unknown such as <code>GRAY</code>, <code>RGB</code>, or<code>CMYK</code>. In addition to width and height, use <ahref="command-line-options.html#size">-size</a> with an offset to skip any header information in theimage or tell the number of colors in a <code>MAP</code> image file, (e.g. -size640x512+256).</p><p>For Photo CD images, choose from these sizes:</p><pre class="text">   192x128   384x256   768x512   1536x1024   3072x2048</pre><div style="margin: auto;">  <h4><a 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.   Theangle given is the angle toward which the image is sketched.  That is thedirection people would consider the object is coming from.  </p><div style="margin: auto;">  <h4><a id="smush"></a>-smush <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%'>smush an image sequence together.</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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="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 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 whenexposing a photographic film to light during the development process.</p><div style="margin: auto;">  <h4><a 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">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.        The gradient generated extends beyond the triangle created by those        3 points. </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>  <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 biased 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">inverse</td>    <td valign="top">Colors points biased on the ratio of inverse distance.        This generates sharper points of color rather than rounded spots of        '<code>shepards</code>'  Generating spots of color in a sea of the        average of colors. </td>  </tr>  </tbody></table><p>The points are placed according to the images location on the virtualcanvas (<a href="command-line-options.html#page" >-page</a> or <a href="command-line-options.html#repage" >-repage</a>offset), and do not actually have to exist on the given image, but may besome point beyond the edge of the image. All points are floating point values.</p><p>Only the color channels defined by the <a href="command-line-options.html#channel" >-channel</a> aremodified, which means that by default matte/alpha transparency channel is noteffected. Typically transparency channel is turned off either before or afterthe operation. </p><p>Of course if some color points are transparent to generate a transparentgradient, then the image also requires transparency enabled to store thevalues. </p><p>All the above methods when given a single point of color will replace allthe colors in the image with the color given, regardless of the point. This islogical, and provides an alternative technique to recolor an image to somedefault value. </p><div style="margin: auto;">  <h4><a 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>This will add rows and columns of the current <ahref="command-line-options.html#background">-background</a> color into the given image according to thegiven  <a href="command-line-options.html#gravity">-gravity</a> geometry setting.  >See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. Essentially <a href="command-line-options.html#splice">-splice</a> will divide theimage into four quadrants, separating them by the inserted rows and columns.</p><p>If a dimension of geometry is zero no rows or columns will be added for thatdimension.  Similarly using a zero offset with the appropriate <ahref="command-line-options.html#gravity">-gravity</a> setting will add rows and columns to the edges ofthe image, padding the image only along that one edge. Edge padding is what <ahref="command-line-options.html#splice">-splice</a> is most commonly used for. </p><p>If the exact same  <em class="arg">geometry</em> and <ahref="command-line-options.html#gravity">-gravity</a> is later used with <a href="command-line-options.html#chop">-chop</a> theadded added all splices removed. </p><div style="margin: auto;">  <h4><a 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 theneighborhood around each pixel from which to choose a candidate pixel toswap.</p><div style="margin: auto;">  <h4><a id="statistic"></a>-statistic <em class="arg">type</em> <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%'>replace each pixel with corresponding statistic from the neighborhood.</td><td style='text-align:right;'>[<a href="convert.html">convert</a>, <a href="mogrify.html">mogrify</a>]</td></tr></table>
-<p>Choose from these statistic types:</p><pre class="text">   Gradient            maximum difference (max - min) value in neighborhood   Maximum             maximum value per channel in neighborhood   Minimum             minimum value per channel in neighborhood   Mean                average value per channel in neighborhood   Median              median value per channel in neighborhood   Mode                mode (most frequent) value per channel in neighborhood   Nonpeak             value just before or after the median value per channel in neighborhood   RMS                 root mean square value per channel in neighborhood   StandardDeviation   standard deviation value per channel in neighborhood</pre><div style="margin: auto;">  <h4><a 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 thebeginning of the image. Note this offset and the image size. You will needthis information to recover the steganographic image (e.g. display -size320x256+35 stegano:image.png).</p><div style="margin: auto;">  <h4><a 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 red / cyan stereo anaglyph.</td><td style='text-align:right;'>[<a href="composite.html">composite</a>]</td></tr></table>
-<p>The left side of the stereo pair (second image) is saved as the red channel of the output image. The right side (first image) is saved as the green and blue channels. Red-green stereo glasses are required to properly view the stereo image.</p><div style="margin: auto;">  <h4><a 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     unsigned characters   double   doubles   float    floats   integer  integers   long     longs   quantum  pixels in the native depth of your ImageMagick distribution   short    unsigned shorts</pre><p>Float and double types are normalized from 0.0 to 1.0 otherwise the pixelsvalues range from 0 to the maximum value the storage type can support.</p><div style="margin: auto;">  <h4><a 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 toapply to the currently selected font family. Select <emclass="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="command-line-options.html#list">-liststretch</a>.</p><p>For other settings that affect fonts, see the options <ahref="command-line-options.html#font">-font</a>, <a href="command-line-options.html#family">-family</a>, <ahref="command-line-options.html#style">-style</a>, and <a href="command-line-options.html#weight">-weight</a>. </p><div style="margin: auto;">  <h4><a 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 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="command-line-options.html#fill">-fill</a> option.</p><p>See <a href="command-line-options.html#draw">-draw</a> for further details.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#draw">-draw</a> for further details.</p><div style="margin: auto;">  <h4><a 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 tothe currently selected font family. Select <em class="arg">fontStyle</em> fromthe following.</p><pre class="text">   Any   Italic   Normal   Oblique</pre><p>For other settings that affect fonts, see the options <ahref="command-line-options.html#font">-font</a>, <a href="command-line-options.html#family">-family</a>, <ahref="command-line-options.html#stretch">-stretch</a>, and <a href="command-line-options.html#weight">-weight</a>. </p><div style="margin: auto;">  <h4><a id="subimage-search"></a>-subimage-search</h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>search for subimage.</td><td style='text-align:right;'>[<a href="compare.html">compare</a>]</td></tr></table>
-<p>This option is required to have compare search for the best match locationof a small image within a larger image. This search will produce two images(or two frames). The first is the "difference" image and the second willbe the "match score" image.</p><p>The "match-score" image is smaller containing a pixel for ever possibleposition of the top-left corner of the given sub-image. that is its size willbe the size of the larger_image - sub_image + 1.  The brightest location inthis image is the location s the locate on the best match that is alsoreported. Note that this may or may not be a perfect match, and the actualbrightness will reflect this. Other bright 'peaks' can be used to locate otherpossible matching locations. </p><p>Note that the search will try to compare the sub-image at every possiblelocation in the larger image, as such it can be very slow.  The smaller thesub-image the faster this search is. </p><div style="margin: auto;">  <h4><a 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="command-line-options.html#swap">-swap 0,2</a> swaps the first and the thirdimages in the current image sequence. Use <a href="command-line-options.html#swap">+swap</a> to switchthe last two images in the sequence.</p><div style="margin: auto;">  <h4><a 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 id="synchronize"></a>-synchronize</h4></div><table style='background-color:#FFFFE0; margin-left:40px; margin-right:40px; width:88%'><tr><td style='width:75%'>synchronize image to storage device.</td><td style='text-align:right;'></td></tr></table>
-<p>Set to "true" to ensure all image data is fully flushed and synchronizedto disk. There is a performance penalty, but the benefits include ensuring avalid image file in the event of a system crash and early reporting if thereis not enough disk space for the image pixel cache.</p><div style="margin: auto;">  <h4><a 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.</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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, orOPTION1 font. For example, <code>Courier.ttf</code> is a TrueType font and<code>x:fixed</code> is OPTION1.</p><div style="margin: auto;">  <h4><a 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 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 asthe first one provided. If all three color values are the same, the result isa bi-level image. If the opacity threshold is omitted, OpaqueOpacity is usedand 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="command-line-options.html#channel">&#x2011;channel</a>) that exceed the specified threshold are reassigned themaximum 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 integervalue corresponding to the desired channel value. When given as an integer,the minimum attainable value is 0 (corresponding to black when all channelsare affected), but the maximum value (corresponding to white) is that of the<code>quantum depth</code> of the particular build of ImageMagick, and istherefore dependent on the installation. For that reason, a reasonablerecommendation for most applications is to specify the threshold values asa 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 redchannel. 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 wouldgenerate an all-black and an all-white image with the same dimensions as theinput 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="command-line-options.html#black-threshold">&#x2011;black&#x2011;threshold</a> and <a href="command-line-options.html#white-threshold">&#x2011;white&#x2011;threshold</a>.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#resize">-resize</a>, except it is optimizedfor speed and any image profile, other than a color profile, is removed toreduce the thumbnail size.  To strip the color profiles as well, add <ahref="command-line-options.html#strip">-strip</a> just before of after this option.</p><p>See <a href="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 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="montage.html">montage</a>]</td></tr></table>
-<p>See <a href="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="composite.html">composite</a>]</td></tr></table>
-<div style="margin: auto;">  <h4><a 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="command-line-options.html#tile">-tile</a> or <a href="command-line-options.html#texture" >-texture</a>, or directly applied forcreating a tiled canvas using <code>TILE:</code> or <code>PATTERN:</code> inputformats. </p><p>Internally ImageMagick does a <a href="command-line-options.html#roll" >-roll</a> of the tile imageby the arguments given when the tile image is set. </p><div style="margin: auto;">  <h4><a 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 suchas the various shades of grey.</p><div style="margin: auto;">  <h4><a 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="animate.html">animate</a>, <a href="display.html">display</a>, <a href="montage.html">montage</a>]</td></tr></table>
-<p>Use this option to assign a specific title to the image. This assigned tothe 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 describedunder the <a href="command-line-options.html#format">-format</a> option.</p><p>For example,</p><p class="crtsnip">  -title "%m:%f %wx%h"</p><p>produces an image title of <code>MIFF:bird.miff 512x480</code> for an imagetitled <code>bird.miff</code> and whose width is 512 and height is 480.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#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><p>This operator has been now been superseded by the  <ahref="command-line-options.html#distort">-distort</a> '<code>AffineProjection</code>' method. </p><div style="margin: auto;">  <h4><a 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 formatdescribed under the <a href="command-line-options.html#fill">-fill</a> option. The <a href="command-line-options.html#fuzz">-fuzz</a> setting can be used to match and replace colors similar to the onegiven. </p><p>Use  <a href="command-line-options.html#transparent" >+transparent</a> to invert the pixels matched.that is make all non-matching colors transparent. </p><p>The <a href="command-line-options.html#opaque">-opaque</a>  operator is exactly the same as <ahref="command-line-options.html#transparent" >-transparent</a> but replaces the matching color with thecurrent <a href="command-line-options.html#fill">-fill</a> color setting, rather than transparent.However the <a href="command-line-options.html#transparent" >-transparent</a> operator also ensuresthat the image has an alpha channel enabled, as per "<code><a href="command-line-options.html#alpha">-alpha</a> set</code>", and does not require you to modify the <ahref="command-line-options.html#channel">-channel</a> to enable alpha channel handling. </p><p>Note that this does not define the color as being the 'transparency color'used for color-mapped image formats, such as GIF.  For that use <ahref="command-line-options.html#transparent-color" >-transparent-color</a> </p><div style="margin: auto;">  <h4><a 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 asGIF and PNG8 which uses this color to represent boolean transparency.  Thisdoes not make a color transparent, it only defines what color the transparentcolor is in the color palette of the saved image. Use <ahref="command-line-options.html#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 atransparent color of the same color value without conflict.  That is, you canuse the same color for both the transparent and opaque color areas within animage.  This, in turn, frees to you to select a transparent color that isappropriate when an image is displayed by an application that does not handle atransparent color index, while allowing ImageMagick to correctly handle images of thistype. </p><p>The default transparent color is <code>#00000000</code>, which is fully transparent black.</p><div style="margin: auto;">  <h4><a 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 <code>-flip -rotate 90</code>.</p><div style="margin: auto;">  <h4><a 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 <code>-flop -rotate 90</code>.</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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 causesthe use of an optimal tree depth for the color reduction algorithm.</p><p>An optimal depth generally allows the best representation of the sourceimage with the fastest computational speed and the least amount of memory.However, the default depth is inappropriate for some images. To assure thebest representation, try values between 2 and 8 for this parameter.  Refer tothe <a href="quantize.html">color reduction algorithm</a> for more details.</p><p>The <a href="command-line-options.html#colors">-colors</a> or <a href="command-line-options.html#monochrome">-monochrome</a>option, or writing to an image format which requires color reduction, isrequired for this option to take effect.</p><div style="margin: auto;">  <h4><a 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 cornerpixels. Use <a href="command-line-options.html#fuzz">-fuzz</a> to make <a href="command-line-options.html#trim">-trim</a> removeedges that are nearly the same color as the corner pixels.</p><p>The page or virtual canvas information of the image is preserved allowingyou to extract the result of the <a href="command-line-options.html#trim">-trim</a> operation from theimage.  Use a <a href="command-line-options.html#repage">+repage</a> to remove the virtual canvas pageinformation if it is unwanted.</p><p>If the trimmed image 'disappears' an warning is produced, and a specialsingle pixel transparent 'missed' image is returned, in the same way as when a<a href="command-line-options.html#crop">-crop</a> operation 'misses' the image proper. </p><div style="margin: auto;">  <h4><a 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: <code>Bilevel</code>,<code>Grayscale</code>, <code>GrayscaleMatte</code>, <code>Palette</code>,<code>PaletteMatte</code>, <code>TrueColor</code>, <code>TrueColorMatte</code>,<code>ColorSeparation</code>, or <code>ColorSeparationMatte</code>.</p><p>Normally, when a format supports different subformats such as grayscale andtruecolor, the encoder will try to choose an efficient subformat. The <ahref="command-line-options.html#type">-type</a> option can be used to override this behavior. Forexample, to prevent a JPEG from being written in grayscale format even thoughonly 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="command-line-options.html#type">-type TrueColorMatte</a> to force theencoder to write an alpha channel even though the image is opaque, if theoutput format supports transparency.</p><p>Use <a href="command-line-options.html#type">-type optimize</a> to ensure the image is written in the smallest possible file size.</p><div style="margin: auto;">  <h4><a 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="command-line-options.html#fill">-fill</a> option.</p><p>See <a href="command-line-options.html#draw">-draw</a> for further details.</p><div style="margin: auto;">  <h4><a 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 currentlydisplayed is over-written.  <code>display</code> will automagically detect thatthe input file has been changed and update the displayed imageaccordingly.</p><div style="margin: auto;">  <h4><a 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 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: <code>Undefined</code>, <code>PixelsPerInch</code>, or<code>PixelsPerCentimeter</code>. This option is normally used in conjunctionwith the <a href="command-line-options.html#density">-density</a> option.</p><div style="margin: auto;">  <h4><a 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">+gain</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="command-line-options.html#unsharp">-unsharp</a> option sharpens an image. The image isconvolved with a Gaussian operator of the given radius and standard deviation(sigma). For reasonable results, radius should be larger than sigma. Usea 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).   gain       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 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 optionprecedes the <a href="command-line-options.html#identify">-identify</a> option or<code>info:</code>.</td><td style='text-align:right;'></td></tr></table>
-<div style="margin: auto;">  <h4><a 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 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 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>
-<p>The vignette effect rolloff is controlled by radiusxsigma. For nominal rolloff, this would be set to 0xsigma. A value of 0x0 will produce a circle/ellipse with no rolloff. The arguments x and y control the size of the circle. Larger values decrease the radii and smaller values increase the radii. Values of +0+0 will generate a circle/ellipse the same size as the image. The default values for x and y are 10% of the corresponding image dimension. Thus, the radii will be decreased by 10%, i.e., the diameters of the circle/ellipse will be 80% of the corresponding image dimension.</p><div style="margin: auto;">  <h4><a 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 colorlookup completely 'misses' the source image. The color(s) that appear tosurround the source image.  Generally this color is derived from the sourceimage, 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="command-line-options.html#distort">-distort</a>, <a href="command-line-options.html#implode" >-implode</a>, and <a href="command-line-options.html#fx" >-fx</a>.However it also effects operations that may access pixels just outside theimage proper, such as <a href="command-line-options.html#convolve">-convolve</a>, <ahref="command-line-options.html#blur">-blur</a>, and <a href="command-line-options.html#sharpen">-sharpen</a>. </p><p>To print a complete list of virtual pixel types, use the <ahref="command-line-options.html#list">-list virtual-pixel</a> option.</p><div style="margin: auto;">  <h4><a 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="animate.html">animate</a>, <a href="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 mostsimultaneous colors on the default screen is chosen.</p><div style="margin: auto;">  <h4><a 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 andsaturation.</td><td style='text-align:right;'>[<a href="composite.html">composite</a>]</td></tr></table>
-<p>Take a grayscale image (with alpha mask) and modify the destination image'sbrightness according to watermark image's grayscale value and the <emclass="arg">brightness</em> percentage.  The destinations color saturationattribute 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 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 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 tothe currently selected font family. Use a positive integer for <emclass="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 ≤ 800.</td></tr>    <tr><td>Lighter </td>        <td>Subtract 100 to font weight if currently ≤ 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="command-line-options.html#list">-listweight</a>.</p><p>For other settings that affect fonts, see the options <ahref="command-line-options.html#font">-font</a>, <a href="command-line-options.html#family">-family</a>, <ahref="command-line-options.html#stretch">-stretch</a>, and <a href="command-line-options.html#style">-style</a>. </p><div style="margin: auto;">  <h4><a 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 id="white-threshold"></a>-white-threshold <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%'>Force to white all pixels above the threshold while leaving allpixels at or below the threshold unchanged.</td><td style='text-align:right;'></td></tr></table>
-<p> The threshold value can be given as a percentage or as an absolute integervalue within [0, <em class="QR">QuantumRange</em>] corresponding to thedesired <a href="command-line-options.html#channel">&#x2011;channel</a> value. See <a href="command-line-options.html#threshold">&#x2011;threshold</a>for more details on thresholds and resulting values.  </p><div style="margin: auto;">  <h4><a 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="animate.html">animate</a>, <a href="display.html">display</a>]</td></tr></table>
-<p><em class="arg">id</em> can be a window id or name. Specify <code>root</code>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<code>backdrop</code> or <a href="command-line-options.html#geometry">-resize</a> are specified, theimage is surrounded by the background color. Refer to <code>X RESOURCES</code>for details.</p><p>The image will not display on the root window if the image has more uniquecolors than the target window colormap allows. Use <ahref="command-line-options.html#colors">-colors</a> to reduce the number of colors.</p><div style="margin: auto;">  <h4><a 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 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="command-line-options.html#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="command-line-options.html#write">+write</a> <em class="arg">filename</em> option.</p><p>Use <a href="command-line-options.html#compress">-compress</a> to specify the type of image compression.</p></div></div>
+<p class="lead magick-description">Below is list of command-line options recognized by the ImageMagick <a href="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="convert.html">convert</a> and <a href="mogrify.html">mogrify</a>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="adaptive-blur"></a>-adaptive-blur <var>radius</var>[x<var>sigma</var>]</h4>
 </div>
 
-<div id="linkbar">
-    <span id="linkbar-west"> </span>
+<p class="magick-description">Adaptively blur pixels, with decreasing effect near edges.</p>
 
-    <span id="linkbar-center">
-      <a href="../discourse-server">Discourse Server</a> •
-      <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
-      <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a> •
-      <a href="http://jqmagick.imagemagick.org/">JqMagick</a>
-    </span>
-    <span id="linkbar-east"> </span>
+<p>A Gaussian operator of the given radius and standard deviation (<var>sigma</var>) is used. If <var>sigma</var> is not given it
+defaults to 1.</p>
+
+<div style="margin: auto;">
+  <h4><a id="adaptive-resize"></a>-adaptive-resize <var>geometry</var></h4>
 </div>
-<div class="footer">
-  <span id="footer-west">©  1999-2014 ImageMagick Studio LLC</span>
-  <span id="footer-east"> <a href="contact.html">Contact the Wizards</a></span>
+
+<p class="magick-description">Resize the image using data-dependent triangulation.</p>
+
+<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <a href="command-line-options.html#adaptive-resize">-adaptive-resize</a>
+option defaults to data-dependent triangulation.  Use the <a href="command-line-options.html#filter">-filter</a> to choose a different resampling algorithm.
+Offsets, if present in the geometry string, are ignored, and the <a href="command-line-options.html#gravity">-gravity</a> option has no effect.</p>
+
+<div style="margin: auto;">
+  <h4><a id="adaptive-sharpen"></a>-adaptive-sharpen <var>radius</var>[x<var>sigma</var>]</h4>
 </div>
-<div style="clear: both; margin: 0; width: 100%; "></div>
+
+<p class="magick-description">Adaptively sharpen pixels, with increasing effect near edges.</p>
+
+<p>A Gaussian operator of the given radius and standard deviation
+(<var>sigma</var>) is used. If <var>sigma</var> is not given it
+defaults to 1.</p>
+
+<div style="margin: auto;">
+  <h4><a id="adjoin"></a>-adjoin</h4>
+</div>
+
+<p class="magick-description">Join images into a single multi-image file.</p>
+
+<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="command-line-options.html#scene">-scene</a> number before the suffix, in order to
+make distinct names for each image. </p>
+
+<p>Use <a href="command-line-options.html#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="command-line-options.html#adjoin">+adjoin</a> and are used to specify
+where the <a href="command-line-options.html#scene">-scene</a> number is placed in the filenames. These
+strings, such as '<code>%d</code>' or '<code>%03d</code>', are familiar to those
+who have used the standard <code>printf()</code>' C-library function. As an
+example, the command</p>
+
+<pre>
+convert logo: rose: -morph 15 my%02dmorph.jpg
+</pre>
+
+<p>will create a sequence of 17 images (the two given plus 15 more created by
+<a href="command-line-options.html#morph">-morph</a>), named: my00morph.jpg, my01morph.jpg,
+my02morph.jpg, ..., my16morph.jpg.  </p>
+
+<p>In summary, ImageMagick tries to write all images to one file, but will
+save to multiple files, if any of the following conditions exist...</p>
+<ol>
+<li>the output image's file format does not allow multi-image files,</li>
+<li>the <a href="command-line-options.html#adjoin">+adjoin</a> option is given, or</li>
+<li>a printf() integer format string (eg: "%d") is present in the output
+ filename.</li>
+</ol>
+
+
+<div style="margin: auto;">
+  <h4><a id="affine"></a>-affine
+  <var>s<sub>x</sub></var>,<var>r<sub>x</sub></var>,<var>r<sub>y</sub></var>,<var>s<sub>y</sub></var>[,<var>t<sub>x</sub></var>,<var>t<sub>y</sub></var>]</h4>
+</div>
+
+<p class="magick-description">Set the drawing transformation matrix for combined rotating and scaling.</p>
+
+<p>This option sets a transformation matrix, for use by subsequent <a href="command-line-options.html#draw">-draw</a> or <a href="command-line-options.html#transform">-transform</a> options. </p>
+
+<p>The matrix entries are entered as comma-separated numeric values either in
+quotes or without spaces. </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 (<var>x'</var>, <var>y'</var>) of a pixel at
+position (<var>x</var>, <var>y</var>) 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 
+<var>t<sub>x</sub></var> and <var>t<sub>y</sub></var>
+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 <var>x</var> and <var>y</var> directions
+are rightward and downward, resp.; positive rotation is clockwise.</p>
+
+<p> If the translation coefficients <var>t<sub>x</sub></var> and 
+<var>t<sub>y</sub></var> are omitted they default to 0,0. Therefore,
+four parameters suffice for rotation and scaling without translation.</p>
+
+<p>Scaling by the factors <var>s<sub>x</sub></var> and 
+<var>s<sub>y</sub></var> in the <var>x</var> and <var>y</var> directions,
+respectively, is accomplished with the following.</p>
+
+<p>See <a href="command-line-options.html#transform">-transform</a>, and the <a href="command-line-options.html#distort">-distort</a> method '<code>Affineprojection</code> for more
+information </p>
+
+
+<pre>
+-affine <var>s<sub>x</sub></var>,0,0,<var>s<sub>y</sub></var>
+</pre>
+
+<p>Translation by a displacement (<var>t<sub>x</sub></var>, <var>t<sub>y</sub></var>) is accomplished like so:</p>
+
+<pre>
+-affine 1,0,0,1,<var>t<sub>x</sub></var>,<var>t<sub>y</sub></var>
+</pre>
+
+<p>Rotate clockwise about the origin (the upper left-hand corner) by an angle
+<var>a</var> by letting <var>c</var> = cos(<var>a</var>), <var>s</var>
+= sin(<var>a</var>), and using the following.</p>
+
+<pre>
+-affine <var>c</var>,<var>s</var>,-<var>s</var>,<var>c</var>
+</pre>
+
+<p>The cumulative effect of a sequence of <a href="command-line-options.html#affine">-affine</a>
+transformations can be accomplished by instead by a single <a href="command-line-options.html#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 id="alpha"></a>-alpha <var>type</var></h4>
+</div>
+
+<p class="magick-description">Gives control of the alpha/matte channel of an image.</p>
+
+<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 <var>type</var> from the list below.</p>
+
+
+<div class="table-responsive">
+<table class="table table-condensed table-striped">
+  <tbody>
+  <tr>
+    <th>Type</th>
+    <th>Description</th>
+  </tr>
+
+  <tr>
+    <td><code>Activate</code> or <code>On</code></td>
+    <td>
+       Enable the image's transparency channel. Note normally <code>Set</code>
+       should be used instead of this, unless you specifically need to
+       preserve existing (but specifically turned <code>Off</code>) transparency
+       channel. </td></tr>
+
+  <tr>
+    <td><code>Associate</code></td>
+    <td>
+       associate the alpha channel with the image.</td></tr>
+
+  <tr>
+    <td><code>Deactivate</code> or <code>Off</code></td>
+    <td>
+       Disables the image's transparency channel. Does not delete or change the
+       existing data, just turns off the use of that data.</td></tr>
+
+  <tr>
+    <td><code>Disassociate</code></td>
+    <td>
+       disassociate the alpha channel from the image.</td></tr>
+
+  <tr>
+    <td><code>Set</code></td>
+    <td>
+       Activates the alpha/matte channel. If it was previously turned off
+       then it also resets the channel to opaque.  If the image already had
+       the alpha channel turned on, it will have no effect.</td></tr>
+
+  <tr>
+    <td><code>Opaque</code></td>
+    <td>
+       Enables the alpha/matte channel and forces it to be fully opaque.
+       </td></tr>
+
+  <tr>
+    <td><code>Transparent</code></td>
+    <td>
+       Activates 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, but fully transparent. </td></tr>
+
+  <tr>
+    <td><code>Extract</code></td>
+    <td>
+       Copies the alpha channel values into all the color channels and turns
+       '<code>Off</code>' the the image's transparency, so as to generate
+       a gray-scale mask of the image's shape. The alpha channel data is left
+       intact just deactivated.  This is the inverse of '<code>Copy</code>'.
+       </td></tr>
+
+  <tr>
+    <td><code>Copy</code></td>
+    <td>
+       Turns '<code>On</code>' the alpha/matte channel, then copies the
+       gray-scale intensity of the image, into the alpha channel, converting
+       a gray-scale mask into a transparent shaped mask ready to be colored
+       appropriately. The color channels are not modified.  </td></tr>
+
+  <tr>
+    <td><code>Shape</code></td>
+    <td>
+       As per '<code>Copy</code>' but also colors the resulting shape mask with
+       the current background color.  That is the RGB color channels is
+       replaced, with appropriate alpha shape.
+       </td></tr>
+
+  <tr>
+    <td><code>Remove</code></td>
+    <td>
+       Composite the image over the background color.
+       </td></tr>
+
+  <tr>
+    <td><code>Background</code></td>
+    <td>
+       Set any fully-transparent pixel to the background color, while leaving
+       it fully-transparent.  This can make some image file formats, such as
+       PNG, smaller as the RGB values of transparent pixels are more uniform,
+       and thus can compress better.
+       </td></tr>
+  </tbody>
+</table>
+</div>
+
+<p>Note that while the obsolete <code>+matte</code> operation was the
+same as "<code><a href="command-line-options.html#alpha">-alpha</a> Off</code>", the <code>
+&gt;-matte</code> operation was the same as "<code><a href="command-line-options.html#alpha">-alpha</a>
+Set</code>" and not "<code><a href="command-line-options.html#alpha">-alpha</a> On</code>".  </p>
+
+
+<div style="margin: auto;">
+ <h4><a id="annotate"></a>
+ -annotate <var>degrees</var> <var>text</var><br>
+ -annotate <var>Xdegrees</var>x<var>Ydegrees</var> <var>text</var><br> -annotate <var>Xdegrees</var>x<var>Ydegrees</var> {+-}<var>t<sub>x</sub></var>{+-}<var>t<sub>y</sub></var> <var>text</var><br> -annotate {+-}<var>t<sub>x</sub></var>{+-}<var>t<sub>y</sub></var> <var>text</var></h4>
+</div>
+
+<p class="magick-description">Annotate an image with text</p>
+
+<p>This is a convenience for annotating an image with text. For more precise
+control over text annotations, use <a href="command-line-options.html#draw">-draw</a>.</p>
+
+
+<p>The values <var>Xdegrees</var> and <var>Ydegrees</var>
+control the shears applied to the text, while <var>t<sub>x</sub></var> and <var>t<sub>y</sub></var> are offsets that give the location of the text relative any <a href="command-line-options.html#gravity">-gravity</a> setting and defaults to the upper left corner of the image.</p>
+
+<p>Using <a href="command-line-options.html#annotate">-annotate</a> <var>degrees</var>
+or <a href="command-line-options.html#annotate">-annotate</a> <var>degrees</var>x<var>degrees</var> produces an unsheared rotation of the text. The
+direction of the rotation is positive, which means a clockwise rotation if <var>degrees</var> is positive. (This conforms to the usual mathematical
+convention once it is realized that the positive <var>y</var>–direction is
+conventionally considered to be <var>downward</var> for images.)</p>
+
+<p>The new (transformed) coordinates (<var>x'</var>, <var>y'</var>) of a pixel at position (<var>x</var>, <var>y</var>) 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 <var>t<sub>x</sub></var> and <var>t<sub>y</sub></var> 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="command-line-options.html#gravity">-gravity</a> option in this
+case leads to nice results.</p>
+
+<p>Text is any UTF-8 encoded character sequence.  If <var>text</var>
+is of the form '@mytext.txt', the text is read from the file
+<code>mytext.txt</code>.  Text  in a file is taken literally; no embedded
+formatting characters are recognized.</p>
+
+<div style="margin: auto;">
+  <h4><a id="antialias"></a>-antialias</h4>
+</div>
+
+<p class="magick-description">Enable/Disable of the rendering of anti-aliasing pixels when drawing fonts and lines.</p>
+
+<p>By default, objects (e.g. text, lines, polygons, etc.) are antialiased when
+drawn.  Use <a href="command-line-options.html#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
+are added when drawing such objects. </p>
+
+<div style="margin: auto;">
+  <h4><a id="append"></a>-append</h4>
+</div>
+
+<p class="magick-description">Join current images vertically or horizontally.</p>
+
+<p>This option creates a single longer image, by joining all the current
+images in sequence top-to-bottom. Use <a href="command-line-options.html#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="command-line-options.html#background">-background</a> color setting, and their
+position relative to each other can be controlled by the current <a href="command-line-options.html#gravity">-gravity</a> setting. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="attenuate"></a>-attenuate <var>value</var></h4>
+</div>
+
+<p class="magick-description">Lessen (or intensify) when adding noise to an image.</p>
+
+<p>If unset the value is equivalent to 1.0, or a maximum noise addition</p>
+
+<div style="margin: auto;">
+  <h4><a id="authenticate"></a>-authenticate <var>password</var></h4>
+</div>
+
+<p class="magick-description">Decrypt a PDF with a password.</p>
+
+<p>Use this option to supply a <var>password</var> 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="command-line-options.html#encipher">-encipher</a>
+and <a href="command-line-options.html#decipher">-decipher</a>. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="auto-gamma"></a>-auto-gamma</h4>
+</div>
+
+<p class="magick-description">Automagically adjust gamma level of image.</p>
+
+<p>This calculates the mean values of an image, then applies a calculated  <a href="command-line-options.html#gamma">-gamma</a> adjustment so that is the mean color exists in the
+image it will get a have a value of 50%. </p>
+
+<p>This means that any solid 'gray' image becomes 50% gray. </p>
+
+<p>This works well for real-life images with little or no extreme dark and
+light areas, but tend to fail for images with large amounts of bright sky or
+dark shadows. It also does not work well for diagrams or cartoon like images.
+</p>
+
+<p>It uses the <a href="command-line-options.html#channel">-channel</a> setting, (including the
+'<var>sync</var>' flag for channel synchronization), to determine which color
+values is used and modified. As the default <a href="command-line-options.html#channel">-channel</a> setting is '<var>RGB,sync</var>', channels are modified
+together by the same gamma value, preserving colors. </p>
+
+
+
+<div style="margin: auto;">
+  <h4><a id="auto-level"></a>-auto-level</h4>
+</div>
+
+<p class="magick-description">Automagically adjust color levels of image.</p>
+
+<p>This is a 'perfect' image normalization operator.  It finds the exact
+minimum and maximum color values in the image and then applies a <a href="command-line-options.html#level">-level</a> operator to stretch the values to the full range of
+values. </p>
+
+<p>The operator is not typically used for real-life images, image scans, or
+JPEG format images, as a single 'out-rider' pixel can set a bad min/max values
+for the <a href="command-line-options.html#level">-level</a> operation.  On the other hand it is the
+right operator to use for color stretching gradient images being used to
+generate Color lookup tables, distortion maps, or other 'mathematically'
+defined images.  </p>
+
+<p>The operator is very similar to the <a href="command-line-options.html#normalize">-normalize</a>, <a href="command-line-options.html#contrast-stretch">-contrast-stretch</a>, and <a href="command-line-options.html#linear-stretch">-linear-stretch</a> operators, but without 'histogram binning' or 'clipping'
+problems that these operators may have. That is <a href="command-line-options.html#auto-level">-auto-level</a> is the perfect or ideal version these operators. </p>
+
+<p>It uses the <a href="command-line-options.html#channel">-channel</a> setting, (including the
+special '<var>sync</var>' flag for channel synchronization), to determine
+which color values are used and modified. As the default <a href="command-line-options.html#channel">+channel</a> setting is '<var>RGB,sync</var>', the
+'<var>sync</var>' ensures that the color channels will are modified
+together by the same gamma value, preserving colors, and ignoring
+transparency. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="auto-orient"></a>-auto-orient</h4>
+</div>
+
+<p class="magick-description">adjusts an image so that its orientation is suitable for viewing (i.e. top-left orientation).</p>
+
+<p>This operator reads and resets the EXIF image profile setting 'Orientation'
+and then performs the appropriate 90 degree rotation on the image to orient
+the image, for correct viewing. </p>
+
+<p>This EXIF profile setting is usually set using a gravity sensor in digital
+camera, however photos taken directly downward or upward may not have an
+appropriate value.  Also images that have been orientation 'corrected' without
+reseting this setting, may be 'corrected' again resulting in a incorrect
+result.  If the EXIF profile was previously stripped, the  <a href="command-line-options.html#auto-orient">-auto-orient</a> operator will do nothing. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="average"></a>-average</h4>
+</div>
+
+<p class="magick-description">Average a set of images.</p>
+
+<p>An error results if the images are not identically sized.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="backdrop"></a>-backdrop</h4>
+</div>
+
+<p class="magick-description">Display the image centered on a backdrop.</p>
+
+<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="command-line-options.html#fill">-fill</a> option.</p>
+
+<div style="margin: auto;">
+  <h4><a id="background"></a>-background <var>color</var></h4>
+</div>
+
+<p class="magick-description">Set the background color.</p>
+
+<p>The color is specified using the format described under the <a href="command-line-options.html#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 id="bench"></a>-bench <var>iterations</var></h4>
+</div>
+
+<p class="magick-description">Measure performance.</p>
+
+<p>Repeat the entire command for the given number of <var>iterations</var> and report the user-time and elapsed time. For instance,
+consider the following command and its output.  Modify the benchmark with the
+-duration to run the benchmark for a fixed number of seconds and -concurrent
+to run the benchmark in parallel (requires the OpenMP feature).</p>
+
+<pre>
+convert logo: -resize 1000% -bench 5 logo.png
+Performance[4]: 5i 0.875657ips 6.880u 0:05.710
+</pre>
+
+<p>In this example, 5 iterations were completed at 0.875657 iterations per
+second, using 4 threads and 6.88 seconds of the user's allotted time, for
+a total elapsed time of 5.71 seconds.</p>
+
+<div style="margin: auto;">
+  <h4><a id="bias"></a>-bias <var>value</var>{<var>%</var>}</h4>
+</div>
+
+<p class="magick-description">Add bias when convolving an image.</p>
+
+<p>This option shifts the output of <a href="command-line-options.html#convolve">‑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="command-line-options.html#bias">‑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="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 id="black-point-compensation"></a>-black-point-compensation</h4>
+</div>
+
+<p class="magick-description">Use black point compensation.</p>
+
+<div style="margin: auto;">
+  <h4><a id="black-threshold"></a>-black-threshold <var>value</var>{<var>%</var>}</h4>
+</div>
+
+<p class="magick-description">Force to black all pixels below the threshold while leaving all pixels at or above the threshold unchanged.</p>
+
+<p> The threshold value can be given as a percentage or as an absolute integer
+value within [0, <var>QuantumRange</var>] corresponding to the
+desired <a href="command-line-options.html#channel">‑channel</a> value. See <a href="command-line-options.html#threshold">‑threshold</a>for more details on thresholds and resulting values.  </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="blend"></a>-blend <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">blend an image into another by the given absolute value or percent.</p>
+
+<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
+<code>-blend 30%</code> merges 30% of the 'source' image with 70% of the
+'destination' image.  Thus it is equivalent to <code>-blend 30x70%</code>.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="blue-primary"></a>-blue-primary <var>x</var>,<var>y</var></h4>
+</div>
+
+<p class="magick-description">Set the blue chromaticity primary point.</p>
+
+<div style="margin: auto;">
+  <h4><a id="blue-shift"></a>-blue-shift <var>factor</var></h4>
+</div>
+
+<p class="magick-description">simulate a scene at nighttime in the moonlight.  Start with a factor of 1.5</p>
+
+<div style="margin: auto;">
+
+<div style="margin: auto;">
+  <h4><a id="blur"></a>-blur <var>radius</var><br>-blur <var>radius</var>x<var>sigma</var></h4>
+</div>
+
+<p class="magick-description">Reduce image noise and reduce detail levels.</p>
+
+<p>Convolve the image with a Gaussian or normal distribution using the given
+<var>Sigma</var> value.  The formula is:</p>
+
+<div class="eqn"><img alt="gaussian distribution" width="243px" height="42px" src="../images/gaussian-blur.png">
+</div>
+
+<p>The <var>Sigma</var> value is the important argument, and
+determines the actual amount of blurring that will take place. </p>
+
+<p>The <var>Radius</var> is only used to determine the size of the
+array which will hold the calculated Gaussian distribution. It should be an
+integer.  If not given, or set to zero, IM will calculate the largest possible
+radius that will provide meaningful results for the Gaussian distribution.
+</p>
+
+<p>The larger the <var>Radius</var> the slower the
+operation is. However too small a <var>Radius</var>, and sever
+aliasing effects may result.  As a guideline, <var>Radius</var>
+should be at least twice the <var>Sigma</var> value, though three
+times will produce a more accurate result. </p>
+
+<p>This option differs from <a href="command-line-options.html#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="command-line-options.html#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>-blur <var>Width</var>[x<var>Height</var>[+<var>Angle</var>]]</h4>
+</div>
+
+<p class="magick-description">Variably blur an image according to the overlay mapping.</p>
+
+<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 <var>Width</var> and <var>Height</var>. The <var>Height</var>
+defaults to the <var>Width</var> for a normal circular Gaussian
+weighting.  The <var>Angle</var> will rotate the ellipse from
+horizontal clock-wise.  </p>
+
+<p>The <a href="command-line-options.html#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 id="border"></a>-border <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Surround the image with a border of color. </p>
+
+<p>Set the width and height using the <var>size</var> portion of the
+<var>geometry</var> argument.  See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. Offsets are
+ignored. </p>
+
+<p>As of IM 6.7.8-8, the <var>geometry</var> arguments behave as follows:</p>
+
+<table id="borderTable">
+  <col width="20%"> <col width="80%">
+  <thead>
+  <tr>
+    <th style="text-align:center"><var>size</var></th>
+    <th>General description</th>
+  </tr>
+  </thead>
+  <tbody>
+  <tr>
+    <td><var>value</var></td>
+    <td>value is added to both left/right and top/bottom</td>
+  </tr>
+  <tr>
+    <td><var>value-x</var>x</td>
+    <td>value-x is added only to left/right and top/bottom are unchanged</td>
+  </tr>
+  <tr>
+    <td>x<var>value-y</var></td>
+    <td>value-y is added only to top/bottom and left/right are unchanged</td>
+  </tr>
+  <tr>
+    <td><var>value-x</var>x<var>value-y</var></td>
+    <td>value-x is added to left/right and value-y added to top/bottom</td>
+  </tr>
+  <tr>
+    <td><var>value-x</var>x<code>0</code></td>
+    <td>value-x is added only to left/right and top/bottom are unchanged</td>
+  </tr>
+  <tr>
+    <td><code>0</code>x<var>value-y</var></td>
+    <td>value-y is added only to top/bottom and left/right are unchanged</td>
+  </tr>
+  <tr>
+    <td> </td>
+    <td> </td>
+  </tr>
+  <tr>
+    <td><var>value</var>%</td>
+    <td>value % of width is added to left/right and value % of height is added                  to top/bottom</td>
+  </tr>
+  <tr>
+    <td><var>value-x</var>x%</td>
+    <td>value-x % of width is added to left/right and to top/bottom</td>
+  </tr>
+  <tr>
+    <td>x<var>value-y</var>%</td>
+    <td>value-y % of height is added to top/bottom and to left/right</td>
+  </tr>
+  <tr>
+    <td><var>value-x</var>%x<var>value-y</var>%</td>
+    <td>value-x % of width is added to left/right and value-y % of height is added to top/bottom</td>
+  </tr>
+  <tr>
+    <td><var>value-x</var>%x<code>0</code>%</td>
+    <td>value-x % of width is added to left/right and top/bottom are unchanged</td>
+  </tr>
+  <tr>
+    <td><code>0</code>%x<var>value-y</var>%</td>
+    <td>value-y % of height is added to top/bottom and left/right are unchanged</td>
+  </tr>
+  </tbody>
+  </table>
+
+
+<p>Set the border color by preceding with the <a href="command-line-options.html#bordercolor">-bordercolor</a> setting.</p>
+
+<p>The <a href="command-line-options.html#border">-border</a> operation is affected by the current <a href="command-line-options.html#compose">-compose</a> setting and assumes that this is using the default
+'<code>Over</code>' composition method.  It generates an image of the appropriate
+size colors by the current <a href="command-line-options.html#bordercolor">-bordercolor</a> before
+overlaying the original image in the center of this net image.  This means that
+with the default compose method of '<code>Over</code>' any transparent parts may
+be replaced by the current <a href="command-line-options.html#bordercolor">-bordercolor</a> setting.</p>
+<p>See also the <a href="command-line-options.html#frame">-frame</a> option, which has more
+functionality.</p>
+
+<div style="margin: auto;">
+  <h4><a id="bordercolor"></a>-bordercolor <var>color</var></h4>
+</div>
+
+<p class="magick-description">Set the border color.</p>
+
+<p>The color is specified using the format described under the <a href="command-line-options.html#fill">-fill</a> option.</p>
+
+<p>The default border color is <code>#DFDFDF</code>, <span style="background-color: #dfdfdf;">this shade of gray</span>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="borderwidth"></a>-borderwidth <var>geometry</var> </h4>
+</div>
+
+<p class="magick-description">Set the border width.</p>
+
+<div style="margin: auto;">
+  <h4><a id="brightness-contrast"></a>-brightness-contrast <var>brightness</var><br>-brightness-contrast <var>brightness</var>{x<var>contrast</var>}{<var>%</var>}}</h4>
+</div>
+
+<p class="magick-description">Adjust the brightness and/or contrast of the image.</p>
+
+<p>Brightness and Contrast values apply changes to the input image. They are
+not absolute settings. A brightness or contrast value of zero means no change.
+The range of values is -100 to +100 on each. Positive values increase the
+brightness or contrast and negative values decrease the brightness or contrast.
+To control only contrast, set the brightness=0. To control only brightness,
+set contrast=0 or just leave it off.</p>
+
+<p>You may also use <a href="command-line-options.html#fill">-channel</a> to control which channels to
+apply the brightness and/or contrast change. The default is to apply the same
+transformation to all channels.</p>
+
+<p>Brightness and Contrast arguments are converted to offset and slope of a
+linear transform and applied
+using <a href="command-line-options.html#fill">-function polynomial "slope,offset"</a>.</p>
+
+<p>The slope varies from 0 at contrast=-100 to almost vertical at
+contrast=+100. For brightness=0 and contrast=-100, the result are totally
+midgray. For brightness=0 and contrast=+100, the result will approach but
+not quite reach a threshold at midgray; that is the linear transformation
+is a very steep vertical line at mid gray.</p>
+
+<p>Negative slopes, i.e. negating the image, are not possible with this
+function. All achievable slopes are zero or positive.</p>
+
+<p>The offset varies from -0.5 at brightness=-100 to 0 at brightness=0 to +0.5
+at brightness=+100. Thus, when contrast=0 and brightness=100, the result is
+totally white. Similarly, when contrast=0 and brightness=-100, the result is
+totally black.</p>
+
+<p>As the range of values for the arguments are -100 to +100, adding the '%'
+symbol is no different than leaving it off.</p>
+
+<div style="margin: auto;">
+  <h4><a id="cache"></a>-cache <var>threshold</var></h4>
+</div>
+
+<p class="magick-description">(This option has been replaced by the <a href="command-line-options.html#limit">-limit</a> option).</p>
+
+<div style="margin: auto;">
+  <h4><a id="canny"></a>-canny <var>radius</var><br>-canny <var>radius</var>x<var>sigma</var>{<var>+lower-percent</var>}{<var>+upper-percent</var>}</h4>
+</div>
+
+<p class="magick-description">Canny edge detector uses a multi-stage algorithm to detect a wide range of edges in the image.</p>
+
+<p>The thresholds range from 0 to 100% (e.g. -canny 0x1+10%+30%) with {<var>+lower-percent</var>} &lt; {<var>+upper-percent</var>}. If {<var>+upper-percent</var>} is increased but {<var>+lower-percent</var>} remains the same, lesser edge components will be detected, but their lengths will be the same. If {<var>+lower-percent</var>} is increased but {<var>+upper-percent</var>} is the same, the same number of edge components will be detected but their lengths will be shorter. The default thresholds are shown. The <var>radius</var>x<var>sigma</var> controls a gaussian blur applied to the input image to reduce noise and smooth the edges.</p>
+
+<div style="margin: auto;">
+  <h4><a id="caption"></a>-caption <var>string</var></h4>
+</div>
+
+<p class="magick-description">Assign a caption to an image.</p>
+
+<p>This option sets the caption meta-data of an image read in after this
+option has been given.  To modify a caption of images already in memory use
+"<code><a href="command-line-options.html#set">-set</a> caption</code>". </p>
+
+<p>The caption can contain special format characters listed in the <a href="escape.html">Format and
+Print Image Properties</a>. These attributes are expanded when the caption
+is finally assigned to the individual images. </p>
+
+<p>If the first character of <var>string</var> is <var>@</var>, the image caption is read from a file titled by the
+remaining characters in the string.  Comments read in from a file are literal;
+no embedded formatting characters are recognized.</p>
+
+<p>Caption meta-data is not visible on the image itself. To do that use the
+<a href="command-line-options.html#annotate">-annotate</a> or <a href="command-line-options.html#draw">-draw</a> options
+instead.</p>
+
+<p>For example,</p>
+
+<p class="crtsnip">
+     -caption "%m:%f %wx%h"  bird.miff
+</p>
+
+<p>produces an image caption of <code>MIFF:bird.miff 512x480</code> (assuming
+that the image <code>bird.miff</code> has a width of 512 and a height of
+480.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="cdl"></a>-cdl <var>filename</var></h4>
+</div>
+
+<p class="magick-description">color correct with a color decision list.</p>
+
+<p>Here is an example color correction collection:</p>
+
+<pre>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;ColorCorrectionCollection xmlns="urn:ASC:CDL:v1.2"&gt;
+  &lt;ColorCorrection id="cc06668"&gt;
+    &lt;SOPNode&gt;
+      &lt;Slope&gt; 0.9 1.2 0.5 &lt;/Slope&gt;
+      &lt;Offset&gt; 0.4 -0.5 0.6 &lt;/Offset&gt;
+      &lt;Power&gt; 1.0 0.8 1.5 &lt;/Power&gt;
+    &lt;/SOPNode&gt;
+    &lt;SATNode&gt;
+      &lt;Saturation&gt; 0.85 &lt;/Saturation&gt;
+    &lt;/SATNode&gt;
+  &lt;/ColorCorrection&gt;
+&lt;/ColorCorrectionCollection&gt;
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="channel"></a>-channel <var>type</var></h4>
+</div>
+
+<p class="magick-description">Specify those image color channels to which subsequent operators are limited.</p>
+
+<p>Choose from: <code>Red</code>, <code>Green</code>, <code>Blue</code>,
+<code>Alpha</code>, <code>Gray</code>, <code>Cyan</code>, <code>Magenta</code>,
+<code>Yellow</code>, <code>Black</code>, <code>Opacity</code>,
+<code>Index</code>, <code>RGB</code>, <code>RGBA</code>, <code>CMYK</code>, or
+<code>CMYKA</code>.</p>
+
+<p>The channels above can also be specified as a comma-separated list or can be
+abbreviated as a concatenation of the letters '<code>R</code>', '<code>G</code>',
+'<code>B</code>', '<code>A</code>', '<code>O</code>', '<code>C</code>',
+'<code>M</code>', '<code>Y</code>', '<code>K</code>'.
+
+For example, to only select the <code>Red</code> and <code>Blue</code> channels
+you can either use </p>
+<p class="crtsnip">
+    -channel Red,Blue
+</p>
+<p>or you can use the short hand form</p>
+<p class="crtsnip">
+    -channel RB
+</p>
+
+<p>All the channels that are present in an image can be specified using the
+special channel type <code>All</code>. Not all operators are 'channel capable',
+but generally any operators that are generally 'grey-scale' image operators,
+will understand this setting.  See individual operator documentation. </p>
+
+<br>
+
+<p>On top of the normal channel selection an extra flag can be specified,
+'<code>Sync</code>'.  This is turned on by default and if set means that
+operators that understand this flag should perform: cross-channel
+synchronization of the channels. If not specified, then most grey-scale
+operators will apply their image processing operations to each individual
+channel (as specified by the rest of the <a href="command-line-options.html#channel">-channel</a>
+setting) completely independently from each other. </p>
+
+<p>For example for operators such as <a href="command-line-options.html#auto-level">-auto-level</a> and
+<a href="command-line-options.html#auto-gamma">-auto-gamma</a> the color channels are modified
+together in exactly the same way so that colors will remain in-sync. Without
+it being set, then each channel is modified separately and
+independently, which may produce color distortion. </p>
+
+<p>The <a href="command-line-options.html#morphology">-morphology</a> '<code>Convolve</code>' method
+and the <a href="command-line-options.html#compose">-compose</a> mathematical methods, also understands
+the '<code>Sync</code>' flag to modify the behaviour of pixel colors according
+to the alpha channel (if present). That is to say it will modify the image
+processing with the understanding that fully-transparent colors should not
+contribute to the final result. </p>
+
+<p>Basically, by default, operators work with color channels in synchronous, and
+treats transparency as special, unless the <a href="command-line-options.html#channel">-channel</a>
+setting is modified so as to remove the effect of the '<code>Sync</code>' flag.
+How each operator does this depends on that operators current implementation.
+Not all operators understands this flag at this time, but that is changing.
+</p>
+
+<p>To print a complete list of channel types, use <a href="command-line-options.html#list">-list
+channel</a>.</p>
+
+<br>
+
+<p>By default, ImageMagick sets <a href="command-line-options.html#channel">-channel</a> to the value
+'<code>RGBK,sync</code>', which specifies that operators act on all color
+channels except the transparency channel, and that all the color channels are
+to be modified in exactly the same way, with an understanding of transparency
+(depending on the operation being applied).  The 'plus' form <a href="command-line-options.html#channel">+channel</a> will reset the value back to this default. </p>
+
+<p>Options that are affected by the <a href="command-line-options.html#channel">-channel</a> setting
+include the following.
+
+<a href="command-line-options.html#auto-gamma">-auto-gamma</a>,
+<a href="command-line-options.html#auto-level">-auto-level</a>,
+<a href="command-line-options.html#black-threshold">-black-threshold</a>,
+<a href="command-line-options.html#blur">-blur</a>,
+<a href="command-line-options.html#clamp">-clamp</a>,
+<a href="command-line-options.html#clut">-clut</a>,
+<a href="command-line-options.html#combine">-combine</a>,
+<a href="command-line-options.html#composite">-composite</a> (Mathematical compose methods only),
+<a href="command-line-options.html#convolve">-convolve</a>,
+<a href="command-line-options.html#contrast-stretch">-contrast-stretch</a>,
+<a href="command-line-options.html#evaluate">-evaluate</a>,
+<a href="command-line-options.html#function">-function</a>,
+<a href="command-line-options.html#fx">-fx</a>,
+<a href="command-line-options.html#gaussian-blur">-gaussian-blur</a>,
+<a href="command-line-options.html#hald-clut">-hald-clut</a>,
+<a href="command-line-options.html#motion-blur">-motion-blur</a>,
+<a href="command-line-options.html#morphology">-morphology</a>,
+<a href="command-line-options.html#negate">-negate</a>,
+<a href="command-line-options.html#normalize">-normalize</a>,
+<a href="command-line-options.html#ordered-dither">-ordered-dither</a>,
+<a href="command-line-options.html#radial-blur">-radial-blur</a>,
+<a href="command-line-options.html#random-threshold">-random-threshold</a>,
+<a href="command-line-options.html#separate">-separate</a>,
+<a href="command-line-options.html#threshold">-threshold</a>, and
+<a href="command-line-options.html#white-threshold">-white-threshold</a>.
+</p>
+
+<p>Warning, some operators behave differently when the <a href="command-line-options.html#channel">+channel</a> default setting is in effect, verses ANY user defined <a href="command-line-options.html#channel">-channel</a> setting (including the equivalent of the
+default). These operators have yet to be made to understand the newer 'Sync'
+flag. </p>
+
+<p>For example <a href="command-line-options.html#threshold">-threshold</a> will by default gray-scale
+the image before thresholding, if no <a href="command-line-options.html#channel">-channel</a> setting
+has been defined. This is not 'Sync flag controlled, yet. </p>
+
+<p>Also some operators such as <a href="command-line-options.html#blur">-blur</a>, <a href="command-line-options.html#gaussian-blur">-gaussian-blur</a>, will modify their handling of the
+color channels if the '<code>alpha</code>' channel is also enabled by <a href="command-line-options.html#channel">-channel</a>.  Generally this done to ensure that
+fully-transparent colors are treated as being fully-transparent, and thus any
+underlying 'hidden' color has no effect on the final results.  Typically
+resulting in 'halo' effects. The newer <a href="command-line-options.html#morphology">-morphology</a>
+convolution equivalents however does have a understanding of the 'Sync' flag
+and will thus handle transparency correctly by default. </p>
+
+<p>As a alpha channel is optional within images, some operators will read the
+color channels of an image as a greyscale alpha mask, when the image has no
+alpha channel present, and the <a href="command-line-options.html#channel">-channel</a> setting tells
+the operator to apply the operation using alpha channels. The <a href="command-line-options.html#clut">-clut</a> operator is a good example of this. </p>
+
+
+
+<div style="margin: auto;">
+  <h4><a id="charcoal"></a>-charcoal <var>factor</var></h4>
+</div>
+
+<p class="magick-description">Simulate a charcoal drawing.</p>
+
+<div style="margin: auto;">
+  <h4><a id="chop"></a>-chop <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Remove pixels from the interior of an image.</p>
+
+<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <var>width</var>
+and <var>height</var> given in the of the <var>size</var>
+portion of the <var>geometry</var> argument give the number of
+columns and rows to remove. The <var>offset</var> portion of
+the <var>geometry</var> argument is influenced by
+a <a href="command-line-options.html#gravity">-gravity</a> setting, if present.</p>
+
+<p>The <a href="command-line-options.html#chop">-chop</a> option removes entire rows and columns,
+and moves the remaining corner blocks leftward and upward to close the gaps.</p>
+
+<p>While it can remove internal rows and columns of pixels, it is more
+typically used with as <a href="command-line-options.html#gravity">-gravity</a> setting and zero
+offsets so as to remove a single edge from an image.  Compare this to <a href="command-line-options.html#shave">-shave</a> which removes equal numbers of pixels from oppisite
+sides of the image.  </p>
+
+<p>Using <a href="command-line-options.html#chop">-chop</a> effectively undoes the results of a <a href="command-line-options.html#splice">-splice</a> that was given the same <var>geometry</var> and <a href="command-line-options.html#gravity">-gravity</a> settings. </p>
+
+<div style="margin: auto;">
+  <h4><a id="clamp"></a>-clamp</h4>
+</div>
+
+<p class="magick-description">set each pixel whose value is below zero to zero and any the pixel whose value is above the quantum range to the quantum range (e.g. 65535) otherwise the pixel value remains unchanged.</p>
+
+<div style="margin: auto;">
+  <h4><a id="clip"></a>-clip</h4>
+</div>
+
+<p class="magick-description">Apply the clipping path if one is present.</p>
+
+<p>If a clipping path is present, it is applied to subsequent operations.</p>
+
+<p>For example, in the command</p>
+
+<pre>
+convert cockatoo.tif -clip -negate negated.tif
+</pre>
+
+<p>only the pixels within the clipping path are negated.</p>
+
+<p>The <a href="command-line-options.html#clip">-clip</a> feature requires SVG support. If the SVG
+delegate library is not present, the option is ignored.</p>
+
+<p>Use <a href="command-line-options.html#clip">+clip</a> to disable clipping for subsequent operations.</p>
+
+<div style="margin: auto;">
+  <h4><a id="clip-mask"></a>-clip-mask</h4>
+</div>
+
+<p class="magick-description">Clip the image as defined by this mask.</p>
+
+<p>Use the alpha channel of the current image as a mask.  Any areas that is
+white is not modified by any of the 'image processing operators' that follow,
+until the mask is removed. Pixels in the black areas of the clip mask are
+modified per the requirements of the operator. </p>
+
+<p>In some ways this is similar to (though not the same) as defining
+a rectangular <a href="command-line-options.html#region">-region</a>, or using the negative of the
+mask (third) image in a three image <a href="command-line-options.html#composite">-composite</a>,
+operation. </p>
+
+<p>Use <a href="command-line-options.html#clip-mask">+clip-mask</a> to disable clipping for subsequent operations.</p>
+
+<div style="margin: auto;">
+  <h4><a id="clip-path"></a>-clip-path <var>id</var></h4>
+</div>
+
+<p class="magick-description">Clip along a named path from the 8BIM profile.</p>
+
+<p>This is identical to <a href="command-line-options.html#clip">-clip</a> except choose a specific clip path in the event the image has more than one path available. </p>
+
+<p>Use <a href="command-line-options.html#clip-path">+clip-path</a> to disable clipping for subsequent operations.</p>
+
+<div style="margin: auto;">
+  <h4><a id="clone"></a>-clone <var>index(s)</var></h4>
+</div>
+
+<p class="magick-description">make a clone of an image (or images).</p>
+
+<p>Inside parenthesis (where the operator is normally used) it will make a
+clone of the images from the last 'pushed' image sequence, and adds them to
+the end of the current image sequence. Outside parenthesis
+(not recommended) it clones the images from the current image sequence. </p>
+
+<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, <code>−1</code>
+represents the last image of the sequence.  Specify a range of images with a
+dash (e.g. <code>0−4</code>).  Separate multiple indexes with commas but no
+spaces (e.g. <code>0,2,5</code>).  A value of '<code>0−−1</code> will
+effectively clone all the images. </p>
+
+<p>The <a href="command-line-options.html#clone">+clone</a> will simply make a copy of the last image
+in the image sequence, and is thus equivalent to using a argument of
+'<code>−1</code>'. </p>
+
+<div style="margin: auto;">
+  <h4><a id="clut"></a>-clut</h4>
+</div>
+
+<p class="magick-description">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.</p>
+
+<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="command-line-options.html#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 '<code>bilinear</code>' and
+'<code>bicubic</code>' interpolation settings, which give smooth color
+gradients, and the '<code>integer</code>' 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="command-line-options.html#channel">-channel</a>
+setting will have their values replaced. In particular, since the default <a href="command-line-options.html#channel">-channel</a> setting is <code>RGB</code>, this means that
+transparency (alpha/matte channel) is not affected, unless the <a href="command-line-options.html#channel">-channel</a> setting is modified. When the alpha channel is
+set, it is treated by the <a href="command-line-options.html#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, contains no
+transparency (i.e. <a href="command-line-options.html#alpha">-alpha</a> is turned 'off') but the <a href="command-line-options.html#channel">-channel</a> setting includes alpha replacement, then it is
+assumed that image represents a gray-scale gradient which is 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="command-line-options.html#hald-clut">-hald-clut</a> which replaces colors
+according to the lookup of the full color RGB value from a 2D representation
+of a 3D color cube. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="coalesce"></a>-coalesce</h4>
+</div>
+
+<p class="magick-description">Fully define the look of each frame of an GIF animation sequence, to form a 'film strip' animation.</p>
+
+<p>Overlay each image in an image sequence according to
+its <a href="command-line-options.html#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 easily viewed and processed than the highly optimized GIF overlay
+images.  </p>
+
+<p>The animation can be re-optimized after processing using
+the <a href="command-line-options.html#layers">-layers</a> method '<code>optimize</code>', although
+there is no guarantee that the restored GIF animation optimization is
+better than the original. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="colorize"></a>-colorize <var>value</var></h4>
+</div>
+
+<p class="magick-description">Colorize the image by an amount specified by <var>value</var> using the color specified by the most recent <a href="command-line-options.html#fill">-fill</a> setting.</p>
+
+<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., <code>-colorize 0,0,50</code>).</p>
+
+<div style="margin: auto;">
+  <h4><a id="colormap"></a>-colormap <var>type</var></h4>
+</div>
+
+<p class="magick-description">Define the colormap type.</p>
+
+<p>The <var>type</var> can be  <code>shared</code> or <code>private</code>.</p>
+
+<p>This option only applies when the default X server visual
+is <code>PseudoColor</code> or <code>GrayScale</code>. Refer
+to <a href="command-line-options.html#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 <code>private</code> is chosen, the image colors appear exactly
+as they are defined. However, other clients may go <var>technicolor</var>
+when the image colormap is installed.</p>
+
+<div style="margin: auto;">
+  <h4><a id="colors"></a>-colors <var>value</var></h4>
+</div>
+
+<p class="magick-description">Set the preferred number of colors in the image.</p>
+
+<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 <var>value</var> 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="quantize.html">
+color reduction algorithm</a> for more details.</p>
+
+<div style="margin: auto;">
+  <h4><a id="color-matrix"></a>-color-matrix <var>matrix</var></h4>
+</div>
+
+<p class="magick-description">apply color correction to the image.</p>
+
+<p>This option permits saturation changes, hue rotation, luminance to alpha,
+and various other effects.  Although variable-sized transformation matrices
+can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6
+for CMYKA (or RGBA with offsets).  The matrix is similar to those used by
+Adobe Flash except offsets are in column 6 rather than 5 (in support of
+CMYKA images) and offsets are normalized (divide Flash offset by 255).</p>
+
+<p>As an example, to add contrast to an image with offsets, try this command:</p>
+
+<pre>
+   convert kittens.jpg -color-matrix \
+     " 1.5 0.0 0.0 0.0, 0.0, -0.157 \
+       0.0 1.5 0.0 0.0, 0.0, -0.157 \
+       0.0 0.0 1.5 0.0, 0.0, -0.157 \
+       0.0 0.0 0.0 1.0, 0.0,  0.0 \
+       0.0 0.0 0.0 0.0, 1.0,  0.0 \
+       0.0 0.0 0.0 0.0, 0.0,  1.0" kittens.png
+</pre>
+<div style="margin: auto;">
+  <h4><a id="colorspace"></a>-colorspace <var>value</var></h4>
+</div>
+
+<p class="magick-description">Set the image colorspace.</p>
+
+<p>Choices are:</p>
+
+<pre>
+   CMY          CMYK         Gray         HCL
+   HCLp         HSB          HSI          HSL
+   HSV          HWB          Lab          LCHab
+   LCHuv        LMS          Log          Luv
+   OHTA         Rec601YCbCr  Rec709YCbCr  RGB
+   scRGB        sRGB         Transparent  xyY
+   XYZ          YCbCr        YCC          YDbDr
+   YIQ          YPbPr        YUV
+</pre>
+
+<p>To print a complete list of colorspaces, use <a href="command-line-options.html#list">-list colorspace</a>.</p>
+
+<p>For a more accurate color conversion to or from the linear RGB, CMYK, or grayscale colorspaces, use the <a href="command-line-options.html#profile">-profile</a> option.  Note, ImageMagick assumes the sRGB colorspace if the image format does not indicate otherwise.  For colorspace conversion, the gamma function is first removed to produce linear RGB.</p>
+
+<table class="table table-condensed table-striped">
+        <caption>Conversion of RGB to Other Color Spaces</caption>
+        <tr><th valign="middle">CMY</th></tr>
+        <tr><td valign="middle">C=<var>QuantumRange</var>−R</td></tr>
+        <tr><td valign="middle">M=<var>QuantumRange</var>−G</td></tr>
+        <tr><td valign="middle">Y=<var>QuantumRange</var>−B</td></tr>
+        <tr><th valign="middle">CMYK — starts with CMY from above</th></tr>
+        <tr><td valign="middle">K=min(C,Y,M)</td></tr>
+        <tr><td valign="middle">C=<var>QuantumRange</var>*(C−K)/(<var>QuantumRange</var>−K)</td></tr>
+        <tr><td valign="middle">M=<var>QuantumRange</var>*(M−K)/(<var>QuantumRange</var>−K)</td></tr>
+        <tr><td valign="middle">Y=<var>QuantumRange</var>*(Y−K)/(<var>QuantumRange</var>−K)</td></tr>
+
+        <tr><th valign="middle">Gray</th></tr>
+        <tr><td valign="middle">Gray = 0.298839*R+0.586811*G+0.114350*B</td></tr>
+
+        <tr><th valign="middle">HSB — Hue, Saturation, Brightness; like a cone peak downward</th></tr>
+        <tr><td valign="middle">H=angle around perimeter (0 to 360 deg); H=0 is red; increasing angles toward green</td></tr>
+        <tr><td valign="middle">S=distance from axis outward</td></tr>
+        <tr><td valign="middle">B=distance along axis from bottom upward; B=max(R,G,B); <var>intensity-like</var></td></tr>
+
+        <tr><th valign="middle">HSL — Hue, Saturation, Lightness; like a double cone end-to-end with peaks at very top and bottom</th></tr>
+        <tr><td valign="middle">H=angle around perimeter (0 to 360 deg); H=0 is red; increasing angles toward green</td></tr>
+        <tr><td valign="middle">S=distance from axis outward</td></tr>
+        <tr><td valign="middle">L=distance along axis from bottom upward; L=0.5*max(R,G,B) + 0.5*min(R,G,B); <var>intensity-like</var></td></tr>
+
+        <tr><th valign="middle">HWB — Hue, Whiteness, Blackness</th></tr>
+        <tr><td valign="middle">Hue (complicated equation)</td></tr>
+        <tr><td valign="middle">Whiteness (complicated equation)</td></tr>
+        <tr><td valign="middle">Blackness (complicated equation)</td></tr>
+
+        <tr><th valign="middle">LAB</th></tr>
+        <tr><td valign="middle">L (complicated equation relating X,Y,Z)</td></tr>
+        <tr><td valign="middle">A (complicated equation relating X,Y,Z)</td></tr>
+        <tr><td valign="middle">B (complicated equation relating X,Y,Z)</td></tr>
+
+        <tr><th valign="middle">LOG</th></tr>
+        <tr><td valign="middle">I1 (complicated equation involving logarithm of R)</td></tr>
+        <tr><td valign="middle">I2 (complicated equation involving logarithm of G)</td></tr>
+        <tr><td valign="middle">I3 (complicated equation involving logarithm of B)</td></tr>
+
+        <tr><th valign="middle">OHTA — approximates principal components transformation</th></tr>
+        <tr><td valign="middle">I1=0.33333*R+0.33334*G+0.33333*B; <var>intensity-like</var></td></tr>
+        <tr><td valign="middle">I2=(0.50000*R+0.00000*G−0.50000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+        <tr><td valign="middle">I3=(−0.25000*R+0.50000*G−0.25000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+
+        <tr><th valign="middle">Rec601Luma</th></tr>
+        <tr><td valign="middle">Gray = 0.298839*R+0.586811*G+0.114350*B</td></tr>
+
+        <tr><th valign="middle">Rec601YCbCr</th></tr>
+        <tr><td valign="middle">Y=0.2988390*R+0.5868110*G+0.1143500*B; <var>intensity-like</var></td></tr>
+        <tr><td valign="middle">Cb=(−0.168736*R-0.331264*G+0.500000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+        <tr><td valign="middle">Cr=(0.500000*R−0.418688*G−0.081312*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+
+        <tr><th valign="middle">Rec709Luma</th></tr>
+        <tr><td valign="middle">Gray=0.212656*R+0.715158*G+0.072186*B</td></tr>
+
+        <tr><th valign="middle">Rec709YCbCr</th></tr>
+        <tr><td valign="middle">Y=0.212656*R+0.715158*G+0.072186*B; <var>intensity-like</var></td></tr>
+        <tr><td valign="middle">Cb=(−0.114572*R−0.385428*G+0.500000*B)+(<var>QuantumRange</var>+1)/2</td></tr>
+        <tr><td valign="middle">Cr=(0.500000*R−0.454153*G−0.045847*B)+(<var>QuantumRange</var>+1)/2</td></tr>
+
+        <tr><th valign="middle">sRGB</th></tr>
+        <tr><td valign="middle">if R ≤ .0.0031308 then Rs=R/12.92 else Rs=1.055 R ^ (1.0 / 2.4) ? 0.055</td></tr>
+        <tr><td valign="middle">if G ≤ .0.0031308 then Gs=B/12.92 else Gs=1.055 R ^ (1.0 / 2.4) ? 0.055</td></tr>
+        <tr><td valign="middle">if B ≤ .0.0031308 then Bs=B/12.92 else Bs=1.055 R ^ (1.0 / 2.4) ? 0.055</td></tr>
+
+        <tr><th valign="middle">XYZ</th></tr>
+        <tr><td valign="middle">X=0.4124564*R+0.3575761*G+0.1804375*B</td></tr>
+        <tr><td valign="middle">Y=0.2126729*R+0.7151522*G+0.0721750*B</td></tr>
+        <tr><td valign="middle">Z=0.0193339*R+0.1191920*G+0.9503041*B</td></tr>
+
+        <tr><th valign="middle">YCC</th></tr>
+        <tr><td valign="middle">Y=(0.298839*R+0.586811*G+0.114350*B) (with complicated scaling); <var>intensity-like</var></td></tr>
+        <tr><td valign="middle">C1=(−0.298839*R−0.586811*G+0.88600*B) (with complicated scaling)</td></tr>
+        <tr><td valign="middle">C2=(0.70100*R−0.586811*G−0.114350*B) (with complicated scaling)</td></tr>
+
+        <tr><th valign="middle">YCbCr</th></tr>
+        <tr><td valign="middle">Y=0.2988390*R+0.5868110*G+0.1143500*B; <var>intensity-like</var></td></tr>
+        <tr><td valign="middle">Cb=(−0.168736*R−0.331264*G+0.500000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+        <tr><td valign="middle">Cr=(0.500000*R−0.418688*G−0.081312*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+
+        <tr><th valign="middle">YIQ</th></tr>
+        <tr><td valign="middle">Y=0.298839*R+0.586811*G+0.114350*B; <var>intensity-like</var></td></tr>
+        <tr><td valign="middle">I=(0.59600*R−0.27400*G−0.32200*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+        <tr><td valign="middle">Q=(0.21100*R−0.52300*G+0.31200*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+
+        <tr><th valign="middle">YPbPr</th></tr>
+        <tr><td valign="middle">Y=0.2988390*R+0.5868110*G+0.1143500*B; <var>intensity-like</var></td></tr>
+        <tr><td valign="middle">Pb=(−0.168736*R−0.331264*G+0.500000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+        <tr><td valign="middle">Pr=(0.500000*R−0.418688*G−0.081312*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+
+        <tr><th valign="middle">YUV</th></tr>
+        <tr><td valign="middle">Y=0.298839*R+0.586811*G+0.114350*B; <var>intensity-like</var></td></tr>
+        <tr><td valign="middle">U=(−0.14740*R−0.28950*G+0.43690*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+        <tr><td valign="middle">V=(0.61500*R−0.51500*G−0.10000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
+</table>
+
+<p>Note the scRGB colorspace requires HDRI support otherwise it behaves just like linear RGB.</p>
+
+<div style="margin: auto;">
+  <h4><a id="combine"></a>-combine</h4>
+</div>
+
+<p class="magick-description">Combine one or more images into a single image.</p>
+
+<p>The channels (previously set by <a href="command-line-options.html#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 <code>RGB</code>, this
+means the first image  is assigned to the <code>Red</code> channel, the second
+to the <code>Green</code> channel, the third to the <code>Blue</code>.</p>
+
+<p>This option can be thought of as the inverse to <a href="command-line-options.html#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>
+
+<pre>
+convert original.png -channel RGB -separate sepimage.png
+convert sepimage-0.png sepimage-1.png sepimage-2.png -channel RGB \
+  -combine imagecopy.png
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="comment"></a>-comment <var>string</var></h4>
+</div>
+
+<p class="magick-description">Embed a comment in an image.</p>
+
+<p>This option sets the comment meta-data of an image read in after this
+option has been given.  To modify a comment of images already in memory use
+"<code><a href="command-line-options.html#set">-set</a> comment</code>". </p>
+
+<p>The comment can contain special format characters listed in the <a href="escape.html">Format and
+Print Image Properties</a>. These attributes are expanded when the comment
+is finally assigned to the individual images. </p>
+
+<p>If the first character of <var>string</var> is <var>@</var>, the image comment is read from a file titled by the
+remaining characters in the string.  Comments read in from a file are literal;
+no embedded formatting characters are recognized.</p>
+
+<p>Comment meta-data are not visible on the image itself. To do that use the
+<a href="command-line-options.html#annotate">-annotate</a> or <a href="command-line-options.html#draw">-draw</a> options
+instead.</p>
+
+<p>For example,</p>
+
+<p class="crtsnip">
+     -comment "%m:%f %wx%h"  bird.miff
+</p>
+
+<p>produces an image comment of <code>MIFF:bird.miff 512x480</code> (assuming
+that the image <code>bird.miff</code> has a width of 512 and a height of
+480.</p>
+
+<div style="margin: auto;">
+  <h4><a id="compare"></a>-compare</h4>
+</div>
+
+<p class="magick-description">mathematically and visually annotate the difference between an image and its reconstruction</p>
+
+<p>This is a convert version of "<code>compare</code>" for two same sized images. The syntax is as follows, but other metrics are allowed.</p>
+
+<pre>
+convert image.png reference.png -metric RMSE -compare \ <br> difference.png
+</pre>
+
+<p>To get the metric value use the string format "%[distortion]".</p>
+
+<pre>
+convert image.png reference.png -metric RMSE -compare -format \
+   "%[distortion]" info:
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="complex"></a>-complex <var>operator</var></h4>
+</div>
+
+<p class="magick-description">perform complex mathematics on an image sequence</p>
+
+Choose from these operators:
+
+<pre>
+  add
+  conjugate
+  divide
+  magnuitude-phase
+  multiply
+  real-imaginary
+  subtract
+</pre>
+
+<p>Optionally specify the <code>divide</code> operator SNR with <code><a href="command-line-options.html#define">-define</a> complex:snr=float</code>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="compose"></a>-compose <var>operator</var></h4>
+</div>
+
+<p class="magick-description">Set the type of image composition.</p>
+
+<p>See <a href="compose.html">Alpha Compositing</a> for
+a detailed discussion of alpha compositing.</p>
+
+<p>This setting effects image processing operators that merge two (or more)
+images together in some way.  This includes the operators,
+<a href="command-line-options.html#composite">-compare</a>,
+<a href="command-line-options.html#composite">-composite</a>,
+<a href="command-line-options.html#layers">-layers</a> composite,
+<a href="command-line-options.html#flatten">-flatten</a>,
+<a href="command-line-options.html#mosaic">-mosaic</a>,
+<a href="command-line-options.html#layers">-layers</a> merge,
+<a href="command-line-options.html#border">-border</a>,
+<a href="command-line-options.html#frame">-frame</a>,
+and <a href="command-line-options.html#extent">-extent</a>. </p>
+
+<p>It is also one of the primary options for the "<code>composite</code>"
+command.  </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="composite"></a>-composite</h4>
+</div>
+
+<p class="magick-description">Perform alpha composition on two images and an optional mask</p>
+
+<p>Take the first image 'destination' and overlay the second 'source' image
+according to the current <a href="command-line-options.html#compose">-compose</a> setting. The location
+of the 'source' or 'overlay' image is controlled according to <a href="command-line-options.html#geometry">-geometry</a>, and <a href="command-line-options.html#geometry">-geometry</a>
+settings. </p>
+
+<p>If a third image is given this is treated as a gray-scale blending 'mask' image
+relative to the first 'destination' image. This mask is blended with the
+source image.  However for the '<code>displace</code>' compose method, the
+mask is used to provide a separate Y-displacement image instead. </p>
+
+<p>If a <a href="command-line-options.html#compose">-compose</a> method requires extra numerical
+arguments or flags these can be provided by setting the  <a href="command-line-options.html#set">-set</a> '<code>option:compose:args</code>'
+appropriately for the compose method. </p>
+
+<p>Some <a href="command-line-options.html#compose">-compose</a> methods can modify the 'destination'
+image outside the overlay area. You can disable this by setting the special <a href="command-line-options.html#set">-set</a> '<code>option:compose:outside-overlay</code>'
+to '<code>false</code>'.  </p>
+
+<p>The SVG compositing specification requires that color and opacity values range between zero and QuantumRange inclusive.  You can permit values outside this range with this option: <a href="command-line-options.html#set">-set</a> '<code>option:compose:clamp=false</code></p>
+
+
+<div style="margin: auto;">
+  <h4><a id="compress"></a>-compress <var>type</var></h4>
+</div>
+
+<p class="magick-description">Use pixel compression specified by <var>type</var> when writing the image.</p>
+
+<p>Choices are: <code>None</code>, <code>BZip</code>, <code>Fax</code>, <code>Group4</code>, <code>JPEG</code>,  <code>JPEG2000</code>, <code>Lossless</code>, <code>LZW</code>, <code>RLE</code> or <code>Zip</code>.</p>
+
+<p>To print a complete list of compression types, use <a href="command-line-options.html#list">-list
+compress</a>.</p>
+
+<p>Specify <a href="command-line-options.html#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 <code>LZW</code> 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><code>Lossless</code> 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>
+When writing an ICO file, you may request that the images be encoded in
+PNG format, by specifying <code>Zip</code> compression.</p>
+
+<p>
+When writing a JNG file, specify <code>Zip</code> compression to request that
+the alpha channel be encoded in PNG "IDAT" format, or <code>JPEG</code>
+to request that it be encoded in JPG "JDAA" format.</p>
+
+<p>Use the <a href="command-line-options.html#quality">-quality</a> option to set the compression level
+to be used by JPEG, PNG, MIFF, and MPEG encoders.
+Use the <a href="command-line-options.html#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 id="connected-components"></a>-connected-components <var>connectivity</var></h4>
+</div>
+
+<p class="magick-description">connected-components uniquely labeled, choose from 4 or 8 way connectivity.</p>
+
+<p>Use <code><a href="command-line-options.html#define">-define</a> connected-components:verbose=true</code> to output statistics associated with each unique label.</p>
+
+<div style="margin: auto;">
+  <h4><a id="contrast"></a>-contrast</h4>
+</div>
+
+<p class="magick-description">Enhance or reduce the image contrast.</p>
+
+<p>This option enhances the intensity differences between the lighter and
+darker elements of the image. Use <a href="command-line-options.html#contrast">-contrast</a> to enhance
+the image or <a href="command-line-options.html#contrast">+contrast</a> to reduce the image
+contrast.</p>
+
+<p>For a more pronounced effect you can repeat the option:</p>
+
+<pre>
+convert rose: -contrast -contrast rose_c2.png
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="contrast-stretch"></a>-contrast-stretch <var>black-point</var><br>-contrast-stretch <var>black-point</var>{x<var>white-point</var>}{<var>%</var>}}</h4>
+</div>
+
+<p class="magick-description">Increase the contrast in an image by <var>stretching</var> the range of intensity values.</p>
+
+<p>While performing the stretch, black-out at most <var>black-point</var> pixels and white-out at most <var>white-point</var> pixels. Or, if percent is used, black-out at most
+<var>black-point %</var> pixels and white-out at most <var>white-point %</var> pixels.</p>
+
+<p>Prior to ImageMagick 6.4.7-0, <a href="command-line-options.html#contrast-stretch">-contrast-stretch</a> will black-out at most <var>black-point</var> pixels and white-out at most <var>total pixels
+minus white-point</var> pixels. Or, if percent is used, black-out at most <var>black-point %</var> pixels and white-out at most <var>100% minus white-point %</var> pixels.</p>
+
+<p>Note that <code>-contrast-stretch 0</code> will modify the image such that
+the image's min and max values are stretched to 0 and <var>QuantumRange</var>, respectively, without any loss of data due to burn-out or
+clipping at either end. This is not the same as <a href="command-line-options.html#normalize">-normalize</a>, which is equivalent to <code>-contrast-stretch 0.15x0.05%</code> (or
+prior to ImageMagick 6.4.7-0, <code>-contrast-stretch 2%x99%</code>).</p>
+
+<p>Internally operator works by creating a histogram bin, and then uses that
+bin to modify the image. As such some colors may be merged together when they
+originally fell into the same 'bin'. </p>
+
+<p>All the channels are normalized in concert by the came amount so as to
+preserve color integrity, when the default <a href="command-line-options.html#channel">+channel</a>
+setting is in use.  Specifying any other <a href="command-line-options.html#channel">-channel</a>
+setting will normalize the RGB channels independently.</p>
+
+<p>See also  <a href="command-line-options.html#auto-level">-auto-level</a> for a 'perfect'
+normalization of mathematical images. </p>
+
+<p>This operator is under review for re-development. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="convolve"></a>-convolve <var>kernel</var></h4>
+</div>
+
+<p class="magick-description">Convolve an image with a user-supplied convolution kernel.</p>
+
+<p>The <var>kernel</var> is a 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 <var>kernel</var> 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="command-line-options.html#convolve">‑convolve</a> operator supports the <a href="command-line-options.html#bias">‑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="command-line-options.html#bias">‑bias</a> is not needed, as ImageMagick is able to store/handle any
+negative results without clipping to the color value range (0..QuantumRange).
+See the discussion on HDRI implementations of ImageMagick on the page <a href="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 id="crop"></a>-crop <var>geometry</var>{<var>@</var>}{<var>!</var>}</h4>
+</div>
+
+<p class="magick-description">Cut out one or more rectangular regions of the image.</p>
+
+<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<p>The <var>width</var> and <var>height</var> of the <var>geometry</var> argument give the size of the image that remains
+after cropping, and <var>x</var> and <var>y</var> in the
+<var>offset</var> (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="command-line-options.html#shave">-shave</a> instead.</p>
+
+<p>If the <var>x</var> and <var>y</var> 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="command-line-options.html#gravity">-gravity</a> option is
+present with <code>NorthEast</code>, <code>East</code>, or <code>SouthEast</code>
+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="command-line-options.html#gravity">-gravity</a> option is present with <code>SouthWest</code>,
+<code>South</code>, or <code>SouthEast</code> gravity, the distance is measured
+upward between the bottom edges.</p>
+
+<p>If the <var>x</var> and <var>y</var> 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>You can add the <var>@</var> to the geometry argument to equally divide the image into the number of tiles generated.</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>
+
+<p>It might be necessary to <a href="command-line-options.html#repage">+repage</a> the image prior to
+cropping the image to ensure the crop coordinate frame is relocated to the
+upper-left corner of the visible image.
+
+Similarly you may want to use <a href="command-line-options.html#repage">+repage</a> after cropping to
+remove the page offset that will be left behind. This is especially true when
+you are going to write to an image format such as PNG that supports an image
+offset.</p>
+
+<div style="margin: auto;">
+  <h4><a id="cycle"></a>-cycle <var>amount</var></h4>
+</div>
+
+<p class="magick-description">displace image colormap by amount.</p>
+
+<p><var>Amount</var> defines the number of positions each
+colormap entry is shifted.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="debug"></a>-debug <var>events</var></h4>
+</div>
+
+<p class="magick-description">enable debug printout.</p>
+
+<p>The <code>events</code> parameter specifies which events are to be logged. It
+can be either <code>None</code>, <code>All</code>, <code>Trace</code>, or
+a comma-separated list consisting of one or more of the following domains:
+<code>Accelerate</code>, <code>Annotate</code>, <code>Blob</code>, <code>Cache</code>,
+<code>Coder</code>, <code>Configure</code>, <code>Deprecate</code>,
+<code>Exception</code>, <code>Locale</code>, <code>Render</code>,
+<code>Resource</code>, <code>Security</code>, <code>TemporaryFile</code>,
+<code>Transform</code>, <code>X11</code>, or <code>User</code>. </p>
+
+
+<p>For example, to log cache and blob events, use.</p>
+
+<pre>
+convert -debug "Cache,Blob" rose: rose.png
+</pre>
+
+<p>The <code>User</code> 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="command-line-options.html#list">-list
+debug</a>.</p>
+
+<p>Use the <a href="command-line-options.html#log">-log</a> option to specify the format for debugging
+output.</p>
+
+<p>Use <a href="command-line-options.html#debug">+debug</a> to turn off all logging.</p>
+
+<p>Debugging may also be set using the <code>MAGICK_DEBUG</code> <a href="resources.html#environment">environment variable</a>.  The allowed values for the <code>MAGICK_DEBUG</code>
+environment variable are the same as for the <a href="command-line-options.html#debug">-debug</a>
+option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="decipher"></a>-decipher <var>filename</var></h4>
+</div>
+
+<p class="magick-description">Decipher and restore pixels that were previously transformed by <a href="command-line-options.html#encipher">-encipher</a>.</p>
+
+<p>Get the passphrase from the file specified by <var>filename</var>.</p>
+
+<p>For more information, see the webpage, <a href="../cipher.html">ImageMagick: Encipher or
+Decipher an Image</a>.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="deconstruct"></a>-deconstruct</h4>
+</div>
+
+<p class="magick-description">find areas that has changed between images </p>
+
+<p>Given a sequence of images all the same size, such as produced by <a href="command-line-options.html#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="command-line-options.html#layers">-layers</a>
+method '<code>compare-any</code>'. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="define"></a>-define <var>key</var>{<var>=value</var>}<var>...</var></h4>
+</div>
+
+<p class="magick-description">add specific global settings generally used to control coders and image processing operations.</p>
+
+<p>This option creates one or more definitions for coders and decoders to use
+while reading and writing image data.  Definitions are generally used to
+control image file format coder modules, and image processing operations,
+beyond what is provided by normal means.  Defined settings are listed in <a href="command-line-options.html#verbose">-verbose</a> information ("<code>info:</code>" output format)
+as "Artifacts". </p>
+
+<p>If <var>value</var> 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="command-line-options.html#define">+define key</a> to remove definitions
+previously created.  Use <a href="command-line-options.html#define">+define "*"</a> to remove all
+existing definitions.</p>
+
+<p>The same 'artifact' settings can also be defined using the <a href="command-line-options.html#set">-set "option:<var>key</var>" "<var>value</var>"</a> option, which also allows the use of <a href="escape.html">Format and Print Image
+Properties</a> in the defined value. </p>
+
+<p>The <var>option</var> and <var>key</var> are case-independent (they are
+converted to lowercase for use within the decoders) while the <var>value</var>
+is case-dependent.</p>
+
+<p>Such settings are global in scope, and affect all images and operations. </p>
+
+<p>The following definitions are just some of the artifacts that are
+available:</p>
+
+<dl>
+
+<dt>bmp:format=<var>value</var></dt>
+   <dd> valid values are <var>bmp2</var>, <var>bmp3</var>,
+   and <var>bmp4</var>.  This option can be useful when the
+   method of prepending "BMP2:" to the output filename is inconvenient or
+   is not available, such as when using the <a href="mogrify.html">mogrify</a>   utility.</dd>
+
+<dt>complex:snr=<var>value</var></dt>
+   <dd>Set the divide SNR constant<a href="command-line-options.html#complex">-complex</a></dd>
+
+<dt>compose:args=<var>arguments</var></dt>
+    <dd>Sets certain compose argument values when using convert ... -compose ...
+    -composite. See <a href="../compose.html">Image Composition</a></dd>
+
+<dt>convolve:scale=<var>{kernel_scale}[!^] [,{origin_addition}] [%]</var></dt>
+    <dd>Defines the kernel scaling. The special flag ! automatically scales to 
+    full dynamic range. The ! flag can be used in combination with a factor or 
+    percent. The factor or percent is then applied after the automatic scaling. 
+    An example is 50%!. This produces a result 50% darker than full dynamic 
+    range scaling. The ^ flag assures the kernel is 'zero-summing', for 
+    example when some values are positive and some are negative as in edge 
+    detection kernels. The origin addition adds that value to the center 
+    pixel of the kernel. This produces and effect that is like adding the image 	
+    that many times to the result of the filtered image. The typical value 
+    is 1 so that the original image is added to the result of the convolution. 
+    The default is 0.</dd>
+
+<dt>convolve:showkernel=<var>1</var></dt>
+    <dd>Outputs (to 'standard error') all the information about a specified <a href="command-line-options.html#morphology">-morphology convolve</a> kernel.</dd>
+
+<dt>dcm:display-range=<var>reset</var></dt>
+    <dd>Sets the display range to the minimum and maximum pixel values for the
+    DCM image format.</dd>
+
+<dt>dds:cluster-fit=<var>true|false</var></dt>
+    <dd>Enables the dds cluster-fit.</dd>
+
+<dt>dds:compression=<var>dxt1|dxt5|none</var></dt>
+    <dd>Sets the dds compression.</dd>
+
+<dt>dds:mipmaps=<var>value</var></dt>
+    <dd>Sets the dds number of mipmaps.</dd>
+
+<dt>dds:weight-by-alpha=<var>true|false</var></dt>
+    <dd>Enables the dds alpha weighting.</dd>
+
+<dt>delegate:bimodal=<var>true</var></dt>
+    <dd>Specifies direct conversion from Postscript to PDF.</dd>
+
+<dt>distort:scale=<var>value</var></dt>
+   <dd>Sets the output scaling factor for use with <a href="command-line-options.html#distort">-distort</a></dd>
+
+<dt>distort:viewport=<var>WxH+X+Y</var></dt>
+   <dd>Sets the viewport for use with <a href="command-line-options.html#distort">-distort</a></dd>
+
+<dt>dot:layout-engine=<var>value</var></dt>
+    <dd>Specifies the layout engine for the DOT image format (e.g.
+    <code>neato</code>).</dd>
+
+<dt>filter:option=<var>value</var></dt>
+    <dd>Set a filter option for use with <a href="command-line-options.html#resize">-resize</a>.
+    See <a href="command-line-options.html#filter">-filter</a> for details.</dd>
+
+<dt>fourier:normalize=<var>inverse</var></dt>
+   <dd>Sets the location for the FFT/IFT normalization as use by 
+    <a href="command-line-options.html#fft">+-fft</a> and <a href="command-line-options.html#ift">+-ift</a>. The default is 
+    forward.</dd>
+
+<dt>icon:auto-resize</dt>
+    <dd>Automatically stores multiple sizes when writing an ico image
+    (requires a 256x256 input image).</dd>
+
+<dt>jp2:layer-number=<var>value</var></dt>
+    <dd>Sets the maximum number of quality layers to decode. Same for JPT, JC2,
+    and J2K</dd>
+
+<dt>jp2:number-resolutions=<var>value</var></dt>
+    <dd>Sets the number of resolutions to encode.Same for JPT, JC2, and J2K</dd>
+
+<dt>jp2:progression-order=<var>value</var></dt>
+    <dd>choose from LRCP, RLCP, RPCL, PCRL or CPRL. Same for JPT, JC2, and 
+    J2K</dd>
+
+<dt>jp2:quality=<var>value,value...</var></dt>
+    <dd>Sets the quality layer PSNR, given in dB. The order is from left to 
+    right in ascending order. The default is a single lossless quality layer.  
+    Same for JPT, JC2, and J2K</dd>
+
+<dt>jp2:rate=<var>value</var></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. Same for JPT, JC2, and J2K</dd>
+
+<dt>jp2:reduce-factor=<var>value</var></dt>
+    <dd>Sets the number of highest resolution levels to be discarded.Same for 
+    JPT, JC2, and J2K</dd>
+
+<dt>jpeg:block-smoothing=<var>on|off</var></dt>
+
+<dt>jpeg:colors=<var>value</var></dt>
+    <dd>Set the desired number of colors and let the JPEG encoder do the
+    quantizing.</dd>
+
+<dt>jpeg:dct-method=<var>value</var></dt>
+    <dd>Choose from <code>default</code>, <code>fastest</code>, 
+    <code>float</code>, <code>ifast</code>, and <code>islow</code>.</dd>
+
+<dt>jpeg:extent=<var>value</var></dt>
+    <dd>Restrict the maximum JPEG file size, for example <code>-define
+    jpeg:extent=400KB</code>.  The JPEG encoder will search for the highest
+    compression quality level that results in an output file that does not
+    exceed the value. The <code>-quality</code> option is ignored if it
+    is also present.</dd>
+
+<dt>jpeg:fancy-upsampling=<var>on|off</var></dt>
+
+<dt>jpeg:optimize-coding=<var>on|off</var></dt>
+
+<dt>jpeg:q-table=<var>table</var></dt>
+
+<dt>jpeg:sampling-factor=<var>sampling-factor-string</var></dt>
+
+<dt>jpeg:size=<var>geometry</var></dt>
+    <dd>Set the size hint of a JPEG image, for
+    example, <code>-define jpeg:size=128x128</code>.
+    It is most useful for increasing performance and reducing the memory
+    requirements when reducing the size of a large JPEG image.</dd>
+
+<dt>json:features</dt>
+  <dd>includes features in verbose information</dd>
+
+<dt>json:limit</dt>
+
+<dt>json:locate</dt>
+
+<dt>json:moments</dt>
+  <dd>includes image moments in verbose information</dd>
+
+<dt>mng:need-cacheoff</dt>
+  <dd>turn playback caching off for streaming MNG.</dd>
+
+<dt>morphology:compose=<var>compose-method</var></dt>
+    <dd>Specifies how to merge results generated by multiple<a href="command-line-options.html#morphology">-morphology</a> kernel. The default is none. One 
+    typical value is 'lighten' as used, for example, with the sobel edge 
+    kernels. </dd>
+
+<dt>morphology:showkernel=<var>1</var></dt>
+    <dd>Outputs (to 'standard error') all the information about a generated <a href="command-line-options.html#morphology">-morphology</a> kernel.</dd>
+
+<dt>pcl:fit-to-page=<var>true</var></dt>
+
+<dt>pdf:fit-page=<var>geometry</var></dt>
+    <dd> geometry specifies the scaling dimensions for resizing when the PDF is
+    being read. The geometry is either WxH{%} or page size. No offsets are
+    allowed. (introduced in IM 6.8.8-8)</dd>
+
+<dt>pdf:fit-to-page=<var>true</var></dt>
+
+<dt>pdf:use-cropbox=<var>true</var></dt>
+
+<dt>pdf:use-trimbox=<var>true</var></dt>
+
+<dt>png:bit-depth=<var>value</var></dt>
+<dt>png:color-type=<var>value</var></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="command-line-options.html#depth">-depth</a>,
+    <a href="command-line-options.html#colors">-colors</a>, or <a href="command-line-options.html#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 be 1, 2, 4, or 8.  In such files, the color samples always have
+    8-bit depth.</dd>
+
+<dt>png:compression-filter=<var>value</var></dt>
+   <dd> valid values are 0 through 9. 0-4 are the corresponding PNG filters,
+   5 means adaptive filtering except for images with a colormap, 6 means
+   adaptive filtering for all images, 7 means MNG "loco" compression, 8 means 
+   Z_RLE strategy with adaptive filtering, and 9 means Z_RLE strategy with no 
+   filtering.</dd>
+
+<dt>png:compression-level=<var>value</var></dt>
+   <dd> valid values are 0 through 9, with 0 providing the least but fastest
+       compression and 9 usually providing the best and always the slowest.</dd>
+
+<dt>png:compression-strategy=<var>value</var></dt>
+   <dd> valid values are 0 through 4, meaning default, filtered, huffman_only,
+   rle, and fixed ZLIB compression strategy. If you are using an old zlib
+   that does not support Z_RLE (before 1.2.0) or Z_FIXED (before 1.2.2.2),
+   values 3 and 4, respectively, will use the zlib default strategy
+   instead.</dd>
+
+<dt>png:format=<var>value</var></dt>
+   <dd> valid values are <var>png8</var>, <var>png24</var>,
+   <var>png32</var>, <var>png48</var>,
+   <var>png64</var>, and <var>png00</var>.
+   This property can be useful for specifying
+   the specific PNG format to be used, when the usual method of prepending the
+   format name to the output filename is inconvenient, such as when writing
+   a PNG-encoded ICO file or when using <a href="mogrify.html">mogrify</a>.
+   Value = <var>png8</var> reduces the number of colors to 256,
+   only one of which may be fully transparent, if necessary.  The other
+   values do not force any reduction of quality; it is an error to request
+   a format that cannot represent the image data without loss (except that
+   it is allowed to reduce the bit-depth from 16 to 8 for all formats).
+   Value = <var>png24</var> and <var>png48</var>
+   allow transparency, only if a single color is fully transparent and that
+   color does not also appear in an opaque pixel; such transparency is
+   written in a PNG <code>tRNS</code> chunk.
+   Value = <var>png00</var> causes the image to inherit its
+   color-type and bit-depth from the input image, if the input was also
+   a PNG.</dd>
+
+<dt>png:exclude-chunk=<var>value</var></dt>
+
+<dt>png:include-chunk=<var>value</var></dt>
+    <dd>ancillary chunks to be excluded from or included in PNG output.
+
+    <p>The <var>value</var> can be the name of a PNG chunk-type such
+    as <var>bKGD</var>, a comma-separated list of chunk-names
+    (which can include the word <var>date</var>, the word
+    <var>all</var>, or the word <var>none</var>).
+    Although PNG chunk-names are case-dependent, you can use all lowercase
+    names if you prefer.</p>
+
+    <p>The "include-chunk" and "exclude-chunk" lists only affect the behavior
+    of the PNG encoder and have no effect on the PNG decoder.</p>
+
+    <p>As a special case, if the <code>sRGB</code> chunk is excluded and
+    the <code>gAMA</code> chunk is included, the <code>gAMA</code> chunk will
+    only be written if gamma is not 1/2.2, since most decoders assume
+    sRGB and gamma=1/2.2 when no colorspace information is included in
+    the PNG file.  Because the list is processed from left to right, you
+    can achieve this with a single define:</p>
+
+<pre>
+   -define png:include-chunk=none,gAMA
+</pre>
+
+    <p>As a special case, if the <code>sRGB</code> chunk is not excluded and
+    the PNG encoder recognizes that the image contains the sRGB ICC profile,
+    the PNG encoder will write the <code>sRGB</code> chunk instead of the
+    entire ICC profile.  To force the PNG encoder to write the sRGB
+    profile as an <code>iCCP</code> chunk in the output PNG instead of the
+    <code>sRGB</code> chunk, exclude the <code>sRGB</code> chunk.</p>
+
+    <p>The critical PNG chunks <code>IHDR</code>, <code>PLTE</code>,
+    <code>IDAT</code>, and <code>IEND</code> cannot be excluded.  Any such
+    entries appearing in the list will be ignored.</p>
+
+    <p>If the ancillary PNG <code>tRNS</code> chunk is excluded and the
+    image has transparency, the PNG colortype is forced to be 4 or 6
+    (GRAY_ALPHA or RGBA).  If the image is not transparent, then the
+    <code>tRNS</code> chunk isn't written anyhow, and there is no effect
+    on the PNG colortype of the output image.</p>
+
+    <p>The <a href="command-line-options.html#strip">-strip</a> option does the equivalent of the
+    following for PNG output:</p>
+
+<pre>
+   -define png:exclude-chunk=EXIF,iCCP,iTXt,sRGB,tEXt,zCCP,zTXt,date
+</pre>
+
+    <p>The default behavior is to include all known PNG ancillary chunks
+    plus ImageMagick's private <code>vpAg</code> ("virtual page") chunk,
+    and to exclude all PNG chunks that are unknown to ImageMagick,
+    regardless of their PNG "copy-safe" status as described in the
+    PNG specification.</p>
+
+    <p>Any chunk names that are not known to ImageMagick are ignored
+    if they appear in either the "include-chunk" or "exclude-chunk" list.
+    The ancillary chunks currently known to ImageMagick are
+    <code>bKGD</code>, <code>cHRM</code>, <code>gAMA</code>, <code>iCCP</code>,
+    <code>oFFs</code>, <code>pHYs</code>, <code>sRGB</code>, <code>tEXt</code>,
+    <code>tRNS</code>, <code>vpAg</code>, and <code>zTXt</code>.</p>
+
+    <p>You can also put <code>date</code> in the list to include or exclude
+    the "Date:create" and "Date:modify" text chunks that ImageMagick normally
+    inserts in the output PNG.</p></dd>
+
+<dt>png:preserve-colormap[=<var>true</var>]</dt>
+    <dd>Use the existing image-&gt;colormap. Normally the PNG encoder will
+    try to optimize the palette, eliminating unused entries and putting
+    the transparent colors first.  If this flag is set, that behavior
+    is suppressed.</dd>
+
+<dt>png:preserve-iCCP[=<var>true</var>]</dt>
+    <dd>By default, the PNG decoder and encoder examine any ICC profile
+    that is present, either from an <code>iCCP</code> chunk in the PNG
+    input or supplied via an option, and if the profile is recognized
+    to be the sRGB profile, converts it to the <code>sRGB</code> chunk.
+    You can use <code>-define png:preserve-iCCP</code> to prevent
+    this from happening; in such cases the <code>iCCP</code> chunk
+    will be read or written and no <code>sRGB</code> chunk will be
+    written.  There are some ICC profiles that claim to be sRGB but
+    have various errors that cause them to be rejected by libpng16; such
+    profiles are recognized anyhow and converted to the <code>sRGB</code>
+    chunk, but are rejected if the <code>-define png:preserve-iCCP</code>
+    is present. Note that not all "sRGB" ICC profiles are recognized
+    yet; we will add them to the list as we encounter them.</dd>
+
+<dt>png:swap-bytes[=<var>true</var>]</dt>
+    <dd>The PNG specification requires that any multi-byte integers be stored in
+    network byte order (MSB-LSB endian).  This option allows you to
+    fix any invalid PNG files that have 16-bit samples stored incorrectly
+    in little-endian order (LSB-MSB).  The "-define png:swap-bytes" option
+    must appear before the input filename on the commandline.  The swapping
+    is done during the libpng decoding operation.</dd>
+
+<dt>profile:skip=<var>name1,name2,...</var></dt>
+    <dd>Skip the named profile[s] when reading the image. Use skip="*" to
+    skip all named profiles in the image. Many named profiles exist,
+    including ICC, EXIF, APP1, IPTC, XMP, and others.</dd>
+
+<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>
+
+<dt>quantum:format=<var>type</var></dt>
+    <dd>Set the type to <code>floating-point</code> to specify a floating-point
+    format for raw files (e.g. GRAY:) or for MIFF and TIFF images in HDRI mode
+    to preserve negative values. If <a href="command-line-options.html#depth">-depth</a> 16 is
+    included, the result is a single precision floating point format.
+    If <a href="command-line-options.html#depth">-depth</a> 32 is included, the result is
+    double precision floating point format.</dd>
+
+<dt>quantum:polarity=<var>photometric-interpretation</var></dt>
+    <dd>Set the photometric-interpretation of an image (typically for TIFF image
+    file format) to either <code>min-is-black</code> (default) or
+    <code>min-is-white</code>.</dd>
+
+<dt>sample:offset=<var>geometry</var></dt>
+    <dd>Location of the sampling point within the sub-region being sampled,
+    expressed as percentages (see <a href="command-line-options.html#sample">-sample</a>).</dd>
+
+<dt>showkernel=<var>1</var></dt>
+    <dd>Outputs (to 'standard error') all the information about a generated <a href="command-line-options.html#morphology">-morphology</a> kernel.</dd>
+
+<dt>stream:buffer-size=<var>value</var></dt>
+  <dd>Set the stream buffer size.  Select 0 for unbuffered I/O.</dd>
+
+<dt>tiff:alpha=<var>associated|unassociated|unspecified</var></dt>
+   <dd>Specify the alpha extra samples as associated, unassociated or unspecified </dd>
+
+<dt>tiff:endian=<var>msb|lsb</var></dt>
+
+<dt>tiff:exif-properties=<var>false</var></dt>
+	<dd>Skips reading the EXIF properties.</dd>
+
+<dt>tiff:fill-order=<var>msb|lsb</var></dt>
+
+<dt>tiff:ignore-tags=<var>comma-separate-list-of-tag-IDs</var></dt>
+   <dd>Allows one or more tag ID values to be ignored.</dd>
+
+<dt>tiff:rows-per-strip=<var>value</var></dt>
+   <dd>Sets the number of rows per strip</dd>
+
+<dt>tiff:tile-geometry=<var>WxH</var></dt>
+	<dd>Sets the tile size for pyramid tiffs. Requires the suffix
+        PTIF: before the outputname</dd>
+</dl>
+
+<p>For example, to create a postscript file that will render only the black
+pixels of a bilevel image, use:</p>
+
+<pre>
+convert bilevel.tif -define ps:imagemask eps3:stencil.ps
+</pre>
+
+<p>Set attributes of the image registry by prefixing the value with
+<code>registry:</code>.  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 id="delay"></a>-delay <var>ticks</var> <br>-delay <var>ticks</var>x<var>ticks-per-second</var> {<var>&lt;</var>} {<var>&gt;</var>}</h4>
+</div>
+
+<p class="magick-description">display the next image after pausing.</p>
+
+<p>This option is useful for regulating the animation of image sequences
+<var>ticks/ticks-per-second</var> 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 <code>&gt;</code> to change the image delay <var>only</var> if its current
+value exceeds the given delay. <code>&lt;</code> changes the image delay
+<var>only</var> if current value is less than the given delay.  For example, if
+you specify <code>30&gt;</code> 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
+<code>&lt;</code> or <code>&gt;</code> from being interpreted by your shell as
+a file redirection.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="delete"></a>-delete <var>indexes</var></h4>
+</div>
+
+<p class="magick-description">delete the images specified by index, from the image sequence.</p>
+
+<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
+<code>+delete</code> to delete the last image in the current image sequence.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="density"></a>-density <var>width</var><br>-density <var>width</var>x<var>height</var></h4>
+</div>
+
+<p class="magick-description">Set the horizontal and vertical resolution of an image for rendering to devices.</p>
+
+<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="command-line-options.html#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="command-line-options.html#density">-density</a> option sets an <var>attribute</var> 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="command-line-options.html#resample">-resample</a> option.</p>
+
+<div style="margin: auto;">
+  <h4><a id="depth"></a>-depth <var>value</var></h4>
+</div>
+
+<p class="magick-description">depth of the image.</p>
+
+<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 id="descend"></a>-descend</h4>
+</div>
+
+<p class="magick-description">obtain image by descending window hierarchy.</p>
+
+<div style="margin: auto;">
+  <h4><a id="deskew"></a>-deskew <var>threshold</var></h4>
+</div>
+
+<p class="magick-description">straighten an image.  A threshold of 40% works for most images.</p>
+
+<p>Use <a href="command-line-options.html#set">-set</a> <code>option:deskew:auto-crop
+<var>width</var></code> 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 id="despeckle"></a>-despeckle</h4>
+</div>
+
+<p class="magick-description">reduce the speckles within an image.</p>
+
+<div style="margin: auto;">
+  <h4><a id="direction"></a>-direction <var>type</var></h4>
+</div>
+
+<p class="magick-description">render text right-to-left or left-to-right.</p>
+
+<div style="margin: auto;">
+  <h4><a id="displace"></a>-displace <var>horizontal-scale</var><br>-displace <var>horizontal-scale</var>x<var>vertical-scale</var></h4>
+</div>
+
+<p class="magick-description">shift image pixels as defined by a displacement map.</p>
+
+<p>With this option, the 'overlay' image, and optionally the 'mask' image,
+is 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 possible to lookup parts of the 'background' image that lie well
+outside the bounds of the displacement map itself.  That is you could very
+easily 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 (positively or negatively).  However, if you also
+specify a third image which is normally used as a <var>mask</var>,
+the <var>composite image</var> is used for horizontal X
+displacement, while the <var>mask image</var> 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  <var>scale</var> bounds.  In other words each pixel can lookup
+any other nearby pixel, producing complex 2 dimensional displacements, rather
+than a simple 1 dimensional vector displacements. </p>
+
+<p>Alternatively rather than supplying 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 is 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 id="display"></a>-display <var>host:display[.screen]</var></h4>
+</div>
+
+<p class="magick-description">Specifies the X server to contact.</p>
+
+<p>This option is used with convert for obtaining image or font from this
+X server. See <var>X(1)</var>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="dispose"></a>-dispose <var>method</var></h4>
+</div>
+
+<p class="magick-description">define the GIF disposal image setting for images that are being created or read in. </p>
+
+<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>
+   Undefined   0  No disposal specified (equivalent to '<code>none</code>').
+   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="command-line-options.html#list">-list dispose</a>.</p>
+
+<p>Use <a href="command-line-options.html#dispose">+dispose</a>, turn off the setting and prevent
+resetting the layer disposal methods of images being read in. </p>
+
+<p>Use <a href="command-line-options.html#set">-set</a> '<code>dispose</code>' method to set the image
+disposal method for images already in memory.</p>
+
+<div style="margin: auto;">
+  <h4><a id="dissimilarity-threshold"></a>-dissimilarity-threshold <var>value</var></h4>
+</div>
+
+<p class="magick-description">maximum RMSE for subimage match (default 0.2).</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="dissolve"></a>-dissolve <var>src_percent</var>[x<var>dst_percent</var>]</h4>
+</div>
+
+<p class="magick-description">dissolve an image into another by the given percent.</p>
+
+<p>The opacity of the composite image is multiplied by the given percent, then
+it is composited 'over' the main image.  If <var>src_percent</var>
+is greater than 100, start dissolving the main image so it becomes
+transparent at a value of '<code>200</code>'.  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 id="distort"></a>-distort <var>method arguments</var></h4>
+</div>
+
+<p class="magick-description">distort an image, using the given <var>method</var> and its required <var>arguments</var>.</p>
+
+<p>The <var>arguments</var> 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 <var>method</var> being used. </p>
+
+<p>Choose from these distortion types:</p>
+
+<table class="table table-condensed table-striped">
+  <tr>
+    <th style="width: 8%">Method</th>
+    <th>Description</th>
+  </tr>
+
+  <tr>
+    <td><code>ScaleRotateTranslate</code>  
+    <br>or   <code>SRT</code></td>
+    <td>
+       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 '<code>Affine</code>' 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>#  </td><td>arguments meaning</td></tr>
+       <tr><td>1:</td><td><var>Angle_of_Rotation</var></td></tr>
+       <tr><td>2:</td><td><var>Scale   Angle</var></td></tr>
+       <tr><td>3:</td><td><var>X,Y     Angle</var></td></tr>
+       <tr><td>4:</td><td><var>X,Y   Scale   Angle</var></td></tr>
+       <tr><td>5:</td>
+           <td><var>X,Y   ScaleX,ScaleY   Angle</var></td></tr>
+       <tr><td>6:</td>
+           <td><var>X,Y   Scale   Angle   NewX,NewY</var></td></tr>
+       <tr><td>7:</td>
+           <td><var>X,Y   ScaleX,ScaleY   Angle
+                     NewX,NewY</var></td></tr>
+       </table>
+
+       This is actually an alternative way of specifying a 2 dimensional linear
+       '<code>Affine</code>' or '<code>AffineProjection</code>' distortion.  </td> </tr>
+
+  <tr>
+    <td><code>Affine</code></td>
+    <td>
+       Distort the image linearly by moving a list of at least 3 or more sets
+       of control points (as defined below).  Ideally 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 '<code>AffineProjection</code>' and '<code>SRT</code>'
+       distortions. <br>
+
+       More than 3 sets given control point pairs (12 numbers) is least
+       squares fitted to best match a linear affine distortion. If only 2
+       control point pairs (8 numbers) are given a two point image translation
+       rotation and scaling is performed, without any possible  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>
+    <td><code>AffineProjection</code></td>
+    <td>
+       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"><var>
+       s<sub>x</sub>, r<sub>x</sub>,
+       r<sub>y</sub>, s<sub>y</sub>,
+       t<sub>x</sub>, t<sub>y</sub>
+       </var></div>
+
+       See <a href="command-line-options.html#affine">-affine</a> setting for more detail, and
+       meanings of these coefficients. <br>
+
+       The distortions '<code>Affine</code>' and '<code>SRT</code>' 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="command-line-options.html#verbose">-verbose</a> setting with those other variants.  </td>
+
+  </tr>
+
+  <tr>
+    <td><code>BilinearForward</code><br>
+    <code>BilinearReverse</code></td>
+    <td>
+       Bilinear 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
+       consistent. <br>
+
+       The '<code>BilinearForward</code>' is used to map rectangles to any
+       quadrilateral, while the '<code>BilinearReverse</code>' form maps any
+       quadrilateral to a rectangle, while preserving the straight line edges
+       in each case.  <br>
+
+       Note that '<code>BilinearForward</code>' can generate invalid pixels
+       which will be colored using the <a href="command-line-options.html#mattecolor">-mattecolor</a>
+       color setting.  Also if the quadrilateral becomes 'flipped' the image
+       may disappear. <br>
+
+       There are future plans to produce a true Bilinear distortion that will
+       attempt to map any quadrilateral to any other quadrilateral, while
+       preserving edges (and edge distance ratios).
+
+       </td>
+  </tr>
+
+  <tr>
+    <td><code>Perspective</code></td>
+    <td>
+       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 panorama
+       effects).  Less than 4 sets will fall back to a '<code>Affine</code>'
+       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="command-line-options.html#mattecolor">-mattecolor</a> setting. </td>
+  </tr>
+
+  <tr>
+    <td><code>PerspectiveProjection</code>  </td>
+    <td>
+       Do a '<code>Perspective</code>' distortion biased on a set of 8
+       pre-calculated coefficients. You can get these coefficients by looking
+       at the <a href="command-line-options.html#verbose">-verbose</a> output of a
+       '<code>Perspective</code>' 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>
+    <td><code>Arc</code></td>
+    <td>
+       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><td>Argument</td>
+           <td>Meaning</td></tr>
+       <tr><td><var>arc_angle</var></td>
+           <td>The angle over which to arc the image side-to-side</td></tr>
+       <tr><td><var>rotate_angle</var></td>
+           <td>Angle to rotate resulting image from vertical center</td></tr>
+       <tr><td><var>top_radius</var></td>
+           <td>Set top edge of source image at this radius</td></tr>
+       <tr><td><var>bottom_radius</var> </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="command-line-options.html#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>
+    <td><code>Polar</code></td>
+    <td>
+       Like '<code>Arc</code>' 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: <var>Rmax,Rmin CenterX,CenterY, start,end_angle</var> <br>
+
+       All arguments are optional. With <var>Rmin</var> defaulting to zero, the
+       center to the center of the image, and the angles going from -180 (top)
+       to +180 (top).  If <var>Rmax</var> 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 '<code>DePolar</code>' with
+       the same arguments. <br>
+
+       If the plus form of distort (<a href="command-line-options.html#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>
+    <td><code>DePolar</code></td>
+    <td>
+       Uses the same arguments and meanings as a '<code>Polar</code>' distortion
+       but generates the reverse Polar to Cartesian distortion. <br>
+
+       The special <var>Rmax</var> setting of '<code>0</code>' may however clip
+       the corners of the input image.  However using the special
+       <var>Rmax</var> 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 '<code>Polar</code>' 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 recommended some
+       form of 'super-sampling' image processing technique be used to produce
+       a high quality result. </td>
+
+  </tr>
+
+  <tr>
+    <td><code>Barrel</code></td>
+    <td>
+       Given the four coefficients (A,B,C,D) as defined by <a href="http://wiki.panotools.org/Lens_correction_model">Helmut
+       Dersch</a>, perform a barrel or pin-cushion distortion appropriate to
+       correct radial lens distortions.  That is in photographs, make straight
+       lines straight again. <br>
+
+       Arguments: <var>A   B   C</var>   [ <var>D</var>   [
+       <var>X</var> , <var>Y</var> ] ] <br>
+       or <var>A<sub>x</sub> B<sub>x</sub> C<sub>x</sub> D<sub>x</sub>  
+       A<sub>y</sub> B<sub>y</sub> C<sub>y</sub> D<sub>y</sub></var>  
+       [ <var>X</var> , <var>Y</var> ] <br>
+       So that it forms the function <br>
+          Rsrc = r * ( <var>A</var>*r<sup>3</sup> + <var>B</var>*r<sup>2</sup> +
+                               <var>C</var>*r + <var>D</var> )<br>
+
+       Where <var>X</var>,<var>Y</var> 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>
+    <td><code>BarrelInverse</code></td>
+    <td>
+       This is very similar to '<code>Barrel</code>' 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 / ( <var>A</var>*r<sup>3</sup> + <var>B</var>*r<sup>2</sup> +
+                               <var>C</var>*r + <var>D</var> )<br>
+       Note that this is not the reverse of the '<code>Barrel</code>'
+       distortion, just a different barrel-like radial distortion method.
+
+       </td>
+  </tr>
+
+  <tr>
+    <td><code>Shepards</code></td>
+    <td>
+       Distort the given list control points (any number) using an Inverse
+       Squared Distance Interpolation Method (<a href="http://en.wikipedia.org/wiki/Shepard%27s_method">Shepards
+       Method</a>). The control points in effect do 'localized' displacement
+       of the image around the given control point (preserving the look and
+       the rotation of the area near the control points.  For best results
+       extra control points should be added to 'lock' the positions of the
+       corners, edges and other unchanging parts of the image, to prevent
+       their movement. <br>
+
+       The distortion has been likened to 'taffy pulling' using nails, or
+       pins' stuck in a block of 'jelly' which is then moved to the new
+       position, distorting the surface of the jelly. <br>
+
+       Internally it is equivalent to generating a displacement map (see <a href="command-line-options.html#displace">-displace</a>) for source image color look-up using
+       the <a href="command-line-options.html#sparse-color">-sparse-color</a> method of the same name.
+
+       </td>
+  </tr>
+
+</table>
+
+<p>To print a complete list of distortion methods, use <a href="command-line-options.html#list">-list
+distort</a>.</p>
+
+<p>Many of the above distortion methods such as '<code>Affine</code>',
+'<code>Perspective</code>', and '<code>Shepards</code>' 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"><var>
+      U<sub>1</sub>,V<sub>1</sub> X<sub>1</sub>,Y<sub>1</sub>  
+      U<sub>2</sub>,V<sub>2</sub> X<sub>2</sub>,Y<sub>2</sub>  
+      U<sub>3</sub>,V<sub>3</sub> X<sub>3</sub>,Y<sub>3</sub>  
+      ...  
+      U<sub>n</sub>,V<sub>n</sub> X<sub>n</sub>,Y<sub>n</sub>  
+</var></div>
+<p>where <var>U,V</var> on the source image is mapped to <var>X,Y</var> on the
+destination image. </p>
+
+<p>For example, to warp an image using '<code>perspective</code>' 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>
+
+<pre>
+convert rose:  -virtual-pixel black \
+     -distort Perspective '0,0,0,0  0,45,0,45  69,0,60,10  69,45,60,35' \
+     rose_3d_rotated.gif"
+</pre>
+
+<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 (usually a linear
+'<code>Affine</code>' distortion). </p>
+
+<p>By using more coordinates you can make use of image registration tool to
+find matching coordinate pairs in overlapping 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 a cylindrical
+resampling <a href="command-line-options.html#filter">-filter</a>, using a special technique known as
+EWA resampling. This produces very high quality results, especially when
+images become smaller (minified) in the output, which is very common when
+using '<code>perspective</code>' distortion. For example here we view
+a infinitely tiled 'plane' all the way to the horizon. </p>
+
+<pre>
+convert -size 90x90 pattern:checkerboard -normalize -virtual-pixel tile \
+     -distort perspective  '0,0,5,45  89,0,45,46  0,89,0,89  89,89,89,89' \
+     checks_tiled.jpg
+</pre>
+
+<p>Note that a infinitely tiled perspective images involving the horizon can
+be very slow, because of the number of pixels that are compressed to generate
+each individual pixel close to the 'horizon'.  You can turn off EWA
+resampling, by specifing the special <a href="command-line-options.html#filter">-filter</a> setting of
+'<code>point</code>' (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
+example, <a href="command-line-options.html#distort">-distort</a> will use the current <a href="command-line-options.html#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="command-line-options.html#distort">+distort</a>) the operator
+will attempt (if possible) 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="command-line-options.html#repage">+repage</a>, to remove if it
+is unwanted. </p>
+
+<p>Setting <a href="command-line-options.html#verbose">-verbose</a> setting, will cause <a href="command-line-options.html#distort">-distort</a> to attempt to output the internal coefficients,
+and the <a href="command-line-options.html#fx">-fx</a> equivalent to the distortion, for expert study,
+and debugging purposes. This many not be available for all distorts. </p>
+
+<p>You can alternatively specify a special "<code><a href="command-line-options.html#define">-define</a> distort:viewport={geometry_string}</code>" setting which will
+specify the size and the offset of the generated 'viewport' image of the
+distorted image space.</p>
+
+<p>Setting a "<code><a href="command-line-options.html#define">-define</a>
+distort:scale={scale_factor}</code>" 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 "<code><a href="command-line-options.html#define">-define</a> resample:verbose=1</code>"
+will output the cylindrical filter lookup table created by the EWA (Elliptical
+Weighted Average) resampling algorithm. Note this table uses a squared radius
+lookup value. This is typically only used for debugging EWA resampling. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="distribute-cache"></a>-distribute-cache <var>port</var></h4>
+</div>
+
+<p class="magick-description">launch a distributed pixel cache server. </p>
+
+<div style="margin: auto;">
+  <h4><a id="dither"></a>-dither <var>method</var></h4>
+</div>
+
+<p class="magick-description">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.</p>
+
+<p>Dithering places two or more colors in neighboring 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="command-line-options.html#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="command-line-options.html#colors">-colors</a>, <a href="command-line-options.html#monochrome">-monochrome</a>, <a href="command-line-options.html#remap%20">-remap</a>, and <a href="command-line-options.html#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 <code>GIF:</code>, <code>XBM:</code>, and others, so dithering may also be used
+in these cases. </p>
+
+<p>Alternatively you can use <a href="command-line-options.html#random-threshold">-random-threshold</a>
+to generate purely random dither. Or use <a href="command-line-options.html#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 id="draw"></a>-draw <var>string</var></h4>
+</div>
+
+<p class="magick-description">Annotate an image with one or more graphic primitives.</p>
+
+<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>
+   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>
+   text            x0,y0 string
+</pre>
+<p>The text gravity primitive:</p>
+
+<pre>
+   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="command-line-options.html#gravity">-gravity</a> command-line option, except that it is limited in
+scope to the <a href="command-line-options.html#draw">-draw</a> option in which it appears.</p>
+
+<p>The transformation primitives:</p>
+
+<pre>
+   rotate     degrees
+   translate  dx,dy
+   scale      sx,sy
+   skewX      degrees
+   skewY      degrees
+</pre>
+
+<p>The pixel operation primitives:</p>
+
+<pre>
+   color  x0,y0 method
+   matte  x0,y0 method
+</pre>
+
+<p>The shape primitives are drawn in the color specified by the preceding <a href="command-line-options.html#fill">-fill</a> setting.  For unfilled shapes, use <a href="command-line-options.html#fill">-fill none</a>.  You can optionally control the stroke (the
+"outline" of a shape) with the <a href="command-line-options.html#stroke">-stroke</a> and <a href="command-line-options.html#strokewidth">-strokewidth</a> settings.</p>
+
+<p>A <code>point</code> primitive is specified by a single <var>point</var> in the
+pixel plane, that is, by an ordered pair of integer coordinates,
+<var>x</var>,<var>y</var>. (As it involves only a single pixel, a <code>point</code>
+primitive is not affected by <a href="command-line-options.html#stroke">-stroke</a> or <a href="command-line-options.html#strokewidth">-strokewidth</a>.)</p>
+
+<p>A <code>line</code> primitive requires a start point and end point.</p>
+
+<p>A <code>rectangle</code> primitive is specified by the pair of points at the
+upper left and lower right corners.</p>
+
+<p>A <code>roundRectangle</code> primitive takes the same corner points as
+a <code>rectangle</code> followed by the width and height of the rounded corners
+to be removed.</p>
+
+<p>The <code>circle</code> primitive makes a disk (filled) or circle (unfilled).
+Give the center and any point on the perimeter (boundary).</p>
+
+<p>The <code>arc</code> primitive is used to inscribe an elliptical segment in
+to a given rectangle. An <code>arc</code> requires the two corners used for
+<code>rectangle</code> (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 <code>ellipse</code> to draw a partial (or whole) ellipse. Give the
+center point, the horizontal and vertical "radii" (the <var>semi-axes</var> of
+the ellipse) and start and end angles in degrees (e.g. 100,100 100,150
+0,360).</p>
+
+<p>The <code>polyline</code> and <code>polygon</code> primitives require three or
+more points to define their perimeters. A <code>polyline</code> is simply
+a <code>polygon</code> in which the final point is not stroked to the start
+point. When unfilled, this is a <var>polygonal line</var>. If the <a href="command-line-options.html#stroke">-stroke</a> setting is <code>none</code> (the default), then
+a <code>polyline</code> is identical to a <code>polygon</code>.  </p>
+
+<p>A <var>coordinate</var> 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 <code>Bezier</code> primitive creates a spline curve and requires three
+or points to define its shape. The first and last points are the
+<var>knots</var> and these points are attained by the curve, while any
+intermediate coordinates are <var>control points</var>. 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
+<code>path</code> 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 <code>path</code> 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
+<var>donut holes</var> in objects. (See <a href="http://www.w3.org/TR/SVG/paths.html">Paths</a>.)</p>
+
+<p>Use <code>image</code> 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.html">Alpha Compositing</a> for
+a detailed discussion of alpha composition methods that are available. </p>
+
+<p>The "special augmented compose operators" such as "dissolve" that require
+arguments cannot be used at present with the <code>-draw image</code> option.
+ </p>
+
+<p>Use <code>text</code> 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 <code>Works like
+magick!</code> for an image titled <code>bird.miff</code>. </p>
+
+<p class="crtsnip">
+   -draw "text 100,100 'Works like magick!' "
+</p>
+
+<p>See the <a href="command-line-options.html#annotate">-annotate</a> option for another convenient way
+to annotate an image with text.</p>
+
+<p>The <code>rotate</code> primitive rotates subsequent shape primitives and
+text primitives about the origin of the main image. If the <a href="command-line-options.html#region">-region</a> option precedes the <a href="command-line-options.html#draw">-draw</a>
+option, the origin for transformations is the upper left corner of the
+region.</p>
+
+<p>The <code>translate</code> primitive translates subsequent shape and text
+primitives.</p>
+
+<p>The <code>scale</code> primitive scales them.</p>
+
+<p>The <code>skewX</code> and <code>skewY</code> 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="command-line-options.html#affine">-affine</a>
+option. Transformations are cumulative within the <a href="command-line-options.html#draw">-draw</a>
+option. The initial affine matrix is not affected; that matrix is only changed
+by the appearance of another <a href="command-line-options.html#affine">-affine</a> option. If another
+<a href="command-line-options.html#draw">-draw</a> option appears, the current affine matrix is
+reinitialized from the initial affine matrix.</p>
+
+<p>Use the <code>color</code> primitive to change the color of a pixel to the
+fill color (see <a href="command-line-options.html#fill">-fill</a>). Follow the pixel coordinate with
+a method:</p>
+
+<pre>
+   point
+   replace
+   floodfill
+   filltoborder
+   reset
+</pre>
+
+<p>Consider the target pixel as that specified by your coordinate. The
+<code>point</code> method recolors the target pixel. The <code>replace</code>
+method recolors any pixel that matches the color of the target pixel.
+<code>Floodfill</code> recolors any pixel that matches the color of the target
+pixel and is a neighbor, whereas <code>filltoborder</code> recolors any neighbor
+pixel that is not the border color. Finally, <code>reset</code> recolors all
+pixels.</p>
+
+<p>Use <code>matte</code> to the change the pixel matte value to transparent.
+Follow the pixel coordinate with a method (see the <code>color</code> primitive
+for a description of methods). The <code>point</code> method changes the matte
+value of the target pixel. The <code>replace</code> method changes the matte
+value of any pixel that matches the color of the target pixel.
+<code>Floodfill</code> changes the matte value of any pixel that matches the
+color of the target pixel and is a neighbor, whereas <code>filltoborder</code>
+changes the matte value of any neighbor pixel that is not the border color (<a href="command-line-options.html#bordercolor">-bordercolor</a>). Finally <code>reset</code> changes the
+matte value of all pixels.</p>
+
+<p>You can set the primitive color, font, and font bounding box color with <a href="command-line-options.html#fill">-fill</a>, <a href="command-line-options.html#font">-font</a>, and <a href="command-line-options.html#box">-box</a>
+respectively.  Options are processed in command line order so be sure to use
+these options <var>before</var> the <a href="command-line-options.html#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="magick-vector-graphics.html">Magick
+Vector Graphics</a> format.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="duplicate"></a>-duplicate <var>count,indexes</var></h4>
+</div>
+
+<p class="magick-description">duplicate an image one or more times.</p>
+
+<p>Specify the count and the image to duplicate 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 <code>+duplicate</code> to duplicate the last image in the current
+image sequence.</p>
+
+<div style="margin: auto;">
+  <h4><a id="edge"></a>-edge <var>radius</var></h4>
+</div>
+
+<p class="magick-description">detect edges within an image.</p>
+
+<div style="margin: auto;">
+  <h4><a id="emboss"></a>-emboss <var>radius</var></h4>
+</div>
+
+<p class="magick-description">emboss an image.</p>
+
+<div style="margin: auto;">
+  <h4><a id="encipher"></a>-encipher <var>filename</var></h4>
+</div>
+
+<p class="magick-description">Encipher pixels for later deciphering by <a href="command-line-options.html#decipher">-decipher</a>.</p>
+
+<p>Get the passphrase from the file specified by <var>filename</var>.</p>
+
+<p>For more information, see the webpage, <a href="../cipher.html">ImageMagick: Encipher or
+Decipher an Image</a>.</p>
+
+
+
+<div style="margin: auto;">
+  <h4><a id="encoding"></a>-encoding <var>type</var></h4>
+</div>
+
+<p class="magick-description">specify the text encoding.</p>
+
+<p>Choose from <code>AdobeCustom</code>, <code>AdobeExpert</code>,
+<code>AdobeStandard</code>, <code>AppleRoman</code>, <code>BIG5</code>,
+<code>GB2312</code>, <code>Latin 2</code>, <code>None</code>, <code>SJIScode</code>,
+<code>Symbol</code>, <code>Unicode</code>, <code>Wansung</code>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="endian"></a>-endian <var>type</var></h4>
+</div>
+
+<p class="magick-description">Specify endianness (<code>MSB</code> or <code>LSB</code>) of the image.</p>
+
+<p>To print a complete list of endian types, use the <a href="command-line-options.html#list">-list endian</a> option.</p>
+
+<p>Use <a href="command-line-options.html#endian">+endian</a> to revert to unspecified endianness.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="enhance"></a>-enhance</h4>
+</div>
+
+<p class="magick-description">Apply a digital filter to enhance a noisy image.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="equalize"></a>-equalize</h4>
+</div>
+
+<p class="magick-description">perform histogram equalization on the image channel-by-channel.</p>
+
+<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: ... <code>-colorspace HSL -channel lightness
+-equalize -colorspace RGB</code> ...</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 ... <code>-colorspace OHTA -channel red -equalize
+-colorspace RGB</code> ...</p>
+
+<div style="margin: auto;">
+  <h4><a id="evaluate"></a>-evaluate <var>operator value</var></h4>
+</div>
+
+<p class="magick-description">Alter channel pixels by evaluating an arithmetic, relational, or logical expression.</p>
+
+<p>(See the <a href="command-line-options.html#function">-function</a> operator for some
+multi-parameter functions. See the <a href="command-line-options.html#fx">-fx</a> operator if more
+elaborate calculations are needed.)</p>
+
+<p>The behaviors of each <var>operator</var> 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 <var>QuantumRange</var>. (If
+normalized pixels are used, they are restored, following the other
+calculations, to the full range by multiplying by <var>QuantumRange</var>.)</p>
+
+<table class="table table-condensed table-striped">
+  <col width="25%">
+  <col width="75%">
+  <thead>
+  <tr>
+  <th><var>operator</var></th>
+  <th>Summary (see further below for details)</th>
+  </tr>
+  </thead>
+  <tbody>
+
+    <tr><td>Abs </td>             <td>Add <var>value</var> to pixels and return absolute value. </td></tr>
+    <tr><td>Add </td>             <td>Add <var>value</var> to pixels. </td></tr>
+    <tr><td>AddModulus </td>      <td>Add <var>value</var> to pixels modulo <var>QuantumRange</var>.</td></tr>
+    <tr><td>And  </td>            <td>Binary AND of pixels with <var>value</var>.</td></tr>
+    <tr><td>Cos, Cosine </td>             <td>Apply cosine to pixels with frequency <var>value</var> with 50% bias added.</td></tr>
+    <tr><td>Divide  </td>         <td>Divide pixels by <var>value</var>.</td></tr>
+    <tr><td>Exp  </td>            <td>base-e exponential function</td></tr>
+    <tr><td>Exponential  </td>            <td>base-e exponential function</td></tr>
+    <tr><td>LeftShift </td>       <td>Shift the pixel values left by <var>value</var> bits (i.e., multiply pixels by 2<sup><var>value</var></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 <var>value</var>.</td></tr>
+    <tr><td>Mean  </td>            <td>Add the <var>value</var> and divide by 2.</td></tr>
+    <tr><td>Median  </td>          <td>Choose the median value from an image sequence.</td></tr>
+    <tr><td>Min  </td>            <td>Clip pixels at upper bound <var>value</var>.</td></tr>
+    <tr><td>Multiply </td>        <td>Multiply pixels by <var>value</var>.</td></tr>
+    <tr><td>Or  </td>             <td>Binary OR of pixels with <var>value</var>.</td></tr>
+    <tr><td>Pow </td>             <td>Raise normalized pixels to the power <var>value</var>.</td></tr>
+    <tr><td>RightShift </td>      <td>Shift the pixel values right by <var>value</var> bits (i.e., divide pixels by 2<sup><var>value</var></sup>).</td></tr>
+    <tr><td>RMS</td>            <td>Square the pixel and add the <var>value</var>.</td></tr>
+    <tr><td>RootMeanSquare</td>            <td>Square the pixel and add the <var>value</var>.</td></tr>
+    <tr><td>Set </td>             <td>Set pixel equal to <var>value</var>.</td></tr>
+    <tr><td>Sin, Sine </td>             <td>Apply sine to pixels with frequency <var>value</var> with 50% bias added.</td></tr>
+    <tr><td>Subtract </td>        <td>Subtract <var>value</var> from pixels.</td></tr>
+    <tr><td>Xor </td>             <td>Binary XOR of pixels with <var>value.</var></td></tr>
+
+    <tr><td> </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="command-line-options.html#noise">-noise</a> operators.)</td></tr>
+   <tr><td>PoissonNoise</td></tr>
+   <tr><td>Uniform-noise</td></tr>
+
+   <tr><td> </td></tr>
+
+   <tr><td>Threshold </td>       <td>Threshold pixels larger than <var>value</var>.</td></tr>
+   <tr><td>ThresholdBlack </td>  <td>Threshold pixels to zero values equal to or below <var>value</var>.</td></tr>
+   <tr><td>ThresholdWhite </td>  <td>Threshold pixels to maximum values above <var>value</var>.  </td></tr>
+ </tbody>
+ </table>
+
+<p>The specified functions are applied only to each previously set <a href="command-line-options.html#channel">-channel</a> in the image. If necessary, the results of the
+calculations are truncated (clipped) to fit in the interval [0, <var>QuantumRange</var>].  The transparency channel of the image is
+represented as a 'alpha' values (0 = fully transparent), so, for example, a
+<code>Divide</code> by 2 of the alpha channel will make the image
+semi-transparent.  Append the percent symbol '<code>%</code>' to specify a value
+as a percentage of the <var>QuantumRange</var>.</p>
+
+<p>To print a complete list of <a href="command-line-options.html#evaluate">-evaluate</a> operators, use
+<a href="command-line-options.html#list">-list evaluate</a>.</p>
+
+<p>The results of the <code>Add</code>, <code>Subtract</code> and
+<code>Multiply</code> methods can also be achieved using either the <a href="command-line-options.html#level">-level</a> or the <a href="command-line-options.html#level">+level</a> operator, with
+appropriate argument, to linearly modify the overall range of color values.
+Please note, however, that <a href="command-line-options.html#level">-level</a> treats transparency as
+'matte' values (0 = opaque), while <a href="command-line-options.html#level">-evaluate</a> works with
+'alpha' values.</p>
+
+<p><code>AddModulus</code> has been added as of ImageMagick 6.4.8-4 and provides
+addition modulo the <var>QuantumRange</var>. It is therefore
+equivalent to <code>Add</code> unless the resulting pixel value is outside the
+interval [0, <var>QuantumRange</var>]. </p>
+
+<p><code>Exp or Exponential</code> has been added as of ImageMagick 6.6.5-1 and
+works on normalized pixel values. The <var>value</var> used with
+<code>Exp</code> should be negative so as to produce a decaying exponential
+function. Non-negative values will always produce results larger unity and
+thus outside the interval [0, <var>QuantumRange</var>]. The
+formula is expressed below. </p>
+
+        <div style="text-align:center;">
+        exp(<var>value</var> × <b><var>u</var></b>)
+        </div>
+
+<p> If the input image is squared, for example, using <a href="command-line-options.html#-function">-function polynomial "2 0 0"</a>, then a decaying Gaussian function will be
+the result.</p>
+
+<p><code>Log</code> has been added as of ImageMagick 6.4.2-1 and works on
+normalized pixel values. This a <var>scaled</var> log function. The <var>value</var> used with <code>Log</code> provides a <var>scaling
+factor</var> that adjusts the curvature in the graph of the log function. The
+formula applied to a normalized value <b><var>u</var></b> is below. </p>
+
+        <div style="text-align:center;">
+        log(<var>value</var> × <b><var>u</var></b> + 1) / log(<var>value</var> + 1)
+        </div>
+
+<p><code>Pow</code> has been added as of ImageMagick 6.4.1-9, and works on
+normalized pixel values. Note that <code>Pow</code> is related to the <a href="command-line-options.html#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="command-line-options.html#gamma">-gamma</a> is simply the reciprocal of the value used
+with <code>Pow</code>.</p>
+
+<p><code>Cosine</code> and <code>Sine</code> 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 <code>Cos</code> and <code>Sin</code> may also be used.  The output
+is biased 50% and normalized by 50% so as to fit in the respective color value
+range.  The <var>value</var> scaling of the <var>period</var> 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 <var>value</var> is 1, the effective period is simply the <var>QuantumRange</var>; but if the <var>value</var> is 2,
+then the effective period is the <var>half</var> the <var>QuantumRange</var>.</p>
+
+        <div style="text-align:center;">
+        0.5 + 0.5 × cos(2 π <b><var>u</var></b> × <var>value</var>).
+        </div>
+
+<p>See also the <a href="command-line-options.html#function">-function</a> operator, which is a
+multi-value version of evaluate. </p>
+
+<div style="margin: auto;">
+  <h4><a id="evaluate-sequence"></a>-evaluate-sequence <var>operator</var></h4>
+</div>
+
+<p class="magick-description">Alter channel pixels by evaluating an arithmetic, relational, or
+logical expression over a sequence of images.</p>
+
+<p>To print a complete list of <a href="command-line-options.html#evaluate-sequence">-evaluate-sequence</a> operators, use <a href="command-line-options.html#list">-list evaluate</a>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="extent"></a>-extent <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Set the image size and offset.</p>
+
+<p>If the image is enlarged, unfilled areas are set to the background color.
+To position the image, use offsets in the <var>geometry</var>
+specification or precede with a <a href="command-line-options.html#gravity">-gravity</a> setting.  To
+specify how to compose the image with the background, use <a href="command-line-options.html#compose">-compose</a>.</p>
+
+<p>This command reduces or expands a JPEG image to fit on an 800x600
+display.  If the aspect ratio of the input image isn't exactly 4:3, then the
+image is centered on an 800x600 black canvas: </p>
+
+<pre>
+convert input.jpg -resize 800x600 -background black -compose Copy \ 
+  -gravity center -extent 800x600 -quality 92 output.jpg
+</pre>
+
+<p>See <a href="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 id="extract"></a>-extract <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Extract the specified area from image.</p>
+
+<p>This option is most useful for extracting a subregion of a very large raw
+image.  Note that these two commands are equivalent:</p>
+
+<pre>
+convert -size 16000x16000 -depth 8 -extract 640x480+1280+960 \ 
+  image.rgb image.png",
+convert -size 16000x16000 -depth 8 'image.rgb[640x480+1280+960]' \
+  image.rgb image.png"
+</pre>
+
+<p>If you omit the offsets, as in</p>
+
+<pre>
+convert -size 16000x16000 -depth 8 -extract 640x480 \ 
+  image.rgb image.png
+</pre>
+
+<p>the image is <var>resized</var> to the specified dimensions instead,
+equivalent to:</p>
+
+<pre>
+convert -size 16000x16000 -depth 8 -resize 640x480 image.rgb image.png
+</pre>
+
+<p>See <a href="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 id="family"></a>-family <var>fontFamily</var></h4>
+</div>
+
+<p class="magick-description">Set a font family for text.</p>
+
+<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="command-line-options.html#font">-font</a>, <a href="command-line-options.html#stretch">-stretch</a>, <a href="command-line-options.html#style">-style</a>, and <a href="command-line-options.html#weight">-weight</a>.  </p>
+
+<div style="margin: auto;">
+  <h4><a id="features"></a>-features <var>distance</var></h4>
+</div>
+
+<p class="magick-description">display (cooccurrence matrix) texture measure features for each channel in the image in each of four directions (horizontal, vertical, left and right diagonals) for the specified distance.</p>
+
+<pre>
+      Angular Second Moment
+      Contrast
+      Correlation
+      Sum of Squares Variance
+      Inverse Difference Moment
+      Sum Average
+      Sum Variance
+      Sum Entropy
+      Entropy
+      Difference Variance
+      Difference Entropy
+      Information Measure of Correlation 1
+      Information Measure of Correlation 2
+      Maximum Correlation Coefficient
+</pre>
+
+
+<div style="margin: auto;">
+  <h4><a id="fft"></a>-fft</h4>
+</div>
+
+<p class="magick-description">implements the forward discrete Fourier transform (DFT).</p>
+
+<p>This option is new as of ImageMagick 6.5.4-3 (and now working for Windows
+users in ImageMagick 6.6.0-9). It 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">Fourier
+Transform</a>, <a href="http://en.wikipedia.org/wiki/DFT">Discrete Fourier
+Transform</a> and <a href="http://en.wikipedia.org/wiki/FFT">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 is 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">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>
+
+<pre>
+convert image.png -fft fft_image.miff
+</pre>
+
+<p>generates a magnitude image as <code>fft_image.miff[0]</code> and a phase
+image as <code>fft_image.miff[1]</code>. Similarly,</p>
+
+<pre>
+convert image.png -fft fft_image.png
+</pre>
+
+<p>generates a magnitude image as <code>fft_image-0.png</code> and a phase image
+as <code>fft_image-1.png</code>. If you prefer this representation, then you can
+force any of the other formats to produce two output images by including <a href="command-line-options.html#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
+is 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 is square at this size. The kind of padding relies on the <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting.</p>
+
+<p>Both output components will have dynamic ranges that fit within
+[0, <var>QuantumRange</var>], so that HDRI need not be enabled.
+Phase values nominally range from 0 to 2*π, but is scaled to span the full
+dynamic range.  (The first few releases had non-HDRI scaled but HDRI not
+scaled). 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>
+
+<pre>
+convert fft_image.miff[0] -contrast-stretch 0 \
+  -evaluate log 1000 fft_image_spectrum.png"
+</pre>
+
+<p>where either <a href="command-line-options.html#contrast-stretch">-contrast-stretch</a> 0 or <a href="command-line-options.html#auto-level">-auto-level</a> is used to scale the image to full dynamic
+range, first. The argument to the <a href="command-line-options.html#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/">FFTW</a> delegate library is required to
+use <a href="command-line-options.html#fft">-fft</a>.</p>
+
+<p>Use <a href="command-line-options.html#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, PFM or MPC 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. With either
+MIFF or TIF, one should add -define quantum:format=32, to allow those image
+types to work properly in HDRI mode without clipping.</p>
+
+<p>The real and imaginary component images resulting from <a href="command-line-options.html#fft">+fft</a> are also square, even dimensioned images due to the same
+padding that was discussed above for the magnitude and phase component
+images.</p>
+
+<p>See the discussion on HDRI implementations of ImageMagick on the page <a href="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, <a href="http://www.fmwconcepts.com/imagemagick/fourier_transforms/fourier.html">Fred's Fourier Processing With ImageMagick page</a> or this <a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">Wikipedia</a>
+ entry.  </p>
+
+<p>By default the FFT is normalized (and the IFT is not). Use "<code><a href="command-line-options.html#define">-define</a> fourier:normalize=forward</code> to explicityly normalize the FFT and unnormalize the IFT.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="fill"></a>-fill <var>color</var></h4>
+</div>
+
+<p class="magick-description">color to use when filling a graphic primitive.</p>
+
+<p>This option accepts a color name, a hex color, or a numerical RGB, RGBA,
+HSL, HSLA, CMYK, or CMYKA specification.  See <a href="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="command-line-options.html#draw">-draw</a> for further details.</p>
+
+<p>To print a complete list of color names, use the <a href="command-line-options.html#list">-list color</a> option.</p>
+
+<div style="margin: auto;">
+  <h4><a id="filter"></a>-filter <var>type</var></h4>
+</div>
+
+<p class="magick-description">Use this <var>type</var> of filter when resizing or distorting an image.</p>
+
+<p>Use this option to affect the resizing operation of an image during
+operations such as <a href="command-line-options.html#resize">-resize</a> and <a href="command-line-options.html#distort">-distort</a>. For example you can use a simple resize filter such as:</p>
+
+<pre>
+   Point       Hermite       Cubic
+   Box         Gaussian      Catrom
+   Triangle    Quadratic     Mitchell
+</pre>
+
+<p>The <code>Bessel</code> and <code>Sinc</code> filter is also provided (as well
+as a faster <code>SincFast</code> equivalent form).  However these filters are
+generally useless on their own as they are infinite filters that are being
+clipped to the filters support size. Their direct use is not recommended
+except via expert settings (see below). </p>
+
+<p>Instead these special filter functions are typically windowed by a windowing
+function that the <a href="command-line-options.html#filter">-filter</a> setting defines.   That is
+using these functions will define a 'Windowed' filter, appropriate to the
+operator involved.  Windowed filters include: </p>
+
+<pre>
+   Lanczos       Hamming       Parzen
+   Blackman      Kaiser        Welsh
+   Hanning       Bartlett      Bohman
+</pre>
+
+<p>Also one special self-windowing filter is also provided
+<code>Lagrange</code>, 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
+<code>Mitchell</code> for a colormapped image, an image with a matte channel, or
+if the image is enlarged.  Otherwise the filter default to
+<code>Lanczos</code>.</p>
+
+<p>To print a complete list of resize filters, use the <a href="command-line-options.html#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 (see also <a href="command-line-options.html#define">-define</a> and <a href="command-line-options.html#set">-set</a>):-</p>
+
+<dl>
+<dt>-define filter:blur=<var>factor</var></dt>
+<dd>Scale the X axis of the filter (and its window). Use &gt; 1.0 for
+    blurry or &lt; 1.0 for sharp. This should only be used with Gaussian and
+    Gaussian-like filters simple filters, or you may not get the expected
+    results. </dd>
+
+<dt>-define filter:support=<var>radius</var></dt>
+<dd>Set the filter support radius. Defines how large the filter should be and
+    thus directly defines how slow the filtered resampling process is. All
+    filters have a default 'prefered' support size. Some filters like
+    <code>Lagrange</code> and windowed filters adjust themselves depending on
+    this value.  With simple filters this value either does nothing (but slow
+    the resampling), or will clip the filter function in a detrimental way.
+    </dd>
+
+<dt>-define filter:lobes=<var>count</var></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, that is
+    designed to be more suited to windowed filters, especially when used for
+    image distorts.</dd>
+
+<dt>-define filter:sigma=<var>value</var></dt>
+<dd>The 'sigma' value used to define the <code>Gaussian</code> filter.  Default
+    sigma value is '<code>0.5</code>'.  It only effects <code>Gaussian</code> but
+    does not shrink (but may enlarge) the filter's 'support'.  It can be used
+    to generate very small blurs but without the filter 'missing' pixels due
+    to using a small support setting. A larger value of '<code>0.707</code>'
+    (a value of '1/sqrt(2)') is another common setting. </dd>
+
+<dt>-define filter:b=<var>b-spline_factor</var></dt>
+<dt>-define filter:c=<var>keys_alpha_factor</var></dt>
+<dd>Redefine the values used for cubic filters such as <code>Cubic</code>,
+    <code>Catrom</code>, <code>Mitchel</code>, and <code>Hermite</code>, as well as
+    the <code>Parzen</code> cubic windowing function. If only one of the values
+    are defined, the other is set so as to generate a 'Cubic-Keys' filter.
+    The values meaning was defined by a research paper by
+    Mitchell-Netravali.</dd>
+
+<dt>-define filter:kaiser-beta=<var>value</var></dt>
+<dd>The 'alpha' value used to as part of the Kaiser Windowing function.
+    Default value is '6.5'.  It only effects Kaiser windowing function, and
+    does not effect any other attributes.</dd>
+
+<dd>Before IM v6.7.6-10, this option was known as "filter:alpha", (an
+    inheritance from the very old "zoom" program). It was changed to bring the
+    function in line with more modern academic research usage, and better
+    assign it be more definitive.  </dd>
+
+<dt>-define filter:kaiser-alpha=<var>value</var></dt>
+<dd>This value when multiplied by 'PI' is equivalent to "kaiser-beta", and
+    will override that setting.  It only effects Kaiser windowing function,
+    and does not effect any other attributes. </dd>
+
+<dt>-define filter:filter=<var>filter_function</var></dt>
+<dd>Use this function directly as the weighting filter.  This will allow
+    you to directly use a windowing function such as <code>Blackman</code>,
+    as a resampling filter, rather than as its normal usage as a windowing
+    function. </dd>
+
+<dd>If defined, no windowing function also defined, the window function is set
+    to <code>Box</code>). Directly specifying <code>Sinc</code> or <code>Jinc</code>
+    as a filter will also do this. </dd>
+
+<dt>-define filter:window=<var>filter_function</var></dt>
+<dd>The IIR (infinite impulse response) filters <code>Sinc</code> and
+    <code>Jinc</code> are windowed (brought down to zero over the defined
+    support range) with the given filter. This allows you to specify a filter
+    function to be used as a windowing function for these IIR filters. </dd>
+
+<dd>Many of the defined filters are actually windowing functions for these IIR
+    filters.  A typical choices is <code>Box</code>, (which effectively turns
+    off the windowing function).  </dd>
+
+<dt>-define filter:win-support=<var>radius</var></dt>
+<dd>Scale windowing function to this size instead.  This causes the windowing
+    (or self-windowing Lagrange filter) to act is if the support window is
+    larger than what is actually supplied to the calling operator.  The filter
+    however is still clipped to the real support size given.  If unset this
+    will equal the normal filter support size. </dd>
+
+<dt>-define filter:verbose=<var>1</var></dt>
+<dd>This causes IM to print information on the final internal filter
+    selection to standard output.  This includes a commented header on the
+    filter settings being used, and data allowing the filter weights to be
+    easily graphed. </dd>
+
+<dd>Note however that some filters are internally defined in terms of other
+    filters.  The <code>Lanczos</code> filter for example is defined in terms of
+    a <code>SincFast</code> windowed <code>SincFast</code> filter, while
+    <code>Mitchell</code> is defined as a general <code>Cubic</code> family filter
+    with specific 'B' and 'C' settings. </dd>
+
+</dl>
+
+<p>For example, to get a 8 lobe jinc windowed sinc filter (Genseng filter?):</p>
+
+<pre>
+convert image.png \
+  -filter sinc \
+  -set filter:window=jinc \
+  -set filter:lobes=8 \
+  -resize 150%   image.jpg"
+</pre>
+
+<p>Or a raw un-windowed Sinc filter with 4 lobes:</p>
+
+<pre>
+convert image.png \
+  -set filter:filter=sinc \
+  -set filter:lobes=4 \
+  -resize 150%   image.jpg"
+</pre>
+
+<p>To extract the data for a raw windowing function, combine it with
+a '<code>Box</code>' filter.  For example the '<code>Welch</code> parabolic
+windowing function. </p>
+
+<pre>
+convert null: -define filter:filter=Box \
+  -define filter:window=Welch \
+  -define filter:support=1.0 \
+  -define filter:verbose=1 \
+  -resize 2 null:  &gt; window_welch.dat
+gnuplot
+  set grid
+  plot \"window_welch.dat\" with lines
+</pre>
+
+<p>Note that the use of expert options is provided for image processing experts
+who have studied and understand how resize filters work. Without this
+knowledge, and an understanding of the definition of the actual filters
+involved, using expert settings are more likely to be detrimental to your image
+resizing.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="flatten"></a>-flatten</h4>
+</div>
+
+<p class="magick-description">This is a simple alias for the <a href="command-line-options.html#layers">-layers</a> method "flatten".</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="flip"></a>-flip</h4>
+</div>
+
+<p class="magick-description">create a <var>mirror image</var></p>
+
+<p>reflect the scanlines in the vertical direction. The image will be mirrored
+upside-down. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="floodfill"></a>-floodfill {<var>+-</var>}<var>x</var>{<var>+-</var>}<var>y</var> <var>color</var></h4>
+</div>
+
+<p class="magick-description">floodfill the image with color at the specified offset.</p>
+
+<p>Flood fill starts from the given 'seed point' which is not gravity effected.
+Any color that matches within <a href="command-line-options.html#fuzz">-fuzz</a> color distance of the
+given <var>color</var>  argument, connected to that 'seed point'
+will be replaced with the current <a href="command-line-options.html#fill">-fill</a> color. </p>
+
+<p>Note that if the pixel at the 'seed point' does not itself match the given
+<var>color</var> (according to <a href="command-line-options.html#fuzz">-fuzz</a>), then no
+action will be taken. </p>
+
+<p>This operator works more like the <a href="command-line-options.html#opaque">-opaque</a> option, than
+a more general flood fill that reads the matching color directly at the 'seed
+point'. For this form of flood fill, look at <a href="command-line-options.html#draw">-draw</a>  and
+its 'color floodfill' drawing method.  </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="flop"></a>-flop</h4>
+</div>
+
+<p class="magick-description">create a <var>mirror image</var>.</p>
+
+<p>Reflect the scanlines in the horizontal direction, just like the image in
+a vertical mirror. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="font"></a>-font <var>name</var></h4>
+</div>
+
+<p class="magick-description">set the font to use when annotating images with text, or creating labels.</p>
+
+<p>To print a complete list of fonts, use the <a href="command-line-options.html#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 <code>Arial.ttf</code>
+is a TrueType font file, <code>ps:helvetica</code> is PostScript font, and
+<code>x:fixed</code> is X11 font.</p>
+
+<p>For other settings that affect fonts, see the options <a href="command-line-options.html#family">-family</a>, <a href="command-line-options.html#stretch">-stretch</a>, <a href="command-line-options.html#style">-style</a>, and <a href="command-line-options.html#weight">-weight</a>. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="foreground"></a>-foreground <var>color</var></h4>
+</div>
+
+<p class="magick-description">Define the foreground color for menus.", "display</p>
+
+<p>The color is specified using the format described under the <a href="command-line-options.html#fill">-fill</a> option.</p>
+
+<p>The default foreground color is black.</p>
+
+<div style="margin: auto;">
+  <h4><a id="format"></a>-format <var>type</var></h4>
+</div>
+
+<p class="magick-description">the image format type.</p>
+
+<p>When used with the <code>mogrify</code> utility, this option converts any
+image to the image <a href="formats.html">format</a> you specify.
+For a list of image format types supported by ImageMagick, use <a href="command-line-options.html#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="command-line-options.html#format">-format</a>. For
+example, if you specify <var>tiff</var> as the format type and the
+input image filename is <var>image.gif</var>, the output image
+filename becomes <var>image.tiff</var>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="format_identify_"></a>-format <var>string</var></h4>
+</div>
+
+<p class="magick-description">output formatted image characteristics.</p>
+
+<p>See <a href="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 id="frame"></a>-frame <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Surround the image with a border or beveled frame.</p>
+
+<p>The color of the border is specified with the <a href="command-line-options.html#mattecolor">-mattecolor</a> command line option. </p>
+
+<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. The <var>size</var> portion of the <var>geometry</var> 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 <var>geometry</var> argument, then the border added is
+a solid color.  Offsets <var>x</var> and <var>y</var>, if present, specify that
+the width and height of the border is partitioned to form an outer bevel of
+thickness <var>x</var> pixels and an inner bevel of thickness
+<var>y</var> pixels. Negative offsets make no sense as frame arguments.
+</p>
+
+<p>The <a href="command-line-options.html#frame">-frame</a> option is affected by the current <a href="command-line-options.html#compose">-compose</a> setting and assumes that this is using the default
+'<code>Over</code>' composition method.  It generates an image of the appropriate
+size with the current <a href="command-line-options.html#bordercolor">-bordercolor</a> setting, and then
+draws the frame of four distinct colors close to the current <a href="command-line-options.html#mattecolor">-mattecolor</a>.  The original image is then overlaid onto
+center of this image.  This means that with the default compose method of
+'<code>Over</code>' any transparent parts may be replaced by the current <a href="command-line-options.html#bordercolor">-bordercolor</a> setting.</p>
+
+<p>The image composition is not
+affected by the <a href="command-line-options.html#gravity">-gravity</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="frame_import_"></a>-frame</h4>
+</div>
+
+<p class="magick-description">include the X window frame in the imported image. </p>
+<div style="margin: auto;">
+  <h4><a id="function"></a>-function <var>function</var> <var>parameters</var></h4>
+</div>
+
+<p class="magick-description">Apply a function to channel values.</p>
+
+<p>This operator performs calculations based on the given arguments to modify
+each of the color values for each previously set <a href="command-line-options.html#channel">-channel</a> in the image. See <a href="command-line-options.html#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="command-line-options.html#evaluate">-evaluate</a> operator. (Added in
+ImageMagick 6.4.8−8.)</p>
+
+<p>Here,  <var>parameters</var> is a comma-separated list of
+numerical values. The number of values varies depending on which <var>function</var> is selected. Choose the <var>function</var> from:</p>
+
+<pre>
+   Polynomial
+   Sinusoid
+   Arcsin
+   Arctan
+</pre>
+
+<p>To print a complete list of <a href="command-line-options.html#function">-function</a> operators,
+use <a href="command-line-options.html#list">-list function</a>. Descriptions follow.</p>
+
+<dl>
+<dt><code>Polynomial</code></dt>
+<dd>
+
+<p>The <code>Polynomial</code> 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 <var>a</var><sub><var>n</var></sub>,<var>a</var><sub><var>n</var>-1</sub>,...<var>a</var><sub>1</sub>,<var>a</var><sub>0</sub>
+</div>
+
+<p>will invoke a polynomial function given by</p>
+
+<div style="text-align: center">
+   <var>a</var><sub><var>n</var></sub> <b><var>u</var></b><sup><var>n</var></sup> +
+   <var>a</var><sub><var>n</var>-1</sub> <b><var>u</var></b><sup><var>n</var>-1</sup> +
+   ··· <var>a</var><sub>1</sub> <b><var>u</var></b> + <var>a</var><sub>0</sub>,
+</div>
+
+<p>where <b><var>u</var></b> is pixel's original normalized channel value.</p>
+
+<p>The <code>Polynomial</code> function can be used in place of <code>Set</code>
+(the <var>constant</var> polynomial) and <code>Add</code>, <code>Divide</code>,
+<code>Multiply</code>, and <code>Subtract</code> (some <var>linear</var>
+polynomials) of the <a href="command-line-options.html#evaluate">-evaluate</a> operator. The <a href="command-line-options.html#level">-level</a> operator also affects channels linearly. Some
+correspondences follow.</p>
+
+<table class="table table-condensed table-striped">
+  <col width="35%">
+  <col width="35%">
+  <col width="30%">
+  <tr>
+        <td>-evaluate Set <var>value</var> </td>
+        <td>-function Polynomial <var>value</var></td>
+        <td>(Constant functions; set <var>value</var>×100% gray when channels are RGB.)</td>
+  </tr>
+  <tr>
+        <td>-evaluate Add <var>value</var> </td>
+        <td>-function Polynomial 1,<var>value</var></td>
+  </tr>
+  <tr>
+        <td>-evaluate Subtract <var>value</var> </td>
+        <td>-function Polynomial 1,−<var>value</var></td>
+  </tr>
+  <tr>
+        <td>-evaluate Multiply <var>value</var> </td>
+        <td>-function Polynomial <var>value</var>,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 <code>Polynomial</code> function gives great versatility, since
+polynomials can be used to fit any continuous curve to any degree of accuracy
+desired.</p>
+
+</dd>
+
+<dt><code>Sinusoid</code></dt>
+<dd>
+<p>The <code>Sinusoid</code> 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 <code>Sinusoid</code> <var>freq</var>,[<var>phase</var>,[<var>amp</var>,[<var>bias</var>]]]
+</div>
+
+<p>where <var>phase</var> is in degrees. (The domain [0,1] of the function
+corresponds to 0 through <var>freq</var>×360 degrees.)
+The result is that if a pixel's normalized channel value is originally
+<b><var>u</var></b>, its resulting normalized value is given by </p>
+
+<div style="text-align: center">
+<var>amp</var> * sin(2*π* (<var>freq</var> * <b><var>u</var></b> + <var>phase</var> / 360)) + <var>bias</var>
+</div>
+
+<p> For example, the following generates a curve that starts and ends at 0.9
+(when <b><var>u</var></b>=0 and 1, resp.), oscillating three times between
+.7−.2=.5 and .7+.2=.9. </p>
+
+<p class="crtsnip">
+   -function Sinusoid 3,-90,.2,.7
+</p>
+
+<p>The default values of <var>amp</var> and <var>bias</var> are both .5. The default for <var>phase</var>
+is 0.</p>
+
+<p>The <code>Sinusoid</code> function generalizes <code>Sin</code> and
+<code>Cos</code> of the <a href="command-line-options.html#evaluate">-evaluate</a> operator by allowing
+varying amplitude, phase and bias. The correspondence is as follows.</p>
+
+<table class="table table-condensed table-striped">
+  <tr>
+        <td>-evaluate Sin <var>freq</var> </td>
+        <td>-function Sinusoid <var>freq</var>,0 </td>
+  </tr>
+  <tr>
+        <td>-evaluate Cos <var>freq</var> </td>
+        <td>-function Sinusoid <var>freq</var>,90 </td>
+  </tr>
+</table>
+</dd>
+
+<dt><code>ArcSin</code></dt>
+<dd>
+<p>The <code>ArcSin</code> 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.</p>
+
+<p style="text-align: center">
+   -function <code>ArcSin</code> <var>width</var>,[<var>center</var>,[<var>range</var>,[<var>bias</var>]]]
+</p>
+
+<p>with all values given in terms of normalized 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 (<var>width</var>), and output (<var>width</var>) values. '<code>1.0,0.5,1.0,0.5</code>' </p>
+
+<p style="text-align: center">
+<var>range</var>/π * asin( 2/<var>width</var> * ( <b><var>u</var></b> - <var>center</var> ) ) + <var>bias</var>
+</p>
+
+</dd>
+
+<dt><code>ArcTan</code></dt>
+<dd>
+<p>The <code>ArcTan</code> 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.</p>
+
+<p style="text-align: center">
+   -function <code>ArcTan</code> <var>slope</var>,[<var>center</var>,[<var>range</var>,[<var>bias</var>]]]
+</p>
+
+<p>Defaulting to '<code>1.0,0.5,1.0,0.5</code>'.
+</p>
+
+<p style="text-align: center">
+<var>range</var>/π * atan( <var>slope</var>*π * ( <b><var>u</var></b> - <var>center</var> ) ) + <var>bias</var>
+</p>
+
+</dd>
+
+</dl>
+
+
+<div style="margin: auto;">
+  <h4><a id="fuzz"></a>-fuzz <var>distance</var>{<var>%</var>}</h4>
+</div>
+
+<p class="magick-description">Colors within this <var>distance</var> are considered equal.</p>
+
+<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="command-line-options.html#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 <var>distance</var> can be in absolute intensity units or, by
+appending <code>%</code> as a percentage of the maximum possible intensity (255,
+65535, or 4294967295).</p>
+
+<p>Use <a href="command-line-options.html#fuzz">+fuzz</a> to reset the fuzz value to 0.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="fx"></a>-fx <var>expression</var></h4>
+</div>
+
+<p class="magick-description">apply a mathematical expression to an image or image channels.</p>
+
+<p>If the first character of <var>expression</var> is <code>@</code>,
+the expression is read from a file titled by the remaining characters in the
+string.</p>
+
+<p>See <a href="fx.html">FX,
+The Special Effects Image Operator</a> for a detailed discussion of this
+option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="gamma"></a>-gamma <var>value</var></h4>
+</div>
+
+<p class="magick-description">level of gamma correction.</p>
+
+<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
+<code>0.8</code> to <code>2.3</code>. 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.,
+<code>1.7,2.3,1.2</code>).</p>
+
+<p>Use <a href="command-line-options.html#gamma">+gamma <var>value</var></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).  Write the "file gamma" which is the reciprocal of the
+display gamma; e.g., if your image is sRGB and you want to write a PNG gAMA
+chunk, use</p>
+
+<pre>
+convert input.png +gamma .45455 output.png
+</pre>
+
+<p>(0.45455 is 1/2.2)</p>
+
+<p>Note that gamma adjustments are also available via the <a href="command-line-options.html#level">-level</a> operator.</p>
+
+<div style="margin: auto;">
+  <h4><a id="gaussian-blur"></a>-gaussian-blur <var>radius</var><br>-gaussian-blur <var>radius</var>x<var>sigma</var></h4>
+</div>
+
+<p class="magick-description">Blur the image with a Gaussian operator.</p>
+
+<p>Convolve the image with a Gaussian or normal distribution using the given
+<var>Sigma</var> value.  The formula is:</p>
+
+<div class="eqn"><img alt="gaussian distribution" width="243px" height="42px" src="../images/gaussian-blur.png">
+</div>
+
+<p>The <var>Sigma</var> value is the important argument, and
+determines the actual amount of blurring that will take place. </p>
+
+<p>The <var>Radius</var> is only used to determine the size of the
+array which will hold the calculated Gaussian distribution. It should be an
+integer.  If not given, or set to zero, IM will calculate the largest possible
+radius that will provide meaningful results for the Gaussian distribution.
+</p>
+
+<p>The larger the <var>Radius</var> the radius the slower the
+operation is. However too small a <var>Radius</var>, and sever
+aliasing effects may result.  As a guideline, <var>Radius</var>
+should be at least twice the <var>Sigma</var> value, though three
+times will produce a more accurate result. </p>
+
+<p>This differs from the faster <a href="command-line-options.html#blur">-blur</a> operator in that a
+full 2-dimensional convolution is used to generate the weighted average of the
+neighboring pixels. </p>
+
+<p>The <a href="command-line-options.html#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 id="geometry"></a>-geometry <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Set the preferred size and location of the image.</p>
+
+<p>See <a href="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 id="gravity"></a>-gravity <var>type</var></h4>
+</div>
+
+<p class="magick-description">Sets the current gravity suggestion for various other settings and options.</p>
+
+<p>Choices include: <code>NorthWest</code>, <code>North</code>,
+<code>NorthEast</code>, <code>West</code>, <code>Center</code>, <code>East</code>,
+<code>SouthWest</code>, <code>South</code>, <code>SouthEast</code>.  Use <a href="command-line-options.html#list">-list gravity</a> to get a complete list of <a href="command-line-options.html#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 <code>Center</code> forces the text to be centered within
+the image. By default, the image gravity is <code>NorthWest</code>. See <a href="command-line-options.html#draw">-draw</a> for more details about graphic primitives.  Only the
+text primitive of <a href="command-line-options.html#draw">-draw</a> is affected by the <a href="command-line-options.html#gravity">-gravity</a> option.</p>
+
+<p>The <a href="command-line-options.html#gravity">-gravity</a> option is also used in concert with the
+<a href="command-line-options.html#geometry">-geometry</a> setting and other settings or options that
+take <var>geometry</var> as an argument, such as the <a href="command-line-options.html#crop">-crop</a> option. </p>
+
+<p>If a <a href="command-line-options.html#gravity">-gravity</a> setting occurs before another option
+or setting having a <var>geometry</var> argument that specifies an
+offset, the offset is usually applied to the point within the image suggested
+by the <a href="command-line-options.html#gravity">-gravity</a> argument.  Thus, in the following
+command, for example, suppose the file <code>image.png</code> has dimensions
+200x100. The offset specified by the argument to <a href="command-line-options.html#region">-region</a>
+is (−40,+20). The argument to <a href="command-line-options.html#gravity">-gravity</a> is
+<code>Center</code>, which suggests the midpoint of the image, at the point
+(100,50). The offset (−40,20) is applied to that point, giving
+(100−40,50+20)=(60,70), so the specified 10x10 region is located at
+that point. (In addition, the <a href="command-line-options.html#gravity">-gravity</a> affects the
+region itself, which is <var>centered</var> at the pixel
+coordinate (60,70). (See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.)</p>
+
+<pre>
+convert image.png -gravity Center -region 10x10-40+20 \ 
+  -negate output.png
+</pre>
+
+<p>When used as an option to <a href="composite.html">composite</a>, <a href="command-line-options.html#gravity">-gravity</a> gives the direction that the image gravitates
+within the composite.</p>
+
+<p>When used as an option to <a href="montage.html">montage</a>, <a href="command-line-options.html#gravity">-gravity</a> gives the direction that an image gravitates
+within a tile. The default gravity is <code>Center</code> for this purpose.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="grayscale"></a>-grayscale <var>method</var></h4>
+</div>
+
+<p class="magick-description">convert image to grayscale.</p>
+
+<p>This will use one of the <a href="command-line-options.html#intensity">-intensity</a> methods to
+convert the given image into a linear-grayscale image. </p>
+
+<p>For example, to convert an image to (linear) Rec709Luminance grayscale,  type:</p>
+
+<pre>
+convert in.png -grayscale Rec709Luminance out.png
+</pre>
+
+<p>which is equivalent to:</p>
+
+<pre>
+convert in.png -colorspace gray out.png
+</pre>
+
+<p>Similarly, to convert an image to (non-linear) Rec709Luma grayscale,  type:</p>
+
+<pre>
+convert in.png -grayscale Rec709Luma out.png
+</pre>
+
+<p>which is equivalent to:</p>
+
+<pre>
+convert in.png -set colorspace RGB -colorspace gray out.png
+</pre>
+
+<p>Note that a 'colorspace' intensity method will produce the same result
+regardless of the current colorpsace of the image. But a 'mathematical'
+intensity method will depend on the current colorspace the image is currently
+using. </p>
+
+<p>While this operation uses an <a href="command-line-options.html#intensity">-intensity</a> method, 
+it does not use or set the <a href="command-line-options.html#intensity">-intensity</a> setting, so
+will not effect other operations that may use that setting.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="green-primary"></a>-green-primary <var>x,y</var></h4>
+</div>
+
+<p class="magick-description">green chromaticity primary point.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="hald-clut"></a>-hald-clut</h4>
+</div>
+
+<p class="magick-description">apply a Hald color lookup table to the image.</p>
+
+<p>A Hald color lookup table is a 3-dimensional color cube mapped to 2
+dimensions.  Create it with the <code>HALD:</code> 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>
+
+<pre>
+convert image.png hald.png -hald-clut transform.png
+</pre>
+
+<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="command-line-options.html#channel">-channel</a> setting effected, nor can it adjust or modify an
+images transparency or alpha/matte channel.</p>
+
+<p>See also <a href="command-line-options.html#clut">-clut</a> which provides color value replacement
+of the individual color channels, usually involving a simpler gray-scale
+image. E.g:  gray-scale to color replacement, or modification by a histogram
+mapping. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="help"></a>-help</h4>
+</div>
+
+<p class="magick-description">print usage instructions.</p>
+
+<div style="margin: auto;">
+  <h4><a id="highlight-color"></a>-highlight-color <var>color</var></h4>
+</div>
+
+<p class="magick-description">when comparing images, emphasize pixel differences with this color.</p>
+
+<div style="margin: auto;">
+  <h4><a id="hough-lines"></a>-hough-lines <var>width</var>x<var>height</var>{<var>+threshold</var>}</h4>
+</div>
+
+<p class="magick-description">identify straight lines in the image (e.g. -hough-lines 9x9+195).</p>
+
+<p>Use the Hough line detector with any binary edge extracted image to locate and draw any straight lines that it finds.</p>
+
+<p>The process accumulates counts for every white pixel in the binary edge image for every possible orientation (for angles from 0 to 179 in 1 deg increments) and distance from the center of the image to the corners (in 1 px increments). It stores the counts in an accumulator matrix of angle vs distance. The size of the accumulator will be 180x(diagonal/2). Next it searches the accumulator for peaks in counts and converts the locations of the peaks to slope and intercept in the normal x,y input image space. The algorithm uses slope/intercepts to find the endpoints clipped to the bounds of the image. The lines are drawn from the given endpoints. The counts are a measure of the length of the lines.</p>.
+
+<p>The WxH arguments specify the filter size for locating the peaks in the Hough accumulator. The threshold excludes lines whose counts are less than the threshold value.</p>
+
+<p>Use <code><a href="command-line-options.html#background">-background</a></code> to specify the color of the background onto which the lines will be drawn. The default is black.</p>
+
+<p>Use <code><a href="command-line-options.html#fill">-fill</a></code> to specify the color of the lines. The default is black.</p>
+
+<p>Use <code><a href="command-line-options.html#stroke">-stroke</a></code> and <code><a href="command-line-options.html#strokewidth">-strokewidth</a></code> to specify the thickness of the lines. The default is black and no strokewidth.</p>
+
+<p>A text file listing the endpoints and counts may be created by using the suffix, .mvg, for the output image.</p>
+
+<p>Use <code><a href="command-line-options.html#define">-define</a> hough-lines:accumulator=true</code> to return the accumulator image in addition to the lines image.</p>
+
+<div style="margin: auto;">
+  <h4><a id="iconGeometry"></a>-iconGeometry <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">specify the icon geometry.</p>
+
+<p>Offsets, if present in the geometry specification, are handled in the same
+manner as the <a href="command-line-options.html#geometry">-geometry</a> option, using X11 style to
+handle negative offsets.</p>
+
+<p>See <a href="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 id="iconic"></a>-iconic</h4>
+</div>
+
+<p class="magick-description">start in icon mode in X Windows", 'animate', 'display</p>
+
+<div style="margin: auto;">
+  <h4><a id="identify"></a>-identify</h4>
+</div>
+
+<p class="magick-description">identify the format and characteristics of the image.</p>
+
+<p>This information is printed: image scene number; image name; image size;
+the image class (<var>DirectClass</var> or <var>PseudoClass</var>); the total number of unique colors; and the
+number of seconds to read and transform the image. Refer to <a href="miff.html">MIFF</a> for
+a description of the image class.</p>
+
+<p>If <a href="command-line-options.html#colors">-colors</a> is also specified, the total unique colors
+in the image and color reduction error values are printed. Refer to <a href="quantize.html">color
+reduction algorithm</a> for a description of these values.</p>
+
+<p>If <a href="command-line-options.html#verbose">-verbose</a> precedes this option, copious
+amounts of image properties are displayed including image statistics, profiles,
+image histogram, and others.</p>
+
+<div style="margin: auto;">
+  <h4><a id="ift"></a>-ift</h4>
+</div>
+
+<p class="magick-description">implements the inverse discrete Fourier transform (DFT).</p>
+
+<p>This option is new as of ImageMagick 6.5.4-3 (and now working for Windows
+users in ImageMagick 6.6.0-9). It 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">Fourier Transform</a>,
+<a href="http://en.wikipedia.org/wiki/DFT">Discrete Fourier Transform</a> and
+<a href="http://en.wikipedia.org/wiki/FFT">Fast Fourier Transform</a>.</p>
+
+<p>For example, depending upon the image format used to store the result of
+the <a href="command-line-options.html#fft">-fft</a>, one would use either</p>
+
+<pre>
+convert fft_image.miff -ift fft_image_ift.png
+</pre>
+
+<p>or</p>
+
+<pre>
+convert fft_image-0.png fft_image-1.png -ift fft_image_ift.png
+</pre>
+
+<p>The resulting image may need to be cropped due to padding introduced when
+the original image, prior to the <a href="command-line-options.html#fft">-fft</a> or <a href="command-line-options.html#fft">+fft</a>, was not square or even dimensioned. Any padding is at
+the right and/or bottom sides of the image.</p>
+
+<p>The <a href="http://www.fftw.org/">FFTW</a> delegate library is required to
+use <a href="command-line-options.html#ift">-ift</a>.</p>
+
+<p>Use <a href="command-line-options.html#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.</p>
+
+<p>By default the IFT is not normalized (and the FFT is). Use "<code><a href="command-line-options.html#define">-define</a> fourier:normalize=inverse</code> to explictly normalize the IFT and unnormalize the FFT.</p>
+
+<div style="margin: auto;">
+  <h4><a id="immutable"></a>-immutable</h4>
+</div>
+
+<p class="magick-description">make image immutable.</p>
+
+<div style="margin: auto;">
+  <h4><a id="implode"></a>-implode <var>factor</var></h4>
+</div>
+
+<p class="magick-description">implode image pixels about the center.</p>
+
+<div style="margin: auto;">
+  <h4><a id="insert"></a>-insert <var>index</var></h4>
+</div>
+
+<p class="magick-description">insert the last image into the image sequence.</p>
+
+<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
+<code>-insert -1</code> will result in no change to the image sequence.</p>
+
+<p>The <code>+insert</code> option is equivalent to <code>-insert -1</code>. 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 id="intensity"></a>-intensity <var>method</var></h4>
+</div>
+
+<p class="magick-description">method to generate intensity value from pixel.</p>
+
+<p>ImageMagick provides a number of methods used in situations where an
+operatory needs to determine a single grayscale value for some purpose, from
+an image with red, green, and blue pixel components. Typically the linear
+<code>Rec709Luminance</code> formula is used, which is the same formula used when 
+converting images to <code>-colorspace gray</code>. </p>
+
+<p>The following formulas are currently provided, and will first convert
+the pixel values to linear-RGB or non-linear sRGB colorspace before
+being applied to calulate the final greyscale value. </p>
+
+<pre>
+   Rec601Luma        0.298839R' + 0.586811G'+ 0.114350B'
+   Rec601Luminance   0.298839R + 0.586811G + 0.114350B
+   Rec709Luma        0.212656R' + 0.715158G' + 0.072186B'
+   Rec709Luminance   0.212656R + 0.715158G + 0.072186B
+   Brightness        max(R', G', B')
+   Lightness         (min(R', G', B') + max(R', G', B')) / 2.0
+</pre>
+<p>Note that the above R,G,B values is the image's linear-RGB values, while
+R',G',B' are sRGB non-linear values. </p>
+
+<p>These intensity methods are mathematical in nature and will use the
+current value in the images respective R,G,B channel regardless of
+what that is, or what colorspace the image is currently using.</p>
+
+<pre>
+   Average           (R + G + B) / 3.0
+   MS                (R^2 + G^2 + B^2) / 3.0
+   RMS               sqrt( (R^2 + G^2 + B^2) / 3.0 )
+</pre>
+
+<p>These methods are often used for other purposes, such as generating a
+grayscale difference image between two color images (using <a href="command-line-options.html#compose">-compose</a> '<code>Difference</code>' composition. </p>
+
+<p> For example The 'MS' (Mean Squared) setting is good for minimizing color
+error comparisions.  While...  The method 'RMS' (Root Mean Squared) for
+example is appropriate for calculating color vector distance, from a color
+difference image.  This is equivalent to the color only component of the <a href="command-line-options.html#fuzz">-fuzz</a> factor color compare setting.  </p>
+
+<p>See also <a href="command-line-options.html#grayscale">-grayscale</a> which applies one of the above
+grayscaling formula directly to an image without setting the <a href="command-line-options.html#intensity">-intensity</a> setting.</p>
+
+<p>The <a href="command-line-options.html#colorspace">-colorspace gray</a> image conversion also uses
+the current intensity setting, but will always convert the image to the
+appropriate sRGB or linear-RGB colorspace before appling the above
+function.</p>
+
+<p>To print a complete list of posible pixel intensity setting methods, use <a href="command-line-options.html#list">-list intensity</a>.</p>
+
+<p>Operators affected by the <a href="command-line-options.html#intensity">-intensity</a> setting include:</p>
+
+<pre>
+-adaptive-blur
+-adaptive-sharpen
+-black-threshold
+-clut (when mapping greyscale CLUT image to alpha channel if set by -channels)
+-colors for gray colorspace
+-compose {LightenIntensity, DarkenIntensity, CopyOpacity, CopyBlack}
+-contrast-stretch
+-distort {ErodeIntensity, DilateIntensity}
+-normalize
+-random-threshold
+-selective-blur
+-shade
+-threshold
+-tint
+-white-threshold
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="intent"></a>-intent <var>type</var></h4>
+</div>
+
+<p class="magick-description">use this type of rendering intent when managing the image color.</p>
+
+<p>Use this option to affect the color management operation of an image (see
+<a href="command-line-options.html#profile">-profile</a>).  Choose from these intents: <code>Absolute,
+Perceptual, Relative, Saturation</code>.</p>
+
+<p>The default intent is Perceptual for the sRGB colorspace and undefined for the RGB and gray colorspaces.</p>
+
+<p>To print a complete list of rendering intents, use <a href="command-line-options.html#list">-list intent</a>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="interlace"></a>-interlace <var>type</var></h4>
+</div>
+
+<p class="magick-description">the type of interlacing scheme.</p>
+
+<p>Choose from:</p>
+
+<pre>
+   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 <code>RGB</code> or <code>YUV</code>.</p>
+
+<p><code>None</code> means do not interlace (RGBRGBRGBRGBRGBRGB...),</p>
+
+<p><code>Line</code> uses scanline interlacing (RRR...GGG...BBB...RRR...GGG...BBB...), and.</p>
+
+<p><code>Plane</code> uses plane interlacing (RRRRRR...GGGGGG...BBBBBB...).</p>
+
+<p><code>Partition</code> is like plane except the different planes are saved to
+individual files (e.g. image.R, image.G, and image.B).</p>
+
+<p>Use <code>Line</code> or <code>Plane</code> to create an <code>interlaced
+PNG</code> or <code>GIF</code> or <code>progressive JPEG</code> image.</p>
+
+<p>To print a complete list of interlacing schemes, use <a href="command-line-options.html#list">-list
+interlace</a>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="interpolate"></a>-interpolate <var>type</var></h4>
+</div>
+
+<p class="magick-description">Set the pixel color interpolation method to use when looking up a color based on a floating point or real value.</p>
+
+<p>When looking up the color of a pixel using a non-integer 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>
+   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="command-line-options.html#filter">-filter</a> settings
+</pre>
+
+<p>This most important for distortion operators such as <a href="command-line-options.html#distort">-distort</a>, <a href="command-line-options.html#implode">-implode</a>, <a href="command-line-options.html#transform">-transform</a> and <a href="command-line-options.html#fx">-fx</a>. </p>
+
+<p>To print a complete list of interpolation methods, use <a href="command-line-options.html#list">-list interpolate</a>.</p>
+
+<p>See also <a href="command-line-options.html#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 id="interline-spacing"></a>-interline-spacing <var>value</var></h4>
+</div>
+
+<p class="magick-description">the space between two text lines.</p>
+
+<div style="margin: auto;">
+  <h4><a id="interword-spacing"></a>-interword-spacing <var>value</var></h4>
+</div>
+
+<p class="magick-description">the space between two words.</p>
+
+<div style="margin: auto;">
+  <h4><a id="kerning"></a>-kerning <var>value</var></h4>
+</div>
+
+<p class="magick-description">the space between two letters.</p>
+
+<div style="margin: auto;">
+  <h4><a id="kuwahara"></a>-kuwahara <var>radius</var><br>-kuwahara <var>radius</var>x<var>sigma</var></h4>
+</div>
+
+<p class="magick-description">edge preserving noise reduction filter.</p>
+
+<p>The <var>radius</var> is more important than the <var>sigma</var>. If <var>sigma</var> is left off, it will be computed automatically from the <var>radius</var> as <var>sigma</var>=<var>radius</var>-0.5. The <var>sigma</var> provides a bit of additional smoothing control.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="label"></a>-label <var>name</var></h4>
+</div>
+
+<p class="magick-description">assign a label to an image.</p>
+
+<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="command-line-options.html#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 <var>PostScript</var> 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="escape.html">Format and Print Image
+Properties</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 <code>MIFF:bird.miff 512x480</code> to the
+"<code>bird.miff</code>" image and whose width is 512 and height is 480, as it
+is read in.  If a  <a href="command-line-options.html#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 <var>Label</var> tag or similar mechanism. If you want the label to be
+visible on the image itself, use the <a href="command-line-options.html#draw">-draw</a> option, or
+during the final processing in the creation of an image montage.</p>
+
+<p>If the first character of <var>string</var> is <var>@</var>, 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 id="lat"></a>-lat <var>width</var><br>-lat <var>width</var>x<var>height</var>{<var>+-</var>}<var>offset</var>{<var>%</var>}</h4>
+</div>
+
+<p class="magick-description">perform local adaptive threshold.</p>
+
+<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 <code>offset</code>, 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 foreground color. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="layers"></a>-layers <var>method</var></h4>
+</div>
+
+<p class="magick-description">handle multiple images forming a set of image layers or animation frames.</p>
+
+<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="table table-condensed table-striped">
+  <tbody>
+  <tr>
+    <th style="width: 8%">Method</th>
+    <th>Description</th>
+  </tr>
+
+  <tr>
+    <td>compare-any</td>
+    <td>Crop the second and later frames to the smallest rectangle
+        that contains all the differences between the two images.  No GIF <a href="command-line-options.html#dispose">-dispose</a> methods are taken into account. </td>
+  </tr>
+
+  <tr><td></td><td>This exactly the same as the <a href="command-line-options.html#deconstruct">-deconstruct</a> operator, and does not preserve animations normal
+        working, especially when animation used layer disposal methods such as
+        '<code>Previous</code>' or '<code>Background</code>'. </td>
+  </tr>
+
+  <tr>
+    <td>compare-clear</td>
+    <td>As '<code>compare-any</code>' 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>
+    <td>compare-overlay</td>
+    <td>As '<code>compare-any</code>' 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="command-line-options.html#compose">-compose</a> alpha
+       composition method '<code>change-mask</code>', to reduce the image to
+       just the pixels that need to be overlaid. </td>
+   </tr>
+
+  <tr>
+    <td>coalesce</td>
+    <td>Equivalent to a call to the <a href="command-line-options.html#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>
+    <td>composite</td>
+    <td>Alpha Composition of two image lists, separated by a
+        "<code>null:</code>" 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="command-line-options.html#geometry">-geometry</a> offset is adjusted according
+        to <a href="command-line-options.html#gravity">-gravity</a> in accordance of the virtual
+        canvas size of the first image in each list. Unlike a normal <a href="command-line-options.html#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>
+    <td>dispose</td>
+    <td>This like '<code>coalesce</code>' 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="command-line-options.html#dispose">-dispose</a> method.  This allows you to check what
+        is going wrong with a particular animation you may be developing.
+        </td>
+  </tr>
+
+  <tr>
+    <td>flatten</td>
+    <td>Create a canvas the size of the first images virtual
+        canvas using the current <a href="command-line-options.html#background">-background</a> color,
+        and <a href="command-line-options.html#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 usually 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 an opaque color to remove
+        transparency from an image.</td>
+  </tr>
+
+
+  <tr>
+    <td>merge</td>
+    <td>As 'flatten' method but merging all the given image
+        layers to create a new layer image just large enough to hold all the
+        image without clipping or extra space. The new images virtual offset
+        will preserve 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.
+        Following this operation method with <a href="command-line-options.html#repage">+repage</a>
+        will remove the layer offset, and create an image in which all the
+        overlaid image positions relative to each other is preserved, though
+        not necessarily exactly where you specified them.
+        </td>
+  </tr>
+
+  <tr><td></td><td>See also 'trim-bounds' below which is closely related but
+        without  doing the'flatten' to merge the images together. </td>
+  </tr>
+
+  <tr>
+    <td>mosaic</td>
+    <td>As 'flatten' method but expanding the initial canvas size
+        of the first image in a positive direction only so as to hold all the
+        image layers.  However as a virtual canvas is 'locked' to the origin,
+        by its own definition, image layers with a negative offsets will still
+        become clipped by the top and left edges. See 'merge' or 'trim-bounds'
+        if this could be a problem. </td>
+
+  </tr>
+
+  <tr><td></td><td>This method is commonly used to layout individual image
+        using various offset but without knowing 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>
+    <td>optimize</td>
+    <td>Optimize a coalesced animation, into GIF animation using
+        a number of general techniques.  This currently a short cut to
+        apply both the '<code>optimize-frame</code>', and
+        '<code>optimize-transparency</code>' methods but may be expanded to
+        include other optimization methods as they are developed. </td>
+  </tr>
+
+  <tr>
+    <td>optimize-frame</td>
+    <td>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>
+    <td>optimize-plus</td>
+    <td>As '<code>optimize-frame</code>' 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
+        '<code>optimize-frame</code>' 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 '<code>optimize-frame</code>' technique. For some
+        animations however you can get a vast improvement in the final
+        animation size. </td>
+  </tr>
+
+  <tr>
+    <td>optimize-transparency</td>
+    <td>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="command-line-options.html#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>
+    <td>remove-dups</td>
+    <td>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>
+    <td>remove-zero</td>
+    <td>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 usually added for
+        improved frame optimization in GIF animations. </td>
+  </tr>
+
+  <tr>
+    <td>trim-bounds</td>
+    <td>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 or
+        merged, only the individual image virtual canvas size and offset.
+        All the images 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 touching those
+        edges however may be transparent.  </td>
+  </tr>
+
+  <tr><td></td><td>The result is much like if you used 'merge' followed by a
+        <a href="command-line-options.html#repage">+repage</a> option, except that all the images
+        have been kept separate.  If 'flatten' is used after using
+        'trim-bounds' you will get the same result.  </td>
+  </tr>
+
+  </tbody>
+</table>
+
+<p>To print a complete list of layer types, use <a href="command-line-options.html#list">-list layers</a>.</p>
+
+<p>The operators <a href="command-line-options.html#coalesce">-coalesce</a>, <a href="command-line-options.html#deconstruct">-deconstruct</a>, <a href="command-line-options.html#flatten">-flatten</a>, and <a href="command-line-options.html#mosaic">-mosaic</a> are only aliases for the above methods and may be depreciated in
+the future.  Also see  <a href="command-line-options.html#page">-page</a>,  <a href="command-line-options.html#repage">-repage</a> operators, the <a href="command-line-options.html#compose">-compose</a> setting, and the
+GIF <a href="command-line-options.html#dispose">-dispose</a> and  <a href="command-line-options.html#delay">-delay</a>
+settings. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="level"></a>-level <var>black_point</var>{,<var>white_point</var>}{<var>%</var>}{,<var>gamma</var>}</h4>
+</div>
+
+<p class="magick-description">adjust the level of image channels.</p>
+
+<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 <var>QuantumRange</var>, or from 0 to
+100%; if the white point is omitted it is set to (<var>QuantumRange</var> - black_point), so as to center contrast changes.
+If a <code>%</code> 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="command-line-options.html#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 (<code>-level</code>) the image values are stretched so that
+the given '<code>black_point</code>' value in the original image is set to zero
+(or black), while the given '<code>white_point</code>' value is set to <var>QuantumRange</var> (or white).  This provides you with direct
+contrast adjustments to the image.  The '<code>gamma</code>' of the resulting
+image will then be adjusted. </p>
+
+<p>From ImageMagick v6.4.1-9 using the plus form of the operator
+(<code>+level</code>) 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 <var>QuantumRange</var> 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
+'<code>gamma</code>' is adjusted before the level adjustment to de-contrast the
+image is made. </p>
+
+<p>Only the channels defined by the current <a href="command-line-options.html#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 id="level-colors"></a>-level-colors {<var>black_color</var>}{,}{<var>white_color</var>}</h4>
+</div>
+
+<p class="magick-description">adjust the level of an image using the provided dash separated colors.</p>
+
+<p>This function is exactly like <a href="command-line-options.html#level">-level</a>, except that the
+value value for each color channel is determined by the
+'<code>black_color</code>' and '<code>white_color</code>' colors given (as
+described under the <a href="command-line-options.html#fill">-fill</a> option). </p>
+
+<p>This effectually means the colors provided to <code>-level-colors</code>
+is mapped to become 'black' and 'white' respectively, with all the other
+colors linearly adjusted (or clipped) to match that change. Each channel is
+adjusted separately using the channel values of the colors specified. </p>
+
+<p>On the other hand the plus form of the operator (<code>+level-colors</code>)
+will map the image color 'black' and 'white' to the given colors
+respectively, 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
+respectively.  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 id="limit"></a>-limit <var>type value</var></h4>
+</div>
+
+<p class="magick-description">Set the pixel cache resource limit.</p>
+
+<p>Choose from: <code>area</code>, <code>disk</code>, <code>file</code>,
+<code>map</code>, <code>memory</code>, <code>thread</code>, or <code>time</code>.</p>
+
+<p>The value for <code>file</code> is in number of files. The other limits are
+in bytes. Define arguments for the memory, map, area, and disk resource limits
+with SI prefixes (.e.g 100MB).</p>
+
+<p>By default the limits are 768 files, 3GB of image area, 1.5GiB memory, 3GiB
+memory map, and 18.45EB 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 32MiB -limit map 64MiB
+</p>
+
+<p>Use <a href="command-line-options.html#list">-list resource</a> to list the current limits. For example, our system shows these limits:</p>
+
+<pre>
+-&gt; identify -list resource
+Resource limits:
+  Width: 100MP
+  Height: 100MP
+  Area: 25.181GB
+  Memory: 11.726GiB
+  Map: 23.452GiB
+  Disk: unlimited
+  File: 768
+  Thread: 12
+  Throttle: 0
+  Time: unlimited
+</pre>
+
+<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="command-line-options.html#limit">‑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
+<code>area</code> 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
+<code>memory</code> 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
+<code>map</code> limit, the resource allocation goes to disk. In all cases, if
+the resource request exceeds the <code>area</code> 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 10MiB of memory you can
+simply set the area limit to 10MiB:</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 inadvertently 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="resources.html#environment">environment variables</a>. Set the
+environment variables <code>MAGICK_AREA_LIMIT</code>,
+<code>MAGICK_DISK_LIMIT</code>, <code>MAGICK_FILE_LIMIT</code>,
+<code>MAGICK_MEMORY_LIMIT</code>, <code>MAGICK_MAP_LIMIT</code>,
+<code>MAGICK_THREAD_LIMIT</code>, <code>MAGICK_TIME_LIMIT</code> 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="command-line-options.html#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 <code>grep memory|open|destroy|disk</code> 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="architecture.html#cache%20">Architecture</a> page.  </p>
+
+<div style="margin: auto;">
+  <h4><a id="linear-stretch"></a>-linear-stretch <var>black-point</var><br>-linear-stretch <var>black-point</var>{x<var>white-point</var>}{<var>%</var>}}</h4>
+</div>
+
+<p class="magick-description">Linear with saturation stretch.</p>
+
+<p>This is very similar to <a href="command-line-options.html#contrast-stretch">-contrast-stretch</a>,
+and uses a 'histogram bin' to determine the range of color values that needs to
+be stretched.  However it then stretches those colors using the <a href="command-line-options.html#level">-level</a> operator.</p>
+
+<p>As such while the initial determination may have 'binning' round off
+effects, the image colors are stretched mathematically, rather than using the
+histogram bins.  This makes the operator more accurate. </p>
+
+<p>note however that a <a href="command-line-options.html#linear-stretch">-linear-stretch</a> of
+'<code>0</code>' does nothing, while a value of '<code>1</code>' does a near
+perfect stretch of the color range. </p>
+
+<p>See also <a href="command-line-options.html#auto-level">-auto-level</a> for a 'perfect'
+normalization of mathematical images. </p>
+
+<p>This operator is under review for re-development. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="linewidth"></a>-linewidth</h4>
+</div>
+
+<p class="magick-description">the line width for subsequent draw operations.</p>
+
+<div style="margin: auto;">
+  <h4><a id="liquid-rescale"></a>-liquid-rescale <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">rescale image with seam-carving.</p>
+
+<p>See <a href="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 id="list"></a>-list <var>type</var></h4>
+</div>
+
+<p class="magick-description">Print a list of supported arguments for various options or settings.  Choose from these list types:</p>
+
+<pre>
+   Align          Alpha          Boolean        Channel
+   Class          ClipPath       Coder          Color
+   Colorspace     Command        Compose        Compress
+   Configure      DataType       Debug          Decoration
+   Delegate       Direction      Dispose        Distort
+   Dither         Endian         Evaluate       FillRule
+   Filter         Font           Format         Function
+   Gravity        ImageList      Intent         Interlace
+   Interpolate    Kernel         Layers         LineCap
+   LineJoin       List           Locale         LogEvent
+   Log            Magic          Method         Metric
+   Mime           Mode           Morphology     Module
+   Noise          Orientation    Policy         PolicyDomain
+   PolicyRights   Preview        Primitive      QuantumFormat
+   Resource       SparseColor    Storage        Stretch
+   Style          Threshold      Type           Units
+   Validate       VirtualPixel
+</pre>
+
+<p>These lists vary depending on your version of ImageMagick. Use "<code>-list
+list</code>" to get a complete listing of all the "<code>-list</code>" arguments
+available:</p>
+
+<pre>
+identify -list list
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="log"></a>-log <var>string</var></h4>
+</div>
+
+<p class="magick-description">Specify format for debug log.</p>
+
+<p>This option specifies the format for the log printed when the <a href="command-line-options.html#debug">-debug</a> option is active.</p>
+
+<p>You can display the following components by embedding special format
+characters:</p>
+
+<pre>
+   %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>
+
+<pre>
+convert -debug coders -log "%u %m:%l %e" in.gif out.png
+</pre>
+
+<p>The default behavior is to print all of the components.</p>
+
+<div style="margin: auto;">
+  <h4><a id="loop"></a>-loop <var>iterations</var></h4>
+</div>
+
+<p class="magick-description">add Netscape loop extension to your GIF animation.</p>
+
+<p>Set iterations to zero to repeat the animation an infinite number of times,
+otherwise the animation repeats itself up to <var>iterations</var>
+times.</p>
+
+<div style="margin: auto;">
+  <h4><a id="lowlight-color"></a>-lowlight-color <var>color</var></h4>
+</div>
+
+<p class="magick-description">when comparing images, de-emphasize pixel differences with this color.</p>
+
+<div style="margin: auto;">
+  <h4><a id="magnify"></a>-magnify</h4>
+</div>
+
+<p class="magick-description">double the size of the image with pixel art scaling.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="map"></a>-map <var>type</var></h4>
+</div>
+
+<p class="magick-description">Display image using this <var>type</var>.</p>
+
+<p>Choose from these <var>Standard Colormap</var> types:</p>
+
+<pre>
+   best
+   default
+   gray
+   red
+   green
+   blue
+</pre>
+
+<p>The <var>X server</var> must support the <var>Standard
+Colormap</var> you choose, otherwise an error occurs.  Use <code>list</code> as
+the type and <code>display</code> searches the list of colormap types in
+<code>top-to-bottom</code> order until one is located. See <var>xstdcmap(1)</var> for one way of creating Standard Colormaps.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="map_stream_"></a>-map <var>components</var></h4>
+</div>
+
+<p class="magick-description">pixel map.</p>
+
+<p>Here are the valid components of a map:</p>
+
+<pre>
+   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 id="mask"></a>-mask
+<var>filename</var></h4>
+</div>
+
+<p class="magick-description">Prevent updates to image pixels specified by the mask.</p>
+
+<p>This the same as using a mask used for composite masking operations, with
+grayscale values causing blended updates of the image the mask is attached to.
+</p>
+
+<p>Use <a href="command-line-options.html#mask">+mask</a> to remove the mask from images.</p>
+
+<p>Also see <a href="command-line-options.html#clip-mask">-clip-mask</a> which work in the same way,
+but with strict boolean masking. </p>
+
+<div style="margin: auto;">
+  <h4><a id="mattecolor"></a>-mattecolor <var>color</var></h4>
+</div>
+
+<p class="magick-description">Specify the color to be used with the <a href="command-line-options.html#frame">-frame</a> option.</p>
+
+<p>The color is specified using the format described under the <a href="command-line-options.html#fill">-fill</a> option.</p>
+
+<p>The default matte color is <code>#BDBDBD</code>, <span style="background-color: #bdbdbd;">this shade of gray</span>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="maximum"></a>-maximum</h4>
+</div>
+
+<p class="magick-description">return the maximum intensity of an image sequence.</p>
+
+<p>Select the 'maximum' value from all the surrounding pixels. </p>
+
+<p>This is legacy option from the <a href="command-line-options.html#statistic">method</a> of the same
+name. </p>
+
+<div style="margin: auto;">
+  <h4><a id="median"></a>-median <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">apply a median filter to the image.</p>
+
+<p>Select the 'middle' value from all the surrounding pixels. </p>
+
+<p>This is legacy option from the <a href="command-line-options.html#statistic">method</a> of the same
+name. </p>
+
+<div style="margin: auto;">
+  <h4><a id="mean-shift"></a>-mean-shift <var>width</var>x<var>height</var>{<var>+distance</var>{%}}</h4>
+</div>
+
+<p class="magick-description">image noise removal and color reduction/segmentation (e.g. -mean-shift 7x7+10%).</p>
+
+<p><var>width</var>x<var>height</var> is the window size and <var>distance</var> is the color distance measured in the range 0 to 1 or 0 to 100%</p>
+
+<p>The mean shift algorithm is iterative and thus slower the larger the window size. For each pixel, it gets all the pixels in the window centered at the pixel and excludes those that are outside the radius=sqrt((width-1)(height-1)/4) surrounding the pixel. From those pixels, it finds which of them are within the specified squared color distance from the current mean. It then computes a new x,y centroid from those coordinates and a new mean. This new x,y centroid is used as the center for a new window. This process is iterated until it converges and the final mean is then used to replace the original pixel value. It repeats this process for the next pixel, etc, until it processes all pixels in the image. Results are better when using other colorspaces rather than RGB. Recommend YIQ, YUV or YCbCr, which seem to give equivalent results.</p>
+
+<div style="margin: auto;">
+  <h4><a id="metric"></a>-metric <var>type</var></h4>
+</div>
+
+<p class="magick-description">Output to STDERR a measure of the differences between images according to the <var>type</var> given metric.</p>
+
+<p>Choose from:</p>
+
+<pre>
+  AE     absolute error count, number of different pixels (-fuzz effected)
+  FUZZ   mean color distance
+  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
+  NCC    normalized cross correlation
+  PAE    peak absolute (normalized peak absolute)
+  PHASH  perceptual hash
+  PSNR   peak signal to noise ratio
+  RMSE   root mean squared (normalized root mean squared)
+</pre>
+
+<p>Control the '<code>AE</code>', or absolute count of pixels that are different,
+with the <a href="command-line-options.html#fuzz">-fuzz</a> factor (ignore pixels which
+only changed by a small amount).  Use '<code>PAE</code>' to find the
+size of the <a href="command-line-options.html#fuzz">-fuzz</a> factor needed to make all pixels
+'similar', while '<code>MAE</code>' determines the factor needed
+for about half the pixels to be similar. </p>
+
+<p>The '<code>MEPP</code>' metric returns three different metrics
+('<code>MAE</code>', '<code>MAE</code>' normalized, and '<code>PAE</code>'
+normalized) from a single comparison run. </p>
+
+<p>To print a complete list of metrics, use the <a href="command-line-options.html#list">-list
+metric</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="minimum"></a>-minimum</h4>
+</div>
+
+<p class="magick-description">return the minimum intensity of an image sequence.</p>
+
+<p>Select the 'minimal' value from all the surrounding pixels. </p>
+
+<p>This is legacy option from the <a href="command-line-options.html#statistic">method</a> of the same
+name. </p>
+
+
+
+<div style="margin: auto;">
+  <h4><a id="mode"></a>-mode <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">make each pixel the \'predominant color\' of the neighborhood.'</p>
+
+<div style="margin: auto;">
+  <h4>-mode <var>value</var></h4>
+</div>
+
+<p class="magick-description">Mode of operation.</p>
+
+<p>Choose the <var>value</var> from these styles: <code>Frame,
+Unframe, or Concatenate</code></p>
+
+<p>Use the <a href="command-line-options.html#list">-list</a> option with a '<code>Mode</code>' argument
+for a list of <a href="command-line-options.html#mode">-mode</a> arguments available in your
+ImageMagick installation.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="modulate"></a>-modulate <var>brightness</var>[,<var>saturation</var>,<var>hue</var>]</h4>
+</div>
+
+<p class="magick-description">Vary the <var>brightness</var>, <var>saturation</var>, and <var>hue</var> of an image.</p>
+
+<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 <var>brightness</var> 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="command-line-options.html#negate">-negate</a> the image
+before and after. </p>
+
+<p>The <var>saturation</var> 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 <var>hue</var> 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="command-line-options.html#modulate">-modulate 120,90</a>.</p>
+
+<p>Use <a href="command-line-options.html#set">-set</a> attribute of '<code>option:modulate:colorspace</code>' to specify which colorspace to
+modulate.  Choose from <code>HCL</code>, <code>HCLp</code>, <code>HSB</code>, <code>HSI</code>, <code>HSL</code> (the default), <code>HSV</code>, <code>HWB</code>, or <code>LCH</code> (LCHuv).  For example,</p>
+
+<pre>
+convert image.png -set option:modulate:colorspace hsb -modulate 120,90 modulate.png
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="moments"></a>-moments</h4>
+</div>
+
+<p class="magick-description">report image moments and perceptual hash.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="monitor"></a>-monitor</h4>
+</div>
+
+<p class="magick-description">monitor progress.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="monochrome"></a>-monochrome</h4>
+</div>
+
+<p class="magick-description">transform the image to black and white.</p>
+
+<div style="margin: auto;">
+  <h4><a id="morph"></a>-morph <var>frames</var></h4>
+</div>
+
+<p class="magick-description">morphs an image sequence.</p>
+
+<p>Both the image pixels and size are linearly interpolated to give the
+appearance of a metamorphosis 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="command-line-options.html#blend">-blend</a> composition. The <var>frames</var>
+argument determine how many images to interpolate between each image. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="morphology"></a>-morphology</h4>
+  <h4>-morphology <var>method</var>  <var>kernel</var></h4>
+</div>
+
+<p class="magick-description">apply a morphology method to the image.</p>
+
+<p>Until I get around to writing an option summary for this, see <a href="http://www.imagemagick.org/Usage/morphology/">IM Usage Examples,
+Morphology</a>. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="mosaic"></a>-mosaic</h4>
+</div>
+
+<p class="magick-description">an simple alias for the <a href="command-line-options.html#layers">-layers</a> method "mosaic"</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="motion-blur"></a>-motion-blur <var>radius</var><br>-motion-blur <var>radius</var>x<var>sigma</var>+<var>angle</var></h4>
+</div>
+
+<p class="magick-description">simulate motion blur.</p>
+
+<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
+definite sense of direction of movement. </p>
+
+<p>The <a href="command-line-options.html#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 id="name"></a>-name</h4>
+</div>
+
+<p class="magick-description">name an image.</p>
+<div style="margin: auto;">
+  <h4><a id="negate"></a>-negate</h4>
+</div>
+
+<p class="magick-description">replace each pixel with its complementary color.</p>
+
+<p>The red, green, and blue intensities of an image are negated. White becomes
+black, yellow becomes blue, etc.  Use <a href="command-line-options.html#negate">+negate</a> to only
+negate the grayscale pixels of the image.</p>
+
+<div style="margin: auto;">
+  <h4><a id="noise"></a>-noise <var>geometry</var><br>
+  +noise <var>type</var></h4>
+</div>
+
+<p class="magick-description">Add or reduce noise in an image.</p>
+
+<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 <code><a href="command-line-options.html#noise">-noise</a> <var>radius</var></code> to
+specify the width of the neighborhood when reducing noise.  This is equivalent
+to using a <code><a href="command-line-options.html#statistic">-statistic</a> NonPeak</code> operation,
+which should be used in preference.</p>
+
+<p>Use <a href="command-line-options.html#noise">+noise</a> followed by a noise <var>type</var> to add noise to an image. Choose from these noise
+types:</p>
+
+<pre>
+   Gaussian
+   Impulse
+   Laplacian
+   Multiplicative
+   Poisson
+   Random
+   Uniform
+</pre>
+
+<p>The amount of noise added can be controled by the <code><a href="command-line-options.html#attunuuate">-attenuate</a></code> setting. If unset the value is
+equivalent to 1.0, or a maximum noise addition.</p>
+
+<p>Note that Random will replace the image with noise rather than add noise to the image. Use Uniform, if you wish to add random noise to the image.</p>
+
+<p>To print a complete list of noises, use the <a href="command-line-options.html#list">-list noise</a> option.</p>
+
+<p>Also see the <a href="command-line-options.html#evaluate">-evaluate</a> noise functions that allows
+the use of a controlling value to specify the amount of noise that should be
+added to an image. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="normalize"></a>-normalize</h4>
+</div>
+
+<p class="magick-description">Increase the contrast in an image by <var>stretching</var> the range of intensity values.</p>
+
+<p>The intensity values are stretched to cover the entire range of possible
+values. While doing so, black-out at most <var>2%</var> of the pixels and
+white-out at most <var>1%</var> of the pixels.</p>
+
+<p>Note that as of ImageMagick 6.4.7-0, <a href="command-line-options.html#normalize">-normalize</a>
+is equivalent to <a href="command-line-options.html#contrast-stretch">-contrast-stretch 2%x1%</a>.
+(Before this version, it was equivalent to <a href="command-line-options.html#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, when the default <a href="command-line-options.html#channel">+channel</a>
+setting is in use.  Specifying any other <a href="command-line-options.html#channel">-channel</a>
+setting will normalize the RGB channels independently.</p>
+
+<p>See  <a href="command-line-options.html#contrast-stretch">-contrast-stretch</a> for more details.
+Also see <a href="command-line-options.html#auto-level">-auto-level</a> for a 'perfect' normalization
+that is better suited to mathematically generated images. </p>
+
+<p>This operator is under review for re-development. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="opaque"></a>-opaque <var>color</var></h4>
+</div>
+
+<p class="magick-description">change this color to the fill color within the image.</p>
+
+<p>The <var>color</var> argument is defined using the format
+described under the <a href="command-line-options.html#fill">-fill</a> option.  The <a href="command-line-options.html#fuzz">-fuzz</a> setting can be used to match and replace colors similar to the one
+given.</p>
+
+<p>Use <a href="command-line-options.html#opaque">+opaque</a> to paint any pixel that does not match
+the target color. </p>
+
+<p>The <a href="command-line-options.html#transparent">-transparent</a>  operator is exactly the same
+as <a href="command-line-options.html#opaque">-opaque</a> but replaces the matching color with
+transparency rather than the current <a href="command-line-options.html#fill">-fill</a> color setting.
+To ensure that it can do this it also ensures that the image has an alpha
+channel enabled, as per "<code><a href="command-line-options.html#alpha">-alpha</a> set</code>", for
+the new transparent colors, and does not require you to modify the <a href="command-line-options.html#channel">-channel</a> to enable alpha channel handling. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="ordered-dither"></a>-ordered-dither <var>threshold_map</var>{,<var>level</var>...}</h4>
+</div>
+
+<p class="magick-description">dither the image using a pre-defined  ordered dither <var>threshold map</var> specified, and a uniform color map with the
+given number of <var>levels</var> per color channel.</p>
+
+<p>You can choose from these standard threshold maps:</p>
+
+<pre>
+   threshold   1x1   Threshold 1x1 (non-dither)
+   checks      2x1   Checkerboard 2x1 (dither)
+   o2x2        2x2   Ordered 2x2 (dispersed)
+   o3x3        3x3   Ordered 3x3 (dispersed)
+   o4x4        4x4   Ordered 4x4 (dispersed)
+   o8x8        8x8   Ordered 8x8 (dispersed)
+   h4x4a       4x1   Halftone 4x4 (angled)
+   h6x6a       6x1   Halftone 6x6 (angled)
+   h8x8a       8x1   Halftone 8x8 (angled)
+   h4x4o             Halftone 4x4 (orthogonal)
+   h6x6o             Halftone 6x6 (orthogonal)
+   h8x8o             Halftone 8x8 (orthogonal)
+   h16x16o           Halftone 16x16 (orthogonal)
+   c5x5b       c5x5  Circles 5x5 (black)
+   c5x5w             Circles 5x5 (white)
+   c6x6b       c6x6  Circles 6x6 (black)
+   c6x6w             Circles 6x6 (white)
+   c7x7b       c7x7  Circles 7x7 (black)
+   c7x7w             Circles 7x7 (white)
+</pre>
+
+<p> The <code>threshold</code> generated a simple 50% threshold of the image.
+This could be used with <var>level</var> to do the equivalent of <a href="command-line-options.html#posterize">-posterize</a> to reduce an image to basic primary colors.
+</p>
+
+<p>The <code>checks</code> pattern produces a 3 level checkerboard  dither
+pattern. That is a grayscale will become a pattern of solid black, solid
+white, and  mid-tone colors into a checkerboard pattern of black and white.
+</p>
+
+<p>You can define your own <var>threshold map</var> for ordered
+dithering and halftoning your images, in either personal or system
+<code>thresholds.xml</code> XML file. See <a href="resources.html">Resources</a>
+for more details of configuration files. </p>
+
+<p>To print a complete list of the thresholds that have been defined, use the
+<a href="command-line-options.html#list">-list threshold</a> option.</p>
+
+<p>Note that at this time the same threshold dithering map is used for all
+color channels, no attempt is made to offset or rotate the map for different
+channels is made, to create an offset printing effect. Also as the maps are
+simple threshold levels, the halftone and circle maps will create incomplete
+circles along the edges of a colored area. Also all the effects are purely
+on/off boolean effects, without anti-aliasing to make the circles smooth
+looking. Large dots can be made to look better with a small amount of blurring
+after being created. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="orient"></a>-orient <var>image orientation</var></h4>
+</div>
+
+<p class="magick-description">specify orientation of a digital camera image.</p>
+
+<p>Choose from these orientations:</p>
+
+<pre>
+   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="command-line-options.html#list">-list
+orientation</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="page"></a>-page <var>geometry</var><br>
+  -page <var>media</var>[<var>offset</var>][{<var>^!&lt;&gt;</var>}]<br>
+  +page
+  </h4>
+</div>
+
+<p class="magick-description">Set the size and location of an image on the larger virtual canvas.</p>
+
+<p>See <a href="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 <var>media</var> (see below). Offsets can then be added as with other
+<var>geometry</var> arguments (e.g. <a href="command-line-options.html#page">-page</a> <code>Letter+43+43</code>).</p>
+
+<p>Use <var>media</var> as shorthand to specify the dimensions (<var>width</var>x<var>height</var>) of the <var>PostScript</var> page in dots per inch or a TEXT page in pixels.
+The choices for a PostScript page are:</p>
+
+<div class="table-responsive">
+<table class="table table-condensed table-striped">
+  <tr>
+    <td><var>media</var></td>
+    <td><var>width</var></td>
+    <td><var>height</var></td>
+ </tr>
+<tr><td> 11x17      </td> <td align="right">  792</td> <td align="right"> 1224</td> </tr>
+<tr><td> Ledger     </td> <td align="right"> 1224</td> <td align="right">  792</td> </tr>
+<tr><td> Legal      </td> <td align="right">  612</td> <td align="right"> 1008</td> </tr>
+<tr><td> Letter     </td> <td align="right">  612</td> <td align="right">  792</td> </tr>
+<tr><td> LetterSmall</td> <td align="right">  612</td> <td align="right">  792</td> </tr>
+<tr><td> ArchE      </td> <td align="right"> 2592</td> <td align="right"> 3456</td> </tr>
+<tr><td> ArchD      </td> <td align="right"> 1728</td> <td align="right"> 2592</td> </tr>
+<tr><td> ArchC      </td> <td align="right"> 1296</td> <td align="right"> 1728</td> </tr>
+<tr><td> ArchB      </td> <td align="right">  864</td> <td align="right"> 1296</td> </tr>
+<tr><td> ArchA      </td> <td align="right">  648</td> <td align="right">  864</td> </tr>
+<tr><td> A0         </td> <td align="right"> 2380</td> <td align="right"> 3368</td> </tr>
+<tr><td> A1         </td> <td align="right"> 1684</td> <td align="right"> 2380</td> </tr>
+<tr><td> A2         </td> <td align="right"> 1190</td> <td align="right"> 1684</td> </tr>
+<tr><td> A3         </td> <td align="right">  842</td> <td align="right"> 1190</td> </tr>
+<tr><td> A4         </td> <td align="right">  595</td> <td align="right">  842</td> </tr>
+<tr><td> A4Small    </td> <td align="right">  595</td> <td align="right">  842</td> </tr>
+<tr><td> A5         </td> <td align="right">  421</td> <td align="right">  595</td> </tr>
+<tr><td> A6         </td> <td align="right">  297</td> <td align="right">  421</td> </tr>
+<tr><td> A7         </td> <td align="right">  210</td> <td align="right">  297</td> </tr>
+<tr><td> A8         </td> <td align="right">  148</td> <td align="right">  210</td> </tr>
+<tr><td> A9         </td> <td align="right">  105</td> <td align="right">  148</td> </tr>
+<tr><td> A10        </td> <td align="right">   74</td> <td align="right">  105</td> </tr>
+<tr><td> B0         </td> <td align="right"> 2836</td> <td align="right"> 4008</td> </tr>
+<tr><td> B1         </td> <td align="right"> 2004</td> <td align="right"> 2836</td> </tr>
+<tr><td> B2         </td> <td align="right"> 1418</td> <td align="right"> 2004</td> </tr>
+<tr><td> B3         </td> <td align="right"> 1002</td> <td align="right"> 1418</td> </tr>
+<tr><td> B4         </td> <td align="right">  709</td> <td align="right"> 1002</td> </tr>
+<tr><td> B5         </td> <td align="right">  501</td> <td align="right">  709</td> </tr>
+<tr><td> C0         </td> <td align="right"> 2600</td> <td align="right"> 3677</td> </tr>
+<tr><td> C1         </td> <td align="right"> 1837</td> <td align="right"> 2600</td> </tr>
+<tr><td> C2         </td> <td align="right"> 1298</td> <td align="right"> 1837</td> </tr>
+<tr><td> C3         </td> <td align="right">  918</td> <td align="right"> 1298</td> </tr>
+<tr><td> C4         </td> <td align="right">  649</td> <td align="right">  918</td> </tr>
+<tr><td> C5         </td> <td align="right">  459</td> <td align="right">  649</td> </tr>
+<tr><td> C6         </td> <td align="right">  323</td> <td align="right">  459</td> </tr>
+<tr><td> Flsa       </td> <td align="right">  612</td> <td align="right">  936</td> </tr>
+<tr><td> Flse       </td> <td align="right">  612</td> <td align="right">  936</td> </tr>
+<tr><td> HalfLetter </td> <td align="right">  396</td> <td align="right">  612</td> </tr>
+</table></div>
+
+<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="command-line-options.html#gravity">-gravity</a> option. To
+position a GIF or MNG image, use <a href="command-line-options.html#page">-page</a><var>{+-}x{+-}y</var> (e.g.  -page +100+200). When writing to a MNG
+file, a <a href="command-line-options.html#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 <code>MHDR</code> 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="command-line-options.html#geometry">-geometry</a> but positioned relative to the <var>lower
+left-hand corner</var> of the page by {+-}<code>x</code><var>offset</var>{+-}<code>y</code> <var>offset</var>. Use <a href="command-line-options.html#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="command-line-options.html#page">-page</a> option is <var>NorthWest</var>, i.e., positive <code>x</code> and <code>y</code> <var>offset</var> are measured rightward and downward from the top left
+corner of the page, unless the <a href="command-line-options.html#gravity">-gravity</a> option is
+present with a value other than <var>NorthWest</var>.</p>
+
+<p>The default page dimensions for a TEXT image is 612x792.</p>
+
+<p>This option is used in concert with <a href="command-line-options.html#density">-density</a>.</p>
+
+<p>Use <a href="command-line-options.html#page">+page</a> to remove the page settings for an image.</p>
+
+<div style="margin: auto;">
+  <h4><a id="paint"></a>-paint <var>radius</var></h4>
+</div>
+
+<p class="magick-description">simulate an oil painting.</p>
+
+<p>Each pixel is replaced by the most frequent color in a circular
+neighborhood whose width is specified with <var>radius</var>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="path"></a>-path <var>path</var></h4></div>
+
+<p class="magick-description">write images to this path on disk.</p>
+
+<div style="margin: auto;">
+  <h4><a id="pause_animate_"></a>-pause <var>seconds</var></h4>
+</div>
+
+<p class="magick-description">Pause between animation loops</p>
+
+<p>Pause for the specified number of seconds before repeating the animation.</p>
+
+<div style="margin: auto;">
+  <h4><a id="pause_import_"></a>-pause <var>seconds</var></h4>
+</div>
+
+<p class="magick-description">Pause between snapshots.</p>
+
+<p>Pause for the specified number of seconds before taking the next snapshot.</p>
+
+<div style="margin: auto;">
+  <h4><a id="perceptible"></a>-perceptible <var>epsilon</var></h4>
+</div>
+
+<p class="magick-description">set each pixel whose value is less than |<var>epsilon</var>| to <var>-epsilon</var> or <var>epsilon</var> (whichever is closer) otherwise the pixel value remains unchanged.</p>
+
+<div style="margin: auto;">
+  <h4><a id="ping"></a>-ping</h4>
+</div>
+
+<p class="magick-description">efficiently determine image characteristics.</p>
+
+<div style="margin: auto;">
+  <h4><a id="pointsize"></a>-pointsize <var>value</var></h4>
+</div>
+
+<p class="magick-description">pointsize of the PostScript, OPTION1, or TrueType font.</p>
+
+<div style="margin: auto;">
+  <h4><a id="polaroid"></a>-polaroid <var>angle</var></h4>
+</div>
+
+<p class="magick-description">simulate a Polaroid picture.</p>
+
+<p>Use <code>+polaroid</code> to rotate the image at a random angle between -15 and +15 degrees.</p>
+
+<div style="margin: auto;">
+  <h4><a id="poly"></a>-poly <var>"wt,exp ..."</var></h4>
+</div>
+
+<p class="magick-description">combines multiple images according to a weighted sum of polynomials; one floating point weight (coefficient) and one floating point polynomial exponent (power) for each image expressed as comma separated pairs.</p>
+
+<p> The weights should typically be fractions between -1 and 1. But the sum of weights should be 1 or at least between 0 and 1 to avoid clamping in non-hdri mode at black and white.</p>
+
+<p>The exponents may be positive, negative or zero. A negative exponent is equivalent to 1 divided by the image raised to the corresponding positive exponent. A zero exponent always produces 1 scaled by quantumrange to white, i.e. wt*white, no matter what the image.</p>
+
+<p>The format is: output = wt1*image1^exp1 + wt2*image2^exp2 ...</p>
+
+<p>Some simple uses are:</p>
+<ul>
+<li>A weighted sum of each image provided all weights add to unity and all exponents=1. If the the weights are all equal to 1/(number of images), then this is equivalent to <a href="command-line-options.html#profile">-evaluate-sequence</a> <var>mean</var>.</li>
+<li>The sum of squares of two or more images, provided the weights are equal (and sum to 1 to avoid clamping) and the exponents equal 2.</li>
+</ul>
+
+<p>Note that one may add a constant color to the expression simply by using xc:somecolor for one of the images and specifying the desired weight and exponent equal to 0.</p>
+
+<p>Similarly one may add white to the expression by simply using null: (or xc:white) for one of the images with the appropriate weight and exponent equal to 0.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="posterize"></a>-posterize <var>levels</var></h4>
+</div>
+
+<p class="magick-description">reduce the image to a limited number of color levels per channel.</p>
+
+<p>Very low values of <var>levels</var>, e.g., 2, 3, 4, have the most
+visible effect.</p>
+
+<div style="margin: auto;">
+  <h4><a id="precision"></a>-precision <var>value</var></h4>
+</div>
+
+<p class="magick-description">set the maximum number of significant digits to be printed.</p>
+
+<div style="margin: auto;">
+  <h4><a id="preview"></a>-preview <var>type</var></h4>
+</div>
+
+<p class="magick-description">image preview type.</p>
+
+<p>Use this option to affect the preview operation of an image (e.g.
+<code>convert file.png -preview Gamma Preview:gamma.png</code>). Choose from
+these previews:</p>
+
+<pre>
+   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="command-line-options.html#list">-list preview</a> option.</p>
+
+<p>The default preview is <code>JPEG</code>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="print"></a>-print <var>string</var></h4>
+</div>
+
+<p class="magick-description">interpret string and print to console.</p>
+
+<div style="margin: auto;">
+  <h4><a id="process"></a>-process <var>command</var></h4>
+</div>
+
+<p class="magick-description">process the image with a custom image filter.</p>
+
+<p>The command arguments has the form <code>"module arg1 arg2 arg3 ...
+argN"</code> where <code>module</code> 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 id="profile"></a>-profile <var>filename</var><br>
+  +profile <var>profile_name</var></h4>
+</div>
+
+<p class="magick-description">Manage ICM, IPTC, or generic profiles in an image.</p>
+
+<p>Using <a href="command-line-options.html#profile">-profile</a> <var>filename</var> adds an
+ICM (ICC color management), IPTC (newswire information), or a generic profile
+to the image.</p>
+
+<p>Use <a href="command-line-options.html#profile">+profile <var>profile_name</var></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:  <code>+profile
+"!xmp,*"</code>. </p>
+
+<p>Use <code>identify -verbose</code> to find out which profiles are in the
+image file. Use <a href="command-line-options.html#strip">-strip</a> to remove all profiles (and
+comments).</p>
+
+<p>To extract a profile, the <a href="command-line-options.html#profile">-profile</a> option is not
+used. Instead, simply write the file to an image format such as <var>APP1, 8BIM, ICM,</var> or <var>IPTC</var>.</p>
+
+<p>For example, to extract the Exif data (which is stored in JPEG files in the
+<var>APP1</var> profile), use.</p>
+
+<pre>
+convert cockatoo.jpg profile.exif
+</pre>
+
+<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="command-line-options.html#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>
+
+<pre>
+convert CMYK.tif -profile "CMYK.icc" -profile "RGB.icc" RGB.tiff
+</pre>
+
+<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−&gt;4 and 4−&gt;3 channel mapping.
+</p>
+
+<div style="margin: auto;">
+  <h4><a id="quality"></a>-quality <var>value</var></h4>
+</div>
+
+<p class="magick-description">JPEG/MIFF/PNG compression level.</p>
+
+<p>For the JPEG and MPEG image formats, quality is 1 (lowest image quality and
+highest compression) to 100 (best quality but least effective compression).
+The default is to use the estimated quality of your input image if it can
+be determined, otherwise 92. When the quality is greater than 90, then the
+chroma channels are not downsampled.
+Use the <a href="command-line-options.html#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 100, a request for non-lossy
+compression.  A quality of 75 results in a request for 16:1 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).  The default
+PNG "quality" is 75, which means compression level 7 with adaptive PNG
+filtering, unless the image has a color map, in which case it means
+compression level 7 with no PNG filtering.</p>
+
+<p>For compression level 0 (quality value less than 10), 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 PNG filter-type is used for
+all scanlines:</p>
+
+<pre>
+   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 <var>minimum-sum-of-absolute-values</var> is used.</p>
+
+<p>Only if the output is MNG, if filter-type is 7, the LOCO color
+transformation (intrapixel differencing) and adaptive filtering
+with <var>minimum-sum-of-absolute-values</var> are used.</p>
+
+<p>If the filter-type is 8 the zlib Z_RLE compression strategy (or the
+Z_HUFFMAN_ONLY strategy, when compression level is 0) is used with
+adaptive PNG filtering.</p>
+
+<p>If the filter-type is 9 the zlib Z_RLE compression strategy (or the
+Z_HUFFMAN_ONLY strategy, when compression level is 0) is used with
+no PNG filtering.</p>
+
+<p>The quality setting has no effect on the appearance or signature of PNG
+and MNG images, since the compression is always lossless.</p>
+
+<p>Not all combinations of compression level, strategy, and PNG filter type
+can be obtained using the -quality option.  For more precise control,
+you can use the PNG:compression-level=N, PNG:compression-strategy=N, and
+PNG:compression-filter=N defines, respectively, instead.
+See <a href="command-line-options.html#define">-define</a>. Values from the defines take precedence
+over values from the -quality option.</p>
+
+<p>For further information, see
+the <a href="http://www.w3.org/pub/WWW/TR">PNG</a> specification.</p>
+
+<div style="margin: auto;">
+  <h4><a id="quantize"></a>-quantize <var>colorspace</var></h4>
+</div>
+
+<p class="magick-description">reduce colors using this colorspace.</p>
+
+<p>This setting defines the colorspace used to sort out and reduce the number
+of colors needed by an image (for later dithering) by operators such as <a href="command-line-options.html#colors">-colors</a>, Note that color reduction also happens
+automatically when saving images to color-limited image file formats, such as
+GIF, and PNG8.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="quiet"></a>-quiet</h4>
+</div>
+
+<p class="magick-description">suppress all warning messages. Error messages are still reported.</p>
+
+<div style="margin: auto;">
+  <h4><a id="radial-blur"></a>-radial-blur  <var>angle</var></h4>
+</div>
+
+<p class="magick-description">Blur around the center of the image.</p>
+
+<p>Note that this is actually a rotational blur rather than a radial and as
+such actually mis-named. </p>
+
+<p>The <a href="command-line-options.html#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 id="raise"></a>-raise <var>thickness</var></h4>
+</div>
+
+<p class="magick-description">Lighten or darken image edges.</p>
+
+<p>This will create a 3-D effect. Use <a href="command-line-options.html#raise">-raise</a> to create
+a raised effect, otherwise use <a href="command-line-options.html#raise">+raise</a>.  </p>
+
+<p>Unlike the similar <a href="command-line-options.html#frame">-frame</a> option, <a href="command-line-options.html#raise">-raise</a> does not alter the dimensions of the image.</p>
+
+<div style="margin: auto;">
+  <h4><a id="random-threshold"></a>-random-threshold <var>low</var>x<var>high</var></h4>
+</div>
+
+<p class="magick-description">Apply a random threshold to the image.</p>
+
+<div style="margin: auto;">
+  <h4><a id="red-primary"></a>-red-primary <var>x,y</var></h4>
+</div>
+
+<p class="magick-description">Set the red chromaticity primary point.</p>
+
+<div style="margin: auto;">
+  <h4><a id="regard-warnings"></a>-regard-warnings</h4>
+</div>
+
+<p class="magick-description">Pay attention to warning messages.</p>
+
+<p>This option causes some warnings in some image formats to be treated
+as errors. </p>
+
+<div style="margin: auto;">
+  <h4><a id="remap"></a>-remap <var>filename</var></h4>
+</div>
+
+<p class="magick-description">Reduce the number of colors in an image to the colors used by this image.</p>
+
+<p>If the <a href="command-line-options.html#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="command-line-options.html#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="command-line-options.html#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="command-line-options.html#colors">-colors</a> with a 256 color
+limit, then <a href="command-line-options.html#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="command-line-options.html#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="command-line-options.html#colors">-colors</a> or <a href="command-line-options.html#ordered-dither">-ordered-dither</a> to
+reduce the number of colors in an animated image sequence. </p>
+
+<p>Note, the remap image colormap has at most 8-bits of precision. Deeper color maps are automagically coalesced with other colors to meet this requirement.</p>
+
+<div style="margin: auto;">
+  <h4><a id="region"></a>-region <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Set a region in which subsequent operations apply.</p>
+
+<p>The <var>x</var> and <var>y</var> offsets are treated
+in the same manner as in <a href="command-line-options.html#crop">-crop</a>.</p>
+
+<p>See <a href="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 id="remote"></a>-remote</h4>
+</div>
+
+<p class="magick-description">perform a remote operation.</p>
+
+<p>The only command recognized is the name of an image file to load.</p>
+
+<p>If you have more than one <a href="display.html">display</a> application
+running simultaneously, use the <a href="command-line-options.html#window"> window</a> option to
+specify which application to control.</p>
+
+<div style="margin: auto;">
+  <h4><a id="render"></a>-render</h4>
+</div>
+
+<p class="magick-description">render vector operations.</p>
+
+<p>Use <a href="command-line-options.html#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 id="repage"></a>-repage <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Adjust the canvas and offset information of the image.</p>
+
+<p>This option is like <a href="command-line-options.html#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="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
+
+<p>If a <code>!</code> 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 '<code>0x0</code>' 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="command-line-options.html#repage">+repage</a> to completely remove/reset the virtual
+canvas meta-data from the images. </p>
+
+<p>The <a href="command-line-options.html#set">-set</a> '<code>page</code>' option can be used to
+directly assign virtual canvas meta-data. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="resample"></a>-resample <var>horizontal</var>x<var>vertical</var></h4>
+</div>
+
+<p class="magick-description">Resample image to specified horizontal and vertical resolution.</p>
+
+<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="command-line-options.html#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 id="resize"></a>-resize <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Resize an image.</p>
+
+<p>See <a href="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="command-line-options.html#gravity">-gravity</a> option has no effect.</p>
+
+<p>If the <a href="command-line-options.html#filter">-filter</a> option
+or <code>-define filter:option=value</code> precedes the <a href="command-line-options.html#resize">-resize</a> option, the image is resized with the specified
+filter.</p>
+
+<p>Many image processing algorithms assume your image is in a linear-light
+coding.  If your image is gamma-corrected, you can remove the nonlinear gamma
+correction, apply the transform, then restore it like this:</p>
+
+<pre>
+convert portrait.jpg -gamma .45455 -resize 25% -gamma 2.2  \ <br> -quality 92 passport.jpg
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="respect-parentheses"></a>-respect-parentheses</h4>
+</div>
+
+<p class="magick-description">settings remain in effect until parenthesis boundary.</p>
+
+<div style="margin: auto;">
+  <h4><a id="reverse"></a>-reverse</h4>
+</div>
+
+<p class="magick-description">Reverse the order of images in the current image list.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="roll"></a>-roll {<var>+-</var>}<var>x</var>{<var>+-</var>}<var>y</var></h4>
+</div>
+
+<p class="magick-description">roll an image vertically or horizontally by the amount given.</p>
+
+<p>A negative <var>x</var> offset rolls the image right-to-left.
+A negative <var>y</var> offset rolls the image bottom-to-top.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="rotate"></a>-rotate <var>degrees</var>{<var>&lt;</var>}{<var>&gt;</var>}</h4>
+</div>
+
+<p class="magick-description">Apply Paeth image rotation (using shear operations) to the image.</p>
+
+<p>Use <code>&gt;</code> to rotate the image only if its width exceeds the
+height. <code>&lt;</code> rotates the image <var>only</var> if its width is less
+than the height. For example, if you specify <code>-rotate "-90&gt;"</code> 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 <code>&gt;</code> or
+<code>&lt;</code>, 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 <code>background</code> color. </p>
+
+<p>See also the <a href="command-line-options.html#distort">-distort</a> operator and specifically the
+'<code>ScaleRotateTranslate</code>' distort method. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="sample"></a>-sample <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">minify / magnify the image with pixel subsampling and pixel replication, respectively.</p>
+
+<p>Change the image size simply by directly sampling the pixels original
+from the image.  When magnifying, pixels are replicated in blocks.  When
+minifying, pixels are sub-sampled (i.e., some rows and columns are skipped
+over). </p>
+
+<p>The results are thus equivalent to using <a href="command-line-options.html#resize">-resize</a> with
+a <a href="command-line-options.html#filter">-filter</a> setting of <code>point</code> (nearest
+neighbour), though <a href="command-line-options.html#sample">-sample</a> is a lot faster, as it
+avoids all the filter processing of the image. As such it completely ignores
+the current <a href="command-line-options.html#filter">-filter</a> setting. </p>
+
+<p>The key feature of the <a href="command-line-options.html#sample">-sample</a> is that no new colors
+will be added to the resulting image, though some colors may disappear. </p>
+
+<p>See <a href="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, unlike <a href="command-line-options.html#resize">-resize</a>. </p>
+
+
+<p>The actual sampling point is the middle of the sub-region being sampled.
+As such a single pixel sampling of an image will take the middle pixel, (or
+top-left-middle if image has even dimensions).  However the <a href="command-line-options.html#define">-define</a> '<code>sample:offset</code>' can be set to modify
+this position some other location within each sub-region being sampled, as
+a percentage offset.</p>
+
+<p>By default this value is '<code>50</code>' for the midpoint, but could be set
+to '<code>0</code>' for top-left, '<code>100</code>' for bottom-right, or with
+separate X and Y offsets such as '<code>0x50</code>' for left-middle edge of
+sampling sub-region.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="sampling-factor"></a>-sampling-factor <var>horizontal-factor</var>x<var>vertical-factor</var></h4>
+</div>
+
+<p class="magick-description">sampling factors used by JPEG or MPEG-2 encoder and YUV decoder/encoder.</p>
+
+<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="command-line-options.html#sampling-factor">-sampling-factor 2x1</a> or <a href="command-line-options.html#sampling-factor">-sampling-factor 4:2:2</a> to specify the 4:2:2
+downsampling method.</p>
+
+<div style="margin: auto;">
+  <h4><a id="scale"></a>-scale <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">minify / magnify the image with pixel block averaging and pixel replication, respectively.</p>
+
+<p>Change the image size simply by replacing pixels by averaging pixels
+together when minifying, or replacing pixels when magnifying.  </p>
+
+<p>The results are thus equivalent to using <a href="command-line-options.html#resize">-resize</a> with
+a <a href="command-line-options.html#filter">-filter</a> setting of <code>box</code>.  Though it is a lot
+faster, as it avoids all the filter processing of the image. As such it
+completely ignores the current <a href="command-line-options.html#filter">-filter</a> setting. </p>
+
+<p>If when shrinking (minifying) images the original image is some integer
+multiple of the new image size, the number of pixels averaged together to
+produce the new pixel color is the same across the whole image. This is
+a special case known as 'binning' and is often used as a method of reducing
+noise in image such as those generated by digital cameras, especially in low
+light conditions. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="scene"></a>-scene <var>value</var></h4>
+</div>
+
+<p class="magick-description">set scene number.</p>
+
+<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 id="screen"></a>-screen</h4>
+</div>
+
+<p class="magick-description">specify the screen to capture.</p>
+
+<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 id="seed"></a>-seed</h4>
+</div>
+
+<p class="magick-description">seed a new sequence of pseudo-random numbers</p>
+
+<div style="margin: auto;">
+  <h4><a id="segment"></a>-segment <var>cluster-threshold</var>x<var>smoothing-threshold</var></h4>
+</div>
+
+<p class="magick-description">segment the colors of an image.</p>
+
+<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 <var>cluster threshold</var> as the number of pixels in
+each cluster that must exceed the cluster threshold to be considered valid.
+<var>Smoothing threshold</var> 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="command-line-options.html#verbose">-verbose</a> setting is defined, a detailed report
+of the color clusters is returned.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="selective-blur"></a>-selective-blur <var>radius</var><br>-selective-blur <var>radius</var>x<var>sigma</var>{<var>+threshold</var>}</h4>
+</div>
+
+<p class="magick-description">Selectively blur pixels within a contrast threshold.</p>
+
+<p>Blurs those pixels that are less than or equal to the threshold in
+contrast. The threshold may be expressed as a fraction of <var>QuantumRange</var> or as a percentage.</p>
+
+<div style="margin: auto;">
+  <h4><a id="separate"></a>-separate</h4>
+</div>
+
+<p class="magick-description">separate an image channel into a grayscale image.  Specify the channel with <a href="command-line-options.html#channel">-channel</a>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="sepia-tone"></a>-sepia-tone <var>threshold</var></h4>
+</div>
+
+<p class="magick-description">simulate a sepia-toned photo.</p>
+
+<p>Specify <var>threshold</var> 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 <var>QuantumRange</var> 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 id="set"></a>-set <var>key value</var></h4>
+  <h4>+set <var>key</var></h4>
+</div>
+
+<p class="magick-description">sets image attributes and properties for images in the current image sequence.</p>
+
+<p>This will assign (or modify) specific settings attached to all the images
+in the current image sequence.  Using the <a href="command-line-options.html#set">+set</a> form of the
+option will either remove, or reset that setting to a default state, as
+appropriate.  </p>
+
+<p>For example, it will modify specific well known image meta-data
+'attributes' such as those normally overridden by: the options <a href="command-line-options.html#delay">-delay</a>, <a href="command-line-options.html#dispose">-dispose</a>, and <a href="command-line-options.html#page">-page</a>, <a href="command-line-options.html#colorspace">-colorspace</a>; generally
+assigned before the image is read in, by using a <var>key</var> of
+the same name. </p>
+
+<p>If the given <var>key</var> does not match a specific known
+'attribute ', such as shown above, the setting is stored as a a free form
+'property' string.  Such settings are listed in <a href="command-line-options.html#verbose">-verbose</a> information ("<code>info:</code>" output format) as "Properties".
+</p>
+
+<p>This includes string 'properties' that are set by and assigned to images
+using the options <a href="command-line-options.html#comment">-comment</a>, <a href="command-line-options.html#label">-label</a>, <a href="command-line-options.html#caption">-caption</a>. These options actually assign
+a global 'artifact' which are automatically assigned (and any <a href="escape.html">Format Percent
+Escapes</a> expanded) to images as they are read in.  For example:</p>
+
+<pre>
+convert rose: -set comment 'Rose is a rose is a rose is a rose' rose.png
+identify -format %c rose.png
+Rose is a rose is a rose is a rose
+</pre>
+
+<p>The set value can also make use of <a href="escape.html">Format and Print Image
+Properties</a> in the defined value.  For example:</p>
+
+<pre>
+convert rose: -set origsize '%wx%h' -resize 50% \
+  -format 'Old size = %[origsize]  New size = %wx%h' info:
+Old size = 70x46  New size = 35x23
+</pre>
+
+<p>Other well known 'properties' that are availible include:
+'<code>date:create</code>' and '<code>date:modify</code>' and
+'<code>signature</code>'. </p>
+
+<p>The <a href="command-line-options.html#repage">-repage</a> operator will also allow you to modify
+the '<code>page</code>' attribute of an image for images already in memory (also
+see <a href="command-line-options.html#repage">-page</a>).  However it is designed to provide a finer
+control of the sub-parts of this 'attribute'. The <a href="command-line-options.html#set">-set page</a>
+option will only provide a direct, unmodified assignment of  '<code>page</code>'
+attribute. </p>
+
+<p>This option can also associate a colorspace or profile with your image.
+For example,</p>
+
+<pre>
+convert image.psd -set profile ISOcoated_v2_eci.icc image-icc.psd
+</pre>
+
+<p>Some 'properties' must be defined in a specific way to be used. For
+example only 'properties' prefixed with "<code>filename:</code>" can be used to
+modify the output filename of an image. For example</p>
+
+<pre>
+convert rose: -set filename:mysize '%wx%h' 'rose_%[filename:mysize].png'
+</pre>
+
+<p>If the setting value is prefixed with "<code>option:</code>" the setting will
+be saved as a global "Artifact" exactly as if it was set using the <a href="command-line-options.html#define">-define</a> option. As such settings are global in scope, they
+can be used to pass 'attributes' and 'properties' of one specific image,
+in a way that allows you to use them in a completely different image, even if
+the original image has long since been modified or destroyed. For example: </p>
+
+<pre>
+convert rose:  -set option:rosesize '%wx%h' -delete 0 \
+  label:'%[rosesize]'   label_size_of_rose.gif"
+</pre>
+
+<p>Note that <a href="escape.html">Format Percent Escapes</a> will only match
+a 'artifact' if the given <var>key</var> does not match an existing
+'attribute' or 'property'.  </p>
+
+<p>You can set the attributes of the image registry by prefixing the value
+with <code>registry:</code>.</p>
+
+<p>The <a href="command-line-options.html#set">-set profile</a> option can also be used to inject
+previously-formatted ancillary chunks into the output PNG file, using
+the commandline option as shown below or by setting the profile via a
+programming interface:</p>
+
+<pre>
+convert in.png -set profile PNG-chunk-x:&lt;filename&gt; out.png
+</pre>
+
+<p>where <var>x</var> is a location flag and
+<var>filename</var> is a file containing the chunk
+name in the first 4 bytes, then a colon (":"), followed by the chunk data.
+This encoder will compute the chunk length and CRC, so those must not
+be included in the file.</p>
+
+<p>"x" can be "b" (before PLTE), "m" (middle, i.e., between PLTE and IDAT),
+or "e" (end, i.e., after IDAT).  If you want to write multiple chunks
+of the same type, then add a short unique string after the "x" to prevent
+subsequent profiles from overwriting the preceding ones, e.g.,</p>
+
+
+<pre>
+convert in.png -set profile PNG-chunk-b01:file01 \ 
+  -profile PNG-chunk-b02:file02 out.png
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="shade"></a>-shade <var>azimuth</var>x<var>elevation</var></h4>
+</div>
+
+<p class="magick-description">shade the image using a distant light source.</p>
+
+<p>Specify <var>azimuth</var> and <var>elevation</var> as
+the position of the light source. Use <a href="command-line-options.html#shade">+shade</a> to return
+the shading results as a grayscale image.</p>
+
+<div style="margin: auto;">
+  <h4><a id="shadow"></a>-shadow <var>percent-opacity</var>{x<var>sigma</var>}{<var>+-</var>}<var>x</var>{<var>+-</var>}<var>y</var>{<var>%</var>}</h4>
+</div>
+
+<p class="magick-description">simulate an image shadow.</p>
+
+<div style="margin: auto;">
+  <h4><a id="shared-memory"></a>-shared-memory</h4>
+</div>
+
+<p class="magick-description">use shared memory.</p>
+
+<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 <var>MIT-SHM</var> extension.
+Otherwise, this option is ignored. The default is <code>True</code>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="sharpen"></a>-sharpen <var>radius</var><br>-sharpen <var>radius</var>x<var>sigma</var></h4>
+</div>
+
+<p class="magick-description">sharpen the image.</p>
+
+<p>Use a Gaussian operator of the given radius and standard deviation (sigma).</p>
+
+<div style="margin: auto;">
+  <h4><a id="shave"></a>-shave <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Shave pixels from the image edges.</p>
+
+<p>The <var>size</var> portion of the <var>geometry</var>
+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="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 id="shear"></a>-shear <var>Xdegrees</var>[x<var>Ydegrees</var>]</h4>
+</div>
+
+<p class="magick-description">Shear the image along the x-axis and/or y-axis.</p>
+
+<p>The shear angles may be positive, negative, or zero. When <var>Ydegrees</var> 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,
+<var>Xdegrees</var> is measured clockwise relative to "up" (the
+negative y-axis), sliding the top edge to the right when 0°&lt;<var>Xdegrees</var>&lt;90° and to the left when 90°&lt;<var>Xdegrees</var>&lt;180°.  For vertical shears <var>Ydegrees</var> is measured clockwise relative to "right" (the
+positive x-axis), sliding the right edge down when 0°&lt;<var>Ydegrees</var>&lt;90° and up when 90°&lt;<var>Ydegrees</var>&lt;180°.</p>
+
+<p>Empty triangles left over from shearing the image are filled with the color
+defined by the <a href="command-line-options.html#fill">-background</a> option. The color is specified
+using the format described under the <a href="command-line-options.html#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
+<var>commute</var>, i.e., the order matters in a sequence of shears. For
+example, the following two commands are not equivalent.</p>
+
+<pre>
+convert logo: -shear 20x0 -shear 0x60 logo-sheared.png
+convert logo: -shear 0x60 -shear 20x0 logo-sheared.png
+</pre>
+
+<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>
+
+<pre>
+convert logo: -shear 20x60 logo-sheared.png
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="sigmoidal-contrast"></a>-sigmoidal-contrast <var>contrast</var>x<var>mid-point</var></h4>
+</div>
+
+<p class="magick-description">increase the contrast without saturating highlights or shadows.</p>
+
+<p>Increase the contrast of the image using a sigmoidal transfer function
+without saturating highlights or shadows. <var>Contrast</var>
+indicates how much to increase the contrast. For example, 0 is none, 3 is
+typical and 20 is a lot.
+</p>
+
+<p>The <var>mid-point</var> indicates where the maximum change
+'slope' in contrast should fall in the resultant image (0 is white; 50% is
+middle-gray; 100% is black). </p>
+
+<p>By default the image contrast is increased, use <var>+sigmoidal-contrast</var> to decrease the contrast.</p>
+
+<p>To achieve the equivalent of a sigmoidal brightness change (similar to 
+a gamma adjustment), you would use <var>-sigmoidal-contrast
+{brightness}x0%</var> to increase brightness and <var>+sigmoidal-contrast {brightness}x0%</var> to decrease brightness.
+Note the use of '0' fo rthe mid-point of the sigmoidal curve. </p>
+
+<p>Using a very high <var>contrast</var> will produce a sort of
+'smoothed thresholding' of the image.  Not as sharp (with high aliasing
+effects) of a true threshold, but with tapered gray-levels around the threshold
+<var>mid-point</var>. </p>
+
+<div style="margin: auto;">
+  <h4><a id="silent"></a>-silent</h4>
+</div>
+
+<p class="magick-description">operate silently.</p>
+
+<div style="margin: auto;">
+  <h4><a id="similarity-threshold"></a>-similarity-threshold <var>value</var></h4>
+</div>
+
+<p class="magick-description">minimum RMSE for subimage match.</p>
+
+<p>If this setting is used, then the search will stop as soon as it finds a match whose metric is less than or equal to the value. A partially filled second output image will result. Using a value of zero, will cause the search to stop at the first perfect match it finds. If this setting is left off, then the search will proceed to completion or as limited by <var>-dissimilarity-threshold</var>.</p>
+
+<div style="margin: auto;">
+  <h4><a id="size"></a>-size <var>width</var>[x<var>height</var>][<var>+offset</var>]</h4>
+</div>
+
+<p class="magick-description">set the width and height of the image.</p>
+
+<p>Use this option to specify the width and height of raw images whose
+dimensions are unknown such as <code>GRAY</code>, <code>RGB</code>, or
+<code>CMYK</code>. In addition to width and height, use <a href="command-line-options.html#size">-size</a> with an offset to skip any header information in the
+image or tell the number of colors in a <code>MAP</code> image file, (e.g. -size
+640x512+256).</p>
+
+<p>For Photo CD images, choose from these sizes:</p>
+
+<pre>
+   192x128
+   384x256
+   768x512
+   1536x1024
+   3072x2048
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="sketch"></a>-sketch <var>radius</var><br>-sketch <var>radius</var>x<var>sigma</var>+<var>angle</var></h4>
+</div>
+
+<p class="magick-description">simulate a pencil sketch.</p>
+
+<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 id="smush"></a>-smush <var>offset</var></h4>
+</div>
+
+<p class="magick-description">smush an image sequence together.</p>
+
+<div style="margin: auto;">
+  <h4><a id="snaps"></a>-snaps <var>value</var></h4>
+</div>
+
+<p class="magick-description">Set the number of screen snapshots.</p>
+
+<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 id="solarize"></a>-solarize <var>threshold</var></h4>
+</div>
+
+<p class="magick-description">negate all pixels above the threshold level.</p>
+
+<p>Specify <var>factor</var> as the percent threshold of the intensity (0 - 99.9%).</p>
+
+<p>This option produces a <var>solarization</var> effect seen when
+exposing a photographic film to light during the development process.</p>
+
+<div style="margin: auto;">
+  <h4><a id="sparse-color"></a>-sparse-color <var>method</var>  '<var>x</var>,<var>y</var> <var>color</var>  ...'</h4>
+</div>
+
+<p class="magick-description"> color the given image using the specified points of color, and filling the other intervening colors using the given methods. </p>
+
+
+<table class="table table-condensed table-striped">
+  <tbody>
+  <tr>
+    <th style="width: 8%">Method</th>
+    <th>Description</th>
+  </tr>
+
+  <tr>
+    <td>barycentric</td>
+    <td>three point triangle of color given 3 points.
+        Giving only 2 points will form a linear gradient between those points.
+        The gradient generated extends beyond the triangle created by those
+        3 points. </td>
+  </tr>
+
+  <tr>
+    <td>bilinear</td>
+    <td>Like barycentric but for 4 points. Less than 4 points
+        fall back to barycentric. </td>
+  </tr>
+  <tr>
+    <td>voronoi</td>
+    <td>Simply map each pixel to the to nearest color point
+        given. The result are polygonal 'cells' of solid color. </td>
+  </tr>
+
+  <tr>
+    <td>shepards</td>
+    <td>Colors points biased on the ratio of inverse distance
+        squared. Generating spots of color in a sea of the average of
+        colors. </td>
+  </tr>
+
+  <tr>
+    <td>inverse</td>
+    <td>Colors points biased on the ratio of inverse distance.
+        This generates sharper points of color rather than rounded spots of
+        '<code>shepards</code>'  Generating spots of color in a sea of the
+        average of colors. </td>
+  </tr>
+
+  </tbody>
+</table>
+
+<p>The points are placed according to the images location on the virtual
+canvas (<a href="command-line-options.html#page">-page</a> or <a href="command-line-options.html#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="command-line-options.html#channel">-channel</a> are
+modified, which means that by default matte/alpha transparency channel is not
+effected. Typically transparency channel is turned off either before or after
+the operation. </p>
+
+<p>Of course if some color points are transparent to generate a transparent
+gradient, then the image also requires transparency enabled to store the
+values. </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 an image to some
+default value. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="splice"></a>-splice <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Splice the current background color into the image.</p>
+
+<p>This will add rows and columns of the current <a href="command-line-options.html#background">-background</a> color into the given image according to the
+given  <a href="command-line-options.html#gravity">-gravity</a> geometry setting.  See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument. Essentially <a href="command-line-options.html#splice">-splice</a> will divide the
+image into four quadrants, separating them by the inserted rows and columns.
+</p>
+
+<p>If a dimension of geometry is zero no rows or columns will be added for that
+dimension.  Similarly using a zero offset with the appropriate <a href="command-line-options.html#gravity">-gravity</a> setting will add rows and columns to the edges of
+the image, padding the image only along that one edge. Edge padding is what <a href="command-line-options.html#splice">-splice</a> is most commonly used for. </p>
+
+<p>If the exact same  <var>geometry</var> and <a href="command-line-options.html#gravity">-gravity</a> is later used with <a href="command-line-options.html#chop">-chop</a> the
+added added all splices removed. </p>
+
+<div style="margin: auto;">
+  <h4><a id="spread"></a>-spread <var>amount</var></h4>
+</div>
+
+<p class="magick-description">displace image pixels by a random amount.</p>
+
+<p>The argument <var>amount</var> 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 id="statistic"></a>-statistic <var>type</var> <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">replace each pixel with corresponding statistic from the neighborhood.</p>
+
+<p>Choose from these statistic types:</p>
+<pre>
+   Gradient            maximum difference (max - min) value in neighborhood
+   Maximum             maximum value per channel in neighborhood
+   Minimum             minimum value per channel in neighborhood
+   Mean                average value per channel in neighborhood
+   Median              median value per channel in neighborhood
+   Mode                mode (most frequent) value per channel in neighborhood
+   Nonpeak             value just before or after the median value per channel in neighborhood
+   RMS                 root mean square value per channel in neighborhood
+   StandardDeviation   standard deviation value per channel in neighborhood
+</pre>
+
+<div style="margin: auto;">
+  <h4><a id="stegano"></a>-stegano <var>offset</var></h4>
+</div>
+
+<p class="magick-description">hide watermark within an image.</p>
+
+<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 id="stereo"></a>-stereo <var>+x</var>{<var>+y</var>}</h4>
+</div>
+
+<p class="magick-description">composite two images to create a red / cyan stereo anaglyph.</p>
+
+<p>The left side of the stereo pair (second image) is saved as the red channel of the output image. The right side (first image) is saved as the green and blue channels. Red-green stereo glasses are required to properly view the stereo image.</p>
+
+<div style="margin: auto;">
+  <h4><a id="storage-type"></a>-storage-type <var>type</var></h4>
+</div>
+
+<p class="magick-description">pixel storage type.  Here are the valid types:</p>
+
+<pre>
+   char     unsigned characters
+   double   doubles
+   float    floats
+   integer  integers
+   long     longs
+   quantum  pixels in the native depth of your ImageMagick distribution
+   short    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 id="stretch"></a>-stretch <var>fontStretch</var></h4>
+</div>
+
+<p class="magick-description">Set a type of stretch style for fonts.</p>
+
+<p>This setting suggests a type of stretch that ImageMagick should try to
+apply to the currently selected font family. Select <var>fontStretch</var> from the following.</p>
+
+<pre>
+   Any
+   Condensed
+   Expanded
+   ExtraCondensed
+   ExtraExpanded
+   Normal
+   SemiCondensed
+   SemiExpanded
+   UltraCondensed
+   UltraExpanded
+</pre>
+
+<p>To print a complete list of stretch types, use <a href="command-line-options.html#list">-list
+stretch</a>.</p>
+
+<p>For other settings that affect fonts, see the options <a href="command-line-options.html#font">-font</a>, <a href="command-line-options.html#family">-family</a>, <a href="command-line-options.html#style">-style</a>, and <a href="command-line-options.html#weight">-weight</a>. </p>
+
+<div style="margin: auto;">
+  <h4><a id="strip"></a>-strip</h4>
+</div>
+
+<p class="magick-description">strip the image of any profiles or comments.</p>
+
+<div style="margin: auto;">
+  <h4><a id="stroke"></a>-stroke <var>color</var></h4>
+</div>
+
+<p class="magick-description">color to use when stroking a graphic primitive.</p>
+
+<p>The color is specified using the format described under the <a href="command-line-options.html#fill">-fill</a> option.</p>
+
+<p>See <a href="command-line-options.html#draw">-draw</a> for further details.</p>
+
+<div style="margin: auto;">
+  <h4><a id="strokewidth"></a>-strokewidth <var>value</var></h4>
+</div>
+
+<p class="magick-description">set the stroke width.</p>
+
+<p>See <a href="command-line-options.html#draw">-draw</a> for further details.</p>
+
+<div style="margin: auto;">
+  <h4><a id="style"></a>-style <var>fontStyle</var></h4>
+</div>
+
+<p class="magick-description">Set a font style for text.</p>
+
+<p>This setting suggests a font style that ImageMagick should try to apply to
+the currently selected font family. Select <var>fontStyle</var> from
+the following.</p>
+
+<pre>
+   Any
+   Italic
+   Normal
+   Oblique
+</pre>
+
+<p>For other settings that affect fonts, see the options <a href="command-line-options.html#font">-font</a>, <a href="command-line-options.html#family">-family</a>, <a href="command-line-options.html#stretch">-stretch</a>, and <a href="command-line-options.html#weight">-weight</a>. </p>
+
+<div style="margin: auto;">
+  <h4><a id="subimage-search"></a>-subimage-search</h4>
+</div>
+
+<p class="magick-description">search for subimage.</p>
+
+<p>This option is required to have compare search for the best match location
+of a small image within a larger image. This search will produce two images
+(or two frames). The first is the "difference" image and the second will
+be the "match score" image.</p>
+
+<p>The "match-score" image is smaller containing a pixel for ever possible
+position of the top-left corner of the given sub-image. that is its size will
+be the size of the larger_image - sub_image + 1.  The brightest location in
+this image is the location s the locate on the best match that is also
+reported. Note that this may or may not be a perfect match, and the actual
+brightness will reflect this. Other bright 'peaks' can be used to locate other
+possible matching locations. </p>
+
+<p>Note that the search will try to compare the sub-image at every possible
+location in the larger image, as such it can be very slow.  The smaller the
+sub-image the faster this search is. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="swap"></a>-swap <var>index,index</var></h4>
+</div>
+
+<p class="magick-description">Swap the positions of two images in the image sequence.</p>
+
+<p>For example, <a href="command-line-options.html#swap">-swap 0,2</a> swaps the first and the third
+images in the current image sequence. Use <a href="command-line-options.html#swap">+swap</a> to switch
+the last two images in the sequence.</p>
+
+<div style="margin: auto;">
+  <h4><a id="swirl"></a>-swirl <var>degrees</var></h4>
+</div>
+
+<p class="magick-description">swirl image pixels about the center.</p>
+
+<p><var>Degrees</var> defines the tightness of the swirl.</p>
+
+<div style="margin: auto;">
+  <h4><a id="synchronize"></a>-synchronize</h4>
+</div>
+
+<p class="magick-description">synchronize image to storage device.</p>
+
+<p>Set to "true" to ensure all image data is fully flushed and synchronized
+to disk. There is a performance penalty, but the benefits include ensuring a
+valid image file in the event of a system crash and early reporting if there
+is not enough disk space for the image pixel cache.</p>
+
+<div style="margin: auto;">
+  <h4><a id="taint"></a>-taint</h4>
+</div>
+
+<p class="magick-description">Mark the image as modified.</p>
+
+<div style="margin: auto;">
+  <h4><a id="text-font"></a>-text-font <var>name</var></h4>
+</div>
+
+<p class="magick-description">font for writing fixed-width text.</p>
+
+<p>Specifies the name of the preferred font to use in fixed (typewriter style)
+formatted text. The default is 14 point <var>Courier</var>.</p>
+
+<p>You can tag a font to specify whether it is a PostScript, TrueType, or
+OPTION1 font. For example, <code>Courier.ttf</code> is a TrueType font and
+<code>x:fixed</code> is OPTION1.</p>
+
+<div style="margin: auto;">
+  <h4><a id="texture"></a>-texture <var>filename</var></h4>
+</div>
+
+<p class="magick-description">name of texture to tile onto the image background.</p>
+
+<div style="margin: auto;">
+  <h4><a id="threshold"></a>-threshold <var>value</var>{<var>%</var>}</h4>
+</div>
+
+<!-- {<var>green,blue,opacity</var>}
+<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>
+-->
+
+<p class="magick-description">Apply simultaneous black/white threshold to the image.</p>
+
+<p>Any pixel values (more specifically, those channels set using <a href="command-line-options.html#channel">‑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
+<code>quantum depth</code> 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>
+
+<pre>
+convert in.png -channel red -threshold 50% out.png
+</pre>
+
+<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>
+
+
+<pre>
+convert in.png -threshold 100% black.png
+convert in.png -threshold -1 white.png
+</pre>
+
+<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="command-line-options.html#black-threshold">‑black‑threshold</a> and <a href="command-line-options.html#white-threshold">‑white‑threshold</a>.
+</p>
+
+<div style="margin: auto;">
+  <h4><a id="thumbnail"></a>-thumbnail <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Create a thumbnail of the image.</p>
+
+<p>This is similar to <a href="command-line-options.html#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="command-line-options.html#strip">-strip</a> just before of after this option.</p>
+
+<p>See <a href="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 id="tile"></a>-tile <var>filename</var></h4>
+</div>
+
+<p class="magick-description">Set the tile image used for filling a subsequent graphic primitive.</p>
+
+<div style="margin: auto;">
+  <h4>-tile <var>geometry</var></h4>
+</div>
+
+<p class="magick-description">Specify the layout of images.</p>
+
+<p>See <a href="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>
+
+<p class="magick-description">Specifies that a subsequent composite operation is repeated across and down image.</p>
+
+<div style="margin: auto;">
+  <h4><a id="tile-offset"></a>-tile-offset {<var>+-</var>}<var>x</var>{<var>+-</var>}<var>y</var></h4>
+</div>
+
+<p class="magick-description">Specify the offset for tile images, relative to the background image it is tiled on.</p>
+
+<p>This should be set before the tiling image is set by <a href="command-line-options.html#tile">-tile</a> or <a href="command-line-options.html#texture">-texture</a>, or directly applied for
+creating a tiled canvas using <code>TILE:</code> or <code>PATTERN:</code> input
+formats. </p>
+
+<p>Internally ImageMagick does a <a href="command-line-options.html#roll">-roll</a> of the tile image
+by the arguments given when the tile image is set. </p>
+
+<div style="margin: auto;">
+  <h4><a id="tint"></a>-tint <var>value</var></h4>
+</div>
+
+<p class="magick-description">Tint the image with the fill color.</p>
+
+<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 id="title"></a>-title <var>string</var></h4>
+</div>
+
+<p class="magick-description">Assign a title to displayed image.", "animate", "display", "montage</p>
+
+<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="command-line-options.html#format">-format</a> option.</p>
+
+<p>For example,</p>
+
+<p class="crtsnip">
+  -title "%m:%f %wx%h"
+</p>
+
+<p>produces an image title of <code>MIFF:bird.miff 512x480</code> for an image
+titled <code>bird.miff</code> and whose width is 512 and height is 480.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="transform"></a>-transform</h4>
+</div>
+
+<p class="magick-description">transform the image.</p>
+
+<p>This option applies the transformation matrix from a previous <a href="command-line-options.html#affine">-affine</a> option.</p>
+
+<pre>
+convert -affine 2,2,-2,2,0,0 -transform bird.ppm bird.jpg
+</pre>
+
+
+<p>This operator has been now been superseded by the  <a href="command-line-options.html#distort">-distort</a> '<code>AffineProjection</code>' method. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="transparent"></a>-transparent <var>color</var></h4>
+</div>
+
+<p class="magick-description">Make this color transparent within the image.</p>
+
+<p>The <var>color</var> argument is defined using the format
+described under the <a href="command-line-options.html#fill">-fill</a> option. The <a href="command-line-options.html#fuzz">-fuzz</a> setting can be used to match and replace colors similar to the one
+given. </p>
+
+<p>Use  <a href="command-line-options.html#transparent">+transparent</a> to invert the pixels matched.
+that is make all non-matching colors transparent. </p>
+
+<p>The <a href="command-line-options.html#opaque">-opaque</a>  operator is exactly the same as <a href="command-line-options.html#transparent">-transparent</a> but replaces the matching color with the
+current <a href="command-line-options.html#fill">-fill</a> color setting, rather than transparent.
+However the <a href="command-line-options.html#transparent">-transparent</a> operator also ensures
+that the image has an alpha channel enabled, as per "<code><a href="command-line-options.html#alpha">-alpha</a> set</code>", and does not require you to modify the <a href="command-line-options.html#channel">-channel</a> to enable alpha channel handling. </p>
+
+<p>Note that this does not define the color as being the 'transparency color'
+used for color-mapped image formats, such as GIF.  For that use <a href="command-line-options.html#transparent-color">-transparent-color</a> </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="transparent-color"></a>-transparent-color <var>color</var></h4>
+</div>
+
+<p class="magick-description">Set the transparent color.</p>
+
+<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="command-line-options.html#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 <code>#00000000</code>, which is fully transparent black.</p>
+
+<div style="margin: auto;">
+  <h4><a id="transpose"></a>-transpose</h4>
+</div>
+
+<p class="magick-description">Mirror the image along the top-left to bottom-right diagonal.</p>
+
+<p> This option mathematically transposes the pixel array.  It is equivalent to the sequence <code>-flip -rotate 90</code>.
+</p>
+
+<div style="margin: auto;">
+  <h4><a id="transverse"></a>-transverse</h4>
+</div>
+
+<p class="magick-description">Mirror the image along the images bottom-left top-right diagonal.  Equivalent to the operations <code>-flop -rotate 90</code>.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="treedepth"></a>-treedepth <var>value</var></h4>
+</div>
+
+<p class="magick-description">tree depth for the color reduction algorithm.</p>
+
+<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="quantize.html">color reduction algorithm</a> for more details.</p>
+
+<p>The <a href="command-line-options.html#colors">-colors</a> or <a href="command-line-options.html#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 id="trim"></a>-trim</h4>
+</div>
+
+<p class="magick-description">trim an image.</p>
+
+<p>This option removes any edges that are exactly the same color as the corner
+pixels. Use <a href="command-line-options.html#fuzz">-fuzz</a> to make <a href="command-line-options.html#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="command-line-options.html#trim">-trim</a> operation from the
+image.  Use a <a href="command-line-options.html#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="command-line-options.html#crop">-crop</a> operation 'misses' the image proper. </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="type"></a>-type <var>type</var></h4>
+</div>
+
+<p class="magick-description">the image type.</p> <p>Choose from: <code>Bilevel</code>,
+<code>Grayscale</code>, <code>GrayscaleMatte</code>, <code>Palette</code>,
+<code>PaletteMatte</code>, <code>TrueColor</code>, <code>TrueColorMatte</code>,
+<code>ColorSeparation</code>, or <code>ColorSeparationMatte</code>.</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="command-line-options.html#type">-type</a> option can be used to override this behavior. For
+example, to prevent a JPEG from being written in grayscale format even though
+only gray pixels are present, use.</p>
+
+<pre>
+convert bird.png -type TrueColor bird.jpg
+</pre>
+
+<p>Similarly, use <a href="command-line-options.html#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="command-line-options.html#type">-type optimize</a> to ensure the image is written in the smallest possible file size.</p>
+
+<div style="margin: auto;">
+  <h4><a id="undercolor"></a>-undercolor <var>color</var></h4>
+</div>
+
+<p class="magick-description">set the color of the annotation bounding box.</p>
+
+<p>The color is specified using the format described under the <a href="command-line-options.html#fill">-fill</a> option.</p>
+
+<p>See <a href="command-line-options.html#draw">-draw</a> for further details.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="update"></a>-update <var>seconds</var></h4>
+</div>
+
+<p class="magick-description">detect when image file is modified and redisplay.</p>
+
+<p>Suppose that while you are displaying an image the file that is currently
+displayed is over-written.  <code>display</code> will automagically detect that
+the input file has been changed and update the displayed image
+accordingly.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="unique-colors"></a>-unique-colors</h4>
+</div>
+
+<p class="magick-description">discard all but one of any pixel color.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="units"></a>-units <var>type</var></h4>
+</div>
+
+<p class="magick-description">the units of image resolution.</p>
+
+<p>Choose from: <code>Undefined</code>, <code>PixelsPerInch</code>, or
+<code>PixelsPerCentimeter</code>. This option is normally used in conjunction
+with the <a href="command-line-options.html#density">-density</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="unsharp"></a>-unsharp <var>radius</var><br>-unsharp <var>radius</var>x<var>sigma</var>{<var>+gain</var>}{<var>+threshold</var>}</h4>
+</div>
+
+<p class="magick-description">sharpen the image with an unsharp mask operator.</p>
+
+<p>The <a href="command-line-options.html#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>
+   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).
+   gain       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 <var>QuantumRange</var>, needed to apply the
+              difference amount (default 0.05).
+</pre>
+
+
+<div style="margin: auto;">
+  <h4><a id="verbose"></a>-verbose</h4>
+</div>
+
+<p class="magick-description">print detailed information about the image when this option precedes the <a href="command-line-options.html#identify">-identify</a> option or <code>info:</code>.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="version"></a>-version</h4>
+</div>
+
+<p class="magick-description">print ImageMagick version string and exit.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="view"></a>-view <var>string</var></h4>
+</div>
+
+<p class="magick-description">FlashPix viewing parameters.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="vignette"></a>-vignette <var>radius</var>{x<var>sigma</var>}{<var>+-</var>}<var>x</var>{<var>+-</var>}<var>y</var>{<var>%</var>}</h4>
+</div>
+
+<p class="magick-description">soften the edges of the image in vignette style.</p>
+
+<p>The vignette effect rolloff is controlled by radiusxsigma. For nominal rolloff, this would be set to 0xsigma. A value of 0x0 will produce a circle/ellipse with no rolloff. The arguments x and y control the size of the circle. Larger values decrease the radii and smaller values increase the radii. Values of +0+0 will generate a circle/ellipse the same size as the image. The default values for x and y are 10% of the corresponding image dimension. Thus, the radii will be decreased by 10%, i.e., the diameters of the circle/ellipse will be 80% of the corresponding image dimension.</p>
+
+<div style="margin: auto;">
+  <h4><a id="virtual-pixel"></a>-virtual-pixel <var>method</var></h4>
+</div>
+
+<p class="magick-description">Specify contents of <var>virtual pixels</var>.</p>
+
+<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>
+   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="command-line-options.html#distort">-distort</a>, <a href="command-line-options.html#implode">-implode</a>, and <a href="command-line-options.html#fx">-fx</a>.
+However it also effects operations that may access pixels just outside the
+image proper, such as <a href="command-line-options.html#convolve">-convolve</a>, <a href="command-line-options.html#blur">-blur</a>, and <a href="command-line-options.html#sharpen">-sharpen</a>. </p>
+
+<p>To print a complete list of virtual pixel types, use the <a href="command-line-options.html#list">-list virtual-pixel</a> option.</p>
+
+
+<div style="margin: auto;">
+  <h4><a id="visual"></a>-visual <var>type</var></h4>
+</div>
+
+<p class="magick-description">Animate images using this X visual type.", 'animate', 'display'</p>
+
+<p>Choose from these visual classes:</p>
+
+<pre>
+   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 id="watermark"></a>-watermark <var>brightness</var>x<var>saturation</var></h4>
+</div>
+
+<p class="magick-description">Watermark an image using the given percentages of brightness and saturation.</p>
+
+<p>Take a grayscale image (with alpha mask) and modify the destination image's
+brightness according to watermark image's grayscale value and the
+<var>brightness</var> percentage.  The destinations color saturation
+attribute is just direct modified by the <var>saturation</var>
+percentage, which defaults to 100 percent (no color change). </p>
+
+
+<div style="margin: auto;">
+  <h4><a id="wave"></a>-wave <var>amplitude</var><br>-wave <var>amplitude</var>x<var>wavelength</var></h4>
+</div>
+
+<p class="magick-description">Shear the columns of an image into a sine wave.</p>
+
+<p>Specify <var>amplitude</var> and <var>wavelength</var>
+of the wave.</p>
+
+<div style="margin: auto;">
+  <h4><a id="weight"></a>-weight <var>fontWeight</var></h4>
+</div>
+
+<p class="magick-description">Set a font weight for text.</p>
+
+<p>This setting suggests a font weight that ImageMagick should try to apply to
+the currently selected font family. Use a positive integer for
+<var>fontWeight</var> or select from the following.</p>
+
+<table class="table table-condensed table-striped">
+  <col width="25%">
+  <col width="75%">
+  <thead>
+  <tr>
+  <th><var>fontWeight</var></th>
+  <th>Description</th>
+  </tr>
+  </thead>
+  <tbody>
+    <tr><td>All </td>
+        <td>No effect. </td></tr>
+    <tr><td>Bold </td>
+        <td>Same as <var>fontWeight</var> = 700.</td></tr>
+    <tr><td>Bolder </td>
+        <td>Add 100 to font weight if currently ≤ 800.</td></tr>
+    <tr><td>Lighter </td>
+        <td>Subtract 100 to font weight if currently ≤ 100.</td></tr>
+    <tr><td>Normal </td>
+        <td>Same as <var>fontWeight</var> = 400.</td></tr>
+ </tbody>
+ </table>
+
+<p>To print a complete list of weight types, use <a href="command-line-options.html#list">-list
+weight</a>.</p>
+
+<p>For other settings that affect fonts, see the options <a href="command-line-options.html#font">-font</a>, <a href="command-line-options.html#family">-family</a>, <a href="command-line-options.html#stretch">-stretch</a>, and <a href="command-line-options.html#style">-style</a>. </p>
+
+<div style="margin: auto;">
+  <h4><a id="white-point"></a>-white-point <var>x,y</var></h4>
+</div>
+
+<p class="magick-description">chromaticity white point.</p>
+
+<div style="margin: auto;">
+  <h4><a id="white-threshold"></a>-white-threshold <var>value</var>{<var>%</var>}</h4>
+</div>
+
+<p class="magick-description">Force to white all pixels above the threshold while leaving all pixels at or below the threshold unchanged.</p>
+
+<p> The threshold value can be given as a percentage or as an absolute integer
+value within [0, <var>QuantumRange</var>] corresponding to the
+desired <a href="command-line-options.html#channel">‑channel</a> value. See <a href="command-line-options.html#threshold">‑threshold</a>for more details on thresholds and resulting values.  </p>
+
+<div style="margin: auto;">
+  <h4><a id="window"></a>-window <var>id</var></h4>
+</div>
+
+<p class="magick-description">Make the image the background of a window.", 'animate', 'display'</p>
+
+<p><var>id</var> can be a window id or name. Specify <code>root</code>
+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
+<code>backdrop</code> or <a href="command-line-options.html#geometry">-resize</a> are specified, the
+image is surrounded by the background color. Refer to <code>X RESOURCES</code>
+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="command-line-options.html#colors">-colors</a> to reduce the number of colors.</p>
+
+<div style="margin: auto;">
+  <h4><a id="window-group"></a>-window-group</h4>
+</div>
+
+<p class="magick-description">specify the window group.</p>
+
+<div style="margin: auto;">
+  <h4><a id="write"></a>-write <var>filename</var></h4>
+</div>
+
+<p class="magick-description">write an image sequence.</p>
+
+<p>The image sequence preceding the <a href="command-line-options.html#write">-write</a> <var>filename</var> 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="command-line-options.html#write">+write</a> <var>filename</var> option.</p>
+
+<p>Use <a href="command-line-options.html#compress">-compress</a> to specify the type of image compression.</p>
+</div>
+</div>
+  <footer class="magick-footer">
+    <div class="magick-nav-item navbar-left">
+      <a href="support.html">Donations</a>
+    </div>
+    <div class="magick-nav-item navbar-right">
+      <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://www.imagemagick.org/"></a>
+      <noscript>
+        <a href="http://flattr.com/thing/947300/Convert-Edit-And-Compose-Images" target="_blank">
+        <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0"></a>
+      </noscript>
+    </div>
+    <p><a href="sitemap.html">Sitemap</a> •
+    <a href="links.html">Related</a> •
+    <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Image Studio</a> •
+    <a href="http://jqmagick.imagemagick.org/">JqMagick</a> •
+    <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a>
+</p>
+    <p><a href="command-line-options.html#">Back to top</a> •
+    <a href="contact.html">Contact Us</a></p>
+  </footer>
+</div><!-- /.container -->
+
+  <script src="https://localhost/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+  <script src="../js/bootstrap.min.js"></script>
+  <script type="text/javascript">
+    /*  */
+    (function() {
+        var s = document.createElement('offline-script'), t = document.getElementsByTagName('offline-script')[0];
+        s.type = 'text/javascript';
+        s.async = true;
+        s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
+        t.parentNode.insertBefore(s, t);
+    })();
+    /*  */
+  </script>
+</div>
 </body>
 </html>
