blob: cb3ccc10e6a77786baf2a8c9de55b93310fe7a2d [file] [log] [blame]
Cristy594d2772015-11-15 10:47:42 -05001
2
3
4
cristy29dc8652015-05-12 16:26:21 +00005<!DOCTYPE html>
cristyd2432012015-05-04 23:15:15 +00006<html lang="en">
cristyad41c0c2012-10-31 00:49:28 +00007<head>
Cristy594d2772015-11-15 10:47:42 -05008 <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />
cristy29f2c972015-07-28 13:37:46 +00009 <title>ImageMagick: Command-line Options</title>
Cristy594d2772015-11-15 10:47:42 -050010 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
11 <meta name="application-name" content="ImageMagick"/>
12 <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."/>
13 <meta name="application-url" content="http://www.imagemagick.org"/>
14 <meta name="generator" content="PHP"/>
15 <meta name="keywords" content="command-line, options, ImageMagick, PerlMagick, image processing, image, photo, software, Magick++, OpenMP, convert"/>
16 <meta name="rating" content="GENERAL"/>
17 <meta name="robots" content="INDEX, FOLLOW"/>
18 <meta name="generator" content="ImageMagick Studio LLC"/>
19 <meta name="author" content="ImageMagick Studio LLC"/>
20 <meta name="revisit-after" content="2 DAYS"/>
21 <meta name="resource-type" content="document"/>
Cristyce4a3552015-12-14 13:53:35 -050022 <meta name="copyright" content="Copyright (c) 1999-2015 ImageMagick Studio LLC"/>
Cristy594d2772015-11-15 10:47:42 -050023 <meta name="distribution" content="Global"/>
24 <meta name="magick-serial" content="P131-S030410-R485315270133-P82224-A6668-G1245-1"/>
25 <link rel="icon" href="../images/wand.png"/>
26 <link rel="shortcut icon" href="../images/wand.ico"/>
Cristyce4a3552015-12-14 13:53:35 -050027 <link rel="stylesheet" href="css/magick.css"/>
cristyad41c0c2012-10-31 00:49:28 +000028</head>
cristyd2432012015-05-04 23:15:15 +000029<body>
cristyad41c0c2012-10-31 00:49:28 +000030<div class="main">
cristyd2432012015-05-04 23:15:15 +000031<div class="magick-masthead">
32 <div class="container">
Cristy594d2772015-11-15 10:47:42 -050033 <script async="async" src="http://localhost/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle"
34 style="display:block"
35 data-ad-client="ca-pub-3129977114552745"
36 data-ad-slot="6345125851"
37 data-ad-format="auto"></ins>
cristy29f2c972015-07-28 13:37:46 +000038 <script>
Cristy542697a2015-10-12 20:10:32 -040039 (adsbygoogle = window.adsbygoogle || []).push({});
cristyd2432012015-05-04 23:15:15 +000040 </script>
cristyd2432012015-05-04 23:15:15 +000041 <nav class="magick-nav">
cristy44443b92015-05-05 00:06:07 +000042 <a class="magick-nav-item " href="../index.html">Home</a>
cristyea2793e2015-05-31 16:52:26 +000043 <a class="magick-nav-item " href="binary-releases.html">Download</a>
cristyd2432012015-05-04 23:15:15 +000044 <a class="magick-nav-item " href="command-line-tools.html">Tools</a>
Cristye93be682015-11-26 09:07:51 -050045 <a class="magick-nav-item " href="command-line-processing.html">Command-line</a>
cristyea2793e2015-05-31 16:52:26 +000046 <a class="magick-nav-item " href="resources.html">Resources</a>
47 <a class="magick-nav-item " href="api.html">Develop</a>
cristy5b8fe762015-06-09 16:24:03 +000048 <a class="magick-nav-item " href="http://nextgen.imagemagick.org/script/search.php">Search</a>
Cristye09ed312016-03-06 08:07:39 -050049 <a class="magick-nav-item pull-right" href="https://www.imagemagick.org/discourse-server/">Community</a>
cristyd2432012015-05-04 23:15:15 +000050 </nav>
51 </div>
52</div>
53<div class="container">
Cristy882d9f42015-10-29 16:48:39 -040054<div class="magick-header">
Cristye09ed312016-03-06 08:07:39 -050055<p class="text-center"><a href="command-line-options.html#adaptive-blur">&#x2011;adaptive&#x2011;blur</a><a href="command-line-options.html#adaptive-resize">&#x2011;adaptive&#x2011;resize</a><a href="command-line-options.html#adaptive-sharpen">&#x2011;adaptive&#x2011;sharpen</a><a href="command-line-options.html#adjoin">&#x2011;adjoin</a><a href="command-line-options.html#affine">&#x2011;affine</a><a href="command-line-options.html#alpha">&#x2011;alpha</a><a href="command-line-options.html#annotate">&#x2011;annotate</a><a href="command-line-options.html#antialias">&#x2011;antialias</a><a href="command-line-options.html#append">&#x2011;append</a><a href="command-line-options.html#attenuate">&#x2011;attenuate</a><a href="command-line-options.html#authenticate">&#x2011;authenticate</a><a href="command-line-options.html#auto-gamma">&#x2011;auto&#x2011;gamma</a><a href="command-line-options.html#auto-level">&#x2011;auto&#x2011;level</a><a href="command-line-options.html#auto-orient">&#x2011;auto&#x2011;orient</a><a href="command-line-options.html#backdrop">&#x2011;backdrop</a><a href="command-line-options.html#background">&#x2011;background</a><a href="command-line-options.html#bench">&#x2011;bench</a><a href="command-line-options.html#bias">&#x2011;bias</a><a href="command-line-options.html#black-point-compensation">&#x2011;black&#x2011;point&#x2011;compensation</a><a href="command-line-options.html#black-threshold">&#x2011;black&#x2011;threshold</a><a href="command-line-options.html#blend">&#x2011;blend</a><a href="command-line-options.html#blue-primary">&#x2011;blue&#x2011;primary</a><a href="command-line-options.html#blue-shift">&#x2011;blue&#x2011;shift</a><a href="command-line-options.html#blur">&#x2011;blur</a><a href="command-line-options.html#border">&#x2011;border</a><a href="command-line-options.html#bordercolor">&#x2011;bordercolor</a><a href="command-line-options.html#borderwidth">&#x2011;borderwidth</a><a href="command-line-options.html#brightness-contrast">&#x2011;brightness&#x2011;contrast</a><a href="command-line-options.html#cache">&#x2011;cache</a><a href="command-line-options.html#canny">&#x2011;canny</a><a href="command-line-options.html#caption">&#x2011;caption</a><a href="command-line-options.html#cdl">&#x2011;cdl</a><a href="command-line-options.html#channel">&#x2011;channel</a><a href="command-line-options.html#charcoal">&#x2011;charcoal</a><a href="command-line-options.html#chop">&#x2011;chop</a><a href="command-line-options.html#clamp">&#x2011;clamp</a><a href="command-line-options.html#clip">&#x2011;clip</a><a href="command-line-options.html#clip-mask">&#x2011;clip&#x2011;mask</a><a href="command-line-options.html#clip-path">&#x2011;clip&#x2011;path</a><a href="command-line-options.html#clone">&#x2011;clone</a><a href="command-line-options.html#clut">&#x2011;clut</a><a href="command-line-options.html#coalesce">&#x2011;coalesce</a><a href="command-line-options.html#colorize">&#x2011;colorize</a><a href="command-line-options.html#colormap">&#x2011;colormap</a><a href="command-line-options.html#color-matrix">&#x2011;color&#x2011;matrix</a><a href="command-line-options.html#colors">&#x2011;colors</a><a href="command-line-options.html#colorspace">&#x2011;colorspace</a><a href="command-line-options.html#combine">&#x2011;combine</a><a href="command-line-options.html#comment">&#x2011;comment</a><a href="command-line-options.html#compare">&#x2011;compare</a><a href="command-line-options.html#complex">&#x2011;complex</a><a href="command-line-options.html#compose">&#x2011;compose</a><a href="command-line-options.html#composite">&#x2011;composite</a><a href="command-line-options.html#compress">&#x2011;compress</a><a href="command-line-options.html#connected-components">&#x2011;connected&#x2011;components</a><a href="command-line-options.html#contrast">&#x2011;contrast</a><a href="command-line-options.html#contrast-stretch">&#x2011;contrast&#x2011;stretch</a><a href="command-line-options.html#convolve">&#x2011;convolve</a><a href="command-line-options.html#copy">&#x2011;copy</a><a href="command-line-options.html#crop">&#x2011;crop</a><a href="command-line-options.html#cycle">&#x2011;cycle</a><a href="command-line-options.html#debug">&#x2011;debug</a><a href="command-line-options.html#decipher">&#x2011;decipher</a><a href="command-line-options.html#deconstruct">&#x2011;deconstruct</a><a href="command-line-options.html#define">&#x2011;define</a><a href="command-line-options.html#delay">&#x2011;delay</a><a href="command-line-options.html#delete">&#x2011;delete</a><a href="command-line-options.html#density">&#x2011;density</a><a href="command-line-options.html#depth">&#x2011;depth</a><a href="command-line-options.html#descend">&#x2011;descend</a><a href="command-line-options.html#deskew">&#x2011;deskew</a><a href="command-line-options.html#despeckle">&#x2011;despeckle</a><a href="command-line-options.html#direction">&#x2011;direction</a><a href="command-line-options.html#displace">&#x2011;displace</a><a href="command-line-options.html#display">&#x2011;display</a><a href="command-line-options.html#dispose">&#x2011;dispose</a><a href="command-line-options.html#dissimilarity-threshold">&#x2011;dissimilarity&#x2011;threshold</a><a href="command-line-options.html#dissolve">&#x2011;dissolve</a><a href="command-line-options.html#distort">&#x2011;distort</a><a href="command-line-options.html#distribute-cache">&#x2011;distribute&#x2011;cache</a><a href="command-line-options.html#dither">&#x2011;dither</a><a href="command-line-options.html#draw">&#x2011;draw</a><a href="command-line-options.html#duplicate">&#x2011;duplicate</a><a href="command-line-options.html#edge">&#x2011;edge</a><a href="command-line-options.html#emboss">&#x2011;emboss</a><a href="command-line-options.html#encipher">&#x2011;encipher</a><a href="command-line-options.html#encoding">&#x2011;encoding</a><a href="command-line-options.html#endian">&#x2011;endian</a><a href="command-line-options.html#enhance">&#x2011;enhance</a><a href="command-line-options.html#equalize">&#x2011;equalize</a><a href="command-line-options.html#evaluate">&#x2011;evaluate</a><a href="command-line-options.html#evaluate-sequence">&#x2011;evaluate&#x2011;sequence</a><a href="command-line-options.html#extent">&#x2011;extent</a><a href="command-line-options.html#extract">&#x2011;extract</a><a href="command-line-options.html#family">&#x2011;family</a><a href="command-line-options.html#features">&#x2011;features</a><a href="command-line-options.html#fft">&#x2011;fft</a><a href="command-line-options.html#fill">&#x2011;fill</a><a href="command-line-options.html#filter">&#x2011;filter</a><a href="command-line-options.html#flatten">&#x2011;flatten</a><a href="command-line-options.html#flip">&#x2011;flip</a><a href="command-line-options.html#floodfill">&#x2011;floodfill</a><a href="command-line-options.html#flop">&#x2011;flop</a><a href="command-line-options.html#font">&#x2011;font</a><a href="command-line-options.html#foreground">&#x2011;foreground</a><a href="command-line-options.html#format">&#x2011;format</a><a href="command-line-options.html#format_identify_">&#x2011;format[identify]</a><a href="command-line-options.html#frame">&#x2011;frame</a><a href="command-line-options.html#frame_import_">&#x2011;frame[import]</a><a href="command-line-options.html#function">&#x2011;function</a><a href="command-line-options.html#fuzz">&#x2011;fuzz</a><a href="command-line-options.html#fx">&#x2011;fx</a><a href="command-line-options.html#gamma">&#x2011;gamma</a><a href="command-line-options.html#gaussian-blur">&#x2011;gaussian&#x2011;blur</a><a href="command-line-options.html#geometry">&#x2011;geometry</a><a href="command-line-options.html#gravity">&#x2011;gravity</a><a href="command-line-options.html#grayscale">&#x2011;grayscale</a><a href="command-line-options.html#green-primary">&#x2011;green&#x2011;primary</a><a href="command-line-options.html#hald-clut">&#x2011;hald&#x2011;clut</a><a href="command-line-options.html#help">&#x2011;help</a><a href="command-line-options.html#highlight-color">&#x2011;highlight&#x2011;color</a><a href="command-line-options.html#hough-lines">&#x2011;hough&#x2011;lines</a><a href="command-line-options.html#iconGeometry">&#x2011;iconGeometry</a><a href="command-line-options.html#iconic">&#x2011;iconic</a><a href="command-line-options.html#identify">&#x2011;identify</a><a href="command-line-options.html#ift">&#x2011;ift</a><a href="command-line-options.html#immutable">&#x2011;immutable</a><a href="command-line-options.html#implode">&#x2011;implode</a><a href="command-line-options.html#insert">&#x2011;insert</a><a href="command-line-options.html#intensity">&#x2011;intensity</a><a href="command-line-options.html#intent">&#x2011;intent</a><a href="command-line-options.html#interlace">&#x2011;interlace</a><a href="command-line-options.html#interpolate">&#x2011;interpolate</a><a href="command-line-options.html#interline-spacing">&#x2011;interline&#x2011;spacing</a><a href="command-line-options.html#interword-spacing">&#x2011;interword&#x2011;spacing</a><a href="command-line-options.html#kerning">&#x2011;kerning</a><a href="command-line-options.html#kuwahara">&#x2011;kuwahara</a><a href="command-line-options.html#label">&#x2011;label</a><a href="command-line-options.html#lat">&#x2011;lat</a><a href="command-line-options.html#layers">&#x2011;layers</a><a href="command-line-options.html#level">&#x2011;level</a><a href="command-line-options.html#level-colors">&#x2011;level&#x2011;colors</a><a href="command-line-options.html#limit">&#x2011;limit</a><a href="command-line-options.html#linear-stretch">&#x2011;linear&#x2011;stretch</a><a href="command-line-options.html#linewidth">&#x2011;linewidth</a><a href="command-line-options.html#liquid-rescale">&#x2011;liquid&#x2011;rescale</a><a href="command-line-options.html#list">&#x2011;list</a><a href="command-line-options.html#log">&#x2011;log</a><a href="command-line-options.html#loop">&#x2011;loop</a><a href="command-line-options.html#lowlight-color">&#x2011;lowlight&#x2011;color</a><a href="command-line-options.html#magnify">&#x2011;magnify</a><a href="command-line-options.html#map">&#x2011;map</a><a href="command-line-options.html#map_stream_">&#x2011;map[stream]</a><a href="command-line-options.html#mask">&#x2011;mask</a><a href="command-line-options.html#mattecolor">&#x2011;mattecolor</a><a href="command-line-options.html#median">&#x2011;median</a><a href="command-line-options.html#mean-shift">&#x2011;mean&#x2011;shift</a><a href="command-line-options.html#metric">&#x2011;metric</a><a href="command-line-options.html#mode">&#x2011;mode</a><a href="command-line-options.html#modulate">&#x2011;modulate</a><a href="command-line-options.html#moments">&#x2011;moments</a><a href="command-line-options.html#monitor">&#x2011;monitor</a><a href="command-line-options.html#monochrome">&#x2011;monochrome</a><a href="command-line-options.html#morph">&#x2011;morph</a><a href="command-line-options.html#morphology">&#x2011;morphology</a><a href="command-line-options.html#mosaic">&#x2011;mosaic</a><a href="command-line-options.html#motion-blur">&#x2011;motion&#x2011;blur</a><a href="command-line-options.html#name">&#x2011;name</a><a href="command-line-options.html#negate">&#x2011;negate</a><a href="command-line-options.html#noise">&#x2011;noise</a><a href="command-line-options.html#normalize">&#x2011;normalize</a><a href="command-line-options.html#opaque">&#x2011;opaque</a><a href="command-line-options.html#ordered-dither">&#x2011;ordered&#x2011;dither</a><a href="command-line-options.html#orient">&#x2011;orient</a><a href="command-line-options.html#page">&#x2011;page</a><a href="command-line-options.html#paint">&#x2011;paint</a><a href="command-line-options.html#path">&#x2011;path</a><a href="command-line-options.html#pause_animate_">&#x2011;pause[animate]</a><a href="command-line-options.html#pause_import_">&#x2011;pause[import]</a><a href="command-line-options.html#perceptible">&#x2011;perceptible</a><a href="command-line-options.html#ping">&#x2011;ping</a><a href="command-line-options.html#pointsize">&#x2011;pointsize</a><a href="command-line-options.html#polaroid">&#x2011;polaroid</a><a href="command-line-options.html#poly">&#x2011;poly</a><a href="command-line-options.html#posterize">&#x2011;posterize</a><a href="command-line-options.html#precision">&#x2011;precision</a><a href="command-line-options.html#preview">&#x2011;preview</a><a href="command-line-options.html#print">&#x2011;print</a><a href="command-line-options.html#process">&#x2011;process</a><a href="command-line-options.html#profile">&#x2011;profile</a><a href="command-line-options.html#quality">&#x2011;quality</a><a href="command-line-options.html#quantize">&#x2011;quantize</a><a href="command-line-options.html#quiet">&#x2011;quiet</a><a href="command-line-options.html#radial-blur">&#x2011;radial&#x2011;blur</a><a href="command-line-options.html#raise">&#x2011;raise</a><a href="command-line-options.html#random-threshold">&#x2011;random&#x2011;threshold</a><a href="command-line-options.html#red-primary">&#x2011;red&#x2011;primary</a><a href="command-line-options.html#regard-warnings">&#x2011;regard&#x2011;warnings</a><a href="command-line-options.html#region">&#x2011;region</a><a href="command-line-options.html#remap">&#x2011;remap</a><a href="command-line-options.html#remote">&#x2011;remote</a><a href="command-line-options.html#render">&#x2011;render</a><a href="command-line-options.html#repage">&#x2011;repage</a><a href="command-line-options.html#resample">&#x2011;resample</a><a href="command-line-options.html#resize">&#x2011;resize</a><a href="command-line-options.html#respect-parentheses">&#x2011;respect&#x2011;parentheses</a><a href="command-line-options.html#reverse">&#x2011;reverse</a><a href="command-line-options.html#roll">&#x2011;roll</a><a href="command-line-options.html#rotate">&#x2011;rotate</a><a href="command-line-options.html#sample">&#x2011;sample</a><a href="command-line-options.html#sampling-factor">&#x2011;sampling&#x2011;factor</a><a href="command-line-options.html#scale">&#x2011;scale</a><a href="command-line-options.html#scene">&#x2011;scene</a><a href="command-line-options.html#screen">&#x2011;screen</a><a href="command-line-options.html#seed">&#x2011;seed</a><a href="command-line-options.html#segment">&#x2011;segment</a><a href="command-line-options.html#selective-blur">&#x2011;selective&#x2011;blur</a><a href="command-line-options.html#separate">&#x2011;separate</a><a href="command-line-options.html#sepia-tone">&#x2011;sepia&#x2011;tone</a><a href="command-line-options.html#set">&#x2011;set</a><a href="command-line-options.html#shade">&#x2011;shade</a><a href="command-line-options.html#shadow">&#x2011;shadow</a><a href="command-line-options.html#shared-memory">&#x2011;shared&#x2011;memory</a><a href="command-line-options.html#sharpen">&#x2011;sharpen</a><a href="command-line-options.html#shave">&#x2011;shave</a><a href="command-line-options.html#shear">&#x2011;shear</a><a href="command-line-options.html#sigmoidal-contrast">&#x2011;sigmoidal&#x2011;contrast</a><a href="command-line-options.html#silent">&#x2011;silent</a><a href="command-line-options.html#similarity-threshold">&#x2011;similarity&#x2011;threshold</a><a href="command-line-options.html#size">&#x2011;size</a><a href="command-line-options.html#sketch">&#x2011;sketch</a><a href="command-line-options.html#smush">&#x2011;smush</a><a href="command-line-options.html#snaps">&#x2011;snaps</a><a href="command-line-options.html#solarize">&#x2011;solarize</a><a href="command-line-options.html#sparse-color">&#x2011;sparse&#x2011;color</a><a href="command-line-options.html#splice">&#x2011;splice</a><a href="command-line-options.html#spread">&#x2011;spread</a><a href="command-line-options.html#statistic">&#x2011;statistic</a><a href="command-line-options.html#stegano">&#x2011;stegano</a><a href="command-line-options.html#stereo">&#x2011;stereo</a><a href="command-line-options.html#storage-type">&#x2011;storage&#x2011;type</a><a href="command-line-options.html#stretch">&#x2011;stretch</a><a href="command-line-options.html#strip">&#x2011;strip</a><a href="command-line-options.html#stroke">&#x2011;stroke</a><a href="command-line-options.html#strokewidth">&#x2011;strokewidth</a><a href="command-line-options.html#style">&#x2011;style</a><a href="command-line-options.html#subimage-search">&#x2011;subimage&#x2011;search</a><a href="command-line-options.html#swap">&#x2011;swap</a><a href="command-line-options.html#swirl">&#x2011;swirl</a><a href="command-line-options.html#synchronize">&#x2011;synchronize</a><a href="command-line-options.html#taint">&#x2011;taint</a><a href="command-line-options.html#text-font">&#x2011;text&#x2011;font</a><a href="command-line-options.html#texture">&#x2011;texture</a><a href="command-line-options.html#threshold">&#x2011;threshold</a><a href="command-line-options.html#thumbnail">&#x2011;thumbnail</a><a href="command-line-options.html#tile">&#x2011;tile</a><a href="command-line-options.html#tile-offset">&#x2011;tile&#x2011;offset</a><a href="command-line-options.html#tint">&#x2011;tint</a><a href="command-line-options.html#title">&#x2011;title</a><a href="command-line-options.html#transform">&#x2011;transform</a><a href="command-line-options.html#transparent">&#x2011;transparent</a><a href="command-line-options.html#transparent-color">&#x2011;transparent&#x2011;color</a><a href="command-line-options.html#transpose">&#x2011;transpose</a><a href="command-line-options.html#transverse">&#x2011;transverse</a><a href="command-line-options.html#treedepth">&#x2011;treedepth</a><a href="command-line-options.html#trim">&#x2011;trim</a><a href="command-line-options.html#type">&#x2011;type</a><a href="command-line-options.html#undercolor">&#x2011;undercolor</a><a href="command-line-options.html#unique-colors">&#x2011;unique&#x2011;colors</a><a href="command-line-options.html#units">&#x2011;units</a><a href="command-line-options.html#unsharp">&#x2011;unsharp</a><a href="command-line-options.html#update">&#x2011;update</a><a href="command-line-options.html#verbose">&#x2011;verbose</a><a href="command-line-options.html#version">&#x2011;version</a><a href="command-line-options.html#view">&#x2011;view</a><a href="command-line-options.html#vignette">&#x2011;vignette</a><a href="command-line-options.html#virtual-pixel">&#x2011;virtual&#x2011;pixel</a><a href="command-line-options.html#visual">&#x2011;visual</a><a href="command-line-options.html#watermark">&#x2011;watermark</a><a href="command-line-options.html#wave">&#x2011;wave</a><a href="command-line-options.html#wavelet-denoise">&#x2011;wavelet&#x2011;denoise</a><a href="command-line-options.html#weight">&#x2011;weight</a><a href="command-line-options.html#white-point">&#x2011;white&#x2011;point</a><a href="command-line-options.html#white-threshold">&#x2011;white&#x2011;threshold</a><a href="command-line-options.html#window">&#x2011;window</a><a href="command-line-options.html#window-group">&#x2011;window&#x2011;group</a><a href="command-line-options.html#write">&#x2011;write</a> </p>
Cristy882d9f42015-10-29 16:48:39 -040056
57<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>
58
59<div style="margin: auto;">
60 <h3 class="magick-header"><a id="adaptive-blur"></a>-adaptive-blur <var>radius</var>[x<var>sigma</var>]</h3>
61</div>
62
63<p class="magick-description">Adaptively blur pixels, with decreasing effect near edges.</p>
64
65<p>A Gaussian operator of the given radius and standard deviation (<var>sigma</var>) is used. If <var>sigma</var> is not given it
66defaults to 1.</p>
67
68<div style="margin: auto;">
69 <h3 class="magick-header"><a id="adaptive-resize"></a>-adaptive-resize <var>geometry</var></h3>
70</div>
71
72<p class="magick-description">Resize the image using data-dependent triangulation.</p>
73
74<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>
Cristy594d2772015-11-15 10:47:42 -050075option defaults to data-dependent triangulation. Use the <a
76href="command-line-options.html#filter">-filter</a> to choose a different resampling algorithm.
77Offsets, if present in the geometry string, are ignored, and the <a
78href="command-line-options.html#gravity">-gravity</a> option has no effect.</p>
Cristy882d9f42015-10-29 16:48:39 -040079
80<div style="margin: auto;">
81 <h3 class="magick-header"><a id="adaptive-sharpen"></a>-adaptive-sharpen <var>radius</var>[x<var>sigma</var>]</h3>
82</div>
83
84<p class="magick-description">Adaptively sharpen pixels, with increasing effect near edges.</p>
85
86<p>A Gaussian operator of the given radius and standard deviation
87(<var>sigma</var>) is used. If <var>sigma</var> is not given it
88defaults to 1.</p>
89
90<div style="margin: auto;">
91 <h3 class="magick-header"><a id="adjoin"></a>-adjoin</h3>
92</div>
93
94<p class="magick-description">Join images into a single multi-image file.</p>
95
96<p>This option is enabled by default. An attempt is made to save all images of
97an image sequence into the given output file. However, some formats, such as
98JPEG and PNG, do not support more than one image per file, and in that case
99ImageMagick is forced to write each image as a separate file. As such, if
100more than one image needs to be written, the filename given is modified by
101adding a <a href="command-line-options.html#scene">-scene</a> number before the suffix, in order to
102make distinct names for each image. </p>
103
104<p>Use <a href="command-line-options.html#adjoin">+adjoin</a> to force each image to be written to
105separate files, whether or not the file format allows multiple images per file
106(for example, GIF, MIFF, and TIFF). </p>
107
108<p>Including a C-style integer format string in the output filename will
109automagically enable <a href="command-line-options.html#adjoin">+adjoin</a> and are used to specify
110where the <a href="command-line-options.html#scene">-scene</a> number is placed in the filenames. These
111strings, such as '<code>%d</code>' or '<code>%03d</code>', are familiar to those
112who have used the standard <code>printf()</code>' C-library function. As an
113example, the command</p>
114
115<pre>
116convert logo: rose: -morph 15 my%02dmorph.jpg
117</pre>
118
119<p>will create a sequence of 17 images (the two given plus 15 more created by
120<a href="command-line-options.html#morph">-morph</a>), named: my00morph.jpg, my01morph.jpg,
121my02morph.jpg, ..., my16morph.jpg. </p>
122
123<p>In summary, ImageMagick tries to write all images to one file, but will
124save to multiple files, if any of the following conditions exist...</p>
125<ol>
126<li>the output image's file format does not allow multi-image files,</li>
127<li>the <a href="command-line-options.html#adjoin">+adjoin</a> option is given, or</li>
128<li>a printf() integer format string (eg: "%d") is present in the output
129 filename.</li>
130</ol>
131
132
133<div style="margin: auto;">
134 <h3 class="magick-header"><a id="affine"></a>-affine
135 <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>]</h3>
136</div>
137
138<p class="magick-description">Set the drawing transformation matrix for combined rotating and scaling.</p>
139
Cristy594d2772015-11-15 10:47:42 -0500140<p>This option sets a transformation matrix, for use by subsequent <a
141href="command-line-options.html#draw">-draw</a> or <a href="command-line-options.html#transform">-transform</a> options. </p>
Cristy882d9f42015-10-29 16:48:39 -0400142
143<p>The matrix entries are entered as comma-separated numeric values either in
144quotes or without spaces. </p>
145
146<p>Internally, the transformation matrix has 3x3 elements, but three of them
147are omitted from the input because they are constant. The new (transformed)
148coordinates (<var>x'</var>, <var>y'</var>) of a pixel at
149position (<var>x</var>, <var>y</var>) in the original
150image are calculated using the following matrix equation.</p>
151
Cristy594d2772015-11-15 10:47:42 -0500152<p class="text-center"><img class="img-thumbnail" alt="affine transformation" src="../images/affine.png"/> </p>
Cristy882d9f42015-10-29 16:48:39 -0400153
154<p> The size of the resulting image is that of the smallest rectangle that
155contains the transformed source image. The parameters
156<var>t<sub>x</sub></var> and <var>t<sub>y</sub></var>
157subsequently shift the image pixels so that those that are moved out of the
158image area are cut off.</p>
159
160<p>The transformation matrix complies with the left-handed pixel coordinate
161system: positive <var>x</var> and <var>y</var> directions
162are rightward and downward, resp.; positive rotation is clockwise.</p>
163
164<p> If the translation coefficients <var>t<sub>x</sub></var> and
165<var>t<sub>y</sub></var> are omitted they default to 0,0. Therefore,
166four parameters suffice for rotation and scaling without translation.</p>
167
168<p>Scaling by the factors <var>s<sub>x</sub></var> and
169<var>s<sub>y</sub></var> in the <var>x</var> and <var>y</var> directions,
170respectively, is accomplished with the following.</p>
171
Cristy594d2772015-11-15 10:47:42 -0500172<p>See <a href="command-line-options.html#transform">-transform</a>, and the <a
173href="command-line-options.html#distort">-distort</a> method '<code>Affineprojection</code> for more
Cristy882d9f42015-10-29 16:48:39 -0400174information </p>
175
176
177<pre>
178-affine <var>s<sub>x</sub></var>,0,0,<var>s<sub>y</sub></var>
179</pre>
180
181<p>Translation by a displacement (<var>t<sub>x</sub></var>, <var>t<sub>y</sub></var>) is accomplished like so:</p>
182
183<pre>
184-affine 1,0,0,1,<var>t<sub>x</sub></var>,<var>t<sub>y</sub></var>
185</pre>
186
187<p>Rotate clockwise about the origin (the upper left-hand corner) by an angle
188<var>a</var> by letting <var>c</var> = cos(<var>a</var>), <var>s</var>
189= sin(<var>a</var>), and using the following.</p>
190
191<pre>
192-affine <var>c</var>,<var>s</var>,-<var>s</var>,<var>c</var>
193</pre>
194
Cristy594d2772015-11-15 10:47:42 -0500195<p>The cumulative effect of a sequence of <a href="command-line-options.html#affine" >-affine</a>
196transformations can be accomplished by instead by a single <a href="command-line-options.html#affine"
197>-affine</a> operation using the matrix equal to the product of the matrices
Cristy882d9f42015-10-29 16:48:39 -0400198of the individual transformations.</p>
199
200<p>An attempt is made to detect near-singular transformation matrices. If the
201matrix determinant has a sufficiently small absolute value it is rejected.</p>
202
203<div style="margin: auto;">
204 <h3 class="magick-header"><a id="alpha"></a>-alpha <var>type</var></h3>
205</div>
206
207<p class="magick-description">Gives control of the alpha/matte channel of an image.</p>
208
209<p>Used to set a flag on an image indicating whether or not to use existing alpha
210channel 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>
211
212<dl class="dl-horizontal">
213 <dt>Activate</dt>
214 <dd>
215 Enable the image's transparency channel. Note normally Set
216 should be used instead of this, unless you specifically need to
217 preserve existing (but specifically turned Off) transparency
218 channel. </dd>
219
220 <dt>Associate</dt>
221 <dd>
222 associate the alpha channel with the image.</dd>
223
224 <dt>Deactivate</dt>
225 <dd>
226 Disables the image's transparency channel. Does not delete or change the
227 existing data, just turns off the use of that data.</dd>
228
229 <dt>Disassociate</dt>
230 <dd>
231 disassociate the alpha channel from the image.</dd>
232
233 <dt>Set</dt>
234 <dd>
235 Activates the alpha/matte channel. If it was previously turned off
236 then it also resets the channel to opaque. If the image already had
237 the alpha channel turned on, it will have no effect.</dd>
238
239 <dt>Opaque</dt>
240 <dd>
241 Enables the alpha/matte channel and forces it to be fully opaque.
242 </dd>
243
244 <dt>Transparent</dt>
245 <dd>
246 Activates the alpha/matte channel and forces it to be fully
247 transparent. This effectively creates a fully transparent image the
248 same size as the original and with all its original RGB data still
249 intact, but fully transparent. </dd>
250
251 <dt>Extract</dt>
252 <dd>
253 Copies the alpha channel values into all the color channels and turns
254 'Off' the the image's transparency, so as to generate
Cristy769d8892016-01-19 18:11:14 -0500255 a grayscale mask of the image's shape. The alpha channel data is left
Cristy882d9f42015-10-29 16:48:39 -0400256 intact just deactivated. This is the inverse of 'Copy'.
257 </dd>
258
259 <dt>Copy</dt>
260 <dd>
261 Turns 'On' the alpha/matte channel, then copies the
Cristy769d8892016-01-19 18:11:14 -0500262 grayscale intensity of the image, into the alpha channel, converting
263 a grayscale mask into a transparent shaped mask ready to be colored
Cristy882d9f42015-10-29 16:48:39 -0400264 appropriately. The color channels are not modified. </dd>
265
266 <dt>Shape</dt>
267 <dd>
268 As per 'Copy' but also colors the resulting shape mask with
269 the current background color. That is the RGB color channels is
270 replaced, with appropriate alpha shape.
271 </dd>
272
273 <dt>Remove</dt>
274 <dd>
275 Composite the image over the background color.
276 </dd>
277
278 <dt>Background</dt>
279 <dd>
280 Set any fully-transparent pixel to the background color, while leaving
281 it fully-transparent. This can make some image file formats, such as
282 PNG, smaller as the RGB values of transparent pixels are more uniform,
283 and thus can compress better.
284 </dd>
285</dl>
286
287<p>Note that while the obsolete <code>+matte</code> operation was the
Cristy594d2772015-11-15 10:47:42 -0500288same as "<code><a href="command-line-options.html#alpha" >-alpha</a> Off</code>", the <code>
289>-matte</code> operation was the same as "<code><a href="command-line-options.html#alpha" >-alpha</a>
290Set</code>" and not "<code><a href="command-line-options.html#alpha" >-alpha</a> On</code>". </p>
Cristy882d9f42015-10-29 16:48:39 -0400291
292
293<div style="margin: auto;">
294 <h3 class="magick-header"><a id="annotate"></a>
Cristy594d2772015-11-15 10:47:42 -0500295 -annotate <var>degrees</var> <var>text</var><br />
296 -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></h3>
Cristy882d9f42015-10-29 16:48:39 -0400297</div>
298
299<p class="magick-description">Annotate an image with text</p>
300
301<p>This is a convenience for annotating an image with text. For more precise
302control over text annotations, use <a href="command-line-options.html#draw">-draw</a>.</p>
303
304
305<p>The values <var>Xdegrees</var> and <var>Ydegrees</var>
Cristy594d2772015-11-15 10:47:42 -0500306control 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>
Cristy882d9f42015-10-29 16:48:39 -0400307
308<p>Using <a href="command-line-options.html#annotate">-annotate</a> <var>degrees</var>
309or <a href="command-line-options.html#annotate">-annotate</a> <var>degrees</var>x<var>degrees</var> produces an unsheared rotation of the text. The
310direction of the rotation is positive, which means a clockwise rotation if <var>degrees</var> is positive. (This conforms to the usual mathematical
311convention once it is realized that the positive <var>y</var>–direction is
312conventionally considered to be <var>downward</var> for images.)</p>
313
314<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
315equation.</p>
316
Cristy594d2772015-11-15 10:47:42 -0500317<p class="text-center"><img class="img-thumbnail" alt="annotate transformation" src="../images/annotate.png"/></p>
Cristy882d9f42015-10-29 16:48:39 -0400318
319<p>If <var>t<sub>x</sub></var> and <var>t<sub>y</sub></var> are omitted, they default to 0. This makes the
320bottom-left of the text becomes the upper-left corner of the image, which is
Cristy594d2772015-11-15 10:47:42 -0500321probably undesirable. Adding a <a href="command-line-options.html#gravity" >-gravity</a> option in this
Cristy882d9f42015-10-29 16:48:39 -0400322case leads to nice results.</p>
323
324<p>Text is any UTF-8 encoded character sequence. If <var>text</var>
325is of the form '@mytext.txt', the text is read from the file
326<code>mytext.txt</code>. Text in a file is taken literally; no embedded
327formatting characters are recognized.</p>
328
329<div style="margin: auto;">
330 <h3 class="magick-header"><a id="antialias"></a>-antialias</h3>
331</div>
332
333<p class="magick-description">Enable/Disable of the rendering of anti-aliasing pixels when drawing fonts and lines.</p>
334
335<p>By default, objects (e.g. text, lines, polygons, etc.) are antialiased when
336drawn. Use <a href="command-line-options.html#antialias">+antialias</a> to disable the addition of
337antialiasing edge pixels. This will then reduce the number of colors added to
338an image to just the colors being directly drawn. That is, no mixed colors
339are added when drawing such objects. </p>
340
341<div style="margin: auto;">
342 <h3 class="magick-header"><a id="append"></a>-append</h3>
343</div>
344
345<p class="magick-description">Join current images vertically or horizontally.</p>
346
347<p>This option creates a single longer image, by joining all the current
348images in sequence top-to-bottom. Use <a href="command-line-options.html#append">+append</a> to
349stack images left-to-right. </p>
350
351<p>If they are not of the same width, narrower images are padded with the
352current <a href="command-line-options.html#background">-background</a> color setting, and their
Cristy594d2772015-11-15 10:47:42 -0500353position relative to each other can be controlled by the current <a
354href="command-line-options.html#gravity">-gravity</a> setting. </p>
Cristy882d9f42015-10-29 16:48:39 -0400355
356
357<div style="margin: auto;">
358 <h3 class="magick-header"><a id="attenuate"></a>-attenuate <var>value</var></h3>
359</div>
360
361<p class="magick-description">Lessen (or intensify) when adding noise to an image.</p>
362
363<p>If unset the value is equivalent to 1.0, or a maximum noise addition</p>
364
365<div style="margin: auto;">
366 <h3 class="magick-header"><a id="authenticate"></a>-authenticate <var>password</var></h3>
367</div>
368
369<p class="magick-description">Decrypt a PDF with a password.</p>
370
371<p>Use this option to supply a <var>password</var> for decrypting
372a PDF that has been encrypted using Microsoft Crypto API (MSC API). The
373encrypting using the MSC API is not supported.</p>
374
375<p>For a different encryption method, see <a href="command-line-options.html#encipher">-encipher</a>
376and <a href="command-line-options.html#decipher">-decipher</a>. </p>
377
378
379<div style="margin: auto;">
380 <h3 class="magick-header"><a id="auto-gamma"></a>-auto-gamma</h3>
381</div>
382
383<p class="magick-description">Automagically adjust gamma level of image.</p>
384
Cristy594d2772015-11-15 10:47:42 -0500385<p>This calculates the mean values of an image, then applies a calculated <a
386href="command-line-options.html#gamma" >-gamma</a> adjustment so that is the mean color exists in the
Cristy882d9f42015-10-29 16:48:39 -0400387image it will get a have a value of 50%. </p>
388
389<p>This means that any solid 'gray' image becomes 50% gray. </p>
390
391<p>This works well for real-life images with little or no extreme dark and
392light areas, but tend to fail for images with large amounts of bright sky or
393dark shadows. It also does not work well for diagrams or cartoon like images.
394</p>
395
Cristy594d2772015-11-15 10:47:42 -0500396<p>It uses the <a href="command-line-options.html#channel" >-channel</a> setting, (including the
Cristy882d9f42015-10-29 16:48:39 -0400397'<var>sync</var>' flag for channel synchronization), to determine which color
Cristy594d2772015-11-15 10:47:42 -0500398values is used and modified. As the default <a href="command-line-options.html#channel"
399>-channel</a> setting is '<var>RGB,sync</var>', channels are modified
Cristy882d9f42015-10-29 16:48:39 -0400400together by the same gamma value, preserving colors. </p>
401
402
403
404<div style="margin: auto;">
405 <h3 class="magick-header"><a id="auto-level"></a>-auto-level</h3>
406</div>
407
408<p class="magick-description">Automagically adjust color levels of image.</p>
409
410<p>This is a 'perfect' image normalization operator. It finds the exact
Cristy594d2772015-11-15 10:47:42 -0500411minimum and maximum color values in the image and then applies a <a
412href="command-line-options.html#level" >-level</a> operator to stretch the values to the full range of
Cristy882d9f42015-10-29 16:48:39 -0400413values. </p>
414
415<p>The operator is not typically used for real-life images, image scans, or
416JPEG format images, as a single 'out-rider' pixel can set a bad min/max values
Cristy594d2772015-11-15 10:47:42 -0500417for the <a href="command-line-options.html#level" >-level</a> operation. On the other hand it is the
Cristy882d9f42015-10-29 16:48:39 -0400418right operator to use for color stretching gradient images being used to
419generate Color lookup tables, distortion maps, or other 'mathematically'
420defined images. </p>
421
Cristy594d2772015-11-15 10:47:42 -0500422<p>The operator is very similar to the <a href="command-line-options.html#normalize">-normalize</a>, <a
423href="command-line-options.html#contrast-stretch" >-contrast-stretch</a>, and <a href="command-line-options.html#linear-stretch"
424>-linear-stretch</a> operators, but without 'histogram binning' or 'clipping'
425problems that these operators may have. That is <a href="command-line-options.html#auto-level"
426>-auto-level</a> is the perfect or ideal version these operators. </p>
Cristy882d9f42015-10-29 16:48:39 -0400427
Cristy594d2772015-11-15 10:47:42 -0500428<p>It uses the <a href="command-line-options.html#channel" >-channel</a> setting, (including the
Cristy882d9f42015-10-29 16:48:39 -0400429special '<var>sync</var>' flag for channel synchronization), to determine
Cristy594d2772015-11-15 10:47:42 -0500430which color values are used and modified. As the default <a
431href="command-line-options.html#channel" >+channel</a> setting is '<var>RGB,sync</var>', the
Cristy882d9f42015-10-29 16:48:39 -0400432'<var>sync</var>' ensures that the color channels will are modified
433together by the same gamma value, preserving colors, and ignoring
434transparency. </p>
435
436
437<div style="margin: auto;">
438 <h3 class="magick-header"><a id="auto-orient"></a>-auto-orient</h3>
439</div>
440
441<p class="magick-description">adjusts an image so that its orientation is suitable for viewing (i.e. top-left orientation).</p>
442
443<p>This operator reads and resets the EXIF image profile setting 'Orientation'
444and then performs the appropriate 90 degree rotation on the image to orient
445the image, for correct viewing. </p>
446
447<p>This EXIF profile setting is usually set using a gravity sensor in digital
448camera, however photos taken directly downward or upward may not have an
449appropriate value. Also images that have been orientation 'corrected' without
450reseting this setting, may be 'corrected' again resulting in a incorrect
Cristy594d2772015-11-15 10:47:42 -0500451result. If the EXIF profile was previously stripped, the <a
452href="command-line-options.html#auto-orient" >-auto-orient</a> operator will do nothing. </p>
Cristy882d9f42015-10-29 16:48:39 -0400453
454
455<div style="margin: auto;">
456 <h3 class="magick-header"><a id="average"></a>-average</h3>
457</div>
458
459<p class="magick-description">Average a set of images.</p>
460
461<p>An error results if the images are not identically sized.</p>
462
463
464<div style="margin: auto;">
465 <h3 class="magick-header"><a id="backdrop"></a>-backdrop</h3>
466</div>
467
468<p class="magick-description">Display the image centered on a backdrop.</p>
469
470<p>This backdrop covers the entire workstation screen and is useful for hiding
471other X window activity while viewing the image. The color of the backdrop is
472specified as the background color. The color is specified using the format
473described under the <a href="command-line-options.html#fill">-fill</a> option.</p>
474
475<div style="margin: auto;">
476 <h3 class="magick-header"><a id="background"></a>-background <var>color</var></h3>
477</div>
478
479<p class="magick-description">Set the background color.</p>
480
Cristy594d2772015-11-15 10:47:42 -0500481<p>The color is specified using the format described under the <a
482href="command-line-options.html#fill">-fill</a> option. The default background color (if none is
Cristy882d9f42015-10-29 16:48:39 -0400483specified or found in the image) is white.</p>
484
485<div style="margin: auto;">
486 <h3 class="magick-header"><a id="bench"></a>-bench <var>iterations</var></h3>
487</div>
488
489<p class="magick-description">Measure performance.</p>
490
491<p>Repeat the entire command for the given number of <var>iterations</var> and report the user-time and elapsed time. For instance,
492consider the following command and its output. Modify the benchmark with the
493-duration to run the benchmark for a fixed number of seconds and -concurrent
494to run the benchmark in parallel (requires the OpenMP feature).</p>
495
496<pre>
Cristye09ed312016-03-06 08:07:39 -0500497-> convert logo: -resize 200% -bench 5 logo.png
498Performance[1]: 5i 1.344ips 1.000e 3.710u 0:03.720
499Performance[2]: 5i 1.634ips 0.549e 3.890u 0:03.060
500Performance[3]: 5i 2.174ips 0.618e 3.190u 0:02.300
501Performance[4]: 5i 1.678ips 0.555e 3.810u 0:02.980
Cristy882d9f42015-10-29 16:48:39 -0400502Performance[4]: 5i 0.875657ips 6.880u 0:05.710
503</pre>
504
Cristye09ed312016-03-06 08:07:39 -0500505<p>In this example, 5 iterations were completed at 2.174 iterations per
506second, using 3 threads and 3.190 seconds of the user allotted time, for
507a total elapsed time of 2.300 seconds.</p>
Cristy882d9f42015-10-29 16:48:39 -0400508
509<div style="margin: auto;">
510 <h3 class="magick-header"><a id="bias"></a>-bias <var>value</var>{<var>%</var>}</h3>
511</div>
512
513<p class="magick-description">Add bias when convolving an image.</p>
514
Cristy594d2772015-11-15 10:47:42 -0500515<p>This option shifts the output of <a href="command-line-options.html#convolve">&#x2011;convolve</a> so that
Cristy882d9f42015-10-29 16:48:39 -0400516positive and negative results are relative to the specified bias value. </p>
517
518<p>This is important for non-HDRI compilations of ImageMagick when dealing
519with convolutions that contain negative as well as positive values. This is
520especially the case with convolutions involving high pass filters or edge
521detection. Without an output bias, the negative values are clipped at
522zero.</p>
523
Cristy594d2772015-11-15 10:47:42 -0500524<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 any
Cristy882d9f42015-10-29 16:48:39 -0400525negative results without clipping to the color value range
526(0..QuantumRange).</p>
527
Cristy594d2772015-11-15 10:47:42 -0500528<p>See the discussion on HDRI implementations of ImageMagick on the page <a
529href="high-dynamic-range.html" >High Dynamic-Range Images</a>. For more
530about HDRI go the ImageMagick <a
531href="http://www.imagemagick.org/Usage/basics/#hdri" >Usage</a> pages or this
532<a
533href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">Wikipedia</a>
Cristy882d9f42015-10-29 16:48:39 -0400534entry. </p>
535
536<div style="margin: auto;">
537 <h3 class="magick-header"><a id="black-point-compensation"></a>-black-point-compensation</h3>
538</div>
539
540<p class="magick-description">Use black point compensation.</p>
541
542<div style="margin: auto;">
543 <h3 class="magick-header"><a id="black-threshold"></a>-black-threshold <var>value</var>{<var>%</var>}</h3>
544</div>
545
546<p class="magick-description">Force to black all pixels below the threshold while leaving all pixels at or above the threshold unchanged.</p>
547
548<p> The threshold value can be given as a percentage or as an absolute integer
549value within [0, <var>QuantumRange</var>] corresponding to the
Cristy594d2772015-11-15 10:47:42 -0500550desired <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>
Cristy882d9f42015-10-29 16:48:39 -0400551
552
553<div style="margin: auto;">
554 <h3 class="magick-header"><a id="blend"></a>-blend <var>geometry</var></h3>
555</div>
556
557<p class="magick-description">blend an image into another by the given absolute value or percent.</p>
558
559<p>Blend will average the images together ('plus') according to the
560percentages given and each pixels transparency. If only a single percentage
561value is given it sets the weight of the composite or 'source' image, while
562the background image is weighted by the exact opposite amount. That is a
563<code>-blend 30%</code> merges 30% of the 'source' image with 70% of the
564'destination' image. Thus it is equivalent to <code>-blend 30x70%</code>.</p>
565
566
567<div style="margin: auto;">
568 <h3 class="magick-header"><a id="blue-primary"></a>-blue-primary <var>x</var>,<var>y</var></h3>
569</div>
570
571<p class="magick-description">Set the blue chromaticity primary point.</p>
572
573<div style="margin: auto;">
574 <h3 class="magick-header"><a id="blue-shift"></a>-blue-shift <var>factor</var></h3>
575</div>
576
577<p class="magick-description">simulate a scene at nighttime in the moonlight. Start with a factor of 1.5</p>
578
579<div style="margin: auto;">
580
581<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -0500582 <h3 class="magick-header"><a id="blur"></a>-blur <var>radius</var><br />-blur <var>radius</var>x<var>sigma</var></h3>
Cristy882d9f42015-10-29 16:48:39 -0400583</div>
584
585<p class="magick-description">Reduce image noise and reduce detail levels.</p>
586
587<p>Convolve the image with a Gaussian or normal distribution using the given
Cristy594d2772015-11-15 10:47:42 -0500588<var >Sigma</var> value. The formula is:</p>
Cristy882d9f42015-10-29 16:48:39 -0400589
Cristy594d2772015-11-15 10:47:42 -0500590<p class="text-center"><img class="img-thumbnail" alt="gaussian distribution" width="243px" height="42px" src="../images/gaussian-blur.png"/></p>
Cristy882d9f42015-10-29 16:48:39 -0400591
Cristy594d2772015-11-15 10:47:42 -0500592<p>The <var >Sigma</var> value is the important argument, and
Cristy882d9f42015-10-29 16:48:39 -0400593determines the actual amount of blurring that will take place. </p>
594
Cristy594d2772015-11-15 10:47:42 -0500595<p>The <var >Radius</var> is only used to determine the size of the
Cristy882d9f42015-10-29 16:48:39 -0400596array which will hold the calculated Gaussian distribution. It should be an
597integer. If not given, or set to zero, IM will calculate the largest possible
598radius that will provide meaningful results for the Gaussian distribution.
599</p>
600
Cristy594d2772015-11-15 10:47:42 -0500601<p>The larger the <var >Radius</var> the slower the
602operation is. However too small a <var >Radius</var>, and sever
603aliasing effects may result. As a guideline, <var >Radius</var>
604should be at least twice the <var >Sigma</var> value, though three
Cristy882d9f42015-10-29 16:48:39 -0400605times will produce a more accurate result. </p>
606
607<p>This option differs from <a href="command-line-options.html#gaussian-blur">-gaussian-blur</a> simply
608by taking advantage of the separability properties of the distribution. Here
609we apply a single-dimensional Gaussian matrix in the horizontal direction,
610then repeat the process in the vertical direction.</p>
611
612<p>The <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting will determine how
613pixels which are outside the image proper are blurred into the final result.
614</p>
615
616
617<div style="margin: auto;">
618 <h3 class="magick-header">-blur <var>Width</var>[x<var>Height</var>[+<var>Angle</var>]]</h3>
619</div>
620
621<p class="magick-description">Variably blur an image according to the overlay mapping.</p>
622
623<p>Each pixel in the overlaid region is replaced with an Elliptical Weighted
624Average (EWA) of the source image, scaled according to the grayscale
625mapping. </p>
626
Cristy594d2772015-11-15 10:47:42 -0500627<p>The ellipse is weighted with sigma set to the given <var>Width</var> and <var >Height</var>. The <var >Height</var>
628defaults to the <var >Width</var> for a normal circular Gaussian
629weighting. The <var >Angle</var> will rotate the ellipse from
Cristy882d9f42015-10-29 16:48:39 -0400630horizontal clock-wise. </p>
631
632<p>The <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting will determine how
633pixels which are outside the image proper are blurred into the final result.
634</p>
635
636
637<div style="margin: auto;">
638 <h3 class="magick-header"><a id="border"></a>-border <var>geometry</var></h3>
639</div>
640
641<p class="magick-description">Surround the image with a border of color. </p>
642
643<p>Set the width and height using the <var>size</var> portion of the
644<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
645ignored. </p>
646
647<p>As of IM 6.7.8-8, the <var>geometry</var> arguments behave as follows:</p>
648
649<dl class="dl-horizontal">
650<dt><var>value</var></dt>
651<dd>value is added to both left/right and top/bottom</dd>
652<dt><var>value-x</var><kbd>x</kbd></dt>
653<dd>value-x is added only to left/right and top/bottom are unchanged</dd>
654<dt><kbd>x</kbd><var>value-y</var></dt>
655<dd>value-y is added only to top/bottom and left/right are unchanged</dd>
656<dt><var>value-x</var><kbd>x</kbd><var>value-y</var></dt>
657<dd>value-x is added to left/right and value-y added to top/bottom</dd>
658<dt><var>value-x</var><kbd>x</kbd>0</dt>
659<dd>value-x is added only to left/right and top/bottom are unchanged</dd>
660<dt>0<kbd>x</kbd><var>value-y</var></dt>
661<dd>value-y is added only to top/bottom and left/right are unchanged</dd>
662<dt><var>value</var>%</dt>
663<dd>value % of width is added to left/right and value % of height is added to top/bottom</dd>
664<dt><var>value-x</var><kbd>x</kbd>%</dt>
665<dd>value-x % of width is added to left/right and to top/bottom</dd>
666<dt>x<var>value-y</var>%</dt>
667<dd>value-y % of height is added to top/bottom and to left/right</dd>
668<dt><var>value-x</var>%<kbd>x</kbd><var>value-y</var>%</dt>
669<dd>value-x % of width is added to left/right and value-y % of height is added to top/bottom</dd>
670<dt><var>value-x</var>%<kbd>x</kbd>0%</dt>
671<dd>value-x % of width is added to left/right and top/bottom are unchanged</dd>
672<dt>0%<kbd>x</kbd><var>value-y</var>%</dt>
673<dd>value-y % of height is added to top/bottom and left/right are unchanged</dd>
674</dl>
675
Cristy594d2772015-11-15 10:47:42 -0500676<p>Set the border color by preceding with the <a
677href="command-line-options.html#bordercolor">-bordercolor</a> setting.</p>
Cristy882d9f42015-10-29 16:48:39 -0400678
Cristy594d2772015-11-15 10:47:42 -0500679<p>The <a href="command-line-options.html#border">-border</a> operation is affected by the current <a
680href="command-line-options.html#compose">-compose</a> setting and assumes that this is using the default
Cristy882d9f42015-10-29 16:48:39 -0400681'<code>Over</code>' composition method. It generates an image of the appropriate
682size colors by the current <a href="command-line-options.html#bordercolor">-bordercolor</a> before
683overlaying the original image in the center of this net image. This means that
684with the default compose method of '<code>Over</code>' any transparent parts may
685be replaced by the current <a href="command-line-options.html#bordercolor">-bordercolor</a> setting.</p>
686<p>See also the <a href="command-line-options.html#frame">-frame</a> option, which has more
687functionality.</p>
688
689<div style="margin: auto;">
690 <h3 class="magick-header"><a id="bordercolor"></a>-bordercolor <var>color</var></h3>
691</div>
692
693<p class="magick-description">Set the border color.</p>
694
695<p>The color is specified using the format described under the <a href="command-line-options.html#fill">-fill</a> option.</p>
696
697<p>The default border color is <code>#DFDFDF</code>, <span style="background-color: #dfdfdf;">this shade of gray</span>.</p>
698
699<div style="margin: auto;">
700 <h3 class="magick-header"><a id="borderwidth"></a>-borderwidth <var>geometry</var> </h3>
701</div>
702
703<p class="magick-description">Set the border width.</p>
704
705<div style="margin: auto;">
Cristy769d8892016-01-19 18:11:14 -0500706 <h3 class="magick-header"><a id="brightness-contrast"></a>-brightness-contrast <var>brightness</var><br />-brightness-contrast <var>brightness</var>{x<var>contrast</var>}{<var>%</var>}</h3>
Cristy882d9f42015-10-29 16:48:39 -0400707</div>
708
709<p class="magick-description">Adjust the brightness and/or contrast of the image.</p>
710
711<p>Brightness and Contrast values apply changes to the input image. They are
712not absolute settings. A brightness or contrast value of zero means no change.
713The range of values is -100 to +100 on each. Positive values increase the
714brightness or contrast and negative values decrease the brightness or contrast.
715To control only contrast, set the brightness=0. To control only brightness,
716set contrast=0 or just leave it off.</p>
717
718<p>You may also use <a href="command-line-options.html#fill">-channel</a> to control which channels to
719apply the brightness and/or contrast change. The default is to apply the same
720transformation to all channels.</p>
721
722<p>Brightness and Contrast arguments are converted to offset and slope of a
723linear transform and applied
724using <a href="command-line-options.html#fill">-function polynomial "slope,offset"</a>.</p>
725
726<p>The slope varies from 0 at contrast=-100 to almost vertical at
727contrast=+100. For brightness=0 and contrast=-100, the result are totally
728midgray. For brightness=0 and contrast=+100, the result will approach but
729not quite reach a threshold at midgray; that is the linear transformation
730is a very steep vertical line at mid gray.</p>
731
732<p>Negative slopes, i.e. negating the image, are not possible with this
733function. All achievable slopes are zero or positive.</p>
734
735<p>The offset varies from -0.5 at brightness=-100 to 0 at brightness=0 to +0.5
736at brightness=+100. Thus, when contrast=0 and brightness=100, the result is
737totally white. Similarly, when contrast=0 and brightness=-100, the result is
738totally black.</p>
739
740<p>As the range of values for the arguments are -100 to +100, adding the '%'
741symbol is no different than leaving it off.</p>
742
743<div style="margin: auto;">
744 <h3 class="magick-header"><a id="cache"></a>-cache <var>threshold</var></h3>
745</div>
746
Cristy594d2772015-11-15 10:47:42 -0500747<p class="magick-description">(This option has been replaced by the <a href='command-line-options.html#limit'>-limit</a> option).</p>
Cristy882d9f42015-10-29 16:48:39 -0400748
749<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -0500750 <h3 class="magick-header"><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>}</h3>
Cristy882d9f42015-10-29 16:48:39 -0400751</div>
752
753<p class="magick-description">Canny edge detector uses a multi-stage algorithm to detect a wide range of edges in the image.</p>
754
755<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>
756
757<div style="margin: auto;">
758 <h3 class="magick-header"><a id="caption"></a>-caption <var>string</var></h3>
759</div>
760
761<p class="magick-description">Assign a caption to an image.</p>
762
763<p>This option sets the caption meta-data of an image read in after this
764option has been given. To modify a caption of images already in memory use
765"<code><a href="command-line-options.html#set">-set</a> caption</code>". </p>
766
Cristy594d2772015-11-15 10:47:42 -0500767<p>The caption can contain special format characters listed in the <a
768href="escape.html">Format and
Cristy882d9f42015-10-29 16:48:39 -0400769Print Image Properties</a>. These attributes are expanded when the caption
770is finally assigned to the individual images. </p>
771
772<p>If the first character of <var>string</var> is <var>@</var>, the image caption is read from a file titled by the
773remaining characters in the string. Comments read in from a file are literal;
774no embedded formatting characters are recognized.</p>
775
776<p>Caption meta-data is not visible on the image itself. To do that use the
777<a href="command-line-options.html#annotate">-annotate</a> or <a href="command-line-options.html#draw">-draw</a> options
778instead.</p>
779
780<p>For example,</p>
781
782<pre>
783-caption "%m:%f %wx%h" bird.miff
784</pre>
785
786<p>produces an image caption of <code>MIFF:bird.miff 512x480</code> (assuming
787that the image <code>bird.miff</code> has a width of 512 and a height of
788480.</p>
789
790
791<div style="margin: auto;">
792 <h3 class="magick-header"><a id="cdl"></a>-cdl <var>filename</var></h3>
793</div>
794
795<p class="magick-description">color correct with a color decision list.</p>
796
797<p>Here is an example color correction collection:</p>
798
799<pre>
800&lt;?xml version="1.0" encoding="UTF-8"?&gt;
801&lt;ColorCorrectionCollection xmlns="urn:ASC:CDL:v1.2"&gt;
802 &lt;ColorCorrection id="cc06668"&gt;
803 &lt;SOPNode&gt;
804 &lt;Slope&gt; 0.9 1.2 0.5 &lt;/Slope&gt;
805 &lt;Offset&gt; 0.4 -0.5 0.6 &lt;/Offset&gt;
806 &lt;Power&gt; 1.0 0.8 1.5 &lt;/Power&gt;
807 &lt;/SOPNode&gt;
808 &lt;SATNode&gt;
809 &lt;Saturation&gt; 0.85 &lt;/Saturation&gt;
810 &lt;/SATNode&gt;
811 &lt;/ColorCorrection&gt;
812&lt;/ColorCorrectionCollection&gt;
813</pre>
814
815<div style="margin: auto;">
816 <h3 class="magick-header"><a id="channel"></a>-channel <var>type</var></h3>
817</div>
818
819<p class="magick-description">Specify those image color channels to which subsequent operators are limited.</p>
820
821<p>Choose from: <code>Red</code>, <code>Green</code>, <code>Blue</code>,
822<code>Alpha</code>, <code>Gray</code>, <code>Cyan</code>, <code>Magenta</code>,
823<code>Yellow</code>, <code>Black</code>, <code>Opacity</code>,
824<code>Index</code>, <code>RGB</code>, <code>RGBA</code>, <code>CMYK</code>, or
825<code>CMYKA</code>.</p>
826
827<p>The channels above can also be specified as a comma-separated list or can be
828abbreviated as a concatenation of the letters '<code>R</code>', '<code>G</code>',
829'<code>B</code>', '<code>A</code>', '<code>O</code>', '<code>C</code>',
830'<code>M</code>', '<code>Y</code>', '<code>K</code>'.
831
832For example, to only select the <code>Red</code> and <code>Blue</code> channels
833you can either use </p>
834<pre>
835-channel Red,Blue
836</pre>
837<p>or you can use the short hand form</p>
838<pre>
839-channel RB
840</pre>
841
842<p>All the channels that are present in an image can be specified using the
843special channel type <code>All</code>. Not all operators are 'channel capable',
844but generally any operators that are generally 'grey-scale' image operators,
845will understand this setting. See individual operator documentation. </p>
846
Cristy594d2772015-11-15 10:47:42 -0500847<br/>
Cristy882d9f42015-10-29 16:48:39 -0400848
849<p>On top of the normal channel selection an extra flag can be specified,
850'<code>Sync</code>'. This is turned on by default and if set means that
851operators that understand this flag should perform: cross-channel
852synchronization of the channels. If not specified, then most grey-scale
853operators will apply their image processing operations to each individual
854channel (as specified by the rest of the <a href="command-line-options.html#channel">-channel</a>
855setting) completely independently from each other. </p>
856
857<p>For example for operators such as <a href="command-line-options.html#auto-level">-auto-level</a> and
858<a href="command-line-options.html#auto-gamma">-auto-gamma</a> the color channels are modified
859together in exactly the same way so that colors will remain in-sync. Without
860it being set, then each channel is modified separately and
861independently, which may produce color distortion. </p>
862
863<p>The <a href="command-line-options.html#morphology">-morphology</a> '<code>Convolve</code>' method
864and the <a href="command-line-options.html#compose">-compose</a> mathematical methods, also understands
865the '<code>Sync</code>' flag to modify the behavior of pixel colors according
866to the alpha channel (if present). That is to say it will modify the image
867processing with the understanding that fully-transparent colors should not
868contribute to the final result. </p>
869
870<p>Basically, by default, operators work with color channels in synchronous, and
871treats transparency as special, unless the <a href="command-line-options.html#channel">-channel</a>
872setting is modified so as to remove the effect of the '<code>Sync</code>' flag.
873How each operator does this depends on that operators current implementation.
874Not all operators understands this flag at this time, but that is changing.
875</p>
876
877<p>To print a complete list of channel types, use <a href="command-line-options.html#list">-list
878channel</a>.</p>
879
880<p>By default, ImageMagick sets <a href="command-line-options.html#channel">-channel</a> to the value
881'<code>RGBK,sync</code>', which specifies that operators act on all color
882channels except the transparency channel, and that all the color channels are
883to be modified in exactly the same way, with an understanding of transparency
Cristy594d2772015-11-15 10:47:42 -0500884(depending on the operation being applied). The 'plus' form <a
885href="command-line-options.html#channel" >+channel</a> will reset the value back to this default. </p>
Cristy882d9f42015-10-29 16:48:39 -0400886
Cristy594d2772015-11-15 10:47:42 -0500887<p>Options that are affected by the <a href="command-line-options.html#channel" >-channel</a> setting
Cristy882d9f42015-10-29 16:48:39 -0400888include the following.
889
890<a href="command-line-options.html#auto-gamma">-auto-gamma</a>,
891<a href="command-line-options.html#auto-level">-auto-level</a>,
892<a href="command-line-options.html#black-threshold">-black-threshold</a>,
893<a href="command-line-options.html#blur">-blur</a>,
894<a href="command-line-options.html#clamp">-clamp</a>,
895<a href="command-line-options.html#clut">-clut</a>,
896<a href="command-line-options.html#combine">-combine</a>,
897<a href="command-line-options.html#composite">-composite</a> (Mathematical compose methods only),
898<a href="command-line-options.html#convolve">-convolve</a>,
899<a href="command-line-options.html#contrast-stretch">-contrast-stretch</a>,
900<a href="command-line-options.html#evaluate">-evaluate</a>,
901<a href="command-line-options.html#function">-function</a>,
902<a href="command-line-options.html#fx">-fx</a>,
903<a href="command-line-options.html#gaussian-blur">-gaussian-blur</a>,
904<a href="command-line-options.html#hald-clut">-hald-clut</a>,
905<a href="command-line-options.html#motion-blur">-motion-blur</a>,
906<a href="command-line-options.html#morphology">-morphology</a>,
907<a href="command-line-options.html#negate">-negate</a>,
908<a href="command-line-options.html#normalize">-normalize</a>,
909<a href="command-line-options.html#ordered-dither">-ordered-dither</a>,
910<a href="command-line-options.html#radial-blur">-radial-blur</a>,
911<a href="command-line-options.html#random-threshold">-random-threshold</a>,
912<a href="command-line-options.html#separate">-separate</a>,
913<a href="command-line-options.html#threshold">-threshold</a>, and
914<a href="command-line-options.html#white-threshold">-white-threshold</a>.
915</p>
916
Cristy594d2772015-11-15 10:47:42 -0500917<p>Warning, some operators behave differently when the <a href="command-line-options.html#channel"
918>+channel</a> default setting is in effect, verses ANY user defined <a
919href="command-line-options.html#channel" >-channel</a> setting (including the equivalent of the
Cristy882d9f42015-10-29 16:48:39 -0400920default). These operators have yet to be made to understand the newer 'Sync'
921flag. </p>
922
Cristy769d8892016-01-19 18:11:14 -0500923<p>For example <a href="command-line-options.html#threshold">-threshold</a> will by default grayscale
Cristy594d2772015-11-15 10:47:42 -0500924the image before thresholding, if no <a href="command-line-options.html#channel" >-channel</a> setting
Cristy882d9f42015-10-29 16:48:39 -0400925has been defined. This is not 'Sync flag controlled, yet. </p>
926
Cristy594d2772015-11-15 10:47:42 -0500927<p>Also some operators such as <a href="command-line-options.html#blur">-blur</a>, <a
928href="command-line-options.html#gaussian-blur">-gaussian-blur</a>, will modify their handling of the
929color channels if the '<code>alpha</code>' channel is also enabled by <a
930href="command-line-options.html#channel" >-channel</a>. Generally this done to ensure that
Cristy882d9f42015-10-29 16:48:39 -0400931fully-transparent colors are treated as being fully-transparent, and thus any
932underlying 'hidden' color has no effect on the final results. Typically
933resulting in 'halo' effects. The newer <a href="command-line-options.html#morphology">-morphology</a>
934convolution equivalents however does have a understanding of the 'Sync' flag
935and will thus handle transparency correctly by default. </p>
936
937<p>As a alpha channel is optional within images, some operators will read the
938color channels of an image as a greyscale alpha mask, when the image has no
Cristy594d2772015-11-15 10:47:42 -0500939alpha channel present, and the <a href="command-line-options.html#channel" >-channel</a> setting tells
940the operator to apply the operation using alpha channels. The <a
941href="command-line-options.html#clut">-clut</a> operator is a good example of this. </p>
Cristy882d9f42015-10-29 16:48:39 -0400942
943
944
945<div style="margin: auto;">
946 <h3 class="magick-header"><a id="charcoal"></a>-charcoal <var>factor</var></h3>
947</div>
948
949<p class="magick-description">Simulate a charcoal drawing.</p>
950
951<div style="margin: auto;">
952 <h3 class="magick-header"><a id="chop"></a>-chop <var>geometry</var></h3>
953</div>
954
955<p class="magick-description">Remove pixels from the interior of an image.</p>
956
957<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>
958and <var>height</var> given in the of the <var>size</var>
959portion of the <var>geometry</var> argument give the number of
960columns and rows to remove. The <var>offset</var> portion of
961the <var>geometry</var> argument is influenced by
962a <a href="command-line-options.html#gravity">-gravity</a> setting, if present.</p>
963
964<p>The <a href="command-line-options.html#chop">-chop</a> option removes entire rows and columns,
965and moves the remaining corner blocks leftward and upward to close the gaps.</p>
966
967<p>While it can remove internal rows and columns of pixels, it is more
968typically used with as <a href="command-line-options.html#gravity">-gravity</a> setting and zero
Cristy594d2772015-11-15 10:47:42 -0500969offsets so as to remove a single edge from an image. Compare this to <a
970href="command-line-options.html#shave" >-shave</a> which removes equal numbers of pixels from opposite
Cristy882d9f42015-10-29 16:48:39 -0400971sides of the image. </p>
972
Cristy594d2772015-11-15 10:47:42 -0500973<p>Using <a href="command-line-options.html#chop">-chop</a> effectively undoes the results of a <a
974href="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>
Cristy882d9f42015-10-29 16:48:39 -0400975
976<div style="margin: auto;">
977 <h3 class="magick-header"><a id="clamp"></a>-clamp</h3>
978</div>
979
980<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>
981
982<div style="margin: auto;">
983 <h3 class="magick-header"><a id="clip"></a>-clip</h3>
984</div>
985
986<p class="magick-description">Apply the clipping path if one is present.</p>
987
988<p>If a clipping path is present, it is applied to subsequent operations.</p>
989
990<p>For example, in the command</p>
991
992<pre>
993convert cockatoo.tif -clip -negate negated.tif
994</pre>
995
996<p>only the pixels within the clipping path are negated.</p>
997
998<p>The <a href="command-line-options.html#clip">-clip</a> feature requires SVG support. If the SVG
999delegate library is not present, the option is ignored.</p>
1000
1001<p>Use <a href="command-line-options.html#clip">+clip</a> to disable clipping for subsequent operations.</p>
1002
1003<div style="margin: auto;">
1004 <h3 class="magick-header"><a id="clip-mask"></a>-clip-mask</h3>
1005</div>
1006
1007<p class="magick-description">Clip the image as defined by this mask.</p>
1008
1009<p>Use the alpha channel of the current image as a mask. Any areas that is
1010white is not modified by any of the 'image processing operators' that follow,
1011until the mask is removed. Pixels in the black areas of the clip mask are
1012modified per the requirements of the operator. </p>
1013
1014<p>In some ways this is similar to (though not the same) as defining
Cristy594d2772015-11-15 10:47:42 -05001015a rectangular <a href="command-line-options.html#region" >-region</a>, or using the negative of the
1016mask (third) image in a three image <a href="command-line-options.html#composite" >-composite</a>,
Cristy882d9f42015-10-29 16:48:39 -04001017operation. </p>
1018
1019<p>Use <a href="command-line-options.html#clip-mask">+clip-mask</a> to disable clipping for subsequent operations.</p>
1020
1021<div style="margin: auto;">
1022 <h3 class="magick-header"><a id="clip-path"></a>-clip-path <var>id</var></h3>
1023</div>
1024
1025<p class="magick-description">Clip along a named path from the 8BIM profile.</p>
1026
1027<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>
1028
1029<p>Use <a href="command-line-options.html#clip-path">+clip-path</a> to disable clipping for subsequent operations.</p>
1030
1031<div style="margin: auto;">
1032 <h3 class="magick-header"><a id="clone"></a>-clone <var>index(s)</var></h3>
1033</div>
1034
1035<p class="magick-description">make a clone of an image (or images).</p>
1036
1037<p>Inside parenthesis (where the operator is normally used) it will make a
1038clone of the images from the last 'pushed' image sequence, and adds them to
1039the end of the current image sequence. Outside parenthesis
1040(not recommended) it clones the images from the current image sequence. </p>
1041
1042<p>Specify the image by its index in the sequence. The first image is index
10430. Negative indexes are relative to the end of the sequence; for
1044example, <code>−1</code>
1045represents the last image of the sequence. Specify a range of images with a
1046dash (e.g. <code>0−4</code>). Separate multiple indexes with commas but no
1047spaces (e.g. <code>0,2,5</code>). A value of '<code>0−−1</code> will
1048effectively clone all the images. </p>
1049
1050<p>The <a href="command-line-options.html#clone">+clone</a> will simply make a copy of the last image
1051in the image sequence, and is thus equivalent to using a argument of
1052'<code>−1</code>'. </p>
1053
1054<div style="margin: auto;">
1055 <h3 class="magick-header"><a id="clut"></a>-clut</h3>
1056</div>
1057
1058<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>
1059
1060<p>The second (LUT) image is ordinarily a gradient image containing the
1061histogram mapping of how each channel should be modified. Typically it is a
1062either a single row or column image of replacement color values. If larger
1063than a single row or column, values are taken from a diagonal line from
1064top-left to bottom-right corners.</p>
1065
Cristy594d2772015-11-15 10:47:42 -05001066<p>The lookup is further controlled by the <a
1067href="command-line-options.html#interpolate">-interpolate</a> setting, which is especially handy for an
Cristy882d9f42015-10-29 16:48:39 -04001068LUT which is not the full length needed by the ImageMagick installed Quality
1069(Q) level. Good settings for this are the '<code>bilinear</code>' and
1070'<code>bicubic</code>' interpolation settings, which give smooth color
1071gradients, and the '<code>integer</code>' setting for a direct, unsmoothed
1072lookup of color values. </p>
1073
1074<p>This operator is especially suited to replacing a grayscale image with a
1075specific color gradient from the CLUT image. </p>
1076
1077<p>Only the channel values defined by the <a href="command-line-options.html#channel">-channel</a>
Cristy594d2772015-11-15 10:47:42 -05001078setting will have their values replaced. In particular, since the default <a
1079href="command-line-options.html#channel">-channel</a> setting is <code>RGB</code>, this means that
1080transparency (alpha/matte channel) is not affected, unless the <a
1081href="command-line-options.html#channel">-channel</a> setting is modified. When the alpha channel is
1082set, it is treated by the <a href="command-line-options.html#clut" >-clut</a> operator in the same way
Cristy882d9f42015-10-29 16:48:39 -04001083as the other channels, implying that alpha/matte values are replaced using the
1084alpha/matte values of the original image. </p>
1085
1086<p>If either the image being modified, or the lookup image, contains no
Cristy594d2772015-11-15 10:47:42 -05001087transparency (i.e. <a href="command-line-options.html#alpha" >-alpha</a> is turned 'off') but the <a
1088href="command-line-options.html#channel">-channel</a> setting includes alpha replacement, then it is
Cristy769d8892016-01-19 18:11:14 -05001089assumed that image represents a grayscale gradient which is used for the
1090replacement alpha values. That is you can use a grayscale CLUT image to
1091adjust a existing images alpha channel, or you can color a grayscale image
Cristy882d9f42015-10-29 16:48:39 -04001092using colors form CLUT containing the desired colors, including transparency.
1093</p>
1094
Cristy594d2772015-11-15 10:47:42 -05001095<p>See also <a href="command-line-options.html#hald-clut" >-hald-clut</a> which replaces colors
Cristy882d9f42015-10-29 16:48:39 -04001096according to the lookup of the full color RGB value from a 2D representation
1097of a 3D color cube. </p>
1098
1099
1100<div style="margin: auto;">
1101 <h3 class="magick-header"><a id="coalesce"></a>-coalesce</h3>
1102</div>
1103
1104<p class="magick-description">Fully define the look of each frame of an GIF animation sequence, to form a 'film strip' animation.</p>
1105
1106<p>Overlay each image in an image sequence according to
1107its <a href="command-line-options.html#dispose">-dispose</a> meta-data, to reproduce the look of
1108an animation at each point in the animation sequence. All images should be
1109the same size, and are assigned appropriate GIF disposal settings for the
1110animation to continue working as expected as a GIF animation. Such frames
1111are more easily viewed and processed than the highly optimized GIF overlay
1112images. </p>
1113
1114<p>The animation can be re-optimized after processing using
1115the <a href="command-line-options.html#layers">-layers</a> method '<code>optimize</code>', although
1116there is no guarantee that the restored GIF animation optimization is
1117better than the original. </p>
1118
1119
1120<div style="margin: auto;">
1121 <h3 class="magick-header"><a id="colorize"></a>-colorize <var>value</var></h3>
1122</div>
1123
Cristy594d2772015-11-15 10:47:42 -05001124<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>
Cristy882d9f42015-10-29 16:48:39 -04001125
1126<p>Specify the amount of colorization as a percentage. Separate colorization
1127values can be applied to the red, green, and blue channels of the image with
1128a comma-delimited list of colorization
1129values (e.g., <code>-colorize 0,0,50</code>).</p>
1130
1131<div style="margin: auto;">
1132 <h3 class="magick-header"><a id="colormap"></a>-colormap <var>type</var></h3>
1133</div>
1134
1135<p class="magick-description">Define the colormap type.</p>
1136
1137<p>The <var>type</var> can be <code>shared</code> or <code>private</code>.</p>
1138
1139<p>This option only applies when the default X server visual
1140is <code>PseudoColor</code> or <code>GrayScale</code>. Refer
1141to <a href="command-line-options.html#visual">-visual</a> for more details. By default,
1142a shared colormap is allocated. The image shares colors with
1143other X clients. Some image colors could be approximated,
1144therefore your image may look very different than intended.
1145If <code>private</code> is chosen, the image colors appear exactly
1146as they are defined. However, other clients may go <var>technicolor</var>
1147when the image colormap is installed.</p>
1148
1149<div style="margin: auto;">
1150 <h3 class="magick-header"><a id="colors"></a>-colors <var>value</var></h3>
1151</div>
1152
1153<p class="magick-description">Set the preferred number of colors in the image.</p>
1154
1155<p>The actual number of colors in the image may be less than your request,
1156but never more. Note that this a color reduction option. Images with fewer
1157unique colors than specified by <var>value</var> will have any
1158duplicate or unused colors removed. The ordering of an existing color
1159palette may be altered. When converting an image from color to grayscale,
1160it is more efficient to convert the image to the gray colorspace before
1161reducing the number of colors. Refer to
1162the <a href="quantize.html">
1163color reduction algorithm</a> for more details.</p>
1164
1165<div style="margin: auto;">
1166 <h3 class="magick-header"><a id="color-matrix"></a>-color-matrix <var>matrix</var></h3>
1167</div>
1168
1169<p class="magick-description">apply color correction to the image.</p>
1170
1171<p>This option permits saturation changes, hue rotation, luminance to alpha,
1172and various other effects. Although variable-sized transformation matrices
1173can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6
1174for CMYKA (or RGBA with offsets). The matrix is similar to those used by
1175Adobe Flash except offsets are in column 6 rather than 5 (in support of
1176CMYKA images) and offsets are normalized (divide Flash offset by 255).</p>
1177
1178<p>As an example, to add contrast to an image with offsets, try this command:</p>
1179
1180<pre>
1181convert kittens.jpg -color-matrix \
1182 " 1.5 0.0 0.0 0.0, 0.0, -0.157 \
1183 0.0 1.5 0.0 0.0, 0.0, -0.157 \
1184 0.0 0.0 1.5 0.0, 0.0, -0.157 \
1185 0.0 0.0 0.0 1.0, 0.0, 0.0 \
1186 0.0 0.0 0.0 0.0, 1.0, 0.0 \
1187 0.0 0.0 0.0 0.0, 0.0, 1.0" kittens.png
1188</pre>
1189<div style="margin: auto;">
1190 <h3 class="magick-header"><a id="colorspace"></a>-colorspace <var>value</var></h3>
1191</div>
1192
1193<p class="magick-description">Set the image colorspace.</p>
1194
1195<p>Choices are:</p>
1196
1197<pre>
1198CMY CMYK Gray HCL
1199HCLp HSB HSI HSL
1200HSV HWB Lab LCHab
1201LCHuv LMS Log Luv
1202OHTA Rec601YCbCr Rec709YCbCr RGB
1203scRGB sRGB Transparent xyY
1204XYZ YCbCr YCC YDbDr
1205YIQ YPbPr YUV
1206</pre>
1207
1208<p>To print a complete list of colorspaces, use <a href="command-line-options.html#list">-list colorspace</a>.</p>
1209
1210<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>
1211
1212<table class="table table-condensed table-striped">
1213 <caption>Conversion of RGB to Other Color Spaces</caption>
1214 <tr><th valign="middle">CMY</th></tr>
1215 <tr><td valign="middle">C=<var>QuantumRange</var>−R</td></tr>
1216 <tr><td valign="middle">M=<var>QuantumRange</var>−G</td></tr>
1217 <tr><td valign="middle">Y=<var>QuantumRange</var>−B</td></tr>
1218 <tr><th valign="middle">CMYK — starts with CMY from above</th></tr>
1219 <tr><td valign="middle">K=min(C,Y,M)</td></tr>
1220 <tr><td valign="middle">C=<var>QuantumRange</var>*(C−K)/(<var>QuantumRange</var>−K)</td></tr>
1221 <tr><td valign="middle">M=<var>QuantumRange</var>*(M−K)/(<var>QuantumRange</var>−K)</td></tr>
1222 <tr><td valign="middle">Y=<var>QuantumRange</var>*(Y−K)/(<var>QuantumRange</var>−K)</td></tr>
1223
1224 <tr><th valign="middle">Gray</th></tr>
1225 <tr><td valign="middle">Gray = 0.298839*R+0.586811*G+0.114350*B</td></tr>
1226
1227 <tr><th valign="middle">HSB — Hue, Saturation, Brightness; like a cone peak downward</th></tr>
1228 <tr><td valign="middle">H=angle around perimeter (0 to 360 deg); H=0 is red; increasing angles toward green</td></tr>
1229 <tr><td valign="middle">S=distance from axis outward</td></tr>
1230 <tr><td valign="middle">B=distance along axis from bottom upward; B=max(R,G,B); <var>intensity-like</var></td></tr>
1231
1232 <tr><th valign="middle">HSL — Hue, Saturation, Lightness; like a double cone end-to-end with peaks at very top and bottom</th></tr>
1233 <tr><td valign="middle">H=angle around perimeter (0 to 360 deg); H=0 is red; increasing angles toward green</td></tr>
1234 <tr><td valign="middle">S=distance from axis outward</td></tr>
1235 <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>
1236
1237 <tr><th valign="middle">HWB — Hue, Whiteness, Blackness</th></tr>
1238 <tr><td valign="middle">Hue (complicated equation)</td></tr>
1239 <tr><td valign="middle">Whiteness (complicated equation)</td></tr>
1240 <tr><td valign="middle">Blackness (complicated equation)</td></tr>
1241
1242 <tr><th valign="middle">LAB</th></tr>
1243 <tr><td valign="middle">L (complicated equation relating X,Y,Z)</td></tr>
1244 <tr><td valign="middle">A (complicated equation relating X,Y,Z)</td></tr>
1245 <tr><td valign="middle">B (complicated equation relating X,Y,Z)</td></tr>
1246
1247 <tr><th valign="middle">LOG</th></tr>
1248 <tr><td valign="middle">I1 (complicated equation involving logarithm of R)</td></tr>
1249 <tr><td valign="middle">I2 (complicated equation involving logarithm of G)</td></tr>
1250 <tr><td valign="middle">I3 (complicated equation involving logarithm of B)</td></tr>
1251
1252 <tr><th valign="middle">OHTA — approximates principal components transformation</th></tr>
1253 <tr><td valign="middle">I1=0.33333*R+0.33334*G+0.33333*B; <var>intensity-like</var></td></tr>
1254 <tr><td valign="middle">I2=(0.50000*R+0.00000*G−0.50000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1255 <tr><td valign="middle">I3=(−0.25000*R+0.50000*G−0.25000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1256
1257 <tr><th valign="middle">Rec601Luma</th></tr>
1258 <tr><td valign="middle">Gray = 0.298839*R+0.586811*G+0.114350*B</td></tr>
1259
1260 <tr><th valign="middle">Rec601YCbCr</th></tr>
1261 <tr><td valign="middle">Y=0.2988390*R+0.5868110*G+0.1143500*B; <var>intensity-like</var></td></tr>
1262 <tr><td valign="middle">Cb=(−0.168736*R-0.331264*G+0.500000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1263 <tr><td valign="middle">Cr=(0.500000*R−0.418688*G−0.081312*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1264
1265 <tr><th valign="middle">Rec709Luma</th></tr>
1266 <tr><td valign="middle">Gray=0.212656*R+0.715158*G+0.072186*B</td></tr>
1267
1268 <tr><th valign="middle">Rec709YCbCr</th></tr>
1269 <tr><td valign="middle">Y=0.212656*R+0.715158*G+0.072186*B; <var>intensity-like</var></td></tr>
1270 <tr><td valign="middle">Cb=(−0.114572*R−0.385428*G+0.500000*B)+(<var>QuantumRange</var>+1)/2</td></tr>
1271 <tr><td valign="middle">Cr=(0.500000*R−0.454153*G−0.045847*B)+(<var>QuantumRange</var>+1)/2</td></tr>
1272
1273 <tr><th valign="middle">sRGB</th></tr>
1274 <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>
1275 <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>
1276 <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>
1277
1278 <tr><th valign="middle">XYZ</th></tr>
1279 <tr><td valign="middle">X=0.4124564*R+0.3575761*G+0.1804375*B</td></tr>
1280 <tr><td valign="middle">Y=0.2126729*R+0.7151522*G+0.0721750*B</td></tr>
1281 <tr><td valign="middle">Z=0.0193339*R+0.1191920*G+0.9503041*B</td></tr>
1282
1283 <tr><th valign="middle">YCC</th></tr>
1284 <tr><td valign="middle">Y=(0.298839*R+0.586811*G+0.114350*B) (with complicated scaling); <var>intensity-like</var></td></tr>
1285 <tr><td valign="middle">C1=(−0.298839*R−0.586811*G+0.88600*B) (with complicated scaling)</td></tr>
1286 <tr><td valign="middle">C2=(0.70100*R−0.586811*G−0.114350*B) (with complicated scaling)</td></tr>
1287
1288 <tr><th valign="middle">YCbCr</th></tr>
1289 <tr><td valign="middle">Y=0.2988390*R+0.5868110*G+0.1143500*B; <var>intensity-like</var></td></tr>
1290 <tr><td valign="middle">Cb=(−0.168736*R−0.331264*G+0.500000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1291 <tr><td valign="middle">Cr=(0.500000*R−0.418688*G−0.081312*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1292
1293 <tr><th valign="middle">YIQ</th></tr>
1294 <tr><td valign="middle">Y=0.298839*R+0.586811*G+0.114350*B; <var>intensity-like</var></td></tr>
1295 <tr><td valign="middle">I=(0.59600*R−0.27400*G−0.32200*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1296 <tr><td valign="middle">Q=(0.21100*R−0.52300*G+0.31200*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1297
1298 <tr><th valign="middle">YPbPr</th></tr>
1299 <tr><td valign="middle">Y=0.2988390*R+0.5868110*G+0.1143500*B; <var>intensity-like</var></td></tr>
1300 <tr><td valign="middle">Pb=(−0.168736*R−0.331264*G+0.500000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1301 <tr><td valign="middle">Pr=(0.500000*R−0.418688*G−0.081312*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1302
1303 <tr><th valign="middle">YUV</th></tr>
1304 <tr><td valign="middle">Y=0.298839*R+0.586811*G+0.114350*B; <var>intensity-like</var></td></tr>
1305 <tr><td valign="middle">U=(−0.14740*R−0.28950*G+0.43690*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1306 <tr><td valign="middle">V=(0.61500*R−0.51500*G−0.10000*B)*(<var>QuantumRange</var>+1)/2</td></tr>
1307</table>
1308
1309<p>Note the scRGB colorspace requires HDRI support otherwise it behaves just like linear RGB.</p>
1310
1311<div style="margin: auto;">
1312 <h3 class="magick-header"><a id="combine"></a>-combine</h3>
1313</div>
1314
1315<p class="magick-description">Combine one or more images into a single image.</p>
1316
1317<p>The channels (previously set by <a href="command-line-options.html#channel">-channel</a>) of the
1318combined image are taken from the grayscale values of each image in the
1319sequence, in order. For the default -channel setting of <code>RGB</code>, this
1320means the first image is assigned to the <code>Red</code> channel, the second
1321to the <code>Green</code> channel, the third to the <code>Blue</code>.</p>
1322
Cristy594d2772015-11-15 10:47:42 -05001323<p>This option can be thought of as the inverse to <a
1324href="command-line-options.html#separate">-separate</a>, so long as the channel settings are the same.
Cristy882d9f42015-10-29 16:48:39 -04001325Thus, in the following example, the final image should be a copy of the
1326original. </p>
1327
1328<pre>
1329convert original.png -channel RGB -separate sepimage.png
1330convert sepimage-0.png sepimage-1.png sepimage-2.png -channel RGB \
1331 -combine imagecopy.png
1332</pre>
1333
1334<div style="margin: auto;">
1335 <h3 class="magick-header"><a id="comment"></a>-comment <var>string</var></h3>
1336</div>
1337
1338<p class="magick-description">Embed a comment in an image.</p>
1339
1340<p>This option sets the comment meta-data of an image read in after this
1341option has been given. To modify a comment of images already in memory use
1342"<code><a href="command-line-options.html#set">-set</a> comment</code>". </p>
1343
Cristy594d2772015-11-15 10:47:42 -05001344<p>The comment can contain special format characters listed in the <a
1345href="escape.html">Format and
Cristy882d9f42015-10-29 16:48:39 -04001346Print Image Properties</a>. These attributes are expanded when the comment
1347is finally assigned to the individual images. </p>
1348
1349<p>If the first character of <var>string</var> is <var>@</var>, the image comment is read from a file titled by the
1350remaining characters in the string. Comments read in from a file are literal;
1351no embedded formatting characters are recognized.</p>
1352
1353<p>Comment meta-data are not visible on the image itself. To do that use the
1354<a href="command-line-options.html#annotate">-annotate</a> or <a href="command-line-options.html#draw">-draw</a> options
1355instead.</p>
1356
1357<p>For example,</p>
1358
1359<pre>
1360-comment "%m:%f %wx%h" bird.miff
1361</pre>
1362
1363<p>produces an image comment of <code>MIFF:bird.miff 512x480</code> (assuming
1364that the image <code>bird.miff</code> has a width of 512 and a height of
1365480.</p>
1366
1367<div style="margin: auto;">
1368 <h3 class="magick-header"><a id="compare"></a>-compare</h3>
1369</div>
1370
1371<p class="magick-description">mathematically and visually annotate the difference between an image and its reconstruction</p>
1372
1373<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>
1374
1375<pre>
Cristy594d2772015-11-15 10:47:42 -05001376convert image.png reference.png -metric RMSE -compare \ <br/> difference.png
Cristy882d9f42015-10-29 16:48:39 -04001377</pre>
1378
1379<p>To get the metric value use the string format "%[distortion]".</p>
1380
1381<pre>
1382convert image.png reference.png -metric RMSE -compare -format \
1383 "%[distortion]" info:
1384</pre>
1385
1386<div style="margin: auto;">
1387 <h3 class="magick-header"><a id="complex"></a>-complex <var>operator</var></h3>
1388</div>
1389
1390<p class="magick-description">perform complex mathematics on an image sequence</p>
1391
1392Choose from these operators:
1393
1394<pre>
1395add
1396conjugate
1397divide
1398magnitude-phase
1399multiply
1400real-imaginary
1401subtract
1402</pre>
1403
1404<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>
1405
1406<div style="margin: auto;">
1407 <h3 class="magick-header"><a id="compose"></a>-compose <var>operator</var></h3>
1408</div>
1409
1410<p class="magick-description">Set the type of image composition.</p>
1411
1412<p>See <a href="compose.html">Alpha Compositing</a> for
1413a detailed discussion of alpha compositing.</p>
1414
1415<p>This setting effects image processing operators that merge two (or more)
1416images together in some way. This includes the operators,
1417<a href="command-line-options.html#composite">-compare</a>,
1418<a href="command-line-options.html#composite">-composite</a>,
1419<a href="command-line-options.html#layers">-layers</a> composite,
1420<a href="command-line-options.html#flatten">-flatten</a>,
1421<a href="command-line-options.html#mosaic">-mosaic</a>,
1422<a href="command-line-options.html#layers">-layers</a> merge,
1423<a href="command-line-options.html#border">-border</a>,
1424<a href="command-line-options.html#frame">-frame</a>,
1425and <a href="command-line-options.html#extent">-extent</a>. </p>
1426
1427<p>It is also one of the primary options for the "<code>composite</code>"
1428command. </p>
1429
1430
1431<div style="margin: auto;">
1432 <h3 class="magick-header"><a id="composite"></a>-composite</h3>
1433</div>
1434
1435<p class="magick-description">Perform alpha composition on two images and an optional mask</p>
1436
1437<p>Take the first image 'destination' and overlay the second 'source' image
1438according to the current <a href="command-line-options.html#compose">-compose</a> setting. The location
Cristy594d2772015-11-15 10:47:42 -05001439of the 'source' or 'overlay' image is controlled according to <a
Cristye93be682015-11-26 09:07:51 -05001440href="command-line-options.html#gravity" >-gravity</a>, and <a href="command-line-options.html#geometry" >-geometry</a>
Cristy882d9f42015-10-29 16:48:39 -04001441settings. </p>
1442
Cristy769d8892016-01-19 18:11:14 -05001443<p>If a third image is given this is treated as a grayscale blending 'mask' image
Cristy882d9f42015-10-29 16:48:39 -04001444relative to the first 'destination' image. This mask is blended with the
1445source image. However for the '<code>displace</code>' compose method, the
1446mask is used to provide a separate Y-displacement image instead. </p>
1447
1448<p>If a <a href="command-line-options.html#compose">-compose</a> method requires extra numerical
Cristy594d2772015-11-15 10:47:42 -05001449arguments or flags these can be provided by setting the <a
1450href="command-line-options.html#set">-set</a> '<code>option:compose:args</code>'
Cristy882d9f42015-10-29 16:48:39 -04001451appropriately for the compose method. </p>
1452
1453<p>Some <a href="command-line-options.html#compose">-compose</a> methods can modify the 'destination'
Cristy594d2772015-11-15 10:47:42 -05001454image outside the overlay area. You can disable this by setting the special <a
1455href="command-line-options.html#set">-set</a> '<code>option:compose:outside-overlay</code>'
Cristy882d9f42015-10-29 16:48:39 -04001456to '<code>false</code>'. </p>
1457
1458<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>
1459
1460
1461<div style="margin: auto;">
1462 <h3 class="magick-header"><a id="compress"></a>-compress <var>type</var></h3>
1463</div>
1464
1465<p class="magick-description">Use pixel compression specified by <var>type</var> when writing the image.</p>
1466
Cristy594d2772015-11-15 10:47:42 -05001467<p>Choices are: <code>None</code>, <code>BZip</code>, <code
1468>Fax</code>, <code>Group4</code>, <code
1469>JPEG</code>, <code>JPEG2000</code>, <code
1470>Lossless</code>, <code>LZW</code>, <code
1471>RLE</code> or <code>Zip</code>.</p>
Cristy882d9f42015-10-29 16:48:39 -04001472
1473<p>To print a complete list of compression types, use <a href="command-line-options.html#list">-list
1474compress</a>.</p>
1475
1476<p>Specify <a href="command-line-options.html#compress">+compress</a> to store the binary image in an
1477uncompressed format. The default is the compression type of the specified
1478image file.</p>
1479
1480<p>If <code>LZW</code> compression is specified but LZW compression has not been
1481enabled, the image data is written in an uncompressed LZW format that can be
1482read by LZW decoders. This may result in larger-than-expected GIF files.</p>
1483
1484<p><code>Lossless</code> refers to lossless JPEG, which is only available if the
1485JPEG library has been patched to support it. Use of lossless JPEG is generally
1486not recommended.</p>
1487
1488<p>
1489When writing an ICO file, you may request that the images be encoded in
1490PNG format, by specifying <code>Zip</code> compression.</p>
1491
1492<p>
1493When writing a JNG file, specify <code>Zip</code> compression to request that
1494the alpha channel be encoded in PNG "IDAT" format, or <code>JPEG</code>
1495to request that it be encoded in JPG "JDAA" format.</p>
1496
1497<p>Use the <a href="command-line-options.html#quality">-quality</a> option to set the compression level
1498to be used by JPEG, PNG, MIFF, and MPEG encoders.
1499Use the <a href="command-line-options.html#sampling-factor">-sampling-factor</a> option to set the
1500sampling factor to be used by JPEG, MPEG, and YUV encoders for down-sampling
1501the chroma channels.</p>
1502
1503<div style="margin: auto;">
1504 <h3 class="magick-header"><a id="connected-components"></a>-connected-components <var>connectivity</var></h3>
1505</div>
1506
Cristyce4a3552015-12-14 13:53:35 -05001507<p class="magick-description"><a href="connected-components.html">connected-components</a> labeling detects connected regions in an image, choose from 4 or 8 way connectivity.</p>
Cristy882d9f42015-10-29 16:48:39 -04001508
Cristy594d2772015-11-15 10:47:42 -05001509<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>
Cristy882d9f42015-10-29 16:48:39 -04001510
1511<div style="margin: auto;">
1512 <h3 class="magick-header"><a id="contrast"></a>-contrast</h3>
1513</div>
1514
1515<p class="magick-description">Enhance or reduce the image contrast.</p>
1516
1517<p>This option enhances the intensity differences between the lighter and
1518darker elements of the image. Use <a href="command-line-options.html#contrast">-contrast</a> to enhance
1519the image or <a href="command-line-options.html#contrast">+contrast</a> to reduce the image
1520contrast.</p>
1521
1522<p>For a more pronounced effect you can repeat the option:</p>
1523
1524<pre>
1525convert rose: -contrast -contrast rose_c2.png
1526</pre>
1527
1528<div style="margin: auto;">
Cristy769d8892016-01-19 18:11:14 -05001529 <h3 class="magick-header"><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>}</h3>
Cristy882d9f42015-10-29 16:48:39 -04001530</div>
1531
1532<p class="magick-description">Increase the contrast in an image by <var>stretching</var> the range of intensity values.</p>
1533
1534<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
Cristy594d2772015-11-15 10:47:42 -05001535<var >black-point %</var> pixels and white-out at most <var>white-point %</var> pixels.</p>
Cristy882d9f42015-10-29 16:48:39 -04001536
Cristy594d2772015-11-15 10:47:42 -05001537<p>Prior to ImageMagick 6.4.7-0, <a href="command-line-options.html#contrast-stretch"
1538>-contrast-stretch</a> will black-out at most <var>black-point</var> pixels and white-out at most <var >total pixels
Cristy882d9f42015-10-29 16:48:39 -04001539minus 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>
1540
1541<p>Note that <code>-contrast-stretch 0</code> will modify the image such that
1542the 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
Cristy594d2772015-11-15 10:47:42 -05001543clipping at either end. This is not the same as <a href="command-line-options.html#normalize"
1544>-normalize</a>, which is equivalent to <code>-contrast-stretch 0.15x0.05%</code> (or
Cristy882d9f42015-10-29 16:48:39 -04001545prior to ImageMagick 6.4.7-0, <code>-contrast-stretch 2%x99%</code>).</p>
1546
1547<p>Internally operator works by creating a histogram bin, and then uses that
1548bin to modify the image. As such some colors may be merged together when they
1549originally fell into the same 'bin'. </p>
1550
Cristy769d8892016-01-19 18:11:14 -05001551<p>All the channels are normalized in concert by the same amount so as to
Cristy594d2772015-11-15 10:47:42 -05001552preserve color integrity, when the default <a href="command-line-options.html#channel" >+channel</a>
1553setting is in use. Specifying any other <a href="command-line-options.html#channel" >-channel</a>
Cristy882d9f42015-10-29 16:48:39 -04001554setting will normalize the RGB channels independently.</p>
1555
Cristy594d2772015-11-15 10:47:42 -05001556<p>See also <a href="command-line-options.html#auto-level" >-auto-level</a> for a 'perfect'
Cristy882d9f42015-10-29 16:48:39 -04001557normalization of mathematical images. </p>
1558
1559<p>This operator is under review for re-development. </p>
1560
1561
1562<div style="margin: auto;">
1563 <h3 class="magick-header"><a id="convolve"></a>-convolve <var>kernel</var></h3>
1564</div>
1565
1566<p class="magick-description">Convolve an image with a user-supplied convolution kernel.</p>
1567
1568<p>The <var>kernel</var> is a matrix specified as
1569a comma-separated list of integers (with no spaces), ordered left-to right,
1570starting with the top row. Presently, only odd-dimensioned kernels are
1571supported, and therefore the number of entries in the specified <var>kernel</var> must be 3<sup>2</sup>=9, 5<sup>2</sup>=25,
15727<sup>2</sup>=49, etc. </p>
1573
Cristy594d2772015-11-15 10:47:42 -05001574<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 that
Cristy882d9f42015-10-29 16:48:39 -04001575positive and negative results are relative to a user-specified bias value.
1576This is important for non-HDRI compilations of ImageMagick when dealing with
1577convolutions that contain negative as well as positive values. This is
1578especially the case with convolutions involving high pass filters or edge
1579detection. Without an output bias, the negative values is clipped at zero.
1580</p>
1581
Cristy594d2772015-11-15 10:47:42 -05001582<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 any
Cristy882d9f42015-10-29 16:48:39 -04001583negative results without clipping to the color value range (0..QuantumRange).
Cristy594d2772015-11-15 10:47:42 -05001584See the discussion on HDRI implementations of ImageMagick on the page <a
1585href="high-dynamic-range.html">High
1586Dynamic-Range Images</a>. For more about HDRI go the ImageMagick <a
1587href="http://www.imagemagick.org/Usage/basics/#hdri">Usage</a> pages or this
Cristy882d9f42015-10-29 16:48:39 -04001588<a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging">Wikipedia</a>
1589entry. </p>
1590
1591
1592<div style="margin: auto;">
1593 <h3 class="magick-header"><a id="copy"></a>-copy <var>geometry</var> <var>offset</var></h3>
1594</div>
1595
1596<p class="magick-description">copy pixels from one area of an image to another.</p>
1597
1598<div style="margin: auto;">
1599 <h3 class="magick-header"><a id="crop"></a>-crop <var>geometry</var>{<var>@</var>}{<var>!</var>}</h3>
1600</div>
1601
1602<p class="magick-description">Cut out one or more rectangular regions of the image.</p>
1603
1604<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
1605
1606<p>The <var>width</var> and <var>height</var> of the <var>geometry</var> argument give the size of the image that remains
1607after cropping, and <var>x</var> and <var>y</var> in the
1608<var>offset</var> (if present) gives the location of the top left
1609corner of the cropped image with respect to the original image. To specify the
1610amount to be removed, use <a href="command-line-options.html#shave">-shave</a> instead.</p>
1611
1612<p>If the <var>x</var> and <var>y</var> offsets are
1613present, a single image is generated, consisting of the pixels from the
1614cropping region. The offsets specify the location of the upper left corner of
1615the cropping region measured downward and rightward with respect to the upper
1616left corner of the image. If the <a href="command-line-options.html#gravity">-gravity</a> option is
1617present with <code>NorthEast</code>, <code>East</code>, or <code>SouthEast</code>
1618gravity, it gives the distance leftward from the right edge of the image to
Cristy594d2772015-11-15 10:47:42 -05001619the right edge of the cropping region. Similarly, if the <a
1620href="command-line-options.html#gravity">-gravity</a> option is present with <code>SouthWest</code>,
Cristy882d9f42015-10-29 16:48:39 -04001621<code>South</code>, or <code>SouthEast</code> gravity, the distance is measured
1622upward between the bottom edges.</p>
1623
1624<p>If the <var>x</var> and <var>y</var> offsets are
1625omitted, a set of tiles of the specified geometry, covering the entire input
1626image, is generated. The rightmost tiles and the bottom tiles are smaller if
1627the specified geometry extends beyond the dimensions of the input image.</p>
1628
1629<p>You can add the <var>@</var> to the geometry argument to equally divide the image into the number of tiles generated.</p>
1630
1631<p>By adding a exclamation character flag to the geometry argument, the
1632cropped images virtual canvas page size and offset is set as if the
1633geometry argument was a viewport or window. This means the canvas page size
1634is set to exactly the same size you specified, the image offset set
1635relative top left corner of the region cropped. </p>
1636
1637<p>If the cropped image 'missed' the actual image on its virtual canvas, a
1638special single pixel transparent 'missed' image is returned, and a 'crop
1639missed' warning given. </p>
1640
Cristy594d2772015-11-15 10:47:42 -05001641<p>It might be necessary to <a href="command-line-options.html#repage" >+repage</a> the image prior to
Cristy882d9f42015-10-29 16:48:39 -04001642cropping the image to ensure the crop coordinate frame is relocated to the
1643upper-left corner of the visible image.
1644
Cristy594d2772015-11-15 10:47:42 -05001645Similarly you may want to use <a href="command-line-options.html#repage" >+repage</a> after cropping to
Cristy882d9f42015-10-29 16:48:39 -04001646remove the page offset that will be left behind. This is especially true when
1647you are going to write to an image format such as PNG that supports an image
1648offset.</p>
1649
1650<div style="margin: auto;">
1651 <h3 class="magick-header"><a id="cycle"></a>-cycle <var>amount</var></h3>
1652</div>
1653
1654<p class="magick-description">displace image colormap by amount.</p>
1655
1656<p><var>Amount</var> defines the number of positions each
1657colormap entry is shifted.</p>
1658
1659
1660<div style="margin: auto;">
1661 <h3 class="magick-header"><a id="debug"></a>-debug <var>events</var></h3>
1662</div>
1663
1664<p class="magick-description">enable debug printout.</p>
1665
1666<p>The <code>events</code> parameter specifies which events are to be logged. It
1667can be either <code>None</code>, <code>All</code>, <code>Trace</code>, or
1668a comma-separated list consisting of one or more of the following domains:
1669<code>Accelerate</code>, <code>Annotate</code>, <code>Blob</code>, <code>Cache</code>,
1670<code>Coder</code>, <code>Configure</code>, <code>Deprecate</code>,
1671<code>Exception</code>, <code>Locale</code>, <code>Render</code>,
1672<code>Resource</code>, <code>Security</code>, <code>TemporaryFile</code>,
1673<code>Transform</code>, <code>X11</code>, or <code>User</code>. </p>
1674
1675
1676<p>For example, to log cache and blob events, use.</p>
1677
1678<pre>
1679convert -debug "Cache,Blob" rose: rose.png
1680</pre>
1681
1682<p>The <code>User</code> domain is normally empty, but developers can log user
1683events in their private copy of ImageMagick.</p>
1684
1685<p>To print the complete list of debug methods, use <a href="command-line-options.html#list">-list
1686debug</a>.</p>
1687
1688<p>Use the <a href="command-line-options.html#log">-log</a> option to specify the format for debugging
1689output.</p>
1690
1691<p>Use <a href="command-line-options.html#debug">+debug</a> to turn off all logging.</p>
1692
Cristy594d2772015-11-15 10:47:42 -05001693<p>Debugging may also be set using the <code>MAGICK_DEBUG</code> <a href="resources.html#environment"
1694>environment variable</a>. The allowed values for the <code>MAGICK_DEBUG</code>
Cristy882d9f42015-10-29 16:48:39 -04001695environment variable are the same as for the <a href="command-line-options.html#debug">-debug</a>
1696option.</p>
1697
1698
1699<div style="margin: auto;">
1700 <h3 class="magick-header"><a id="decipher"></a>-decipher <var>filename</var></h3>
1701</div>
1702
1703<p class="magick-description">Decipher and restore pixels that were previously transformed by <a href="command-line-options.html#encipher">-encipher</a>.</p>
1704
1705<p>Get the passphrase from the file specified by <var>filename</var>.</p>
1706
Cristy594d2772015-11-15 10:47:42 -05001707<p>For more information, see the webpage, <a
1708href="http://www.imagemagick.org/www/cipher.html">ImageMagick: Encipher or
Cristy882d9f42015-10-29 16:48:39 -04001709Decipher an Image</a>.</p>
1710
1711
1712<div style="margin: auto;">
1713 <h3 class="magick-header"><a id="deconstruct"></a>-deconstruct</h3>
1714</div>
1715
1716<p class="magick-description">find areas that has changed between images </p>
1717
Cristy594d2772015-11-15 10:47:42 -05001718<p>Given a sequence of images all the same size, such as produced by <a
1719href="command-line-options.html#coalesce">-coalesce</a>, replace the second and later images, with
Cristy882d9f42015-10-29 16:48:39 -04001720a smaller image of just the area that changed relative to the previous image.
1721</p>
1722
1723<p>The resulting sequence of images can be used to optimize an animation
1724sequence, though will not work correctly for GIF animations when parts of the
1725animation can go from opaque to transparent. </p>
1726
1727<p>This option is actually equivalent to the <a href="command-line-options.html#layers">-layers</a>
1728method '<code>compare-any</code>'. </p>
1729
1730
1731<div style="margin: auto;">
1732 <h3 class="magick-header"><a id="define"></a>-define <var>key</var>{<var>=value</var>}<var>...</var></h3>
1733</div>
1734
1735<p class="magick-description">add specific global settings generally used to control coders and image processing operations.</p>
1736
1737<p>This option creates one or more definitions for coders and decoders to use
1738while reading and writing image data. Definitions are generally used to
1739control image file format coder modules, and image processing operations,
Cristy594d2772015-11-15 10:47:42 -05001740beyond what is provided by normal means. Defined settings are listed in <a
1741href="command-line-options.html#verbose" >-verbose</a> information ("<code>info:</code>" output format)
Cristy882d9f42015-10-29 16:48:39 -04001742as "Artifacts". </p>
1743
1744<p>If <var>value</var> is missing for a definition, an empty-valued
1745definition of a flag is created with that name. This used to control on/off
1746options. Use <a href="command-line-options.html#define">+define key</a> to remove definitions
1747previously created. Use <a href="command-line-options.html#define">+define "*"</a> to remove all
1748existing definitions.</p>
1749
Cristy594d2772015-11-15 10:47:42 -05001750<p>The same 'artifact' settings can also be defined using the <a
1751href="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
Cristy882d9f42015-10-29 16:48:39 -04001752Properties</a> in the defined value. </p>
1753
1754<p>The <var>option</var> and <var>key</var> are case-independent (they are
1755converted to lowercase for use within the decoders) while the <var>value</var>
1756is case-dependent.</p>
1757
1758<p>Such settings are global in scope, and affect all images and operations. </p>
1759
1760<p>The following definitions are just some of the artifacts that are
1761available:</p>
1762
1763<table class="table table-condensed table-striped">
1764 <tr>
1765 <td>bmp:format=<var>value</var></td>
1766 <td> valid values are <var>bmp2</var>, <var>bmp3</var>,
1767 and <var>bmp4</var>. This option can be useful when the
1768 method of prepending "BMP2:" to the output filename is inconvenient or
1769 is not available, such as when using the <a href="mogrify.html">mogrify</a> utility.</td>
1770 </tr>
1771
1772 <tr>
1773 <td>colorspace:auto-grayscale=<var>on|off</var></td>
1774 <td>prevent automatic conversion to grayscale inside coders that support
1775 grayscale. This should be accompanied by -type truecolor. PNG and TIF do
1776 not need this define. With PNG, just use PNG24:image. With TIF, just use
1777 -type truecolor. JPG and PSD will need this define.</td>
1778 </tr>
1779
1780 <tr>
1781 <td>complex:snr=<var>value</var></td>
1782 <td>Set the divide SNR constant<a href="command-line-options.html#complex">-complex</a></td>
1783 </tr>
1784
1785 <tr>
1786 <td>compose:args=<var>arguments</var></td>
1787 <td>Sets certain compose argument values when using convert ... -compose ...
Cristy594d2772015-11-15 10:47:42 -05001788 -composite. See <a href="http://www.imagemagick.org/www/compose.html"
1789 >Image Composition</a></td>
Cristy882d9f42015-10-29 16:48:39 -04001790 </tr>
1791
1792 <tr>
1793 <td>compose:clamp=<var>on|off</var></td>
1794 <td>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. Define supported in ImageMagick 6.9.1-3 and above.</td>
1795 </tr>
1796
1797 <tr>
Cristyde27d762016-01-02 12:56:44 -05001798 <td>connected-components:area-threshold=<var>value</var></td>
1799 <td>Merges any region with area smaller than <var>value</var> into its surrounding region or largest neighbor.</td>
1800 </tr>
1801
1802 <tr>
1803 <td>connected-components:keep=<var>list-of-ids</var></td>
1804 <td>Command and/or hyphenated list of id values to keep in the output. Supported in Imagemagick 6.9.3-0.</td>
1805 </tr>
1806
1807 <tr>
1808 <td>connected-components:mean-color=<var>true</var></td>
1809 <td>Changes the output image from id values to mean color values. Supported in Imagemagick 6.9.2-8.</td>
1810 </tr>
1811
1812 <tr>
1813 <td>connected-components:remove=<var>list-of-ids</var></td>
1814 <td>Command and/or hyphenated list of id values to remove from the output. Supported in Imagemagick 6.9.2-9.</td>
1815 </tr>
1816
1817 <tr>
1818 <td>connected-components:verbose=<var>true</var></td>
1819 <td>Lists id, bounding box, centroid, area, mean color for each region.</td>
1820 </tr>
1821
1822 <tr>
Cristy882d9f42015-10-29 16:48:39 -04001823 <td>convolve:scale=<var>{kernel_scale}[!^] [,{origin_addition}] [%]</var></td>
1824 <td>Defines the kernel scaling. The special flag ! automatically scales to
1825 full dynamic range. The ! flag can be used in combination with a factor or
1826 percent. The factor or percent is then applied after the automatic scaling.
1827 An example is 50%!. This produces a result 50% darker than full dynamic
1828 range scaling. The ^ flag assures the kernel is 'zero-summing', for
1829 example when some values are positive and some are negative as in edge
1830 detection kernels. The origin addition adds that value to the center
1831 pixel of the kernel. This produces and effect that is like adding the image
1832 that many times to the result of the filtered image. The typical value
1833 is 1 so that the original image is added to the result of the convolution.
1834 The default is 0.</td>
1835 </tr>
1836
1837 <tr>
1838 <td>convolve:showkernel=<var>1</var></td>
Cristy594d2772015-11-15 10:47:42 -05001839 <td>Outputs (to 'standard error') all the information about a specified <a
1840 href="command-line-options.html#morphology" >-morphology convolve</a> kernel.</td>
Cristy882d9f42015-10-29 16:48:39 -04001841 </tr>
1842
1843 <tr>
1844 <td>dcm:display-range=<var>reset</var></td>
1845 <td>Sets the display range to the minimum and maximum pixel values for the
1846 DCM image format.</td>
1847 </tr>
1848
1849 <tr>
1850 <td>dds:cluster-fit=<var>true|false</var></td>
1851 <td>Enables the dds cluster-fit.</td>
1852 </tr>
1853
1854 <tr>
1855 <td>dds:compression=<var>dxt1|dxt5|none</var></td>
1856 <td>Sets the dds compression.</td>
1857 </tr>
1858
1859 <tr>
1860 <td>dds:mipmaps=<var>value</var></td>
1861 <td>Sets the dds number of mipmaps.</td>
1862 </tr>
1863
1864 <tr>
1865 <td>dds:weight-by-alpha=<var>true|false</var></td>
1866 <td>Enables the dds alpha weighting.</td>
1867 </tr>
1868
1869 <tr>
1870 <td>delegate:bimodal=<var>true</var></td>
1871 <td>Specifies direct conversion from Postscript to PDF.</td>
1872 </tr>
1873
1874 <tr>
1875 <td>distort:scale=<var>value</var></td>
Cristy594d2772015-11-15 10:47:42 -05001876 <td>Sets the output scaling factor for use with <a href="command-line-options.html#distort"
1877 >-distort</a></td>
Cristy882d9f42015-10-29 16:48:39 -04001878 </tr>
1879
1880 <tr>
1881 <td>distort:viewport=<var>WxH+X+Y</var></td>
1882 <td>Sets the viewport for use with <a href="command-line-options.html#distort">-distort</a></td>
1883 </tr>
1884
1885 <tr>
1886 <td>dot:layout-engine=<var>value</var></td>
1887 <td>Specifies the layout engine for the DOT image format (e.g.
1888 <code>neato</code>).</td>
1889 </tr>
1890
1891 <tr>
1892 <td>filter:option=<var>value</var></td>
1893 <td>Set a filter option for use with <a href="command-line-options.html#resize">-resize</a>.
1894 See <a href="command-line-options.html#filter">-filter</a> for details.</td>
1895 </tr>
1896
1897 <tr>
1898 <td>fourier:normalize=<var>inverse</var></td>
1899 <td>Sets the location for the FFT/IFT normalization as use by
1900 <a href="command-line-options.html#fft">+-fft</a> and <a href="command-line-options.html#ift">+-ift</a>. The default is
1901 <var>forward</var>.</td>
1902 </tr>
1903
1904 <tr>
1905 <td>h:format=<var>value</var></td>
1906 <td>Set the image encoding format use when writing a C-style header.
1907 <var>format</var> can be any output format supported by ImageMagick
1908 except for <var>h</var> and <var>magick</var></td>. If this
1909 option is omitted, the default is <var>GIF</var> for PseudoClass
1910 images and <var>PNM</var> for DirectClass images.
1911 </tr>
1912
1913 <tr>
1914 <td>icon:auto-resize</td>
1915 <td>Automatically stores multiple sizes when writing an ico image
1916 (requires a 256x256 input image).</td>
1917 </tr>
1918
1919 <tr>
1920 <td>jp2:layer-number=<var>value</var></td>
1921 <td>Sets the maximum number of quality layers to decode. Same for JPT, JC2,
1922 and J2K</td>
1923 </tr>
1924
1925 <tr>
1926 <td>jp2:number-resolutions=<var>value</var></td>
1927 <td>Sets the number of resolutions to encode.Same for JPT, JC2, and J2K</td>
1928 </tr>
1929
1930 <tr>
1931 <td>jp2:progression-order=<var>value</var></td>
1932 <td>choose from LRCP, RLCP, RPCL, PCRL or CPRL. Same for JPT, JC2, and
1933 J2K</td>
1934 </tr>
1935
1936 <tr>
1937 <td>jp2:quality=<var>value,value...</var></td>
1938 <td>Sets the quality layer PSNR, given in dB. The order is from left to
1939 right in ascending order. The default is a single lossless quality layer.
1940 Same for JPT, JC2, and J2K</td>
1941 </tr>
1942
1943 <tr>
1944 <td>jp2:rate=<var>value</var></td>
1945 <td>Specify the compression factor to use while writing JPEG-2000 files. The
1946 compression factor is the reciprocal of the compression ratio. The valid
1947 range is 0.0 to 1.0, with 1.0 indicating lossless compression. If defined,
1948 this value overrides the -quality setting. A quality setting of 75
1949 results in a rate value of 0.06641. Same for JPT, JC2, and J2K</td>
1950 </tr>
1951
1952 <tr>
1953 <td>jp2:reduce-factor=<var>value</var></td>
1954 <td>Sets the number of highest resolution levels to be discarded.Same for
1955 JPT, JC2, and J2K</td>
1956 </tr>
1957
1958 <tr>
1959 <td>jpeg:block-smoothing=<var>on|off</var></td>
Cristy594d2772015-11-15 10:47:42 -05001960 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04001961 </tr>
1962
1963 <tr>
1964 <td>jpeg:colors=<var>value</var></td>
1965 <td>Set the desired number of colors and let the JPEG encoder do the
1966 quantizing.</td>
1967 </tr>
1968
1969 <tr>
1970 <td>jpeg:dct-method=<var>value</var></td>
1971 <td>Choose from <code>default</code>, <code>fastest</code>,
1972 <code>float</code>, <code>ifast</code>, and <code>islow</code>.</td>
1973 </tr>
1974
1975 <tr>
1976 <td>jpeg:extent=<var>value</var></td>
1977 <td>Restrict the maximum JPEG file size, for example <code>-define
1978 jpeg:extent=400KB</code>. The JPEG encoder will search for the highest
1979 compression quality level that results in an output file that does not
Cristye93be682015-11-26 09:07:51 -05001980 exceed the value. The <code>-quality</code> option also will be respected
1981 starting with version 6.9.2-5. Between 6.9.1-0 and 6.9.2-4, add -quality
1982 100 in order for the jpeg:extent to work properly. Prior to 6.9.1-0, the
1983 -quality setting was ignored.</td>
Cristy882d9f42015-10-29 16:48:39 -04001984 </tr>
1985
1986 <tr>
1987 <td>jpeg:fancy-upsampling=<var>on|off</var></td>
Cristy594d2772015-11-15 10:47:42 -05001988 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04001989 </tr>
1990
1991 <tr>
1992 <td>jpeg:optimize-coding=<var>on|off</var></td>
Cristy594d2772015-11-15 10:47:42 -05001993 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04001994 </tr>
1995
1996 <tr>
1997 <td>jpeg:q-table=<var>table</var></td>
Cristy594d2772015-11-15 10:47:42 -05001998 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04001999 </tr>
2000
2001 <tr>
2002 <td>jpeg:sampling-factor=<var>sampling-factor-string</var></td>
Cristy594d2772015-11-15 10:47:42 -05002003 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04002004 </tr>
2005
2006 <tr>
2007 <td>jpeg:size=<var>geometry</var></td>
2008 <td>Set the size hint of a JPEG image, for
2009 example, <code>-define jpeg:size=128x128</code>.
2010 It is most useful for increasing performance and reducing the memory
2011 requirements when reducing the size of a large JPEG image.</td>
2012 </tr>
2013
2014 <tr>
2015 <td>json:features</td>
2016 <td>includes features in verbose information</td>
2017 </tr>
2018
2019 <tr>
2020 <td>json:limit</td>
Cristy594d2772015-11-15 10:47:42 -05002021 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04002022 </tr>
2023
2024 <tr>
2025 <td>json:locate</td>
Cristy594d2772015-11-15 10:47:42 -05002026 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04002027 </tr>
2028
2029 <tr>
2030 <td>json:moments</td>
2031 <td>includes image moments in verbose information</td>
2032 </tr>
2033
2034 <tr>
2035 <td>magick:format=<var>value</var></td>
2036 <td>Set the image encoding format use when writing a C-style header.
2037 This is the same as "h:format=format" described above.</td>.
2038 </tr>
2039
2040 <tr>
2041 <td>mng:need-cacheoff</td>
2042 <td>turn playback caching off for streaming MNG.</td>
2043 </tr>
2044
2045 <tr>
2046 <td>morphology:compose=<var>compose-method</var></td>
Cristy594d2772015-11-15 10:47:42 -05002047 <td>Specifies how to merge results generated by multiple<a
2048 href="command-line-options.html#morphology" >-morphology</a> kernel. The default is none. One
Cristy882d9f42015-10-29 16:48:39 -04002049 typical value is 'lighten' as used, for example, with the sobel edge
2050 kernels. </td>
2051 </tr>
2052
2053 <tr>
2054 <td>morphology:showkernel=<var>1</var></td>
Cristy594d2772015-11-15 10:47:42 -05002055 <td>Outputs (to 'standard error') all the information about a generated <a
2056 href="command-line-options.html#morphology" >-morphology</a> kernel.</td>
Cristy882d9f42015-10-29 16:48:39 -04002057 </tr>
2058
2059 <tr>
2060 <td>pcl:fit-to-page=<var>true</var></td>
2061
Cristy594d2772015-11-15 10:47:42 -05002062 <tr>
Cristy882d9f42015-10-29 16:48:39 -04002063 <td>pdf:fit-page=<var>geometry</var></td>
2064 <td> geometry specifies the scaling dimensions for resizing when the PDF is
2065 being read. The geometry is either WxH{%} or page size. No offsets are
2066 allowed. (introduced in IM 6.8.8-8)</td>
2067 </tr>
2068
2069 <tr>
2070 <td>pdf:fit-to-page=<var>true</var></td>
Cristy594d2772015-11-15 10:47:42 -05002071 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04002072 </tr>
2073
2074 <tr>
2075 <td>pdf:use-cropbox=<var>true</var></td>
Cristy594d2772015-11-15 10:47:42 -05002076 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04002077 </tr>
2078
2079 <tr>
2080 <td>pdf:use-trimbox=<var>true</var></td>
Cristy594d2772015-11-15 10:47:42 -05002081 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04002082 </tr>
2083
2084 <tr>
2085 <td>png:bit-depth=<var>value</var></td>
Cristy594d2772015-11-15 10:47:42 -05002086 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04002087 </tr>
2088 <tr>
2089 <td>png:color-type=<var>value</var></td>
2090 <td>desired bit-depth and color-type for PNG output. You can force the PNG
2091 encoder to use a different bit-depth and color-type than it would have
2092 normally selected, but only if this does not cause any loss of image
2093 quality. Any attempt to reduce image quality is treated as an error and no
2094 PNG file is written. E.g., if you have a 1-bit black-and-white image, you
2095 can use these "defines" to cause it to be written as an 8-bit grayscale,
2096 indexed, or even a 64-bit RGBA. But if you have a 16-million color image,
2097 you cannot force it to be written as a grayscale or indexed PNG. If you
2098 wish to do this, you must use the appropriate <a href="command-line-options.html#depth">-depth</a>,
2099 <a href="command-line-options.html#colors">-colors</a>, or <a href="command-line-options.html#type">-type</a> directives to
2100 reduce the image quality prior to using the PNG encoder. Note that in
2101 indexed PNG files, "bit-depth" refers to the number of bits per index,
2102 which can be 1, 2, 4, or 8. In such files, the color samples always have
2103 8-bit depth.</td>
2104 </tr>
2105
2106 <tr>
2107 <td>png:compression-filter=<var>value</var></td>
2108 <td> valid values are 0 through 9. 0-4 are the corresponding PNG filters,
2109 5 means adaptive filtering except for images with a colormap, 6 means
2110 adaptive filtering for all images, 7 means MNG "loco" compression, 8 means
2111 Z_RLE strategy with adaptive filtering, and 9 means Z_RLE strategy with no
2112 filtering.</td>
2113 </tr>
2114
2115 <tr>
2116 <td>png:compression-level=<var>value</var></td>
2117 <td> valid values are 0 through 9, with 0 providing the least but fastest
2118 compression and 9 usually providing the best and always the slowest.</td>
2119 </tr>
2120
2121 <tr>
2122 <td>png:compression-strategy=<var>value</var></td>
2123 <td> valid values are 0 through 4, meaning default, filtered, huffman_only,
2124 rle, and fixed ZLIB compression strategy. If you are using an old zlib
2125 that does not support Z_RLE (before 1.2.0) or Z_FIXED (before 1.2.2.2),
2126 values 3 and 4, respectively, will use the zlib default strategy
2127 instead.</td>
2128 </tr>
2129
2130 <tr>
2131 <td>png:format=<var>value</var></td>
2132 <td> valid values are <var>png8</var>, <var>png24</var>,
2133 <var>png32</var>, <var>png48</var>,
2134 <var>png64</var>, and <var>png00</var>.
2135 This property can be useful for specifying
2136 the specific PNG format to be used, when the usual method of prepending the
2137 format name to the output filename is inconvenient, such as when writing
2138 a PNG-encoded ICO file or when using <a href="mogrify.html">mogrify</a>.
2139 Value = <var>png8</var> reduces the number of colors to 256,
2140 only one of which may be fully transparent, if necessary. The other
2141 values do not force any reduction of quality; it is an error to request
2142 a format that cannot represent the image data without loss (except that
2143 it is allowed to reduce the bit-depth from 16 to 8 for all formats).
2144 Value = <var>png24</var> and <var>png48</var>
2145 allow transparency, only if a single color is fully transparent and that
2146 color does not also appear in an opaque pixel; such transparency is
2147 written in a PNG <code>tRNS</code> chunk.
2148 Value = <var>png00</var> causes the image to inherit its
2149 color-type and bit-depth from the input image, if the input was also
2150 a PNG.</td>
2151 </tr>
2152
2153 <tr>
2154 <td>png:exclude-chunk=<var>value</var></td>
2155
Cristy594d2772015-11-15 10:47:42 -05002156 <tr>
Cristy882d9f42015-10-29 16:48:39 -04002157 <td>png:include-chunk=<var>value</var></td>
2158 <td>ancillary chunks to be excluded from or included in PNG output.
2159
2160 <p>The <var>value</var> can be the name of a PNG chunk-type such
2161 as <var>bKGD</var>, a comma-separated list of chunk-names
2162 (which can include the word <var>date</var>, the word
2163 <var>all</var>, or the word <var>none</var>).
2164 Although PNG chunk-names are case-dependent, you can use all lowercase
2165 names if you prefer.</p>
2166
2167 <p>The "include-chunk" and "exclude-chunk" lists only affect the behavior
2168 of the PNG encoder and have no effect on the PNG decoder.</p>
2169
2170 <p>As a special case, if the <code>sRGB</code> chunk is excluded and
2171 the <code>gAMA</code> chunk is included, the <code>gAMA</code> chunk will
2172 only be written if gamma is not 1/2.2, since most decoders assume
2173 sRGB and gamma=1/2.2 when no colorspace information is included in
2174 the PNG file. Because the list is processed from left to right, you
2175 can achieve this with a single define:</p>
2176
2177<pre>
2178-define png:include-chunk=none,gAMA
2179</pre>
2180
2181 <p>As a special case, if the <code>sRGB</code> chunk is not excluded and
2182 the PNG encoder recognizes that the image contains the sRGB ICC profile,
2183 the PNG encoder will write the <code>sRGB</code> chunk instead of the
2184 entire ICC profile. To force the PNG encoder to write the sRGB
2185 profile as an <code>iCCP</code> chunk in the output PNG instead of the
2186 <code>sRGB</code> chunk, exclude the <code>sRGB</code> chunk.</p>
2187
2188 <p>The critical PNG chunks <code>IHDR</code>, <code>PLTE</code>,
2189 <code>IDAT</code>, and <code>IEND</code> cannot be excluded. Any such
2190 entries appearing in the list will be ignored.</p>
2191
2192 <p>If the ancillary PNG <code>tRNS</code> chunk is excluded and the
2193 image has transparency, the PNG colortype is forced to be 4 or 6
2194 (GRAY_ALPHA or RGBA). If the image is not transparent, then the
2195 <code>tRNS</code> chunk isn't written anyhow, and there is no effect
2196 on the PNG colortype of the output image.</p>
2197
2198 <p>The <a href="command-line-options.html#strip">-strip</a> option does the equivalent of the
2199 following for PNG output:</p>
2200
2201<pre>
2202-define png:exclude-chunk=EXIF,iCCP,iTXt,sRGB,tEXt,zCCP,zTXt,date
2203</pre>
2204
2205 <p>The default behavior is to include all known PNG ancillary chunks
2206 plus ImageMagick's private <code>vpAg</code> ("virtual page") chunk,
2207 and to exclude all PNG chunks that are unknown to ImageMagick,
2208 regardless of their PNG "copy-safe" status as described in the
2209 PNG specification.</p>
2210
2211 <p>Any chunk names that are not known to ImageMagick are ignored
2212 if they appear in either the "include-chunk" or "exclude-chunk" list.
2213 The ancillary chunks currently known to ImageMagick are
2214 <code>bKGD</code>, <code>cHRM</code>, <code>gAMA</code>, <code>iCCP</code>,
2215 <code>oFFs</code>, <code>pHYs</code>, <code>sRGB</code>, <code>tEXt</code>,
2216 <code>tRNS</code>, <code>vpAg</code>, and <code>zTXt</code>.</p>
2217
2218 <p>You can also put <code>date</code> in the list to include or exclude
2219 the "Date:create" and "Date:modify" text chunks that ImageMagick normally
2220 inserts in the output PNG.</p></td>
2221 </tr>
2222
2223 <tr>
2224 <td>png:preserve-colormap[=<var>true</var>]</td>
Cristy594d2772015-11-15 10:47:42 -05002225 <td>Use the existing image->colormap. Normally the PNG encoder will
Cristy882d9f42015-10-29 16:48:39 -04002226 try to optimize the palette, eliminating unused entries and putting
2227 the transparent colors first. If this flag is set, that behavior
2228 is suppressed.</td>
2229 </tr>
2230
2231 <tr>
2232 <td>png:preserve-iCCP[=<var>true</var>]</td>
2233 <td>By default, the PNG decoder and encoder examine any ICC profile
2234 that is present, either from an <code>iCCP</code> chunk in the PNG
2235 input or supplied via an option, and if the profile is recognized
2236 to be the sRGB profile, converts it to the <code>sRGB</code> chunk.
2237 You can use <code>-define png:preserve-iCCP</code> to prevent
2238 this from happening; in such cases the <code>iCCP</code> chunk
2239 will be read or written and no <code>sRGB</code> chunk will be
2240 written. There are some ICC profiles that claim to be sRGB but
2241 have various errors that cause them to be rejected by libpng16; such
2242 profiles are recognized anyhow and converted to the <code>sRGB</code>
2243 chunk, but are rejected if the <code>-define png:preserve-iCCP</code>
2244 is present. Note that not all "sRGB" ICC profiles are recognized
2245 yet; we will add them to the list as we encounter them.</td>
2246 </tr>
2247
2248 <tr>
2249 <td>png:swap-bytes[=<var>true</var>]</td>
2250 <td>The PNG specification requires that any multi-byte integers be stored in
2251 network byte order (MSB-LSB endian). This option allows you to
2252 fix any invalid PNG files that have 16-bit samples stored incorrectly
2253 in little-endian order (LSB-MSB). The "-define png:swap-bytes" option
2254 must appear before the input filename on the commandline. The swapping
2255 is done during the libpng decoding operation.</td>
2256 </tr>
2257
2258 <tr>
2259 <td>profile:skip=<var>name1,name2,...</var></td>
2260 <td>Skip the named profile[s] when reading the image. Use skip="*" to
2261 skip all named profiles in the image. Many named profiles exist,
2262 including ICC, EXIF, APP1, IPTC, XMP, and others.</td>
2263 </tr>
2264
2265 <tr>
2266 <td>ps:imagemask</td>
2267 <td>If the ps:imagemask flag is defined, the PS3 and EPS3 coders will
2268 create Postscript files that render bilevel images with the Postscript
2269 imagemask operator instead of the image operator.</td>
2270 </tr>
2271
2272 <tr>
2273 <td>psd:alpha-unblend=off</td>
2274 <td>Disables new automatic un-blending of transparency with the base image
2275 for the flattened layer 0 before adding the alpha channel to the output
2276 image. This define must be placed before the input psd image. (Available
2277 as of IM 6.9.2.5). The automatic un-blending is new to IM 6.9.2.5 and
2278 prevents the transparency from being applied twice in the output
2279 image.</td>
2280 </tr>
2281
2282 <tr>
2283 <td>quantum:format=<var>type</var></td>
2284 <td>Set the type to <code>floating-point</code> to specify a floating-point
2285 format for raw files (e.g. GRAY:) or for MIFF and TIFF images in HDRI mode
2286 to preserve negative values. If <a href="command-line-options.html#depth">-depth</a> 16 is
2287 included, the result is a single precision floating point format.
2288 If <a href="command-line-options.html#depth">-depth</a> 32 is included, the result is
2289 double precision floating point format.</td>
2290 </tr>
2291
2292 <tr>
2293 <td>quantum:polarity=<var>photometric-interpretation</var></td>
2294 <td>Set the photometric-interpretation of an image (typically for TIFF image
2295 file format) to either <code>min-is-black</code> (default) or
2296 <code>min-is-white</code>.</td>
2297 </tr>
2298
2299 <tr>
2300 <td>sample:offset=<var>geometry</var></td>
2301 <td>Location of the sampling point within the sub-region being sampled,
Cristy594d2772015-11-15 10:47:42 -05002302 expressed as percentages (see <a href="command-line-options.html#sample" >-sample</a>).</td>
Cristy882d9f42015-10-29 16:48:39 -04002303 </tr>
2304
2305 <tr>
2306 <td>showkernel=<var>1</var></td>
Cristy594d2772015-11-15 10:47:42 -05002307 <td>Outputs (to 'standard error') all the information about a generated <a
2308 href="command-line-options.html#morphology" >-morphology</a> kernel.</td>
Cristy882d9f42015-10-29 16:48:39 -04002309 </tr>
2310
2311 <tr>
2312 <td>stream:buffer-size=<var>value</var></td>
2313 <td>Set the stream buffer size. Select 0 for unbuffered I/O.</td>
2314 </tr>
2315
2316 <tr>
2317 <td>tiff:alpha=<var>associated|unassociated|unspecified</var></td>
2318 <td>Specify the alpha extra samples as associated, unassociated or unspecified </td>
2319 </tr>
2320
2321 <tr>
2322 <td>tiff:endian=<var>msb|lsb</var></td>
Cristy594d2772015-11-15 10:47:42 -05002323 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04002324 </tr>
2325
2326 <tr>
2327 <td>tiff:exif-properties=<var>false</var></td>
2328 <td>Skips reading the EXIF properties.</td>
2329 </tr>
2330
2331 <tr>
2332 <td>tiff:fill-order=<var>msb|lsb</var></td>
Cristy594d2772015-11-15 10:47:42 -05002333 <td>&nbsp</td>
Cristy882d9f42015-10-29 16:48:39 -04002334 </tr>
2335
2336 <tr>
2337 <td>tiff:ignore-layers=<var>true</var></td>
2338 <td>Ignores the photoshop layers.</td>
2339 </tr>
2340
2341 <tr>
2342 <td>tiff:ignore-tags=<var>comma-separate-list-of-tag-IDs</var></td>
2343 <td>Allows one or more tag ID values to be ignored.</td>
2344 </tr>
2345
2346 <tr>
2347 <td>tiff:rows-per-strip=<var>value</var></td>
2348 <td>Sets the number of rows per strip</td>
2349 </tr>
2350
2351 <tr>
2352 <td>tiff:tile-geometry=<var>WxH</var></td>
2353 <td>Sets the tile size for pyramid tiffs. Requires the suffix
2354 PTIF: before the outputname</td>
2355 </tr>
Cristye09ed312016-03-06 08:07:39 -05002356
2357 <tr>
2358 <td>type:features=<var>string</var></td>
2359 <td>&nbsp</td>
2360 </tr>
2361
2362 <tr>
2363 <td>type:hinting=<var>off</var></td>
2364 <td>&nbsp</td>
2365 </tr>
Cristy882d9f42015-10-29 16:48:39 -04002366</table>
2367
2368<p>For example, to create a postscript file that will render only the black
2369pixels of a bilevel image, use:</p>
2370
2371<pre>
2372convert bilevel.tif -define ps:imagemask eps3:stencil.ps
2373</pre>
2374
2375<p>Set attributes of the image registry by prefixing the value with
2376<code>registry:</code>. For example, to set a temporary path to put work files,
2377use:</p>
2378
2379<pre>
2380-define registry:temporary-path=/data/tmp
2381</pre>
2382
2383<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05002384 <h3 class="magick-header"><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>}</h3>
Cristy882d9f42015-10-29 16:48:39 -04002385</div>
2386
2387<p class="magick-description">display the next image after pausing.</p>
2388
2389<p>This option is useful for regulating the animation of image sequences
2390<var>ticks/ticks-per-second</var> seconds must expire before the display of the
2391next image. The default is no delay between each showing of the image
2392sequence. The default ticks-per-second is 100.</p>
2393
2394<p>Use <code>&gt;</code> to change the image delay <var>only</var> if its current
2395value exceeds the given delay. <code>&lt;</code> changes the image delay
2396<var>only</var> if current value is less than the given delay. For example, if
2397you specify <code>30&gt;</code> and the image delay is 20, the image delay does
2398not change. However, if the image delay is 40 or 50, the delay it is changed
2399to 30. Enclose the given delay in quotation marks to prevent the
2400<code>&lt;</code> or <code>&gt;</code> from being interpreted by your shell as
2401a file redirection.</p>
2402
2403
2404<div style="margin: auto;">
2405 <h3 class="magick-header"><a id="delete"></a>-delete <var>indexes</var></h3>
2406</div>
2407
2408<p class="magick-description">delete the images specified by index, from the image sequence.</p>
2409
2410<p>Specify the image by its index in the sequence. The first image is index
24110. Negative indexes are relative to the end of the sequence, for example, -1
2412represents the last image of the sequence. Specify a range of images with
2413a dash (e.g. 0-4). Separate indexes with a comma (e.g. 0,2). Use
2414<code>+delete</code> to delete the last image in the current image sequence.</p>
2415
2416
2417<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05002418 <h3 class="magick-header"><a id="density"></a>-density <var>width</var><br />-density <var>width</var>x<var>height</var></h3>
Cristy882d9f42015-10-29 16:48:39 -04002419</div>
2420
2421<p class="magick-description">Set the horizontal and vertical resolution of an image for rendering to devices.</p>
2422
2423<p>This option specifies the image resolution to store while encoding a raster
2424image or the canvas resolution while rendering (reading) vector formats such
2425as Postscript, PDF, WMF, and SVG into a raster image. Image resolution
2426provides the unit of measure to apply when rendering to an output device or
Cristy594d2772015-11-15 10:47:42 -05002427raster image. The default unit of measure is in dots per inch (DPI). The <a
2428href="command-line-options.html#units">-units</a> option may be used to select dots per centimeter
Cristy882d9f42015-10-29 16:48:39 -04002429instead.</p>
2430
2431<p>The default resolution is 72 dots per inch, which is equivalent to one
2432point per pixel (Macintosh and Postscript standard). Computer screens are
2433normally 72 or 96 dots per inch, while printers typically support 150, 300,
2434600, or 1200 dots per inch. To determine the resolution of your display, use
2435a ruler to measure the width of your screen in inches, and divide by the
2436number of horizontal pixels (1024 on a 1024x768 display).</p>
2437
2438<p>If the file format supports it, this option may be used to update the
2439stored image resolution. Note that Photoshop stores and obtains image
2440resolution from a proprietary embedded profile. If this profile is not
2441stripped from the image, then Photoshop will continue to treat the image using
2442its former resolution, ignoring the image resolution specified in the standard
2443file header.</p>
2444
2445<p>The <a href="command-line-options.html#density">-density</a> option sets an <var>attribute</var> and
2446does not alter the underlying raster image. It may be used to adjust the
2447rendered size for desktop publishing purposes by adjusting the scale applied
2448to the pixels. To resize the image so that it is the same size at a different
2449resolution, use the <a href="command-line-options.html#resample">-resample</a> option.</p>
2450
2451<div style="margin: auto;">
2452 <h3 class="magick-header"><a id="depth"></a>-depth <var>value</var></h3>
2453</div>
2454
2455<p class="magick-description">depth of the image.</p>
2456
2457<p>This the number of bits in a color sample within a pixel. Use this option
2458to specify the depth of raw images whose depth is unknown such as GRAY, RGB,
2459or CMYK, or to change the depth of any image after it has been read.</p>
2460
2461<div style="margin: auto;">
2462 <h3 class="magick-header"><a id="descend"></a>-descend</h3>
2463</div>
2464
2465<p class="magick-description">obtain image by descending window hierarchy.</p>
2466
2467<div style="margin: auto;">
Cristy769d8892016-01-19 18:11:14 -05002468 <h3 class="magick-header"><a id="deskew"></a>-deskew <var>threshold{%}</var></h3>
Cristy882d9f42015-10-29 16:48:39 -04002469</div>
2470
2471<p class="magick-description">straighten an image. A threshold of 40% works for most images.</p>
2472
2473<p>Use <a href="command-line-options.html#set">-set</a> <code>option:deskew:auto-crop
2474<var>width</var></code> to auto crop the image. The set argument is the pixel
2475width of the image background (e.g 40).</p>
2476
2477<div style="margin: auto;">
2478 <h3 class="magick-header"><a id="despeckle"></a>-despeckle</h3>
2479</div>
2480
2481<p class="magick-description">reduce the speckles within an image.</p>
2482
2483<div style="margin: auto;">
2484 <h3 class="magick-header"><a id="direction"></a>-direction <var>type</var></h3>
2485</div>
2486
2487<p class="magick-description">render text right-to-left or left-to-right.</p>
2488
2489<div style="margin: auto;">
Cristy769d8892016-01-19 18:11:14 -05002490 <h3 class="magick-header"><a id="displace"></a>-displace <var>horizontal-scale</var>{%}{!}<br />-displace <var>horizontal-scale</var>x<var>vertical-scale</var>{%}{!}</h3>
Cristy882d9f42015-10-29 16:48:39 -04002491</div>
2492
2493<p class="magick-description">shift image pixels as defined by a displacement map.</p>
2494
2495<p>With this option, the 'overlay' image, and optionally the 'mask' image,
2496is used as a displacement map, which is used to displace the lookup of
2497what part of the 'background' image is seen at each point of the overlaid
2498area. Much like the displacement map is a 'lens' that redirects light shining
2499through it so as to present a distorted view the original 'background' image
2500behind it. </p>
2501
2502<p>Any perfect grey areas of the displacement map produce a zero
2503displacement of the image. Black areas produce the given maximum negative
2504displacement of the lookup point, while white produce a maximum positive
2505displacement of the lookup. </p>
2506
2507<p>Note that it is the lookup of the 'background' that is displaced, not a
2508displacement of the image itself. As such an area of the displacement map
2509containing 'white' will have the lookup point 'shifted' by a positive amount,
2510and thus generating a copy of the destination image to the right/downward from
2511the correct position. That is the image will look like it may have been
2512'shifted' in a negative left/upward direction. Understanding this is a very
2513important in understanding how displacement maps work. </p>
2514
2515<p>The given arguments define the maximum amount of displacement in pixels
2516that a particular map can produce. If the displacement scale is large enough
2517it is also possible to lookup parts of the 'background' image that lie well
2518outside the bounds of the displacement map itself. That is you could very
2519easily copy a section of the original image from outside the overlay area
2520into the overlay area. </p>
2521
2522<p>The '%' flag makes the displacement scale relative to the size of the
2523overlay image (100% = half width/height of image). Using '!' switches
2524percentage arguments to refer to the destination image size instead.
2525these flags were added as of IM v6.5.3-5.</p>
2526
2527<p>Normally a single grayscale displacement map is provided, which with the
2528given scaling values will determine a single direction (vector) in which
2529displacements can occur (positively or negatively). However, if you also
2530specify a third image which is normally used as a <var>mask</var>,
2531the <var>composite image</var> is used for horizontal X
2532displacement, while the <var>mask image</var> is used for vertical Y
2533displacement. This allows you to define completely different displacement
2534values for the X and Y directions, and allowing you to lookup any point within
2535the <var>scale</var> bounds. In other words each pixel can lookup
2536any other nearby pixel, producing complex 2 dimensional displacements, rather
2537than a simple 1 dimensional vector displacements. </p>
2538
2539<p>Alternatively rather than supplying two separate images, as of IM v6.4.4-0,
2540you can use the 'red' channel of the overlay image to specify the horizontal
2541or X displacement, and the 'green' channel for the vertical or Y displacement.
2542</p>
2543
2544<p>As of IM v6.5.3-5 any alpha channel in the overlay image is used as a
2545mask the transparency of the destination image. However areas outside the
2546overlaid areas will not be effected. </p>
2547
2548
2549<div style="margin: auto;">
2550 <h3 class="magick-header"><a id="display"></a>-display <var>host:display[.screen]</var></h3>
2551</div>
2552
2553<p class="magick-description">Specifies the X server to contact.</p>
2554
2555<p>This option is used with convert for obtaining image or font from this
2556X server. See <var>X(1)</var>.</p>
2557
2558<div style="margin: auto;">
2559 <h3 class="magick-header"><a id="dispose"></a>-dispose <var>method</var></h3>
2560</div>
2561
2562<p class="magick-description">define the GIF disposal image setting for images that are being created or read in. </p>
2563
2564<p>The layer disposal method defines the way each the displayed image is to be
2565modified after the current 'frame' of an animation has finished being
2566displayed (after its 'delay' period), but before the next frame on an
2567animation is to be overlaid onto the display. </p>
2568
2569<p>Here are the valid methods:</p>
2570
2571<dl class="dl-horizontal">
2572<dt>Undefined</dt><dd>0: No disposal specified (equivalent to '<code>none</code>').</dd>
2573<dt>None</dt><dd>1: Do not dispose, just overlay next frame image.</dd>
2574<dt>Background</dt><dd>2: Clear the frame area with the background color.</dd>
2575<dt>Previous</dt><dd>3: Clear to the image prior to this frames overlay.</dd>
2576</dl>
2577
2578<p>You can also use the numbers given above, which is what the GIF format
2579uses internally to represent the above settings. </p>
2580
2581<p>To print a complete list of dispose methods, use <a href="command-line-options.html#list">-list dispose</a>.</p>
2582
Cristy594d2772015-11-15 10:47:42 -05002583<p>Use <a href="command-line-options.html#dispose" >+dispose</a>, turn off the setting and prevent
Cristy882d9f42015-10-29 16:48:39 -04002584resetting the layer disposal methods of images being read in. </p>
2585
2586<p>Use <a href="command-line-options.html#set">-set</a> '<code>dispose</code>' method to set the image
2587disposal method for images already in memory.</p>
2588
2589<div style="margin: auto;">
2590 <h3 class="magick-header"><a id="dissimilarity-threshold"></a>-dissimilarity-threshold <var>value</var></h3>
2591</div>
2592
2593<p class="magick-description">maximum RMSE for subimage match (default 0.2).</p>
2594
2595
2596<div style="margin: auto;">
2597 <h3 class="magick-header"><a id="dissolve"></a>-dissolve <var>src_percent</var>[x<var>dst_percent</var>]</h3>
2598</div>
2599
2600<p class="magick-description">dissolve an image into another by the given percent.</p>
2601
2602<p>The opacity of the composite image is multiplied by the given percent, then
2603it is composited 'over' the main image. If <var>src_percent</var>
2604is greater than 100, start dissolving the main image so it becomes
2605transparent at a value of '<code>200</code>'. If both percentages
2606are given, each image are dissolved to the percentages given. </p>
2607
2608<p>Note that dissolve percentages do not add, two opaque images dissolved
2609'50,50', produce a 75% transparency. For a 50% + 50% blending of the two
2610images, you would need to use dissolve values of '50,100'. </p>
2611
2612<div style="margin: auto;">
2613 <h3 class="magick-header"><a id="distort"></a>-distort <var>method arguments</var></h3>
2614</div>
2615
2616<p class="magick-description">distort an image, using the given <var>method</var> and its required <var>arguments</var>.</p>
2617
2618<p>The <var>arguments</var> is a single string containing a list
2619of floating point numbers separated by commas or spaces. The number of
2620and meaning of the floating point values depends on the distortion <var>method</var> being used. </p>
2621
2622<p>Choose from these distortion types:</p>
2623
2624<table class="table table-condensed table-striped">
2625 <tr>
2626 <th style="width: 8%">Method</th>
2627 <th>Description</th>
2628 </tr>
2629
2630 <tr>
Cristy594d2772015-11-15 10:47:42 -05002631 <td>ScaleRotateTranslate <br/> SRT</td>
Cristy882d9f42015-10-29 16:48:39 -04002632 <td>
2633 Distort image by first scaling and rotating about a given 'center',
2634 before translating that 'center' to the new location, in that order. It
2635 is an alternative method of specifying a 'Affine' type of
2636 distortion, but without shearing effects. It also provides a good way
2637 of rotating and displacing a smaller image for tiling onto a larger
Cristy594d2772015-11-15 10:47:42 -05002638 background (IE 2-dimensional animations). <br/>
Cristy882d9f42015-10-29 16:48:39 -04002639
2640 The number of arguments determine the specific meaning of each
Cristy594d2772015-11-15 10:47:42 -05002641 argument for the scales, rotation, and translation operations. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002642
2643 <dl class="dl-horizontal">
2644 <dt>2:</dt><dd><var>Scale Angle</var></dd>
2645 <dt>3:</dt><dd><var>X,Y Angle</var></dd>
2646 <dt>4:</dt><dd><var>X,Y Scale Angle</var></dd>
2647 <dt>5:</dt> <dd><var>X,Y ScaleX,ScaleY Angle</var></dd>
2648 <dt>6:</dt> <dd><var>X,Y Scale Angle NewX,NewY</var></dd>
2649 <dt>7:</dt> <dd><var>X,Y ScaleX,ScaleY Angle NewX,NewY</var></dd>
2650 </dl>
2651
2652 This is actually an alternative way of specifying a 2 dimensional linear
2653 'Affine' or 'AffineProjection' distortion. </td> </tr>
2654
2655 <tr>
2656 <td>Affine</td>
2657 <td>
2658 Distort the image linearly by moving a list of at least 3 or more sets
2659 of control points (as defined below). Ideally 3 sets or 12 floating
2660 point values are given allowing the image to be linearly scaled,
2661 rotated, sheared, and translated, according to those three points. See
2662 also the related 'AffineProjection' and 'SRT'
Cristy594d2772015-11-15 10:47:42 -05002663 distortions. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002664
2665 More than 3 sets given control point pairs (12 numbers) is least
2666 squares fitted to best match a linear affine distortion. If only 2
2667 control point pairs (8 numbers) are given a two point image translation
2668 rotation and scaling is performed, without any possible shearing,
2669 flipping or changes in aspect ratio to the resulting image. If only one
2670 control point pair is provides the image is only translated, (which may
Cristy594d2772015-11-15 10:47:42 -05002671 be a floating point non-integer translation). <br/>
Cristy882d9f42015-10-29 16:48:39 -04002672
2673 This distortion does not include any form of perspective distortion.
2674 </td>
2675
2676 </tr>
2677
2678 <tr>
2679 <td>AffineProjection</td>
2680 <td>
2681 Linearly distort an image using the given Affine Matrix of 6
2682 pre-calculated coefficients forming a set of Affine Equations to map
2683 the source image to the destination image.
2684
2685 <p class="text-center"><var>
2686 s<sub>x</sub>, r<sub>x</sub>,
2687 r<sub>y</sub>, s<sub>y</sub>,
2688 t<sub>x</sub>, t<sub>y</sub>
2689 </var></p>
2690
Cristy594d2772015-11-15 10:47:42 -05002691 See <a href="command-line-options.html#affine" >-affine</a> setting for more detail, and
2692 meanings of these coefficients. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002693
2694 The distortions 'Affine' and 'SRT' provide
2695 alternative methods of defining this distortion, with ImageMagick doing
2696 the calculations needed to generate the required coefficients. You can
Cristy594d2772015-11-15 10:47:42 -05002697 see the internally generated coefficients, by using a <a
2698 href="command-line-options.html#verbose" >-verbose</a> setting with those other variants. </td>
Cristy882d9f42015-10-29 16:48:39 -04002699
2700 </tr>
2701
2702 <tr>
Cristy594d2772015-11-15 10:47:42 -05002703 <td>BilinearForward<br/>
Cristy882d9f42015-10-29 16:48:39 -04002704 BilinearReverse</td>
2705 <td>
2706 Bilinear Distortion, given a minimum of 4 sets of coordinate pairs, or
2707 16 values (see below). Not that lines may not appear straight after
2708 distortion, though the distance between coordinates will remain
Cristy594d2772015-11-15 10:47:42 -05002709 consistent. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002710
2711 The 'BilinearForward' is used to map rectangles to any
2712 quadrilateral, while the 'BilinearReverse' form maps any
2713 quadrilateral to a rectangle, while preserving the straight line edges
Cristy594d2772015-11-15 10:47:42 -05002714 in each case. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002715
2716 Note that 'BilinearForward' can generate invalid pixels
Cristy594d2772015-11-15 10:47:42 -05002717 which will be colored using the <a href="command-line-options.html#mattecolor" >-mattecolor</a>
Cristy882d9f42015-10-29 16:48:39 -04002718 color setting. Also if the quadrilateral becomes 'flipped' the image
Cristy594d2772015-11-15 10:47:42 -05002719 may disappear. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002720
2721 There are future plans to produce a true Bilinear distortion that will
2722 attempt to map any quadrilateral to any other quadrilateral, while
2723 preserving edges (and edge distance ratios).
2724
2725 </td>
2726 </tr>
2727
2728 <tr>
2729 <td>Perspective</td>
2730 <td>
2731 Perspective distort the images, using a list of 4 or more sets of
2732 control points (as defined below). More that 4 sets (16 numbers) of
2733 control points provide least squares fitting for more accurate
2734 distortions (for the purposes of image registration and panorama
2735 effects). Less than 4 sets will fall back to a 'Affine'
Cristy594d2772015-11-15 10:47:42 -05002736 linear distortion. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002737
2738 Perspective Distorted images ensures that straight lines remain
2739 straight, but the scale of the distorted image will vary. The horizon
2740 is anti-aliased, and the 'sky' color may be set using the
Cristy594d2772015-11-15 10:47:42 -05002741 <a href="command-line-options.html#mattecolor" >-mattecolor</a> setting. </td>
Cristy882d9f42015-10-29 16:48:39 -04002742 </tr>
2743
2744 <tr>
2745 <td>PerspectiveProjection </td>
2746 <td>
2747 Do a 'Perspective' distortion biased on a set of 8
2748 pre-calculated coefficients. You can get these coefficients by looking
Cristy594d2772015-11-15 10:47:42 -05002749 at the <a href="command-line-options.html#verbose" >-verbose</a> output of a
Cristy882d9f42015-10-29 16:48:39 -04002750 'Perspective' distortion, or by calculating them yourself.
2751 If the last two perspective scaling coefficients are zero, the
2752 remaining 6 represents a transposed 'Affine Matrix'. </td>
2753
2754 </tr>
2755
2756 <tr>
2757 <td>Arc</td>
2758 <td>
2759 Arc the image (variation of polar mapping) over the angle given around
2760 a circle.
2761
Cristy594d2772015-11-15 10:47:42 -05002762 <p><dl class="dl-horizontal">
Cristy882d9f42015-10-29 16:48:39 -04002763 <dt>arc_angle</dt>
2764 <dd>The angle over which to arc the image side-to-side</dd>
2765 <dt>rotate_angle</dt>
2766 <dd>Angle to rotate resulting image from vertical center</dd>
2767 <dt>top_radius</dt>
2768 <dd>Set top edge of source image at this radius</dd>
2769 <dt>bottom_radius </dt>
2770 <dd>Set bottom edge to this radius (radial scaling)</dd>
Cristy594d2772015-11-15 10:47:42 -05002771 </dl></p>
Cristy882d9f42015-10-29 16:48:39 -04002772
2773 The resulting image is always resized to best fit the resulting image,
Cristy594d2772015-11-15 10:47:42 -05002774 (as if using <a href="command-line-options.html#distort" >+distort</a>) while attempting to
Cristy882d9f42015-10-29 16:48:39 -04002775 preserve scale and aspect ratio of the original image as much as
2776 possible with the arguments given by the user. All four arguments will
Cristy594d2772015-11-15 10:47:42 -05002777 be needed to change the overall aspect ratio of an 'Arc'ed image. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002778
2779 This a variation of a polar distortion designed to try to preserve the
2780 aspect ratio of the image rather than direct Cartesian to Polar
2781 conversion. </td>
2782 </tr>
2783
2784 <tr>
2785 <td>Polar</td>
2786 <td>
2787 Like 'Arc' but do a complete Cartesian to Polar mapping of
2788 the image. that is the height of the input image is mapped to the
2789 radius limits, while the width is wrapped around between the
Cristy594d2772015-11-15 10:47:42 -05002790 angle limits. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002791
Cristy594d2772015-11-15 10:47:42 -05002792 Arguments: <var>Rmax,Rmin CenterX,CenterY, start,end_angle</var> <br/>
Cristy882d9f42015-10-29 16:48:39 -04002793
2794 All arguments are optional. With <var>Rmin</var> defaulting to zero, the
2795 center to the center of the image, and the angles going from -180 (top)
2796 to +180 (top). If <var>Rmax</var> is given the special value of
2797 '0', the the distance from the center to the nearest edge
2798 is used for the radius of the output image, which will ensure the whole
2799 image is visible (though scaled smaller). However a special value of
2800 '-1' will use the distance from the center to the furthest
2801 corner, This may 'clip' the corners from the input rectangular image,
2802 but will generate the exact reverse of a 'DePolar' with
Cristy594d2772015-11-15 10:47:42 -05002803 the same arguments. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002804
Cristy594d2772015-11-15 10:47:42 -05002805 If the plus form of distort (<a href="command-line-options.html#distort" >+distort</a>) is used
Cristy882d9f42015-10-29 16:48:39 -04002806 output image center will default to 0,0 of the virtual
2807 canvas, and the image size adjusted to ensure the whole input image is
2808 made visible in the output image on the virtual canvas. </td>
2809
2810 </tr>
2811
2812 <tr>
2813 <td>DePolar</td>
2814 <td>
2815 Uses the same arguments and meanings as a 'Polar' distortion
Cristy594d2772015-11-15 10:47:42 -05002816 but generates the reverse Polar to Cartesian distortion. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002817
2818 The special <var>Rmax</var> setting of '0' may however clip
2819 the corners of the input image. However using the special
2820 <var>Rmax</var> setting of '-1' (maximum center to corner
2821 distance) will ensure the whole distorted image is preserved in the
2822 generated result, so that the same argument to 'Polar' will
2823 reverse the distortion re-producing the original.
2824
2825 Note that as this distortion requires the area resampling of a circular
2826 arc, which can not be handled by the builtin EWA resampling function.
2827 As such the normal EWA filters are turned off. It is recommended some
2828 form of 'super-sampling' image processing technique be used to produce
2829 a high quality result. </td>
2830
2831 </tr>
2832
2833 <tr>
2834 <td>Barrel</td>
2835 <td>
Cristy594d2772015-11-15 10:47:42 -05002836 Given the four coefficients (A,B,C,D) as defined by <a
2837 href="http://wiki.panotools.org/Lens_correction_model" >Helmut
Cristy882d9f42015-10-29 16:48:39 -04002838 Dersch</a>, perform a barrel or pin-cushion distortion appropriate to
2839 correct radial lens distortions. That is in photographs, make straight
Cristy594d2772015-11-15 10:47:42 -05002840 lines straight again. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002841
2842 <p class="text-center">Arguments: <var>A B C</var> [ <var>D</var> [
Cristy594d2772015-11-15 10:47:42 -05002843 <var>X</var> , <var>Y</var> ] ] <br/>
Cristy882d9f42015-10-29 16:48:39 -04002844 or <var>A<sub>x</sub> B<sub>x</sub> C<sub>x</sub> D<sub>x</sub>
2845 A<sub>y</sub> B<sub>y</sub> C<sub>y</sub> D<sub>y</sub></var>
2846 [ <var>X</var> , <var>Y</var> ] </p>
2847 So that it forms the function
2848 <p class="text-center">Rsrc = r * ( <var>A</var>*r<sup>3</sup> + <var>B</var>*r<sup>2</sup> +
2849 <var>C</var>*r + <var>D</var> )</p>
2850
2851 Where <var>X</var>,<var>Y</var> is the optional center of the distortion
Cristy594d2772015-11-15 10:47:42 -05002852 (defaulting to the center of the image). <br/>
Cristy882d9f42015-10-29 16:48:39 -04002853 The second form is typically used to distort images, rather than
Cristy594d2772015-11-15 10:47:42 -05002854 correct lens distortions. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002855 </td>
2856
2857 </tr>
2858
2859 <tr>
2860 <td>BarrelInverse</td>
2861 <td>
2862 This is very similar to 'Barrel' with the same set of
2863 arguments, and argument handling. However it uses the inverse
2864 of the radial polynomial,
2865 so that it forms the function
2866 <p class="text-center">Rsrc = r / ( <var>A</var>*r<sup>3</sup> + <var>B</var>*r<sup>2</sup> +
2867 <var>C</var>*r + <var>D</var> )</p>
2868 Note that this is not the reverse of the 'Barrel'
2869 distortion, just a different barrel-like radial distortion method.
2870
2871 </td>
2872 </tr>
2873
2874 <tr>
2875 <td>Shepards</td>
2876 <td>
2877 Distort the given list control points (any number) using an Inverse
Cristy594d2772015-11-15 10:47:42 -05002878 Squared Distance Interpolation Method (<a
2879 href="http://en.wikipedia.org/wiki/Shepard%27s_method" >Shepards
Cristy882d9f42015-10-29 16:48:39 -04002880 Method</a>). The control points in effect do 'localized' displacement
2881 of the image around the given control point (preserving the look and
2882 the rotation of the area near the control points. For best results
2883 extra control points should be added to 'lock' the positions of the
2884 corners, edges and other unchanging parts of the image, to prevent
Cristy594d2772015-11-15 10:47:42 -05002885 their movement. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002886
2887 The distortion has been likened to 'taffy pulling' using nails, or
2888 pins' stuck in a block of 'jelly' which is then moved to the new
Cristy594d2772015-11-15 10:47:42 -05002889 position, distorting the surface of the jelly. <br/>
Cristy882d9f42015-10-29 16:48:39 -04002890
Cristy594d2772015-11-15 10:47:42 -05002891 Internally it is equivalent to generating a displacement map (see <a
2892 href="command-line-options.html#displace" >-displace</a>) for source image color look-up using
2893 the <a href="command-line-options.html#sparse-color" >-sparse-color</a> method of the same name.
Cristy882d9f42015-10-29 16:48:39 -04002894
2895 </td>
2896 </tr>
2897
2898</table>
2899
2900<p>To print a complete list of distortion methods, use <a href="command-line-options.html#list">-list
2901distort</a>.</p>
2902
2903<p>Many of the above distortion methods such as '<code>Affine</code>',
2904'<code>Perspective</code>', and '<code>Shepards</code>' use a list control points
2905defining how these points in the given image should be distorted in the
2906destination image. Each set of four floating point values represent a source
2907image coordinate, followed immediately by the destination image coordinate.
2908This produces a list of values such as...</p>
2909<p class="text-center"><var>
2910 U<sub>1</sub>,V<sub>1</sub> X<sub>1</sub>,Y<sub>1</sub>
2911 U<sub>2</sub>,V<sub>2</sub> X<sub>2</sub>,Y<sub>2</sub>
2912 U<sub>3</sub>,V<sub>3</sub> X<sub>3</sub>,Y<sub>3</sub>
2913 ...
2914 U<sub>n</sub>,V<sub>n</sub> X<sub>n</sub>,Y<sub>n</sub>
2915</var></p>
2916<p>where <var>U,V</var> on the source image is mapped to <var>X,Y</var> on the
2917destination image. </p>
2918
2919<p>For example, to warp an image using '<code>perspective</code>' distortion,
2920needs a list of at least 4 sets of coordinates, or 16 numbers. Here is the
2921perspective distortion of the built-in "rose:" image. Note how spaces were
2922used to group the 4 sets of coordinate pairs, to make it easier to read and
2923understand.</p>
2924
2925<pre>
2926convert rose: -virtual-pixel black \
2927 -distort Perspective '0,0,0,0 0,45,0,45 69,0,60,10 69,45,60,35' \
2928 rose_3d_rotated.gif"
2929</pre>
2930
2931<p>If more that the required number of coordinate pairs are given for
2932a distortion, the distortion method is 'least squares' fitted to produce the
2933best result for all the coordinate pairs given. If less than the ideal number
2934of points are given, the distort will generally fall back to a simpler form of
2935distortion that can handles the smaller number of coordinates (usually a linear
2936'<code>Affine</code>' distortion). </p>
2937
2938<p>By using more coordinates you can make use of image registration tool to
2939find matching coordinate pairs in overlapping images, so as to improve the
2940'fit' of the distortion. Of course a bad coordinate pair can also make the
2941'fit' worse. Caution is always advised. </p>
2942
2943<p>Colors are acquired from the source image according to a cylindrical
Cristy594d2772015-11-15 10:47:42 -05002944resampling <a href="command-line-options.html#filter" >-filter</a>, using a special technique known as
Cristy882d9f42015-10-29 16:48:39 -04002945EWA resampling. This produces very high quality results, especially when
2946images become smaller (minified) in the output, which is very common when
2947using '<code>perspective</code>' distortion. For example here we view
2948a infinitely tiled 'plane' all the way to the horizon. </p>
2949
2950<pre>
2951convert -size 90x90 pattern:checkerboard -normalize -virtual-pixel tile \
2952 -distort perspective '0,0,5,45 89,0,45,46 0,89,0,89 89,89,89,89' \
2953 checks_tiled.jpg
2954</pre>
2955
2956<p>Note that a infinitely tiled perspective images involving the horizon can
2957be very slow, because of the number of pixels that are compressed to generate
2958each individual pixel close to the 'horizon'. You can turn off EWA
Cristy594d2772015-11-15 10:47:42 -05002959resampling, by specifying the special <a href="command-line-options.html#filter" >-filter</a> setting of
Cristy882d9f42015-10-29 16:48:39 -04002960'<code>point</code>' (recommended if you plan to use super-sampling instead).
2961</p>
2962
2963<p>If an image generates <i>invalid pixels</i>, such as the 'sky' in the last
Cristy594d2772015-11-15 10:47:42 -05002964example, <a href="command-line-options.html#distort" >-distort</a> will use the current <a
2965href="command-line-options.html#mattecolor" >-mattecolor</a> setting for these pixels. If you do not
Cristy882d9f42015-10-29 16:48:39 -04002966what these pixels to be visible, set the color to match the rest of the
2967ground. </p>
2968
2969<p>The output image size will by default be the same as the input image. This
2970means that if the part of the distorted image falls outside the viewed area of
2971the 'distorted space', those parts is clipped and lost. However if you use
Cristy594d2772015-11-15 10:47:42 -05002972the plus form of the operator (<a href="command-line-options.html#distort" >+distort</a>) the operator
Cristy882d9f42015-10-29 16:48:39 -04002973will attempt (if possible) to show the whole of the distorted image, while
2974retaining a correct 'virtual canvas' offset, for image layering. This offset
Cristy594d2772015-11-15 10:47:42 -05002975may need to be removed using <a href="command-line-options.html#repage" >+repage</a>, to remove if it
Cristy882d9f42015-10-29 16:48:39 -04002976is unwanted. </p>
2977
Cristy594d2772015-11-15 10:47:42 -05002978<p>Setting <a href="command-line-options.html#verbose" >-verbose</a> setting, will cause <a
2979href="command-line-options.html#distort" >-distort</a> to attempt to output the internal coefficients,
2980and the <a href="command-line-options.html#fx" >-fx</a> equivalent to the distortion, for expert study,
Cristy882d9f42015-10-29 16:48:39 -04002981and debugging purposes. This many not be available for all distorts. </p>
2982
Cristy594d2772015-11-15 10:47:42 -05002983<p>You can alternatively specify a special "<code><a href="command-line-options.html#define"
2984>-define</a> distort:viewport={geometry_string}</code>" setting which will
Cristy882d9f42015-10-29 16:48:39 -04002985specify the size and the offset of the generated 'viewport' image of the
2986distorted image space.</p>
2987
Cristy594d2772015-11-15 10:47:42 -05002988<p>Setting a "<code><a href="command-line-options.html#define" >-define</a>
Cristy769d8892016-01-19 18:11:14 -05002989distort:scale=<var>scale_factor</var></code>" will scale the output image (viewport or
Cristy882d9f42015-10-29 16:48:39 -04002990otherwise) by that factor without changing the viewed contents of the
2991distorted image. This can be used either for 'super-sampling' the image for
2992a higher quality result, or for panning and zooming around the image (with
2993appropriate viewport changes, or post-distort cropping and resizing). </p>
2994
Cristy594d2772015-11-15 10:47:42 -05002995<p>Setting "<code><a href="command-line-options.html#define" >-define</a> resample:verbose=1</code>"
Cristy882d9f42015-10-29 16:48:39 -04002996will output the cylindrical filter lookup table created by the EWA (Elliptical
2997Weighted Average) resampling algorithm. Note this table uses a squared radius
2998lookup value. This is typically only used for debugging EWA resampling. </p>
2999
3000
3001<div style="margin: auto;">
3002 <h3 class="magick-header"><a id="distribute-cache"></a>-distribute-cache <var>port</var></h3>
3003</div>
3004
3005<p class="magick-description">launch a distributed pixel cache server. </p>
3006
3007<div style="margin: auto;">
3008 <h3 class="magick-header"><a id="dither"></a>-dither <var>method</var></h3>
3009</div>
3010
3011<p class="magick-description">Apply a Riemersma or Floyd-Steinberg error diffusion dither to
3012images when general color reduction is applied via an option, or automagically
3013when saving to specific formats. This enabled by default.</p>
3014
3015<p>Dithering places two or more colors in neighboring pixels so that to the
3016eye a closer approximation of the images original color is reproduced. This
3017reduces the number of colors needed to reproduce the image but at the cost of
3018a lower level pattern of colors. Error diffusion dithers can use any set of
3019colors (generated or user defined) to an image. </p>
3020
3021<p>Dithering is turned on by default, to turn it off use the plus form of the
3022setting, <a href="command-line-options.html#dither">+dither</a>. This will also also render PostScript
3023without text or graphic aliasing. Disabling dithering often (but not always)
3024leads to faster process, a smaller number of colors, but more cartoon like
3025image coloring. Generally resulting in 'color banding' effects in areas with
3026color gradients. </p>
3027
Cristy594d2772015-11-15 10:47:42 -05003028<p>The color reduction operators <a href="command-line-options.html#colors">-colors</a>, <a
3029href="command-line-options.html#monochrome">-monochrome</a>, <a href="command-line-options.html#remap ">-remap</a>, and <a
3030href="command-line-options.html#posterize">-posterize</a>, apply dithering to images using the reduced
Cristy882d9f42015-10-29 16:48:39 -04003031color set they created. These operators are also used as part of automatic
3032color reduction when saving images to formats with limited color support, such
3033as <code>GIF:</code>, <code>XBM:</code>, and others, so dithering may also be used
3034in these cases. </p>
3035
3036<p>Alternatively you can use <a href="command-line-options.html#random-threshold">-random-threshold</a>
Cristy594d2772015-11-15 10:47:42 -05003037to generate purely random dither. Or use <a
3038href="command-line-options.html#ordered-dither">-ordered-dither</a> to apply threshold mapped dither
Cristy882d9f42015-10-29 16:48:39 -04003039patterns, using uniform color maps, rather than specific color maps. </p>
3040
3041
3042<div style="margin: auto;">
3043 <h3 class="magick-header"><a id="draw"></a>-draw <var>string</var></h3>
3044</div>
3045
3046<p class="magick-description">Annotate an image with one or more graphic primitives.</p>
3047
3048<p>Use this option to annotate or decorate an image with one or more graphic
3049primitives. The primitives include shapes, text, transformations, and pixel
3050operations.</p>
3051
3052<p>The shape primitives:</p>
3053
3054<dl class="dl-horizontal">
3055<dt>point</dt><dd> x,y</dd>
3056<dt>line</dt><dd> x0,y0 x1,y1</dd>
3057<dt>rectangle</dt><dd> x0,y0 x1,y1</dd>
3058<dt>roundRectangle</dt><dd> x0,y0 x1,y1 wc,hc</dd>
3059<dt>arc</dt><dd> x0,y0 x1,y1 a0,a1</dd>
3060<dt>ellipse</dt><dd> x0,y0 rx,ry a0,a1</dd>
3061<dt>circle</dt><dd> x0,y0 x1,y1</dd>
3062<dt>polyline</dt><dd> x0,y0 ... xn,yn</dd>
3063<dt>polygon</dt><dd> x0,y0 ... xn,yn</dd>
3064<dt>bezier</dt><dd> x0,y0 ... xn,yn</dd>
3065<dt>path</dt><dd>specification </dd>
3066<dt>image</dt><dd> operator x0,y0 w,h filename</dd>
3067</dl>
3068
3069<p>The text primitive:</p>
3070
3071<dl class="dl-horizontal">
3072<dt>text</dt><dd>x0,y0 string</dd>
3073</dl>
3074<p>The text gravity primitive:</p>
3075
3076<dl class="dl-horizontal">
3077<dt>gravity</dt><dd>NorthWest, North, NorthEast, West, Center, East, SouthWest, South, or SouthEast</dd>
3078</dl>
3079
3080<p>The text gravity primitive only affects the placement of text and does not
Cristy594d2772015-11-15 10:47:42 -05003081interact with the other primitives. It is equivalent to using the <a
3082href="command-line-options.html#gravity">-gravity</a> command-line option, except that it is limited in
Cristy882d9f42015-10-29 16:48:39 -04003083scope to the <a href="command-line-options.html#draw">-draw</a> option in which it appears.</p>
3084
3085<p>The transformation primitives:</p>
3086
3087<dl class="dl-horizontal">
3088<dt>rotate</dt><dd>degrees</dd>
3089<dt>translate</dt><dd>dx,dy</dd>
3090<dt>scale</dt><dd>sx,sy</dd>
3091<dt>skewX</dt><dd>degrees</dd>
3092<dt>skewY</dt><dd>degrees</dd>
3093</dl>
3094
3095<p>The pixel operation primitives:</p>
3096
3097<dl class="dl-horizontal">
3098<dt>color</dt><dd>x0,y0 method</dd>
3099<dt>matte</dt><dd>x0,y0 method</dd>
3100</dl>
3101
Cristy594d2772015-11-15 10:47:42 -05003102<p>The shape primitives are drawn in the color specified by the preceding <a
3103href="command-line-options.html#fill">-fill</a> setting. For unfilled shapes, use <a
3104href="command-line-options.html#fill">-fill none</a>. You can optionally control the stroke (the
3105"outline" of a shape) with the <a href="command-line-options.html#stroke">-stroke</a> and <a
3106href="command-line-options.html#strokewidth">-strokewidth</a> settings.</p>
Cristy882d9f42015-10-29 16:48:39 -04003107
3108<p>A <code>point</code> primitive is specified by a single <var>point</var> in the
3109pixel plane, that is, by an ordered pair of integer coordinates,
3110<var>x</var>,<var>y</var>. (As it involves only a single pixel, a <code>point</code>
Cristy594d2772015-11-15 10:47:42 -05003111primitive is not affected by <a href="command-line-options.html#stroke">-stroke</a> or <a
3112href="command-line-options.html#strokewidth">-strokewidth</a>.)</p>
Cristy882d9f42015-10-29 16:48:39 -04003113
3114<p>A <code>line</code> primitive requires a start point and end point.</p>
3115
3116<p>A <code>rectangle</code> primitive is specified by the pair of points at the
3117upper left and lower right corners.</p>
3118
3119<p>A <code>roundRectangle</code> primitive takes the same corner points as
3120a <code>rectangle</code> followed by the width and height of the rounded corners
3121to be removed.</p>
3122
3123<p>The <code>circle</code> primitive makes a disk (filled) or circle (unfilled).
3124Give the center and any point on the perimeter (boundary).</p>
3125
3126<p>The <code>arc</code> primitive is used to inscribe an elliptical segment in
3127to a given rectangle. An <code>arc</code> requires the two corners used for
3128<code>rectangle</code> (see above) followed by the start and end angles of the
3129arc of the segment segment (e.g. 130,30 200,100 45,90). The start and end
3130points produced are then joined with a line segment and the resulting segment
3131of an ellipse is filled.</p>
3132
3133<p>Use <code>ellipse</code> to draw a partial (or whole) ellipse. Give the
3134center point, the horizontal and vertical "radii" (the <var>semi-axes</var> of
3135the ellipse) and start and end angles in degrees (e.g. 100,100 100,150
31360,360).</p>
3137
3138<p>The <code>polyline</code> and <code>polygon</code> primitives require three or
3139more points to define their perimeters. A <code>polyline</code> is simply
3140a <code>polygon</code> in which the final point is not stroked to the start
Cristy594d2772015-11-15 10:47:42 -05003141point. When unfilled, this is a <var>polygonal line</var>. If the <a
3142href="command-line-options.html#stroke">-stroke</a> setting is <code>none</code> (the default), then
Cristy882d9f42015-10-29 16:48:39 -04003143a <code>polyline</code> is identical to a <code>polygon</code>. </p>
3144
3145<p>A <var>coordinate</var> is a pair of integers separated by a space or
3146optional comma. </p>
3147
3148<p>As an example, to define a circle centered at 100,100 that extends to
3149150,150 use:</p>
3150
3151<pre>
3152-draw 'circle 100,100 150,150'
3153</pre>
3154
3155<p>The <code>Bezier</code> primitive creates a spline curve and requires three
3156or points to define its shape. The first and last points are the
3157<var>knots</var> and these points are attained by the curve, while any
3158intermediate coordinates are <var>control points</var>. If two control points
3159are specified, the line between each end knot and its sequentially respective
3160control point determines the tangent direction of the curve at that end. If
3161one control point is specified, the lines from the end knots to the one
3162control point determines the tangent directions of the curve at each end. If
3163more than two control points are specified, then the additional control points
3164act in combination to determine the intermediate shape of the curve. In order
3165to draw complex curves, it is highly recommended either to use the
3166<code>path</code> primitive or to draw multiple four-point bezier segments with
3167the start and end knots of each successive segment repeated. For example:</p>
3168
3169<pre>
3170-draw 'bezier 20,50 45,100 45,0 70,50'
3171-draw 'bezier 70,50 95,100 95,0 120,50'
3172</pre>
3173
3174<p>A <code>path</code> represents an outline of an object, defined in terms of
3175moveto (set a new current point), lineto (draw a straight line), curveto (draw
3176a Bezier curve), arc (elliptical or circular arc) and closepath (close the
3177current shape by drawing a line to the last moveto) elements. Compound paths
3178(i.e., a path with subpaths, each consisting of a single moveto followed by
3179one or more line or curve operations) are possible to allow effects such as
Cristy594d2772015-11-15 10:47:42 -05003180<var>donut holes</var> in objects. (See <a
3181href="http://www.w3.org/TR/SVG/paths.html">Paths</a>.)</p>
Cristy882d9f42015-10-29 16:48:39 -04003182
3183<p>Use <code>image</code> to composite an image with another image. Follow the
3184image keyword with the composite operator, image location, image size, and
3185filename:</p>
3186
3187<pre>
3188-draw 'image SrcOver 100,100 225,225 image.jpg'
3189</pre>
3190
3191<p>You can use 0,0 for the image size, which means to use the actual
3192dimensions found in the image header. Otherwise, it is scaled to the given
3193dimensions. See <a href="compose.html">Alpha Compositing</a> for
3194a detailed discussion of alpha composition methods that are available. </p>
3195
3196<p>The "special augmented compose operators" such as "dissolve" that require
3197arguments cannot be used at present with the <code>-draw image</code> option.
3198 </p>
3199
3200<p>Use <code>text</code> to annotate an image with text. Follow the text
3201coordinates with a string. If the string has embedded spaces, enclose it in
3202single or double quotes.</p>
3203
3204<p>For example, the following annotates the image with <code>Works like
3205magick!</code> for an image titled <code>bird.miff</code>. </p>
3206
3207<pre>
3208-draw "text 100,100 'Works like magick!' "
3209</pre>
3210
3211<p>See the <a href="command-line-options.html#annotate">-annotate</a> option for another convenient way
3212to annotate an image with text.</p>
3213
3214<p>The <code>rotate</code> primitive rotates subsequent shape primitives and
Cristy594d2772015-11-15 10:47:42 -05003215text primitives about the origin of the main image. If the <a
3216href="command-line-options.html#region">-region</a> option precedes the <a href="command-line-options.html#draw">-draw</a>
Cristy882d9f42015-10-29 16:48:39 -04003217option, the origin for transformations is the upper left corner of the
3218region.</p>
3219
3220<p>The <code>translate</code> primitive translates subsequent shape and text
3221primitives.</p>
3222
3223<p>The <code>scale</code> primitive scales them.</p>
3224
3225<p>The <code>skewX</code> and <code>skewY</code> primitives skew them with respect
3226to the origin of the main image or the region.</p>
3227
3228<p>The transformations modify the current affine matrix, which is initialized
3229from the initial affine matrix defined by the <a href="command-line-options.html#affine">-affine</a>
3230option. Transformations are cumulative within the <a href="command-line-options.html#draw">-draw</a>
3231option. The initial affine matrix is not affected; that matrix is only changed
3232by the appearance of another <a href="command-line-options.html#affine">-affine</a> option. If another
3233<a href="command-line-options.html#draw">-draw</a> option appears, the current affine matrix is
3234reinitialized from the initial affine matrix.</p>
3235
3236<p>Use the <code>color</code> primitive to change the color of a pixel to the
3237fill color (see <a href="command-line-options.html#fill">-fill</a>). Follow the pixel coordinate with
3238a method:</p>
3239
3240<pre>
3241point
3242replace
3243floodfill
3244filltoborder
3245reset
3246</pre>
3247
3248<p>Consider the target pixel as that specified by your coordinate. The
3249<code>point</code> method recolors the target pixel. The <code>replace</code>
3250method recolors any pixel that matches the color of the target pixel.
3251<code>Floodfill</code> recolors any pixel that matches the color of the target
3252pixel and is a neighbor, whereas <code>filltoborder</code> recolors any neighbor
3253pixel that is not the border color. Finally, <code>reset</code> recolors all
3254pixels.</p>
3255
3256<p>Use <code>matte</code> to the change the pixel matte value to transparent.
3257Follow the pixel coordinate with a method (see the <code>color</code> primitive
3258for a description of methods). The <code>point</code> method changes the matte
3259value of the target pixel. The <code>replace</code> method changes the matte
3260value of any pixel that matches the color of the target pixel.
3261<code>Floodfill</code> changes the matte value of any pixel that matches the
3262color of the target pixel and is a neighbor, whereas <code>filltoborder</code>
Cristy594d2772015-11-15 10:47:42 -05003263changes the matte value of any neighbor pixel that is not the border color (<a
3264href="command-line-options.html#bordercolor">-bordercolor</a>). Finally <code>reset</code> changes the
Cristy882d9f42015-10-29 16:48:39 -04003265matte value of all pixels.</p>
3266
Cristy594d2772015-11-15 10:47:42 -05003267<p>You can set the primitive color, font, and font bounding box color with <a
3268href="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>
Cristy882d9f42015-10-29 16:48:39 -04003269respectively. Options are processed in command line order so be sure to use
3270these options <var>before</var> the <a href="command-line-options.html#draw">-draw</a> option.</p>
3271
3272<p>Strings that begin with a number must be quoted (e.g. use '1.png' rather
3273than 1.png).</p>
3274
Cristy594d2772015-11-15 10:47:42 -05003275<p>Drawing primitives conform to the <a href="magick-vector-graphics.html" >Magick
Cristy882d9f42015-10-29 16:48:39 -04003276Vector Graphics</a> format.</p>
3277
3278
3279<div style="margin: auto;">
3280 <h3 class="magick-header"><a id="duplicate"></a>-duplicate <var>count,indexes</var></h3>
3281</div>
3282
3283<p class="magick-description">duplicate an image one or more times.</p>
3284
3285<p>Specify the count and the image to duplicate by its index in the sequence.
3286The first image is index 0. Negative indexes are relative to the end of the
3287sequence, for example, -1 represents the last image of the sequence. Specify
3288a range of images with a dash (e.g. 0-4). Separate indexes with a comma (e.g.
32890,2). Use <code>+duplicate</code> to duplicate the last image in the current
3290image sequence.</p>
3291
3292<div style="margin: auto;">
3293 <h3 class="magick-header"><a id="edge"></a>-edge <var>radius</var></h3>
3294</div>
3295
3296<p class="magick-description">detect edges within an image.</p>
3297
3298<div style="margin: auto;">
3299 <h3 class="magick-header"><a id="emboss"></a>-emboss <var>radius</var></h3>
3300</div>
3301
3302<p class="magick-description">emboss an image.</p>
3303
3304<div style="margin: auto;">
3305 <h3 class="magick-header"><a id="encipher"></a>-encipher <var>filename</var></h3>
3306</div>
3307
3308<p class="magick-description">Encipher pixels for later deciphering by <a href="command-line-options.html#decipher">-decipher</a>.</p>
3309
3310<p>Get the passphrase from the file specified by <var>filename</var>.</p>
3311
Cristy594d2772015-11-15 10:47:42 -05003312<p>For more information, see the webpage, <a
3313href="http://www.imagemagick.org/www/cipher.html">ImageMagick: Encipher or
Cristy882d9f42015-10-29 16:48:39 -04003314Decipher an Image</a>.</p>
3315
3316
3317
3318<div style="margin: auto;">
3319 <h3 class="magick-header"><a id="encoding"></a>-encoding <var>type</var></h3>
3320</div>
3321
3322<p class="magick-description">specify the text encoding.</p>
3323
3324<p>Choose from</p>
3325
3326<pre>
3327AdobeCustom AdobeExpert
3328AdobeStandard AppleRoman
3329BIG5 GB2312
3330Latin 2 None
3331SJIScode Symbol
3332Unicode Wansung
3333</pre>
3334
3335<div style="margin: auto;">
3336 <h3 class="magick-header"><a id="endian"></a>-endian <var>type</var></h3>
3337</div>
3338
3339<p class="magick-description">Specify endianness (<code>MSB</code> or <code>LSB</code>) of the image.</p>
3340
3341<p>To print a complete list of endian types, use the <a href="command-line-options.html#list">-list endian</a> option.</p>
3342
3343<p>Use <a href="command-line-options.html#endian">+endian</a> to revert to unspecified endianness.</p>
3344
3345
3346<div style="margin: auto;">
3347 <h3 class="magick-header"><a id="enhance"></a>-enhance</h3>
3348</div>
3349
3350<p class="magick-description">Apply a digital filter to enhance a noisy image.</p>
3351
3352
3353<div style="margin: auto;">
3354 <h3 class="magick-header"><a id="equalize"></a>-equalize</h3>
3355</div>
3356
3357<p class="magick-description">perform histogram equalization on the image channel-by-channel.</p>
3358
3359<p>To perform histogram equalization on all channels in concert, transform the
3360image into some other color space, such as HSL, OHTA, YIQ or YUV, then
3361equalize the appropriate intensity-like channel, then convert back to RGB.</p>
3362
3363<p>For example using HSL, we have: ... <code>-colorspace HSL -channel lightness
3364-equalize -colorspace RGB</code> ...</p>
3365
3366<p>For YIQ, YUV and OHTA use the red channel. For example, OHTA is a principal
3367components transformation that puts most of the information in the first
3368channel. Here we have ... <code>-colorspace OHTA -channel red -equalize
3369-colorspace RGB</code> ...</p>
3370
3371<div style="margin: auto;">
3372 <h3 class="magick-header"><a id="evaluate"></a>-evaluate <var>operator value</var></h3>
3373</div>
3374
3375<p class="magick-description">Alter channel pixels by evaluating an arithmetic, relational, or logical expression.</p>
3376
Cristy594d2772015-11-15 10:47:42 -05003377<p>(See the <a href="command-line-options.html#function" >-function</a> operator for some
3378multi-parameter functions. See the <a href="command-line-options.html#fx" >-fx</a> operator if more
Cristy882d9f42015-10-29 16:48:39 -04003379elaborate calculations are needed.)</p>
3380
3381<p>The behaviors of each <var>operator</var> are summarized in the
3382following list. For brevity, the numerical value of a "pixel" referred to
3383below is the value of the corresponding channel of that pixel, while
3384a "normalized pixel" is that number divided by the maximum
3385(installation-dependent) value <var>QuantumRange</var>. (If
3386normalized pixels are used, they are restored, following the other
3387calculations, to the full range by multiplying by <var>QuantumRange</var>.)</p>
3388
3389<table class="table table-condensed table-striped">
Cristy594d2772015-11-15 10:47:42 -05003390 <col width="25%" />
3391 <col width="75%" />
Cristy882d9f42015-10-29 16:48:39 -04003392 <thead>
3393 <tr>
3394 <th><var>operator</var></th>
3395 <th>Summary (see further below for details)</th>
3396 </tr>
3397 </thead>
3398 <tbody>
3399
3400 <tr><td>Abs </td> <td>Add <var>value</var> to pixels and return absolute value. </td></tr>
3401 <tr><td>Add </td> <td>Add <var>value</var> to pixels. </td></tr>
3402 <tr><td>AddModulus </td> <td>Add <var>value</var> to pixels modulo <var>QuantumRange</var>.</td></tr>
3403 <tr><td>And </td> <td>Binary AND of pixels with <var>value</var>.</td></tr>
3404 <tr><td>Cos, Cosine </td> <td>Apply cosine to pixels with frequency <var>value</var> with 50% bias added.</td></tr>
3405 <tr><td>Divide </td> <td>Divide pixels by <var>value</var>.</td></tr>
3406 <tr><td>Exp </td> <td>base-e exponential function</td></tr>
3407 <tr><td>Exponential </td> <td>base-e exponential function</td></tr>
3408 <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>
3409 <tr><td>Log </td> <td>Apply scaled logarithm to normalized pixels.</td></tr>
3410 <tr><td>Max </td> <td>Set pixels to maximum of <var>value</var> and current pixel <var>value</var> (i.e. set any pixels currently less than <var>value</var> to <var>value</var>).</td></tr>
3411 <tr><td>Mean </td> <td>Add the <var>value</var> and divide by 2.</td></tr>
3412 <tr><td>Median </td> <td>Choose the median value from an image sequence.</td></tr>
3413 <tr><td>Min </td> <td>Set pixels to minimum of <var>value</var> and current pixel <var>value</var> (i.e. set any pixels currently greater than <var>value</var> to <var>value</var>).</td></tr>
3414 <tr><td>Multiply </td> <td>Multiply pixels by <var>value</var>.</td></tr>
3415 <tr><td>Or </td> <td>Binary OR of pixels with <var>value</var>.</td></tr>
3416 <tr><td>Pow </td> <td>Raise normalized pixels to the power <var>value</var>.</td></tr>
3417 <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>
3418 <tr><td>RMS</td> <td>Square the pixel and add the <var>value</var>.</td></tr>
3419 <tr><td>RootMeanSquare</td> <td>Square the pixel and add the <var>value</var>.</td></tr>
3420 <tr><td>Set </td> <td>Set pixel equal to <var>value</var>.</td></tr>
3421 <tr><td>Sin, Sine </td> <td>Apply sine to pixels with frequency <var>value</var> with 50% bias added.</td></tr>
3422 <tr><td>Subtract </td> <td>Subtract <var>value</var> from pixels.</td></tr>
3423 <tr><td>Xor </td> <td>Binary XOR of pixels with <var>value.</var></td></tr>
3424
3425 <tr><td> </td><td> </td></tr>
3426
3427 <tr><td>Gaussian-noise</td><td> </td></tr>
3428 <tr><td>Impulse-noise</td><td> </td></tr>
3429 <tr><td>Laplacian-noise</td><td> </td></tr>
Cristy594d2772015-11-15 10:47:42 -05003430 <tr><td>Multiplicative-noise</td> <td>(These are equivalent to the corresponding <a href="command-line-options.html#noise" >-noise</a> operators.)</td></tr>
Cristy882d9f42015-10-29 16:48:39 -04003431 <tr><td>PoissonNoise</td><td> </td></tr>
3432 <tr><td>Uniform-noise</td><td> </td></tr>
3433
3434 <tr><td> </td><td> </td></tr>
3435
3436 <tr><td>Threshold </td> <td>Threshold pixels larger than <var>value</var>.</td></tr>
3437 <tr><td>ThresholdBlack </td> <td>Threshold pixels to zero values equal to or below <var>value</var>.</td></tr>
3438 <tr><td>ThresholdWhite </td> <td>Threshold pixels to maximum values above <var>value</var>. </td></tr>
3439 </tbody>
3440 </table>
3441
Cristy594d2772015-11-15 10:47:42 -05003442<p>The specified functions are applied only to each previously set <a
3443href="command-line-options.html#channel" >-channel</a> in the image. If necessary, the results of the
Cristy882d9f42015-10-29 16:48:39 -04003444calculations are truncated (clipped) to fit in the interval [0, <var>QuantumRange</var>]. The transparency channel of the image is
3445represented as a 'alpha' values (0 = fully transparent), so, for example, a
3446<code>Divide</code> by 2 of the alpha channel will make the image
3447semi-transparent. Append the percent symbol '<code>%</code>' to specify a value
3448as a percentage of the <var>QuantumRange</var>.</p>
3449
3450<p>To print a complete list of <a href="command-line-options.html#evaluate">-evaluate</a> operators, use
3451<a href="command-line-options.html#list">-list evaluate</a>.</p>
3452
3453<p>The results of the <code>Add</code>, <code>Subtract</code> and
Cristy594d2772015-11-15 10:47:42 -05003454<code>Multiply</code> methods can also be achieved using either the <a
3455href="command-line-options.html#level" >-level</a> or the <a href="command-line-options.html#level" >+level</a> operator, with
Cristy882d9f42015-10-29 16:48:39 -04003456appropriate argument, to linearly modify the overall range of color values.
Cristy594d2772015-11-15 10:47:42 -05003457Please note, however, that <a href="command-line-options.html#level" >-level</a> treats transparency as
3458'matte' values (0 = opaque), while <a href="command-line-options.html#level" >-evaluate</a> works with
Cristy882d9f42015-10-29 16:48:39 -04003459'alpha' values.</p>
3460
3461<p><code>AddModulus</code> has been added as of ImageMagick 6.4.8-4 and provides
3462addition modulo the <var>QuantumRange</var>. It is therefore
3463equivalent to <code>Add</code> unless the resulting pixel value is outside the
3464interval [0, <var>QuantumRange</var>]. </p>
3465
3466<p><code>Exp or Exponential</code> has been added as of ImageMagick 6.6.5-1 and
3467works on normalized pixel values. The <var>value</var> used with
3468<code>Exp</code> should be negative so as to produce a decaying exponential
3469function. Non-negative values will always produce results larger unity and
3470thus outside the interval [0, <var>QuantumRange</var>]. The
3471formula is expressed below. </p>
3472
3473<p class="text-center">
3474exp(<var>value</var> × <b><var>u</var></b>)
3475</p>
3476
Cristy594d2772015-11-15 10:47:42 -05003477<p> If the input image is squared, for example, using <a href="command-line-options.html#-function"
3478>-function polynomial "2 0 0"</a>, then a decaying Gaussian function will be
Cristy882d9f42015-10-29 16:48:39 -04003479the result.</p>
3480
3481<p><code>Log</code> has been added as of ImageMagick 6.4.2-1 and works on
3482normalized pixel values. This a <var>scaled</var> log function. The <var>value</var> used with <code>Log</code> provides a <var>scaling
3483factor</var> that adjusts the curvature in the graph of the log function. The
3484formula applied to a normalized value <b><var>u</var></b> is below. </p>
3485
3486<p class="text-center">
3487log(<var>value</var> × <b><var>u</var></b> + 1) / log(<var>value</var> + 1)
3488</p>
3489
3490<p><code>Pow</code> has been added as of ImageMagick 6.4.1-9, and works on
Cristy594d2772015-11-15 10:47:42 -05003491normalized pixel values. Note that <code>Pow</code> is related to the <a
3492href="command-line-options.html#gamma" >-gamma</a> operator. For example, <b>-gamma 2</b> is equivalent
Cristy882d9f42015-10-29 16:48:39 -04003493to <b>-evaluate pow 0.5</b>, i.e., a 'square root' function. The value used
Cristy594d2772015-11-15 10:47:42 -05003494with <a href="command-line-options.html#gamma" >-gamma</a> is simply the reciprocal of the value used
Cristy882d9f42015-10-29 16:48:39 -04003495with <code>Pow</code>.</p>
3496
3497<p><code>Cosine</code> and <code>Sine</code> was added as of IM v6.4.8-8 and
3498converts the image values into a value according to a (co)sine wave function.
3499The synonyms <code>Cos</code> and <code>Sin</code> may also be used. The output
3500is biased 50% and normalized by 50% so as to fit in the respective color value
3501range. The <var>value</var> scaling of the <var>period</var> of the
3502function (its frequency), and thus determines the number of 'waves' that will
3503be 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,
3504then the effective period is the <var>half</var> the <var>QuantumRange</var>.</p>
3505
3506<p class="text-center">
35070.5 + 0.5 × cos(2 π <b><var>u</var></b> × <var>value</var>).
3508</p>
3509
Cristy594d2772015-11-15 10:47:42 -05003510<p>See also the <a href="command-line-options.html#function" >-function</a> operator, which is a
Cristy882d9f42015-10-29 16:48:39 -04003511multi-value version of evaluate. </p>
3512
3513<div style="margin: auto;">
3514 <h3 class="magick-header"><a id="evaluate-sequence"></a>-evaluate-sequence <var>operator</var></h3>
3515</div>
3516
3517<p class="magick-description">Alter channel pixels by evaluating an arithmetic, relational, or
3518logical expression over a sequence of images.</p>
3519
Cristy594d2772015-11-15 10:47:42 -05003520<p>To print a complete list of <a
3521href="command-line-options.html#evaluate-sequence">-evaluate-sequence</a> operators, use <a
3522href="command-line-options.html#list">-list evaluate</a>.</p>
Cristy882d9f42015-10-29 16:48:39 -04003523
3524<div style="margin: auto;">
3525 <h3 class="magick-header"><a id="extent"></a>-extent <var>geometry</var></h3>
3526</div>
3527
3528<p class="magick-description">Set the image size and offset.</p>
3529
3530<p>If the image is enlarged, unfilled areas are set to the background color.
3531To position the image, use offsets in the <var>geometry</var>
3532specification or precede with a <a href="command-line-options.html#gravity">-gravity</a> setting. To
Cristy594d2772015-11-15 10:47:42 -05003533specify how to compose the image with the background, use <a href="command-line-options.html#compose"
3534>-compose</a>.</p>
Cristy882d9f42015-10-29 16:48:39 -04003535
3536<p>This command reduces or expands a JPEG image to fit on an 800x600
3537display. If the aspect ratio of the input image isn't exactly 4:3, then the
3538image is centered on an 800x600 black canvas: </p>
3539
3540<pre>
3541convert input.jpg -resize 800x600 -background black -compose Copy \
3542 -gravity center -extent 800x600 -quality 92 output.jpg
3543</pre>
3544
3545<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
3546
3547<div style="margin: auto;">
3548 <h3 class="magick-header"><a id="extract"></a>-extract <var>geometry</var></h3>
3549</div>
3550
3551<p class="magick-description">Extract the specified area from image.</p>
3552
3553<p>This option is most useful for extracting a subregion of a very large raw
3554image. Note that these two commands are equivalent:</p>
3555
3556<pre>
3557convert -size 16000x16000 -depth 8 -extract 640x480+1280+960 \
3558 image.rgb image.png",
3559convert -size 16000x16000 -depth 8 'image.rgb[640x480+1280+960]' \
3560 image.rgb image.png"
3561</pre>
3562
3563<p>If you omit the offsets, as in</p>
3564
3565<pre>
3566convert -size 16000x16000 -depth 8 -extract 640x480 \
3567 image.rgb image.png
3568</pre>
3569
3570<p>the image is <var>resized</var> to the specified dimensions instead,
3571equivalent to:</p>
3572
3573<pre>
3574convert -size 16000x16000 -depth 8 -resize 640x480 image.rgb image.png
3575</pre>
3576
3577<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
3578
3579<div style="margin: auto;">
3580 <h3 class="magick-header"><a id="family"></a>-family <var>fontFamily</var></h3>
3581</div>
3582
3583<p class="magick-description">Set a font family for text.</p>
3584
3585<p>This setting suggests a font family that ImageMagick should try to use for
3586rendering text. If the family can be found it is used; if not, a default font
3587(e.g., "Arial") or a family known to be similar is substituted (e.g.,
3588"Courier" might be used if "System" is requested but not found). </p>
3589
Cristy594d2772015-11-15 10:47:42 -05003590<p>For other settings that affect fonts, see the options <a
3591href="command-line-options.html#font">-font</a>, <a href="command-line-options.html#stretch">-stretch</a>, <a
3592href="command-line-options.html#style">-style</a>, and <a href="command-line-options.html#weight">-weight</a>. </p>
Cristy882d9f42015-10-29 16:48:39 -04003593
3594<div style="margin: auto;">
3595 <h3 class="magick-header"><a id="features"></a>-features <var>distance</var></h3>
3596</div>
3597
3598<p class="magick-description">display (co-occurrence 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>
3599
3600<pre>
3601Angular Second Moment Sum Entropy
3602Contrast Entropy
3603Correlation Difference Variance
3604Sum of Squares Variance Difference Entropy
3605Inverse Difference Moment Information Measure of Correlation 1
3606Sum Average Information Measure of Correlation 2
3607Sum Variance Maximum Correlation Coefficient
3608</pre>
3609
3610<div style="margin: auto;">
3611 <h3 class="magick-header"><a id="fft"></a>-fft</h3>
3612</div>
3613
3614<p class="magick-description">implements the forward discrete Fourier transform (DFT).</p>
3615
3616<p>This option is new as of ImageMagick 6.5.4-3 (and now working for Windows
3617users in ImageMagick 6.6.0-9). It transforms an image from the normal
3618(spatial) domain to the frequency domain. In the frequency domain, an image is
3619represented as a superposition of complex sinusoidal waves of varying
3620amplitudes. The image x and y coordinates are the possible frequencies along
3621the x and y directions, respectively, and the pixel intensity values are
3622complex numbers that correspond to the sinusoidal wave amplitudes. See for
3623example, <a href="http://en.wikipedia.org/wiki/Fourier_transform">Fourier
3624Transform</a>, <a href="http://en.wikipedia.org/wiki/DFT">Discrete Fourier
3625Transform</a> and <a href="http://en.wikipedia.org/wiki/FFT">Fast Fourier
3626Transform</a>.</p>
3627
3628<p>A single image name is provided as output for this option. However, the
3629output result will have two components. It is either a two-frame image or two
3630separate images, depending upon whether the image format specified supports
3631multi-frame images. The reason that we get a dual output result is because the
3632frequency domain represents an image using complex numbers, which cannot be
3633visualized directly. Therefore, the complex values are automagically separated
3634into a two-component image representation. The first component is the
3635magnitude of the complex number and the second is the phase of the complex
Cristy594d2772015-11-15 10:47:42 -05003636number. See for example, <a
3637href="http://en.wikipedia.org/wiki/Complex_numbers">Complex Numbers</a>.</p>
Cristy882d9f42015-10-29 16:48:39 -04003638
3639<p>The magnitude and phase component images must be specified using image
3640formats that do not limit the color or compress the image. Thus, MIFF, TIF,
3641PFM, EXR and PNG are the recommended image formats to use. All of these
3642formats, except PNG support multi-frame images. So for example,</p>
3643
3644<pre>
3645convert image.png -fft fft_image.miff
3646</pre>
3647
3648<p>generates a magnitude image as <code>fft_image.miff[0]</code> and a phase
3649image as <code>fft_image.miff[1]</code>. Similarly,</p>
3650
3651<pre>
3652convert image.png -fft fft_image.png
3653</pre>
3654
3655<p>generates a magnitude image as <code>fft_image-0.png</code> and a phase image
3656as <code>fft_image-1.png</code>. If you prefer this representation, then you can
Cristy594d2772015-11-15 10:47:42 -05003657force any of the other formats to produce two output images by including <a
3658href="command-line-options.html#adjoin">+adjoin</a> following -fft in the command line.</p>
Cristy882d9f42015-10-29 16:48:39 -04003659
3660<p>The input image can be any size, but if not square and even-dimensioned, it
3661is padded automagically to the larger of the width or height of the input
3662image and to an even number of pixels. The padding will occur at the bottom
3663and/or right sides of the input image. The resulting output magnitude and
Cristy594d2772015-11-15 10:47:42 -05003664phase images is square at this size. The kind of padding relies on the <a
3665href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting.</p>
Cristy882d9f42015-10-29 16:48:39 -04003666
3667<p>Both output components will have dynamic ranges that fit within
3668[0, <var>QuantumRange</var>], so that HDRI need not be enabled.
3669Phase values nominally range from 0 to 2*π, but is scaled to span the full
3670dynamic range. (The first few releases had non-HDRI scaled but HDRI not
3671scaled). The magnitude image is not scaled and thus generally will contain
3672very small values. As such, the image normally will appear totally black. In
3673order to view any detail, the magnitude image typically is enhanced with a log
3674function into what is usually called the spectrum. A log function is used to
3675enhance the darker values more in comparison to the lighter values. This can
3676be done, for example, as follows:</p>
3677
3678<pre>
3679convert fft_image.miff[0] -contrast-stretch 0 \
3680 -evaluate log 1000 fft_image_spectrum.png"
3681</pre>
3682
Cristy594d2772015-11-15 10:47:42 -05003683<p>where either <a href="command-line-options.html#contrast-stretch">-contrast-stretch</a> 0 or <a
3684href="command-line-options.html#auto-level">-auto-level</a> is used to scale the image to full dynamic
Cristy882d9f42015-10-29 16:48:39 -04003685range, first. The argument to the <a href="command-line-options.html#evaluate">-evaluate</a> log
3686typically is specified between 100 and 10,000, depending upon the amount of
3687detail that one wants to bring out in the spectrum. Larger values produce more
3688visible detail. Too much detail, however, may hide the important features.</p>
3689
3690<p>The <a href="http://www.fftw.org/">FFTW</a> delegate library is required to
3691use <a href="command-line-options.html#fft">-fft</a>.</p>
3692
3693<p>Use <a href="command-line-options.html#fft">+fft</a> to produce two output images that are the real
3694and imaginary components of the complex valued Fourier transform.</p>
3695
3696<p>However, as the real and imaginary components can contain negative values,
3697this requires that IM be configured with HDRI enabled. In this case, you must
3698use either MIFF, TIF, PFM or MPC formats for the real and imaginary component
3699results, since they are formats that preserve both negative and fractional
3700values without clipping them or truncating the fractional part. With either
3701MIFF or TIF, one should add -define quantum:format=32, to allow those image
3702types to work properly in HDRI mode without clipping.</p>
3703
Cristy594d2772015-11-15 10:47:42 -05003704<p>The real and imaginary component images resulting from <a
3705href="command-line-options.html#fft">+fft</a> are also square, even dimensioned images due to the same
Cristy882d9f42015-10-29 16:48:39 -04003706padding that was discussed above for the magnitude and phase component
3707images.</p>
3708
Cristy594d2772015-11-15 10:47:42 -05003709<p>See the discussion on HDRI implementations of ImageMagick on the page <a
3710href="high-dynamic-range.html" >High Dynamic-Range Images</a>. For more
3711about HDRI go the ImageMagick <a
3712href="http://www.imagemagick.org/Usage/basics/#hdri" >Usage</a> pages, <a
3713href="http://www.fmwconcepts.com/imagemagick/fourier_transforms/fourier.html"
3714>Fred's Fourier Processing With ImageMagick page</a> or this <a
3715 href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging" >Wikipedia</a>
Cristy882d9f42015-10-29 16:48:39 -04003716 entry. </p>
3717
Cristy594d2772015-11-15 10:47:42 -05003718<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 explicitly normalize the FFT and unnormalize the IFT.</p>
Cristy882d9f42015-10-29 16:48:39 -04003719
3720
3721<div style="margin: auto;">
3722 <h3 class="magick-header"><a id="fill"></a>-fill <var>color</var></h3>
3723</div>
3724
3725<p class="magick-description">color to use when filling a graphic primitive.</p>
3726
3727<p>This option accepts a color name, a hex color, or a numerical RGB, RGBA,
Cristy594d2772015-11-15 10:47:42 -05003728HSL, HSLA, CMYK, or CMYKA specification. See <a href="color.html" >Color Names</a> for
Cristy882d9f42015-10-29 16:48:39 -04003729a description of how to properly specify the color argument.</p>
3730
3731<p>Enclose the color specification in quotation marks to prevent the "#" or
3732the parentheses from being interpreted by your shell.</p>
3733
3734<p>For example,</p>
3735
3736<pre>
3737-fill blue
3738-fill "#ddddff"
3739-fill "rgb(255,255,255)"
3740</pre>
3741
3742<p>See <a href="command-line-options.html#draw">-draw</a> for further details.</p>
3743
3744<p>To print a complete list of color names, use the <a href="command-line-options.html#list">-list color</a> option.</p>
3745
3746<div style="margin: auto;">
3747 <h3 class="magick-header"><a id="filter"></a>-filter <var>type</var></h3>
3748</div>
3749
3750<p class="magick-description">Use this <var>type</var> of filter when resizing or distorting an image.</p>
3751
3752<p>Use this option to affect the resizing operation of an image during
Cristy594d2772015-11-15 10:47:42 -05003753operations such as <a href="command-line-options.html#resize">-resize</a> and <a href="command-line-options.html#distort"
3754>-distort</a>. For example you can use a simple resize filter such as:</p>
Cristy882d9f42015-10-29 16:48:39 -04003755
3756<pre>
3757Point Hermite Cubic
3758Box Gaussian Catrom
3759Triangle Quadratic Mitchell
3760</pre>
3761
3762<p>The <code>Bessel</code> and <code>Sinc</code> filter is also provided (as well
3763as a faster <code>SincFast</code> equivalent form). However these filters are
3764generally useless on their own as they are infinite filters that are being
3765clipped to the filters support size. Their direct use is not recommended
3766except via expert settings (see below). </p>
3767
3768<p>Instead these special filter functions are typically windowed by a windowing
Cristy594d2772015-11-15 10:47:42 -05003769function that the <a href="command-line-options.html#filter" >-filter</a> setting defines. That is
Cristy882d9f42015-10-29 16:48:39 -04003770using these functions will define a 'Windowed' filter, appropriate to the
3771operator involved. Windowed filters include: </p>
3772
3773<pre>
3774Lanczos Hamming Parzen
3775Blackman Kaiser Welsh
3776Hanning Bartlett Bohman
3777</pre>
3778
3779<p>Also one special self-windowing filter is also provided
3780<code>Lagrange</code>, which will automagically re-adjust its function depending
3781on the current 'support' or 'lobes' expert settings (see below).</p>
3782
3783<p>If you do not select a filter with this option, the filter defaults to
3784<code>Mitchell</code> for a colormapped image, an image with a matte channel, or
3785if the image is enlarged. Otherwise the filter default to
3786<code>Lanczos</code>.</p>
3787
3788<p>To print a complete list of resize filters, use the <a href="command-line-options.html#list">-list
3789filter</a> option.</p>
3790
3791<p>You can modify how the filter behaves as it scales your image through the
Cristy594d2772015-11-15 10:47:42 -05003792use of these expert settings (see also <a href="command-line-options.html#define" >-define</a> and <a
3793href="command-line-options.html#set" >-set</a>):-</p>
Cristy882d9f42015-10-29 16:48:39 -04003794
3795<table class="table table-condensed table-striped">
3796 <tr>
3797 <td>-define filter:blur=<var>factor</var></td>
3798 <td>Scale the X axis of the filter (and its window). Use &gt; 1.0 for
3799 blurry or &lt; 1.0 for sharp. This should only be used with Gaussian and
3800 Gaussian-like filters simple filters, or you may not get the expected
3801 results. </td>
3802 </tr>
3803
3804 <tr>
3805 <td>-define filter:support=<var>radius</var></td>
3806 <td>Set the filter support radius. Defines how large the filter should be and
3807 thus directly defines how slow the filtered resampling process is. All
3808 filters have a default 'preferred' support size. Some filters like
3809 <code>Lagrange</code> and windowed filters adjust themselves depending on
3810 this value. With simple filters this value either does nothing (but slow
3811 the resampling), or will clip the filter function in a detrimental way.
3812 </td>
3813 </tr>
3814
3815 <tr>
3816 <td>-define filter:lobes=<var>count</var></td>
3817 <td>Set the number of lobes to use for the Sinc/Bessel filter. This an
3818 alternative way of specifying the 'support' range of the filter, that is
3819 designed to be more suited to windowed filters, especially when used for
3820 image distorts.</td>
3821 </tr>
3822
3823 <tr>
3824 <td>-define filter:sigma=<var>value</var></td>
3825 <td>The 'sigma' value used to define the <code>Gaussian</code> filter. Default
3826 sigma value is '<code>0.5</code>'. It only effects <code>Gaussian</code> but
3827 does not shrink (but may enlarge) the filter's 'support'. It can be used
3828 to generate very small blurs but without the filter 'missing' pixels due
3829 to using a small support setting. A larger value of '<code>0.707</code>'
3830 (a value of '1/sqrt(2)') is another common setting. </td>
3831 </tr>
3832
3833 <tr>
3834 <td>-define filter:b=<var>b-spline_factor</var></td>
Cristy594d2772015-11-15 10:47:42 -05003835 <tr>
Cristy882d9f42015-10-29 16:48:39 -04003836 <td>-define filter:c=<var>keys_alpha_factor</var></td>
3837 <td>Redefine the values used for cubic filters such as <code>Cubic</code>,
3838 <code>Catrom</code>, <code>Mitchel</code>, and <code>Hermite</code>, as well as
3839 the <code>Parzen</code> cubic windowing function. If only one of the values
3840 are defined, the other is set so as to generate a 'Cubic-Keys' filter.
3841 The values meaning was defined by a research paper by
3842 Mitchell-Netravali.</td>
3843 </tr>
3844
3845 <tr>
3846 <td>-define filter:kaiser-beta=<var>value</var></td>
3847 <td>The 'alpha' value used to as part of the Kaiser Windowing function.
3848 Default value is '6.5'. It only effects Kaiser windowing function, and
3849 does not effect any other attributes.
3850 Before ImageMagick v6.7.6-10, this option was known as "filter:alpha", (an
3851 inheritance from the very old "zoom" program). It was changed to bring the
3852 function in line with more modern academic research usage, and better
3853 assign it be more definitive. </td>
3854 </tr>
3855
3856 <tr>
3857 <td>-define filter:kaiser-alpha=<var>value</var></td>
3858 <td>This value when multiplied by 'PI' is equivalent to "kaiser-beta", and
3859 will override that setting. It only effects Kaiser windowing function,
3860 and does not effect any other attributes. </td>
3861 </tr>
3862
3863 <tr>
3864 <td>-define filter:filter=<var>filter_function</var></td>
3865 <td>Use this function directly as the weighting filter. This will allow
3866 you to directly use a windowing function such as <code>Blackman</code>,
3867 as a resampling filter, rather than as its normal usage as a windowing
3868 function. If defined, no windowing function also defined, the window function is set
3869 to <code>Box</code>). Directly specifying <code>Sinc</code> or <code>Jinc</code>
3870 as a filter will also do this. </td>
3871 </tr>
3872
3873 <tr>
3874 <td>-define filter:window=<var>filter_function</var></td>
3875 <td>The IIR (infinite impulse response) filters <code>Sinc</code> and
3876 <code>Jinc</code> are windowed (brought down to zero over the defined
3877 support range) with the given filter. This allows you to specify a filter
3878 function to be used as a windowing function for these IIR filters.
3879 Many of the defined filters are actually windowing functions for these IIR
3880 filters. A typical choices is <code>Box</code>, (which effectively turns
3881 off the windowing function). </td>
3882 </tr>
3883
3884 <tr>
3885 <td>-define filter:win-support=<var>radius</var></td>
3886 <td>Scale windowing function to this size instead. This causes the windowing
3887 (or self-windowing Lagrange filter) to act is if the support window is
3888 larger than what is actually supplied to the calling operator. The filter
3889 however is still clipped to the real support size given. If unset this
3890 will equal the normal filter support size. </td>
3891 </tr>
3892
3893 <tr>
3894 <td>-define filter:verbose=<var>1</var></td>
3895 <td>This causes IM to print information on the final internal filter
3896 selection to standard output. This includes a commented header on the
3897 filter settings being used, and data allowing the filter weights to be
3898 easily graphed. 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
3899 a <code>SincFast</code> windowed <code>SincFast</code> filter, while
3900 <code>Mitchell</code> is defined as a general <code>Cubic</code> family filter
3901 with specific 'B' and 'C' settings. </td>
3902 </tr>
3903
3904</table>
3905
3906<p>For example, to get a 8 lobe jinc windowed sinc filter (Genseng filter?):</p>
3907
3908<pre>
3909convert image.png \
3910 -filter sinc \
3911 -set filter:window=jinc \
3912 -set filter:lobes=8 \
3913 -resize 150% image.jpg"
3914</pre>
3915
3916<p>Or a raw un-windowed Sinc filter with 4 lobes:</p>
3917
3918<pre>
3919convert image.png \
3920 -set filter:filter=sinc \
3921 -set filter:lobes=4 \
3922 -resize 150% image.jpg"
3923</pre>
3924
3925<p>To extract the data for a raw windowing function, combine it with
3926a '<code>Box</code>' filter. For example the '<code>Welch</code> parabolic
3927windowing function. </p>
3928
3929<pre>
3930convert null: -define filter:filter=Box \
3931 -define filter:window=Welch \
3932 -define filter:support=1.0 \
3933 -define filter:verbose=1 \
Cristy594d2772015-11-15 10:47:42 -05003934 -resize 2 null: > window_welch.dat
Cristy882d9f42015-10-29 16:48:39 -04003935gnuplot
3936 set grid
3937 plot \"window_welch.dat\" with lines
3938</pre>
3939
3940<p>Note that the use of expert options is provided for image processing experts
3941who have studied and understand how resize filters work. Without this
3942knowledge, and an understanding of the definition of the actual filters
3943involved, using expert settings are more likely to be detrimental to your image
3944resizing.</p>
3945
3946
3947<div style="margin: auto;">
3948 <h3 class="magick-header"><a id="flatten"></a>-flatten</h3>
3949</div>
3950
Cristy594d2772015-11-15 10:47:42 -05003951<p class="magick-description">This is a simple alias for the <a href="command-line-options.html#layers" >-layers</a> method "flatten".</p>
Cristy882d9f42015-10-29 16:48:39 -04003952
3953
3954<div style="margin: auto;">
3955 <h3 class="magick-header"><a id="flip"></a>-flip</h3>
3956</div>
3957
3958<p class="magick-description">create a <var>mirror image</var></p>
3959
3960<p>reflect the scanlines in the vertical direction. The image will be mirrored
3961upside-down. </p>
3962
3963
3964<div style="margin: auto;">
3965 <h3 class="magick-header"><a id="floodfill"></a>-floodfill {<var>+-</var>}<var>x</var>{<var>+-</var>}<var>y</var> <var>color</var></h3>
3966</div>
3967
3968<p class="magick-description">floodfill the image with color at the specified offset.</p>
3969
3970<p>Flood fill starts from the given 'seed point' which is not gravity effected.
Cristy594d2772015-11-15 10:47:42 -05003971Any color that matches within <a href="command-line-options.html#fuzz" >-fuzz</a> color distance of the
Cristy882d9f42015-10-29 16:48:39 -04003972given <var>color</var> argument, connected to that 'seed point'
Cristy594d2772015-11-15 10:47:42 -05003973will be replaced with the current <a href="command-line-options.html#fill" >-fill</a> color. </p>
Cristy882d9f42015-10-29 16:48:39 -04003974
3975<p>Note that if the pixel at the 'seed point' does not itself match the given
Cristy594d2772015-11-15 10:47:42 -05003976<var>color</var> (according to <a href="command-line-options.html#fuzz" >-fuzz</a>), then no
Cristy882d9f42015-10-29 16:48:39 -04003977action will be taken. </p>
3978
Cristy594d2772015-11-15 10:47:42 -05003979<p>This operator works more like the <a href="command-line-options.html#opaque" >-opaque</a> option, than
Cristy882d9f42015-10-29 16:48:39 -04003980a more general flood fill that reads the matching color directly at the 'seed
Cristy594d2772015-11-15 10:47:42 -05003981point'. For this form of flood fill, look at <a href="command-line-options.html#draw" >-draw</a> and
Cristy882d9f42015-10-29 16:48:39 -04003982its 'color floodfill' drawing method. </p>
3983
3984
3985<div style="margin: auto;">
3986 <h3 class="magick-header"><a id="flop"></a>-flop</h3>
3987</div>
3988
3989<p class="magick-description">create a <var>mirror image</var>.</p>
3990
3991<p>Reflect the scanlines in the horizontal direction, just like the image in
3992a vertical mirror. </p>
3993
3994
3995<div style="margin: auto;">
3996 <h3 class="magick-header"><a id="font"></a>-font <var>name</var></h3>
3997</div>
3998
3999<p class="magick-description">set the font to use when annotating images with text, or creating labels.</p>
4000
4001<p>To print a complete list of fonts, use the <a href="command-line-options.html#list">-list font</a>
4002option (for versions prior to 6.3.6, use 'type' instead of 'font').</p>
4003
4004<p>In addition to the fonts specified by the above pre-defined list, you can
4005also specify a font from a specific source. For example <code>Arial.ttf</code>
4006is a TrueType font file, <code>ps:helvetica</code> is PostScript font, and
4007<code>x:fixed</code> is X11 font.</p>
4008
Cristy594d2772015-11-15 10:47:42 -05004009<p>For other settings that affect fonts, see the options <a
4010href="command-line-options.html#family">-family</a>, <a href="command-line-options.html#stretch">-stretch</a>, <a
4011href="command-line-options.html#style">-style</a>, and <a href="command-line-options.html#weight">-weight</a>. </p>
Cristy882d9f42015-10-29 16:48:39 -04004012
4013
4014<div style="margin: auto;">
4015 <h3 class="magick-header"><a id="foreground"></a>-foreground <var>color</var></h3>
4016</div>
4017
4018<p class="magick-description">Define the foreground color for menus.", "display</p>
4019
Cristy594d2772015-11-15 10:47:42 -05004020<p>The color is specified using the format described under the <a
4021href="command-line-options.html#fill">-fill</a> option.</p>
Cristy882d9f42015-10-29 16:48:39 -04004022
4023<p>The default foreground color is black.</p>
4024
4025<div style="margin: auto;">
4026 <h3 class="magick-header"><a id="format"></a>-format <var>type</var></h3>
4027</div>
4028
4029<p class="magick-description">the image format type.</p>
4030
4031<p>When used with the <code>mogrify</code> utility, this option converts any
4032image to the image <a href="formats.html">format</a> you specify.
Cristy594d2772015-11-15 10:47:42 -05004033For a list of image format types supported by ImageMagick, use <a
4034href="command-line-options.html#list">-list format</a>.</p>
Cristy882d9f42015-10-29 16:48:39 -04004035
4036<p>By default the file is written to its original name. However, if the
4037filename extension matches a supported format, the extension is replaced with
4038the image format type specified with <a href="command-line-options.html#format">-format</a>. For
4039example, if you specify <var>tiff</var> as the format type and the
4040input image filename is <var>image.gif</var>, the output image
4041filename becomes <var>image.tiff</var>.</p>
4042
4043<div style="margin: auto;">
4044 <h3 class="magick-header"><a id="format_identify_"></a>-format <var>string</var></h3>
4045</div>
4046
4047<p class="magick-description">output formatted image characteristics.</p>
4048
4049<p>See <a href="escape.html">Format and Print Image
4050Properties</a> for an explanation on how to specify the argument to this
4051option.</p>
4052
4053<div style="margin: auto;">
4054 <h3 class="magick-header"><a id="frame"></a>-frame <var>geometry</var></h3>
4055</div>
4056
4057<p class="magick-description">Surround the image with a border or beveled frame.</p>
4058
Cristy594d2772015-11-15 10:47:42 -05004059<p>The color of the border is specified with the <a href="command-line-options.html#mattecolor"
4060>-mattecolor</a> command line option. </p>
Cristy882d9f42015-10-29 16:48:39 -04004061
4062<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
4063height that is added to the dimensions of the image. If no offsets are given
4064in the <var>geometry</var> argument, then the border added is
4065a solid color. Offsets <var>x</var> and <var>y</var>, if present, specify that
4066the width and height of the border is partitioned to form an outer bevel of
4067thickness <var>x</var> pixels and an inner bevel of thickness
4068<var>y</var> pixels. Negative offsets make no sense as frame arguments.
4069</p>
4070
Cristy594d2772015-11-15 10:47:42 -05004071<p>The <a href="command-line-options.html#frame">-frame</a> option is affected by the current <a
4072href="command-line-options.html#compose">-compose</a> setting and assumes that this is using the default
Cristy882d9f42015-10-29 16:48:39 -04004073'<code>Over</code>' composition method. It generates an image of the appropriate
4074size with the current <a href="command-line-options.html#bordercolor">-bordercolor</a> setting, and then
Cristy594d2772015-11-15 10:47:42 -05004075draws the frame of four distinct colors close to the current <a
4076href="command-line-options.html#mattecolor">-mattecolor</a>. The original image is then overlaid onto
Cristy882d9f42015-10-29 16:48:39 -04004077center of this image. This means that with the default compose method of
Cristy594d2772015-11-15 10:47:42 -05004078'<code>Over</code>' any transparent parts may be replaced by the current <a
4079href="command-line-options.html#bordercolor">-bordercolor</a> setting.</p>
Cristy882d9f42015-10-29 16:48:39 -04004080
4081<p>The image composition is not
4082affected by the <a href="command-line-options.html#gravity">-gravity</a> option.</p>
4083
4084
4085<div style="margin: auto;">
4086 <h3 class="magick-header"><a id="frame_import_"></a>-frame</h3>
4087</div>
4088
4089<p class="magick-description">include the X window frame in the imported image. </p>
4090<div style="margin: auto;">
4091 <h3 class="magick-header"><a id="function"></a>-function <var>function</var> <var>parameters</var></h3>
4092</div>
4093
4094<p class="magick-description">Apply a function to channel values.</p>
4095
4096<p>This operator performs calculations based on the given arguments to modify
Cristy594d2772015-11-15 10:47:42 -05004097each of the color values for each previously set <a
4098href="command-line-options.html#channel">-channel</a> in the image. See <a
4099href="command-line-options.html#evaluate">-evaluate</a> for details concerning how the results of the
Cristy882d9f42015-10-29 16:48:39 -04004100calculations are handled.</p>
4101
Cristy594d2772015-11-15 10:47:42 -05004102<p>This is can be considered a multi-argument version of the <a
4103href="command-line-options.html#evaluate">-evaluate</a> operator. (Added in
Cristy882d9f42015-10-29 16:48:39 -04004104ImageMagick 6.4.8−8.)</p>
4105
4106<p>Here, <var>parameters</var> is a comma-separated list of
4107numerical values. The number of values varies depending on which <var>function</var> is selected. Choose the <var>function</var> from:</p>
4108
4109<pre>
4110Polynomial
4111Sinusoid
4112Arcsin
4113Arctan
4114</pre>
4115
4116<p>To print a complete list of <a href="command-line-options.html#function">-function</a> operators,
4117use <a href="command-line-options.html#list">-list function</a>. Descriptions follow.</p>
4118
4119<dl class="dl-horizontal">
4120 <dt>Polynomial</dt>
4121 <dd><p>The <code>Polynomial</code> function takes an arbitrary number of parameters,
4122these being the coefficients of a polynomial, in decreasing order of degree.
4123That is, entering</p>
4124
4125<pre>
4126-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>
4127</pre>
4128
4129<p>will invoke a polynomial function given by</p>
4130
4131<pre>
4132<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>,
4133</pre>
4134
4135<p>where <b><var>u</var></b> is pixel's original normalized channel value.</p>
4136
4137<p>The <code>Polynomial</code> function can be used in place of <code>Set</code>
4138(the <var>constant</var> polynomial) and <code>Add</code>, <code>Divide</code>,
4139<code>Multiply</code>, and <code>Subtract</code> (some <var>linear</var>
Cristy594d2772015-11-15 10:47:42 -05004140polynomials) of the <a href="command-line-options.html#evaluate">-evaluate</a> operator. The <a
4141href="command-line-options.html#level">-level</a> operator also affects channels linearly. Some
Cristy882d9f42015-10-29 16:48:39 -04004142correspondences follow.</p>
4143
4144<table class="table table-condensed table-striped">
4145 <tr>
4146 <td>-evaluate Set <var>value</var> </td>
4147 <td>-function Polynomial <var>value</var></td>
4148 <td>(Constant functions; set <var>value</var>×100% gray when channels are RGB.)</td>
4149 </tr>
4150 <tr>
4151 <td>-evaluate Add <var>value</var> </td>
4152 <td>-function Polynomial 1,<var>value</var></td>
4153 </tr>
4154 <tr>
4155 <td>-evaluate Subtract <var>value</var> </td>
4156 <td>-function Polynomial 1,−<var>value</var></td>
4157 </tr>
4158 <tr>
4159 <td>-evaluate Multiply <var>value</var> </td>
4160 <td>-function Polynomial <var>value</var>,0</td>
4161 </tr>
4162 <tr>
4163 <td>+level black% x white%</td>
4164 <td>-function Polynomial A,B</td>
4165 <td>(Reduce contrast. Here, A=(white-black)/100 and B=black/100.)</td>
4166 </tr>
4167</table>
4168
4169<p>The <code>Polynomial</code> function gives great versatility, since
4170polynomials can be used to fit any continuous curve to any degree of accuracy
4171desired.</p>
4172
4173</dd>
4174<dt>Sinusoid</dt>
4175<dd>
4176<p>The <code>Sinusoid</code> function can be used to vary the channel values
4177sinusoidally by setting frequency, phase shift, amplitude, and a bias. These
4178values are given as one to four parameters, as follows,</p>
4179
4180<pre>
4181-function <code>Sinusoid</code> <var>freq</var>,[<var>phase</var>,[<var>amp</var>,[<var>bias</var>]]]
4182</pre>
4183
4184<p>where <var>phase</var> is in degrees. (The domain [0,1] of the function
4185corresponds to 0 through <var>freq</var>×360 degrees.)
4186The result is that if a pixel's normalized channel value is originally
4187<b><var>u</var></b>, its resulting normalized value is given by </p>
4188
4189<pre>
4190<var>amp</var> * sin(2*π* (<var>freq</var> * <b><var>u</var></b> + <var>phase</var> / 360)) + <var>bias</var>
4191</pre>
4192
4193<p> For example, the following generates a curve that starts and ends at 0.9
4194(when <b><var>u</var></b>=0 and 1, resp.), oscillating three times between
4195.7−.2=.5 and .7+.2=.9. </p>
4196
4197<pre>
4198-function Sinusoid 3,-90,.2,.7
4199</pre>
4200
4201<p>The default values of <var>amp</var> and <var>bias</var> are both .5. The default for <var>phase</var>
4202is 0.</p>
4203
4204<p>The <code>Sinusoid</code> function generalizes <code>Sin</code> and
4205<code>Cos</code> of the <a href="command-line-options.html#evaluate">-evaluate</a> operator by allowing
4206varying amplitude, phase and bias. The correspondence is as follows.</p>
4207
4208<table class="table table-condensed table-striped">
4209 <tr>
4210 <td>-evaluate Sin <var>freq</var> </td>
4211 <td>-function Sinusoid <var>freq</var>,0 </td>
4212 </tr>
4213 <tr>
4214 <td>-evaluate Cos <var>freq</var> </td>
4215 <td>-function Sinusoid <var>freq</var>,90 </td>
4216 </tr>
4217</table>
4218 </dd>
4219<dt>ArcSin</dt>
4220<dd>
4221<p>The <code>ArcSin</code> function generates the inverse curve of a Sinusoid,
4222and can be used to generate cylindrical distortion and displacement maps.
4223The curve can be adjusted relative to both the input values and output range
4224of values.</p>
4225
4226<pre>
4227-function <code>ArcSin</code> <var>width</var>,[<var>center</var>,[<var>range</var>,[<var>bias</var>]]]
4228</pre>
4229
4230<p>with all values given in terms of normalized color values (0.0 for black,
42311.0 for white). Defaulting to values covering the full range from 0.0 to 1.0
4232for bout input (<var>width</var>), and output (<var>width</var>) values. '<code>1.0,0.5,1.0,0.5</code>' </p>
4233
4234<pre>
4235<var>range</var>/π * asin( 2/<var>width</var> * ( <b><var>u</var></b> - <var>center</var> ) ) + <var>bias</var>
4236</pre>
4237
4238</dd>
4239<dt>ArcTan</dt>
4240<dd>
4241<p>The <code>ArcTan</code> function generates a curve that smooth crosses from
4242limit values at infinities, though a center using the given slope value.
4243All these values can be adjusted via the arguments.</p>
4244
4245<pre>
4246-function <code>ArcTan</code> <var>slope</var>,[<var>center</var>,[<var>range</var>,[<var>bias</var>]]]
4247</pre>
4248
4249<p>Defaulting to '<code>1.0,0.5,1.0,0.5</code>'.
4250</p>
4251
4252<pre>
4253<var>range</var>/π * atan( <var>slope</var>*π * ( <b><var>u</var></b> - <var>center</var> ) ) + <var>bias</var>
4254</pre>
4255 </dd>
Cristy594d2772015-11-15 10:47:42 -05004256 </tr>
Cristy882d9f42015-10-29 16:48:39 -04004257</dl>
4258
4259
4260
4261<div style="margin: auto;">
4262 <h3 class="magick-header"><a id="fuzz"></a>-fuzz <var>distance</var>{<var>%</var>}</h3>
4263</div>
4264
4265<p class="magick-description">Colors within this <var>distance</var> are considered equal.</p>
4266
4267<p>A number of algorithms search for a target color. By default the color must
4268be exact. Use this option to match colors that are close to the target color
4269in RGB space. For example, if you want to automagically trim the edges of an
4270image with <a href="command-line-options.html#trim">-trim</a> but the image was scanned and the target
4271background color may differ by a small amount. This option can account for
4272these differences.</p>
4273
4274<p>The <var>distance</var> can be in absolute intensity units or, by
4275appending <code>%</code> as a percentage of the maximum possible intensity (255,
427665535, or 4294967295).</p>
4277
Cristy594d2772015-11-15 10:47:42 -05004278<p>Use <a href="command-line-options.html#fuzz" >+fuzz</a> to reset the fuzz value to 0.</p>
Cristy882d9f42015-10-29 16:48:39 -04004279
4280
4281<div style="margin: auto;">
4282 <h3 class="magick-header"><a id="fx"></a>-fx <var>expression</var></h3>
4283</div>
4284
4285<p class="magick-description">apply a mathematical expression to an image or image channels.</p>
4286
4287<p>If the first character of <var>expression</var> is <code>@</code>,
4288the expression is read from a file titled by the remaining characters in the
4289string.</p>
4290
4291<p>See <a href="fx.html">FX,
4292The Special Effects Image Operator</a> for a detailed discussion of this
4293option.</p>
4294
4295
4296<div style="margin: auto;">
4297 <h3 class="magick-header"><a id="gamma"></a>-gamma <var>value</var></h3>
4298</div>
4299
4300<p class="magick-description">level of gamma correction.</p>
4301
4302<p>The same color image displayed on two different workstations may look
4303different due to differences in the display monitor. Use gamma correction to
4304adjust for this color difference. Reasonable values extend from
4305<code>0.8</code> to <code>2.3</code>. Gamma less than 1.0 darkens the image and
4306gamma greater than 1.0 lightens it. Large adjustments to image gamma may
4307result in the loss of some image information if the pixel quantum size is only
4308eight bits (quantum range 0 to 255).</p>
4309
4310<p>Gamma adjusts the image's channel values pixel-by-pixel according to
4311a power law, namely, pow(pixel,1/gamma) or pixel^(1/gamma), where pixel is the
4312normalized or 0 to 1 color value. For example, using a value of gamma=2 is the
4313same as taking the square root of the image.</p>
4314
4315<p>You can apply separate gamma values to the red, green, and blue channels of
4316the image with a gamma value list delimited with commas (e.g.,
4317<code>1.7,2.3,1.2</code>).</p>
4318
4319<p>Use <a href="command-line-options.html#gamma">+gamma <var>value</var></a> to set the
4320image gamma level without actually adjusting the image pixels. This option
4321is useful if the image is of a known gamma but not set as an image attribute
4322(e.g. PNG images). Write the "file gamma" which is the reciprocal of the
4323display gamma; e.g., if your image is sRGB and you want to write a PNG gAMA
4324chunk, use</p>
4325
4326<pre>
4327convert input.png +gamma .45455 output.png
4328</pre>
4329
4330<p>(0.45455 is 1/2.2)</p>
4331
4332<p>Note that gamma adjustments are also available via the <a href="command-line-options.html#level">-level</a> operator.</p>
4333
4334<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05004335 <h3 class="magick-header"><a id="gaussian-blur"></a>-gaussian-blur <var>radius</var><br />-gaussian-blur <var>radius</var>x<var>sigma</var></h3>
Cristy882d9f42015-10-29 16:48:39 -04004336</div>
4337
4338<p class="magick-description">Blur the image with a Gaussian operator.</p>
4339
4340<p>Convolve the image with a Gaussian or normal distribution using the given
Cristy594d2772015-11-15 10:47:42 -05004341<var >Sigma</var> value. The formula is:</p>
Cristy882d9f42015-10-29 16:48:39 -04004342
Cristy594d2772015-11-15 10:47:42 -05004343<p class="text-center"><img class="img-thumbnail" alt="gaussian distribution" width="243px" height="42px" src="../images/gaussian-blur.png"/> </p>
Cristy882d9f42015-10-29 16:48:39 -04004344
Cristy594d2772015-11-15 10:47:42 -05004345<p>The <var >Sigma</var> value is the important argument, and
Cristy882d9f42015-10-29 16:48:39 -04004346determines the actual amount of blurring that will take place. </p>
4347
Cristy594d2772015-11-15 10:47:42 -05004348<p>The <var >Radius</var> is only used to determine the size of the
Cristy882d9f42015-10-29 16:48:39 -04004349array which will hold the calculated Gaussian distribution. It should be an
4350integer. If not given, or set to zero, IM will calculate the largest possible
4351radius that will provide meaningful results for the Gaussian distribution.
4352</p>
4353
Cristy594d2772015-11-15 10:47:42 -05004354<p>The larger the <var >Radius</var> the radius the slower the
4355operation is. However too small a <var >Radius</var>, and sever
4356aliasing effects may result. As a guideline, <var >Radius</var>
4357should be at least twice the <var >Sigma</var> value, though three
Cristy882d9f42015-10-29 16:48:39 -04004358times will produce a more accurate result. </p>
4359
4360<p>This differs from the faster <a href="command-line-options.html#blur">-blur</a> operator in that a
4361full 2-dimensional convolution is used to generate the weighted average of the
4362neighboring pixels. </p>
4363
4364<p>The <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting will determine how
4365pixels which are outside the image proper are blurred into the final result.
4366</p>
4367
4368
4369<div style="margin: auto;">
4370 <h3 class="magick-header"><a id="geometry"></a>-geometry <var>geometry</var></h3>
4371</div>
4372
4373<p class="magick-description">Set the preferred size and location of the image.</p>
4374
4375<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
4376
4377<div style="margin: auto;">
4378 <h3 class="magick-header"><a id="gravity"></a>-gravity <var>type</var></h3>
4379</div>
4380
4381<p class="magick-description">Sets the current gravity suggestion for various other settings and options.</p>
4382
4383<p>Choices include: <code>NorthWest</code>, <code>North</code>,
4384<code>NorthEast</code>, <code>West</code>, <code>Center</code>, <code>East</code>,
Cristy594d2772015-11-15 10:47:42 -05004385<code>SouthWest</code>, <code>South</code>, <code>SouthEast</code>. Use <a
4386href="command-line-options.html#list">-list gravity</a> to get a complete list of <a
4387href="command-line-options.html#gravity">-gravity</a> settings available in your ImageMagick
Cristy882d9f42015-10-29 16:48:39 -04004388installation.</p>
4389
4390<p>The direction you choose specifies where to position text or subimages. For
4391example, a gravity of <code>Center</code> forces the text to be centered within
Cristy594d2772015-11-15 10:47:42 -05004392the image. By default, the image gravity is <code>NorthWest</code>. See <a
4393href="command-line-options.html#draw">-draw</a> for more details about graphic primitives. Only the
4394text primitive of <a href="command-line-options.html#draw">-draw</a> is affected by the <a
4395href="command-line-options.html#gravity">-gravity</a> option.</p>
Cristy882d9f42015-10-29 16:48:39 -04004396
4397<p>The <a href="command-line-options.html#gravity">-gravity</a> option is also used in concert with the
4398<a href="command-line-options.html#geometry">-geometry</a> setting and other settings or options that
Cristy594d2772015-11-15 10:47:42 -05004399take <var>geometry</var> as an argument, such as the <a
4400href="command-line-options.html#crop">-crop</a> option. </p>
Cristy882d9f42015-10-29 16:48:39 -04004401
4402<p>If a <a href="command-line-options.html#gravity">-gravity</a> setting occurs before another option
4403or setting having a <var>geometry</var> argument that specifies an
4404offset, the offset is usually applied to the point within the image suggested
4405by the <a href="command-line-options.html#gravity">-gravity</a> argument. Thus, in the following
4406command, for example, suppose the file <code>image.png</code> has dimensions
4407200x100. The offset specified by the argument to <a href="command-line-options.html#region">-region</a>
4408is (−40,+20). The argument to <a href="command-line-options.html#gravity">-gravity</a> is
4409<code>Center</code>, which suggests the midpoint of the image, at the point
4410(100,50). The offset (−40,20) is applied to that point, giving
4411(100−40,50+20)=(60,70), so the specified 10x10 region is located at
4412that point. (In addition, the <a href="command-line-options.html#gravity">-gravity</a> affects the
4413region itself, which is <var>centered</var> at the pixel
4414coordinate (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>
4415
4416<pre>
4417convert image.png -gravity Center -region 10x10-40+20 \
4418 -negate output.png
4419</pre>
4420
Cristy594d2772015-11-15 10:47:42 -05004421<p>When used as an option to <a href="composite.html">composite</a>, <a
4422href="command-line-options.html#gravity">-gravity</a> gives the direction that the image gravitates
Cristy882d9f42015-10-29 16:48:39 -04004423within the composite.</p>
4424
Cristy594d2772015-11-15 10:47:42 -05004425<p>When used as an option to <a href="montage.html">montage</a>, <a
4426href="command-line-options.html#gravity">-gravity</a> gives the direction that an image gravitates
Cristy882d9f42015-10-29 16:48:39 -04004427within a tile. The default gravity is <code>Center</code> for this purpose.</p>
4428
4429
4430<div style="margin: auto;">
4431 <h3 class="magick-header"><a id="grayscale"></a>-grayscale <var>method</var></h3>
4432</div>
4433
4434<p class="magick-description">convert image to grayscale.</p>
4435
Cristy594d2772015-11-15 10:47:42 -05004436<p>This will use one of the <a href="command-line-options.html#intensity" >-intensity</a> methods to
Cristy882d9f42015-10-29 16:48:39 -04004437convert the given image into a linear-grayscale image. </p>
4438
4439<p>For example, to convert an image to (linear) Rec709Luminance grayscale, type:</p>
4440
4441<pre>
4442convert in.png -grayscale Rec709Luminance out.png
4443</pre>
4444
4445<p>which is equivalent to:</p>
4446
4447<pre>
4448convert in.png -colorspace gray out.png
4449</pre>
4450
4451<p>Similarly, to convert an image to (non-linear) Rec709Luma grayscale, type:</p>
4452
4453<pre>
4454convert in.png -grayscale Rec709Luma out.png
4455</pre>
4456
4457<p>which is equivalent to:</p>
4458
4459<pre>
4460convert in.png -set colorspace RGB -colorspace gray out.png
4461</pre>
4462
4463<p>Note that a 'colorspace' intensity method will produce the same result
4464regardless of the current colorpsace of the image. But a 'mathematical'
4465intensity method will depend on the current colorspace the image is currently
4466using. </p>
4467
Cristy594d2772015-11-15 10:47:42 -05004468<p>While this operation uses an <a href="command-line-options.html#intensity" >-intensity</a> method,
4469it does not use or set the <a href="command-line-options.html#intensity" >-intensity</a> setting, so
Cristy882d9f42015-10-29 16:48:39 -04004470will not effect other operations that may use that setting.</p>
4471
4472
4473<div style="margin: auto;">
4474 <h3 class="magick-header"><a id="green-primary"></a>-green-primary <var>x,y</var></h3>
4475</div>
4476
4477<p class="magick-description">green chromaticity primary point.</p>
4478
4479
4480<div style="margin: auto;">
4481 <h3 class="magick-header"><a id="hald-clut"></a>-hald-clut</h3>
4482</div>
4483
4484<p class="magick-description">apply a Hald color lookup table to the image.</p>
4485
4486<p>A Hald color lookup table is a 3-dimensional color cube mapped to 2
4487dimensions. Create it with the <code>HALD:</code> prefix (e.g. HALD:8). You
4488can apply any color transformation to the Hald image and then use this option
4489to apply the transform to the image. </p>
4490
4491<pre>
4492convert image.png hald.png -hald-clut transform.png
4493</pre>
4494
4495<p>This option provides a convenient method for you to use Gimp or Photoshop
4496to make color corrections to the Hald CLUT image and subsequently apply them
4497to multiple images using an ImageMagick script. </p>
4498
4499<p>Note that the representation is only of the normal RGB color space and that
4500the whole color value triplet is used for the interpolated lookup of the
Cristy594d2772015-11-15 10:47:42 -05004501represented Hald color cube image. Because of this the operation is not <a
4502href="command-line-options.html#channel" >-channel</a> setting effected, nor can it adjust or modify an
Cristy882d9f42015-10-29 16:48:39 -04004503images transparency or alpha/matte channel.</p>
4504
Cristy594d2772015-11-15 10:47:42 -05004505<p>See also <a href="command-line-options.html#clut" >-clut</a> which provides color value replacement
Cristy769d8892016-01-19 18:11:14 -05004506of the individual color channels, usually involving a simpler grayscale
4507image. E.g: grayscale to color replacement, or modification by a histogram
Cristy882d9f42015-10-29 16:48:39 -04004508mapping. </p>
4509
4510
4511<div style="margin: auto;">
4512 <h3 class="magick-header"><a id="help"></a>-help</h3>
4513</div>
4514
4515<p class="magick-description">print usage instructions.</p>
4516
4517<div style="margin: auto;">
4518 <h3 class="magick-header"><a id="highlight-color"></a>-highlight-color <var>color</var></h3>
4519</div>
4520
4521<p class="magick-description">when comparing images, emphasize pixel differences with this color.</p>
4522
4523<div style="margin: auto;">
4524 <h3 class="magick-header"><a id="hough-lines"></a>-hough-lines <var>width</var>x<var>height</var>{<var>+threshold</var>}</h3>
4525</div>
4526
4527<p class="magick-description">identify straight lines in the image (e.g. -hough-lines 9x9+195).</p>
4528
4529<p>Use the Hough line detector with any binary edge extracted image to locate and draw any straight lines that it finds.</p>
4530
4531<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>.
4532
4533<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>
4534
Cristy594d2772015-11-15 10:47:42 -05004535<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>
Cristy882d9f42015-10-29 16:48:39 -04004536
Cristy594d2772015-11-15 10:47:42 -05004537<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>
Cristy882d9f42015-10-29 16:48:39 -04004538
Cristy594d2772015-11-15 10:47:42 -05004539<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>
Cristy882d9f42015-10-29 16:48:39 -04004540
4541<p>A text file listing the endpoints and counts may be created by using the suffix, .mvg, for the output image.</p>
4542
Cristy594d2772015-11-15 10:47:42 -05004543<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>
Cristy882d9f42015-10-29 16:48:39 -04004544
4545<div style="margin: auto;">
4546 <h3 class="magick-header"><a id="iconGeometry"></a>-iconGeometry <var>geometry</var></h3>
4547</div>
4548
4549<p class="magick-description">specify the icon geometry.</p>
4550
4551<p>Offsets, if present in the geometry specification, are handled in the same
4552manner as the <a href="command-line-options.html#geometry">-geometry</a> option, using X11 style to
4553handle negative offsets.</p>
4554
4555<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
4556
4557<div style="margin: auto;">
4558 <h3 class="magick-header"><a id="iconic"></a>-iconic</h3>
4559</div>
4560
4561<p class="magick-description">start in icon mode in X Windows", 'animate', 'display</p>
4562
4563<div style="margin: auto;">
4564 <h3 class="magick-header"><a id="identify"></a>-identify</h3>
4565</div>
4566
4567<p class="magick-description">identify the format and characteristics of the image.</p>
4568
4569<p>This information is printed: image scene number; image name; image size;
4570the image class (<var>DirectClass</var> or <var>PseudoClass</var>); the total number of unique colors; and the
4571number of seconds to read and transform the image. Refer to <a href="miff.html">MIFF</a> for
4572a description of the image class.</p>
4573
4574<p>If <a href="command-line-options.html#colors">-colors</a> is also specified, the total unique colors
Cristy594d2772015-11-15 10:47:42 -05004575in the image and color reduction error values are printed. Refer to <a
4576href="quantize.html">color
Cristy882d9f42015-10-29 16:48:39 -04004577reduction algorithm</a> for a description of these values.</p>
4578
4579<p>If <a href="command-line-options.html#verbose">-verbose</a> precedes this option, copious
4580amounts of image properties are displayed including image statistics, profiles,
4581image histogram, and others.</p>
4582
4583<div style="margin: auto;">
4584 <h3 class="magick-header"><a id="ift"></a>-ift</h3>
4585</div>
4586
4587<p class="magick-description">implements the inverse discrete Fourier transform (DFT).</p>
4588
4589<p>This option is new as of ImageMagick 6.5.4-3 (and now working for Windows
4590users in ImageMagick 6.6.0-9). It transforms a pair of magnitude and phase
4591images from the frequency domain to a single image in the normal or spatial
Cristy594d2772015-11-15 10:47:42 -05004592domain. See for example, <a
4593href="http://en.wikipedia.org/wiki/Fourier_transform">Fourier Transform</a>,
Cristy882d9f42015-10-29 16:48:39 -04004594<a href="http://en.wikipedia.org/wiki/DFT">Discrete Fourier Transform</a> and
4595<a href="http://en.wikipedia.org/wiki/FFT">Fast Fourier Transform</a>.</p>
4596
4597<p>For example, depending upon the image format used to store the result of
4598the <a href="command-line-options.html#fft">-fft</a>, one would use either</p>
4599
4600<pre>
4601convert fft_image.miff -ift fft_image_ift.png
4602</pre>
4603
4604<p>or</p>
4605
4606<pre>
4607convert fft_image-0.png fft_image-1.png -ift fft_image_ift.png
4608</pre>
4609
4610<p>The resulting image may need to be cropped due to padding introduced when
Cristy594d2772015-11-15 10:47:42 -05004611the original image, prior to the <a href="command-line-options.html#fft">-fft</a> or <a
4612href="command-line-options.html#fft">+fft</a>, was not square or even dimensioned. Any padding is at
Cristy882d9f42015-10-29 16:48:39 -04004613the right and/or bottom sides of the image.</p>
4614
4615<p>The <a href="http://www.fftw.org/">FFTW</a> delegate library is required to
4616use <a href="command-line-options.html#ift">-ift</a>.</p>
4617
4618<p>Use <a href="command-line-options.html#ift">+ift</a> (with HDRI enabled) to transform a pair of real
4619and imaginary images from the frequency domain to a single image in the normal
4620(spatial) domain.</p>
4621
Cristy594d2772015-11-15 10:47:42 -05004622<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 explicitly normalize the IFT and unnormalize the FFT.</p>
Cristy882d9f42015-10-29 16:48:39 -04004623
4624<div style="margin: auto;">
4625 <h3 class="magick-header"><a id="immutable"></a>-immutable</h3>
4626</div>
4627
4628<p class="magick-description">make image immutable.</p>
4629
4630<div style="margin: auto;">
4631 <h3 class="magick-header"><a id="implode"></a>-implode <var>factor</var></h3>
4632</div>
4633
4634<p class="magick-description">implode image pixels about the center.</p>
4635
4636<div style="margin: auto;">
4637 <h3 class="magick-header"><a id="insert"></a>-insert <var>index</var></h3>
4638</div>
4639
4640<p class="magick-description">insert the last image into the image sequence.</p>
4641
4642<p>This option takes last image in the current image sequence and inserts it
4643at the given index. If a negative index is used, the insert position is
4644calculated before the last image is removed from the sequence. As such
4645<code>-insert -1</code> will result in no change to the image sequence.</p>
4646
4647<p>The <code>+insert</code> option is equivalent to <code>-insert -1</code>. In
4648other words, insert the last image, at the end of the current image sequence.
4649Consequently this has no effect on the image sequence order.</p>
4650
4651<div style="margin: auto;">
4652 <h3 class="magick-header"><a id="intensity"></a>-intensity <var>method</var></h3>
4653</div>
4654
4655<p class="magick-description">method to generate intensity value from pixel.</p>
4656
4657<p>ImageMagick provides a number of methods used in situations where an
4658operator needs to determine a single grayscale value for some purpose, from
4659an image with red, green, and blue pixel components. Typically the linear
4660<code>Rec709Luminance</code> formula is used, which is the same formula used when
4661converting images to <code>-colorspace gray</code>. </p>
4662
4663<p>The following formulas are currently provided, and will first convert
4664the pixel values to linear-RGB or non-linear sRGB colorspace before
4665being applied to calculate the final greyscale value. </p>
4666
4667<dl class="dl-horizontal">
4668<dt>Rec601Luma</dt><dd> 0.298839R' + 0.586811G'+ 0.114350B'</dd>
4669<dt>Rec601Luminance</dt><dd> 0.298839R + 0.586811G + 0.114350B</dd>
4670<dt>Rec709Luma</dt><dd> 0.212656R' + 0.715158G' + 0.072186B'</dd>
4671<dt>Rec709Luminance</dt><dd> 0.212656R + 0.715158G + 0.072186B</dd>
4672<dt>Brightness</dt><dd> max(R', G', B')</dd>
4673<dt>Lightness</dt><dd> (min(R', G', B') + max(R', G', B')) / 2.0</dd>
4674</dl>
4675
4676<p>Note that the above R,G,B values is the image's linear-RGB values, while
4677R',G',B' are sRGB non-linear values. </p>
4678
4679<p>These intensity methods are mathematical in nature and will use the
4680current value in the images respective R,G,B channel regardless of
4681what that is, or what colorspace the image is currently using.</p>
4682
4683<dl class="dl-horizontal">
4684<dt>Average</dt><dd>(R + G + B) / 3.0</dd>
4685<dt>MS</dt><dd>(R^2 + G^2 + B^2) / 3.0</dd>
4686<dt>RMS</dt><dd>sqrt( (R^2 + G^2 + B^2) / 3.0 )</dd>
4687</dl>
4688
4689<p>These methods are often used for other purposes, such as generating a
Cristy594d2772015-11-15 10:47:42 -05004690grayscale difference image between two color images (using <a href="command-line-options.html#compose"
4691>-compose</a> '<code>Difference</code>' composition. </p>
Cristy882d9f42015-10-29 16:48:39 -04004692
4693<p> For example The 'MS' (Mean Squared) setting is good for minimizing color
4694error comparisions. While... The method 'RMS' (Root Mean Squared) for
4695example is appropriate for calculating color vector distance, from a color
Cristy594d2772015-11-15 10:47:42 -05004696difference image. This is equivalent to the color only component of the <a
4697href="command-line-options.html#fuzz" >-fuzz</a> factor color compare setting. </p>
Cristy882d9f42015-10-29 16:48:39 -04004698
Cristy594d2772015-11-15 10:47:42 -05004699<p>See also <a href="command-line-options.html#grayscale" >-grayscale</a> which applies one of the above
4700grayscaling formula directly to an image without setting the <a
4701href="command-line-options.html#intensity" >-intensity</a> setting.</p>
Cristy882d9f42015-10-29 16:48:39 -04004702
Cristy594d2772015-11-15 10:47:42 -05004703<p>The <a href="command-line-options.html#colorspace" >-colorspace gray</a> image conversion also uses
Cristy882d9f42015-10-29 16:48:39 -04004704the current intensity setting, but will always convert the image to the
4705appropriate sRGB or linear-RGB colorspace before appling the above
4706function.</p>
4707
4708<p>To print a complete list of possible pixel intensity setting methods, use <a href="command-line-options.html#list">-list intensity</a>.</p>
4709
Cristy594d2772015-11-15 10:47:42 -05004710<p>Operators affected by the <a href="command-line-options.html#intensity" >-intensity</a> setting include:</p>
Cristy882d9f42015-10-29 16:48:39 -04004711
4712<pre>
4713-adaptive-blur
4714-adaptive-sharpen
4715-black-threshold
4716-clut (when mapping greyscale CLUT image to alpha channel if set by -channels)
4717-colors for gray colorspace
4718-compose {LightenIntensity, DarkenIntensity, CopyOpacity, CopyBlack}
4719-contrast-stretch
4720-distort {ErodeIntensity, DilateIntensity}
4721-normalize
4722-random-threshold
4723-selective-blur
4724-shade
4725-threshold
4726-tint
4727-white-threshold
4728</pre>
4729
4730<div style="margin: auto;">
4731 <h3 class="magick-header"><a id="intent"></a>-intent <var>type</var></h3>
4732</div>
4733
4734<p class="magick-description">use this type of rendering intent when managing the image color.</p>
4735
4736<p>Use this option to affect the color management operation of an image (see
4737<a href="command-line-options.html#profile">-profile</a>). Choose from these intents: <code>Absolute,
4738Perceptual, Relative, Saturation</code>.</p>
4739
4740<p>The default intent is Perceptual for the sRGB colorspace and undefined for the RGB and gray colorspaces.</p>
4741
4742<p>To print a complete list of rendering intents, use <a href="command-line-options.html#list">-list intent</a>.</p>
4743
4744<div style="margin: auto;">
4745 <h3 class="magick-header"><a id="interlace"></a>-interlace <var>type</var></h3>
4746</div>
4747
4748<p class="magick-description">the type of interlacing scheme.</p>
4749
4750<p>Choose from:</p>
4751
4752<pre>
4753none
4754line
4755plane
4756partition
4757JPEG
4758GIF
4759PNG
4760</pre>
4761
4762<p>This option is used to specify the type of interlacing scheme for raw image
4763formats such as <code>RGB</code> or <code>YUV</code>.</p>
4764
4765<p><code>None</code> means do not interlace (RGBRGBRGBRGBRGBRGB...),</p>
4766
4767<p><code>Line</code> uses scanline interlacing (RRR...GGG...BBB...RRR...GGG...BBB...), and.</p>
4768
4769<p><code>Plane</code> uses plane interlacing (RRRRRR...GGGGGG...BBBBBB...).</p>
4770
4771<p><code>Partition</code> is like plane except the different planes are saved to
4772individual files (e.g. image.R, image.G, and image.B).</p>
4773
4774<p>Use <code>Line</code> or <code>Plane</code> to create an <code>interlaced
4775PNG</code> or <code>GIF</code> or <code>progressive JPEG</code> image.</p>
4776
4777<p>To print a complete list of interlacing schemes, use <a href="command-line-options.html#list">-list
4778interlace</a>.</p>
4779
4780<div style="margin: auto;">
4781 <h3 class="magick-header"><a id="interpolate"></a>-interpolate <var>type</var></h3>
4782</div>
4783
4784<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>
4785
4786<p>When looking up the color of a pixel using a non-integer floating point
4787value, you typically fall in between the pixel colors defined by the source
4788image. This setting determines how the color is determined from the colors of
4789the pixels surrounding that point. That is how to determine the color of a
4790point that falls between two, or even four different colored pixels. </p>
4791
4792<dl class="dl-horizontal">
4793 <dt>integer</dt>
4794 <dd>The color of the top-left pixel (floor function)</dd>
4795 <dt>nearest-neighbor</dt>
4796 <dd>The nearest pixel to the lookup point (rounded function)</dd>
4797 <dt>average</dt>
4798 <dd>The average color of the surrounding four pixels</dd>
4799 <dt>bilinear</dt>
4800 <dd>A double linear interpolation of pixels (the default)</dd>
4801 <dt>mesh</dt>
4802 <dd>Divide area into two flat triangular interpolations</dd>
4803 <dt>bicubic</dt>
4804 <dd>Fitted bicubic-spines of surrounding 16 pixels</dd>
4805 <dt>spline</dt>
4806 <dd>Direct spline curves (colors are blurred)</dd>
4807 <dt>filter</dt>
4808 <dd>Use resize <a href="command-line-options.html#filter">-filter</a> settings</dd>
4809</dl>
4810
Cristy594d2772015-11-15 10:47:42 -05004811<p>This most important for distortion operators such as <a href="command-line-options.html#distort"
4812>-distort</a>, <a href="command-line-options.html#implode" >-implode</a>, <a href="command-line-options.html#transform"
4813>-transform</a> and <a href="command-line-options.html#fx" >-fx</a>. </p>
Cristy882d9f42015-10-29 16:48:39 -04004814
4815<p>To print a complete list of interpolation methods, use <a href="command-line-options.html#list">-list interpolate</a>.</p>
4816
Cristy594d2772015-11-15 10:47:42 -05004817<p>See also <a href="command-line-options.html#virtual-pixel" >-virtual-pixel</a>, for control of the
Cristy882d9f42015-10-29 16:48:39 -04004818lookup for positions outside the boundaries of the image. </p>
4819
4820
4821<div style="margin: auto;">
4822 <h3 class="magick-header"><a id="interline-spacing"></a>-interline-spacing <var>value</var></h3>
4823</div>
4824
4825<p class="magick-description">the space between two text lines.</p>
4826
4827<div style="margin: auto;">
4828 <h3 class="magick-header"><a id="interword-spacing"></a>-interword-spacing <var>value</var></h3>
4829</div>
4830
4831<p class="magick-description">the space between two words.</p>
4832
4833<div style="margin: auto;">
4834 <h3 class="magick-header"><a id="kerning"></a>-kerning <var>value</var></h3>
4835</div>
4836
4837<p class="magick-description">the space between two letters.</p>
4838
4839<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05004840 <h3 class="magick-header"><a id="kuwahara"></a>-kuwahara <var>radius</var><br />-kuwahara <var>radius</var>x<var>sigma</var></h3>
Cristy882d9f42015-10-29 16:48:39 -04004841</div>
4842
4843<p class="magick-description">edge preserving noise reduction filter.</p>
4844
Cristy594d2772015-11-15 10:47:42 -05004845<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>
Cristy882d9f42015-10-29 16:48:39 -04004846
4847
4848<div style="margin: auto;">
4849 <h3 class="magick-header"><a id="label"></a>-label <var>name</var></h3>
4850</div>
4851
4852<p class="magick-description">assign a label to an image.</p>
4853
4854<p>Use this option to assign a specific label to the image, as it is read in
Cristy594d2772015-11-15 10:47:42 -05004855or created. You can use the <a href="command-line-options.html#set" >-set</a> operation to re-assign
Cristy882d9f42015-10-29 16:48:39 -04004856a the labels of images already read in. Image formats such as TIFF, PNG,
4857MIFF, supports saving the label information with the image.</p>
4858
4859<p>When saving an image to a <var>PostScript</var> file, any label
4860assigned to an image is used as a header string to print above the postscript
4861image. </p>
4862
4863<p>You can include the image filename, type, width, height, or other image
4864attribute by embedding special format character. See <a href="escape.html">Format and Print Image
4865Properties</a> for details of the percent escape codes.</p>
4866
4867<p>For example,</p>
4868
4869<pre>
4870-label "%m:%f %wx%h" bird.miff
4871</pre>
4872
4873<p>assigns an image label of <code>MIFF:bird.miff 512x480</code> to the
4874"<code>bird.miff</code>" image and whose width is 512 and height is 480, as it
4875is read in. If a <a href="command-line-options.html#label">+label</a> option was used instead, any
4876existing label present in the image would be used. You can remove all labels
4877from an image by assigning the empty string. </p>
4878
4879<p>A label is not drawn on the image, but is embedded in the image datastream
4880via <var>Label</var> tag or similar mechanism. If you want the label to be
4881visible on the image itself, use the <a href="command-line-options.html#draw">-draw</a> option, or
4882during the final processing in the creation of an image montage.</p>
4883
4884<p>If the first character of <var>string</var> is <var>@</var>, the image label is read from a file titled by the
4885remaining characters in the string. Labels in a file are literal, no embedded
4886formatting characters are recognized.</p>
4887
4888
4889<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05004890 <h3 class="magick-header"><a id="lat"></a>-lat <var>width</var><br />-lat <var>width</var>x<var>height</var>{<var>+-</var>}<var>offset</var>{<var>%</var>}</h3>
Cristy882d9f42015-10-29 16:48:39 -04004891</div>
4892
4893<p class="magick-description">perform local adaptive threshold.</p>
4894
4895<p>Adaptively threshold each pixel based on the value of pixels in a
4896surrounding window. If the current pixel is lighter than this average plus
4897the optional <code>offset</code>, then it is made white, otherwise it is made
4898black. Small variations in pixel values such as found in scanned documents
4899can be ignored if offset is positive. A negative offset will make it more
4900sensitive to those small variations. </p>
4901
4902<p>This is commonly used to threshold images with an uneven background. It is
4903based on the assumption that average color of the small window is the
4904the local background color, from which to separate the foreground color. </p>
4905
4906
4907<div style="margin: auto;">
4908 <h3 class="magick-header"><a id="layers"></a>-layers <var>method</var></h3>
4909</div>
4910
4911<p class="magick-description">handle multiple images forming a set of image layers or animation frames.</p>
4912
4913<p>Perform various image operation methods to a ordered sequence of images
4914which may represent either a set of overlaid 'image layers', a GIF disposal
4915animation, or a fully-'coalesced' animation sequence. </p>
4916
4917<table class="table table-condensed table-striped">
4918 <tbody>
4919 <tr>
4920 <th style="width: 8%">Method</th>
4921 <th>Description</th>
4922 </tr>
4923
4924 <tr>
4925 <td>compare-any</td>
4926 <td>Crop the second and later frames to the smallest rectangle
Cristy594d2772015-11-15 10:47:42 -05004927 that contains all the differences between the two images. No GIF <a
4928 href="command-line-options.html#dispose" >-dispose</a> methods are taken into account. </td>
Cristy882d9f42015-10-29 16:48:39 -04004929 </tr>
4930
Cristy594d2772015-11-15 10:47:42 -05004931 <tr><td></td><td>This exactly the same as the <a href="command-line-options.html#deconstruct"
4932 >-deconstruct</a> operator, and does not preserve animations normal
Cristy882d9f42015-10-29 16:48:39 -04004933 working, especially when animation used layer disposal methods such as
4934 '<code>Previous</code>' or '<code>Background</code>'. </td>
4935 </tr>
4936
4937 <tr>
4938 <td>compare-clear</td>
4939 <td>As '<code>compare-any</code>' but crop to the bounds of any
4940 opaque pixels which become transparent in the second frame. That is the
4941 smallest image needed to mask or erase pixels for the next frame. </td>
4942 </tr>
4943
4944 <tr>
4945 <td>compare-overlay</td>
4946 <td>As '<code>compare-any</code>' but crop to pixels that add
4947 extra color to the next image, as a result of overlaying color pixels.
4948 That is the smallest single overlaid image to add or change colors. </td>
4949 </tr>
4950
Cristy594d2772015-11-15 10:47:42 -05004951 <tr><td></td><td>This can be used with the <a href="command-line-options.html#compose" >-compose</a> alpha
Cristy882d9f42015-10-29 16:48:39 -04004952 composition method '<code>change-mask</code>', to reduce the image to
4953 just the pixels that need to be overlaid. </td>
4954 </tr>
4955
4956 <tr>
4957 <td>coalesce</td>
Cristy594d2772015-11-15 10:47:42 -05004958 <td>Equivalent to a call to the <a href="command-line-options.html#coalesce"
4959 >-coalesce</a> operator. Apply the layer disposal methods set in the
Cristy882d9f42015-10-29 16:48:39 -04004960 current image sequence to form a fully defined animation sequence, as
4961 it should be displayed. Effectively converting a GIF animation into a
4962 'film strip'-like animation. </td>
4963 </tr>
4964
4965 <tr>
4966 <td>composite</td>
4967 <td>Alpha Composition of two image lists, separated by a
4968 "<code>null:</code>" image, with the destination image list first, and
4969 the source images last. An image from each list are composited
4970 together until one list is finished. The separator image and source
4971 image lists are removed. </td>
4972 </tr>
4973
4974
4975 <tr><td></td>
Cristy594d2772015-11-15 10:47:42 -05004976 <td>The <a href="command-line-options.html#geometry" >-geometry</a> offset is adjusted according
4977 to <a href="command-line-options.html#gravity" >-gravity</a> in accordance of the virtual
4978 canvas size of the first image in each list. Unlike a normal <a
4979 href="command-line-options.html#composite" >-composite</a> operation, the canvas offset is also
Cristy882d9f42015-10-29 16:48:39 -04004980 added to the final composite positioning of each image. </td> </tr>
4981
4982 <tr><td></td>
4983 <td>If one of the image lists only contains one image, that image is
4984 applied to all the images in the other image list, regardless of which
4985 list it is. In this case it is the image meta-data of the list which
4986 preserved. </td>
4987 </tr>
4988
4989
4990 <tr>
4991 <td>dispose</td>
4992 <td>This like '<code>coalesce</code>' but shows the look of
4993 the animation after the layer disposal method has been applied, before
4994 the next sub-frame image is overlaid. That is the 'dispose' image that
Cristy594d2772015-11-15 10:47:42 -05004995 results from the application of the GIF <a href="command-line-options.html#dispose"
4996 >-dispose</a> method. This allows you to check what
Cristy882d9f42015-10-29 16:48:39 -04004997 is going wrong with a particular animation you may be developing.
4998 </td>
4999 </tr>
5000
5001 <tr>
5002 <td>flatten</td>
5003 <td>Create a canvas the size of the first images virtual
Cristy594d2772015-11-15 10:47:42 -05005004 canvas using the current <a href="command-line-options.html#background" >-background</a> color,
5005 and <a href="command-line-options.html#compose" >-compose</a> each image in turn onto that
Cristy882d9f42015-10-29 16:48:39 -04005006 canvas. Images falling outside that canvas is clipped. Final
5007 image will have a zero virtual canvas offset. </td>
5008 </tr>
5009
5010 <tr><td></td>
5011 <td>This usually used as one of the final 'image layering' operations
5012 overlaying all the prepared image layers into a final image. </td>
5013 </tr>
5014
5015 <tr><td></td>
5016 <td>For a single image this method can also be used to fillout a virtual
5017 canvas with real pixels, or to underlay an opaque color to remove
5018 transparency from an image.</td>
5019 </tr>
5020
5021
5022 <tr>
5023 <td>merge</td>
5024 <td>As 'flatten' method but merging all the given image
5025 layers to create a new layer image just large enough to hold all the
5026 image without clipping or extra space. The new images virtual offset
5027 will preserve the position of the new layer, even if this offset is
5028 negative. The virtual canvas size of the first image is preserved.
5029 </td>
5030 </tr>
5031
5032 <tr><td></td><td>Caution is advised when handling image layers with
5033 negative offsets as few image file formats handle them correctly.
Cristy594d2772015-11-15 10:47:42 -05005034 Following this operation method with <a href="command-line-options.html#repage" >+repage</a>
Cristy882d9f42015-10-29 16:48:39 -04005035 will remove the layer offset, and create an image in which all the
5036 overlaid image positions relative to each other is preserved, though
5037 not necessarily exactly where you specified them.
5038 </td>
5039 </tr>
5040
5041 <tr><td></td><td>See also 'trim-bounds' below which is closely related but
5042 without doing the'flatten' to merge the images together. </td>
5043 </tr>
5044
5045 <tr>
5046 <td>mosaic</td>
5047 <td>As 'flatten' method but expanding the initial canvas size
5048 of the first image in a positive direction only so as to hold all the
5049 image layers. However as a virtual canvas is 'locked' to the origin,
5050 by its own definition, image layers with a negative offsets will still
5051 become clipped by the top and left edges. See 'merge' or 'trim-bounds'
5052 if this could be a problem. </td>
5053
5054 </tr>
5055
5056 <tr><td></td><td>This method is commonly used to layout individual image
5057 using various offset but without knowing the final canvas size. The
5058 resulting image will, like 'flatten' not have any virtual offset, so
5059 can be saved to any image file format. </td>
5060 </tr>
5061
5062
5063 <tr>
5064 <td>optimize</td>
5065 <td>Optimize a coalesced animation, into GIF animation using
5066 a number of general techniques. This currently a short cut to
5067 apply both the '<code>optimize-frame</code>', and
5068 '<code>optimize-transparency</code>' methods but may be expanded to
5069 include other optimization methods as they are developed. </td>
5070 </tr>
5071
5072 <tr>
5073 <td>optimize-frame</td>
5074 <td>Optimize a coalesced animation, into GIF animation by
5075 reducing the number of pixels per frame as much as possible by
5076 attempting to pick the best layer disposal method to use, while ensuring
5077 the result will continue to animate properly. </td>
5078 </tr>
5079
5080 <tr><td></td><td> There is no guarantee that the best optimization is found.
5081 But then no reasonably fast GIF optimization algorithm can do this.
5082 However this does seem to do better than most other GIF frame
5083 optimizers seen. </td>
5084 </tr>
5085
5086 <tr>
5087 <td>optimize-plus</td>
5088 <td>As '<code>optimize-frame</code>' but attempt to improve the
5089 overall optimization by adding extra frames to the animation, without
5090 changing the final look or timing of the animation. The frames are
5091 added to attempt to separate the clearing of pixels from the
5092 overlaying of new additional pixels from one animation frame to the
5093 next. If this does not improve the optimization (for the next frame
5094 only), it will fall back to the results of the previous normal
5095 '<code>optimize-frame</code>' technique. </td>
5096 </tr>
5097
5098 <tr><td></td><td>There is the possibility that the change in the disposal
5099 style will result in a worsening in the optimization of later frames,
5100 though this is unlikely. In other words there no guarantee that it is
5101 better than the normal '<code>optimize-frame</code>' technique. For some
5102 animations however you can get a vast improvement in the final
5103 animation size. </td>
5104 </tr>
5105
5106 <tr>
5107 <td>optimize-transparency</td>
5108 <td>Given a GIF animation, replace any pixel in the sub-frame
5109 overlay images with transparency, if it does not change the resulting
Cristy594d2772015-11-15 10:47:42 -05005110 animation by more than the current <a href="command-line-options.html#fuzz" >-fuzz</a> factor.
Cristy882d9f42015-10-29 16:48:39 -04005111 </td>
5112 </tr>
5113
5114 <tr><td></td><td>This should allow a existing frame optimized GIF animation
5115 to compress into a smaller file size due to larger areas of one
5116 (transparent) color rather than a pattern of multiple colors repeating
5117 the current disposed image of the last frame. </td>
5118 </tr>
5119
5120 <tr>
5121 <td>remove-dups</td>
5122 <td>Remove (and merge time delays) of duplicate consecutive
5123 images, so as to simplify layer overlays of coalesced animations.
5124 </td>
5125 </tr>
5126
5127 <tr><td></td><td>Usually this a result of using a constant time delay
5128 across the whole animation, or after a larger animation was split into
5129 smaller sub-animations. The duplicate frames could also have been
5130 used as part of some frame optimization methods. </td>
5131 </tr>
5132
5133 <tr>
5134 <td>remove-zero</td>
5135 <td>Remove any image with a zero time delay, unless ALL the
5136 images have a zero time delay (and is not a proper timed animation, a
5137 warning is then issued). </td>
5138 </tr>
5139
5140 <tr><td></td><td>In a GIF animation, such images are usually frames which
5141 provide partial intermediary updates between the frames that are
5142 actually displayed to users. These frames are usually added for
5143 improved frame optimization in GIF animations. </td>
5144 </tr>
5145
5146 <tr>
5147 <td>trim-bounds</td>
5148 <td>Find the bounds of all the images in the current
5149 image sequence, then adjust the offsets so all images are contained on
5150 a minimal positive canvas. None of the image data is modified or
5151 merged, only the individual image virtual canvas size and offset.
5152 All the images is given the same canvas size, and and will have
5153 a positive offset, but will remain in the same position relative to
5154 each other. As a result of the minimal canvas size at least one image
5155 will touch every edge of that canvas. The image data touching those
5156 edges however may be transparent. </td>
5157 </tr>
5158
5159 <tr><td></td><td>The result is much like if you used 'merge' followed by a
Cristy594d2772015-11-15 10:47:42 -05005160 <a href="command-line-options.html#repage" >+repage</a> option, except that all the images
Cristy882d9f42015-10-29 16:48:39 -04005161 have been kept separate. If 'flatten' is used after using
5162 'trim-bounds' you will get the same result. </td>
5163 </tr>
5164
5165 </tbody>
5166</table>
5167
5168<p>To print a complete list of layer types, use <a href="command-line-options.html#list">-list layers</a>.</p>
5169
Cristy594d2772015-11-15 10:47:42 -05005170<p>The operators <a href="command-line-options.html#coalesce" >-coalesce</a>, <a href="command-line-options.html#deconstruct"
5171>-deconstruct</a>, <a href="command-line-options.html#flatten" >-flatten</a>, and <a href="command-line-options.html#mosaic"
5172>-mosaic</a> are only aliases for the above methods and may be depreciated in
5173the future. Also see <a href="command-line-options.html#page" >-page</a>, <a href="command-line-options.html#repage"
5174>-repage</a> operators, the <a href="command-line-options.html#compose" >-compose</a> setting, and the
5175GIF <a href="command-line-options.html#dispose" >-dispose</a> and <a href="command-line-options.html#delay" >-delay</a>
Cristy882d9f42015-10-29 16:48:39 -04005176settings. </p>
5177
5178
5179<div style="margin: auto;">
5180 <h3 class="magick-header"><a id="level"></a>-level <var>black_point</var>{,<var>white_point</var>}{<var>%</var>}{,<var>gamma</var>}</h3>
5181</div>
5182
5183<p class="magick-description">adjust the level of image channels.</p>
5184
5185<p>Given one, two or three values delimited with commas: black-point,
5186white-point, gamma (for example: 10,250,1.0 or 2%,98%,0.5). The black and
5187white points range from 0 to <var>QuantumRange</var>, or from 0 to
5188100%; if the white point is omitted it is set to (<var>QuantumRange</var> - black_point), so as to center contrast changes.
5189If a <code>%</code> sign is present anywhere in the string, both black and white
Cristy594d2772015-11-15 10:47:42 -05005190points are percentages of the full color range. Gamma will do a <a
5191href="command-line-options.html#gamma">-gamma</a> adjustment of the values. If it is omitted, the
Cristy882d9f42015-10-29 16:48:39 -04005192default of 1.0 (no gamma correction) is assumed.</p>
5193
5194<p>In normal usage (<code>-level</code>) the image values are stretched so that
5195the given '<code>black_point</code>' value in the original image is set to zero
5196(or black), while the given '<code>white_point</code>' value is set to <var>QuantumRange</var> (or white). This provides you with direct
5197contrast adjustments to the image. The '<code>gamma</code>' of the resulting
5198image will then be adjusted. </p>
5199
5200<p>From ImageMagick v6.4.1-9 using the plus form of the operator
5201(<code>+level</code>) or adding the special '!' flag anywhere in the argument
5202list, will cause the operator to do the reverse of the level adjustment. That
5203is a zero, or <var>QuantumRange</var> value (black, and white, resp.)
5204in the original image, is adjusted to the given level values, allowing you to
5205de-contrast, or compress the channel values within the image. The
5206'<code>gamma</code>' is adjusted before the level adjustment to de-contrast the
5207image is made. </p>
5208
5209<p>Only the channels defined by the current <a href="command-line-options.html#channel">-channel</a>
5210setting are adjusted (defaults to RGB color channels only), allowing you to
5211limit the effect of this operator. </p>
5212
5213<p>Please note that the transparency channel is treated as 'matte'
5214values (0 is opaque) and not as 'alpha' values (0 is transparent).</p>
5215
5216
5217<div style="margin: auto;">
5218 <h3 class="magick-header"><a id="level-colors"></a>-level-colors {<var>black_color</var>}{,}{<var>white_color</var>}</h3>
5219</div>
5220
5221<p class="magick-description">adjust the level of an image using the provided dash separated colors.</p>
5222
5223<p>This function is exactly like <a href="command-line-options.html#level">-level</a>, except that the
5224value value for each color channel is determined by the
5225'<code>black_color</code>' and '<code>white_color</code>' colors given (as
5226described under the <a href="command-line-options.html#fill">-fill</a> option). </p>
5227
5228<p>This effectually means the colors provided to <code>-level-colors</code>
5229is mapped to become 'black' and 'white' respectively, with all the other
5230colors linearly adjusted (or clipped) to match that change. Each channel is
5231adjusted separately using the channel values of the colors specified. </p>
5232
5233<p>On the other hand the plus form of the operator (<code>+level-colors</code>)
5234will map the image color 'black' and 'white' to the given colors
5235respectively, resulting in a gradient (de-contrasting) tint of the image to
Cristy769d8892016-01-19 18:11:14 -05005236those colors. This can also be used to convert a plain grayscale image into a
Cristy882d9f42015-10-29 16:48:39 -04005237one using the gradient of colors specified. </p>
5238
5239<p>By supplying a single color with a comma separator either before or after
5240that color, will just replace the respective 'black' or 'white' point
5241respectively. But if no comma separator is provided, the given color is
5242used for both the black and white color points, making the operator either
5243threshold the images around that color (- form) or set all colors to that
5244color (+ form). </p>
5245
5246
5247<div style="margin: auto;">
5248 <h3 class="magick-header"><a id="limit"></a>-limit <var>type value</var></h3>
5249</div>
5250
5251<p class="magick-description">Set the pixel cache resource limit.</p>
5252
Cristye09ed312016-03-06 08:07:39 -05005253<p>Choose from: <code>width</code>, <code>height</code>, <code>area</code>, <code>memory</code>, <code>map</code>, <code>disk</code>, <code>file</code>, <code>thread</code>, <code>throttle</code>, or <code>time</code>.</p>
Cristy882d9f42015-10-29 16:48:39 -04005254
5255<p>The value for <code>file</code> is in number of files. The other limits are
5256in bytes. Define arguments for the memory, map, area, and disk resource limits
5257with SI prefixes (.e.g 100MB).</p>
5258
5259<p>By default the limits are 768 files, 3GB of image area, 1.5GiB memory, 3GiB
5260memory map, and 18.45EB of disk. These limits are adjusted relative to the
5261available resources on your computer if this information is available. When
5262any limit is reached, ImageMagick fails in some fashion but attempts to take
5263compensating actions, if possible. For example, the following limits
5264memory:</p>
5265
5266<pre>
5267-limit memory 32MiB -limit map 64MiB
5268</pre>
5269
5270<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>
5271
5272<pre>
Cristy594d2772015-11-15 10:47:42 -05005273-> identify -list resource
Cristy882d9f42015-10-29 16:48:39 -04005274Resource limits:
5275 Width: 100MP
5276 Height: 100MP
5277 Area: 25.181GB
5278 Memory: 11.726GiB
5279 Map: 23.452GiB
5280 Disk: unlimited
5281 File: 768
5282 Thread: 12
5283 Throttle: 0
5284 Time: unlimited
5285</pre>
5286
5287<p>Requests for pixel storage to keep intermediate images are satisfied by one
5288of three resource categories: in-memory pool, memory-mapped files pool, and
Cristy594d2772015-11-15 10:47:42 -05005289disk pool (in that order) depending on the <a href="command-line-options.html#limit">&#x2011;limit</a> settings
Cristy882d9f42015-10-29 16:48:39 -04005290and whether the system honors a resource request. If the total size of
5291allocated pixel storage in the given pool reaches the corresponding limit, the
5292request is passed to the next pool. Additionally, requests that exceed the
5293<code>area</code> limit automagically are allocated on disk.</p>
5294
5295<p>To illustrate how ImageMagick utilizes resource limits, consider a typical
5296image resource request. First, ImageMagick tries to allocate the pixels in
5297memory. The request might be denied if the resource request exceeds the
5298<code>memory</code> limit or if the system does not honor the request. If
5299a memory request is not honored, the pixels are allocated to disk and the file
5300is memory-mapped. However, if the allocation request exceeds the
5301<code>map</code> limit, the resource allocation goes to disk. In all cases, if
5302the resource request exceeds the <code>area</code> limit, the pixels are
5303automagically cached to disk. If the disk has a hard limit, the program
5304fails.</p>
5305
5306<p>In most cases you simply do not need to concern yourself with resource
5307limits. ImageMagick chooses reasonable defaults and most images do not tax
5308your computer resources. Where limits do come in handy is when you process
5309images that are large or on shared systems where ImageMagick can consume all
5310or most of the available memory. In this case, the ImageMagick workflow slows
5311other processes or, in extreme cases, brings the system to a halt. Under
5312these circumstances, setting limits give some assurances that the ImageMagick
5313workflow will not interfere with other concurrent uses of the computer. For
5314example, assume you have a web interface that processes images uploaded from
5315the Internet. To assure ImageMagick does not exceed 10MiB of memory you can
5316simply set the area limit to 10MiB:</p>
5317
5318<pre>
5319-limit area 10MB
5320</pre>
5321
5322<p>Now whenever a large image is processed, the pixels are automagically
5323cached to disk instead of memory. This of course implies that large images
5324typically process very slowly, simply because pixel processing in memory can
5325be an order of magnitude faster than on disk. Because your web site users
5326might inadvertently upload a huge image to process, you should set a disk
5327limit as well:</p>
5328
5329<pre>
5330-limit area 10MB -limit disk 500MB
5331</pre>
5332
5333<p>Here ImageMagick stops processing if an image requires more than 500MB of disk storage.</p>
5334
5335<p>In addition to command-line resource limit option, resources can be set
Cristy594d2772015-11-15 10:47:42 -05005336with <a href="resources.html#environment" >environment variables</a>. Set the
Cristy882d9f42015-10-29 16:48:39 -04005337environment variables <code>MAGICK_AREA_LIMIT</code>,
5338<code>MAGICK_DISK_LIMIT</code>, <code>MAGICK_FILE_LIMIT</code>,
5339<code>MAGICK_MEMORY_LIMIT</code>, <code>MAGICK_MAP_LIMIT</code>,
5340<code>MAGICK_THREAD_LIMIT</code>, <code>MAGICK_TIME_LIMIT</code> for limits of
5341image area, disk space, open files, heap memory, memory map, number of threads
5342of execution, and maximum elapsed time in seconds respectively.</p>
5343
5344<p> Inquisitive users can try adding <a href="command-line-options.html#debug">-debug cache</a> to
5345their commands and then scouring the generated output for references to the
5346pixel cache, in order to determine how the pixel cache was allocated and how
5347resources were consumed. Advanced Unix/Linux users can pipe that output
5348through <code>grep memory|open|destroy|disk</code> for more readable sifting.
5349</p>
5350
5351<p>For more about ImageMagick's use of resources, see the section <b>Cache
Cristy594d2772015-11-15 10:47:42 -05005352Storage and Resource Requirements</b> on the <a href="architecture.html#cache
5353">Architecture</a> page. </p>
Cristy882d9f42015-10-29 16:48:39 -04005354
5355<div style="margin: auto;">
Cristy769d8892016-01-19 18:11:14 -05005356 <h3 class="magick-header"><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>}</h3>
Cristy882d9f42015-10-29 16:48:39 -04005357</div>
5358
5359<p class="magick-description">Linear with saturation stretch.</p>
5360
Cristy594d2772015-11-15 10:47:42 -05005361<p>This is very similar to <a href="command-line-options.html#contrast-stretch" >-contrast-stretch</a>,
Cristy882d9f42015-10-29 16:48:39 -04005362and uses a 'histogram bin' to determine the range of color values that needs to
Cristy594d2772015-11-15 10:47:42 -05005363be stretched. However it then stretches those colors using the <a
5364href="command-line-options.html#level" >-level</a> operator.</p>
Cristy882d9f42015-10-29 16:48:39 -04005365
5366<p>As such while the initial determination may have 'binning' round off
5367effects, the image colors are stretched mathematically, rather than using the
5368histogram bins. This makes the operator more accurate. </p>
5369
Cristy594d2772015-11-15 10:47:42 -05005370<p>note however that a <a href="command-line-options.html#linear-stretch" >-linear-stretch</a> of
Cristy882d9f42015-10-29 16:48:39 -04005371'<code>0</code>' does nothing, while a value of '<code>1</code>' does a near
5372perfect stretch of the color range. </p>
5373
Cristy594d2772015-11-15 10:47:42 -05005374<p>See also <a href="command-line-options.html#auto-level" >-auto-level</a> for a 'perfect'
Cristy882d9f42015-10-29 16:48:39 -04005375normalization of mathematical images. </p>
5376
5377<p>This operator is under review for re-development. </p>
5378
5379
5380<div style="margin: auto;">
5381 <h3 class="magick-header"><a id="linewidth"></a>-linewidth</h3>
5382</div>
5383
5384<p class="magick-description">the line width for subsequent draw operations.</p>
5385
5386<div style="margin: auto;">
5387 <h3 class="magick-header"><a id="liquid-rescale"></a>-liquid-rescale <var>geometry</var></h3>
5388</div>
5389
5390<p class="magick-description">rescale image with seam-carving.</p>
5391
5392<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
5393
5394<div style="margin: auto;">
5395 <h3 class="magick-header"><a id="list"></a>-list <var>type</var></h3>
5396</div>
5397
5398<p class="magick-description">Print a list of supported arguments for various options or settings. Choose from these list types:</p>
5399
5400<pre class="pre-scrollable">
5401Align
5402Alpha
5403Boolean
5404Cache
5405Channel
5406Class
5407ClipPath
5408Coder
5409Color
5410Colorspace
5411Command
5412Complex
5413Compose
5414Compress
5415Configure
5416DataType
5417Debug
5418Decoration
5419Delegate
5420Direction
5421Dispose
5422Distort
5423Dither
5424Endian
5425Evaluate
5426FillRule
5427Filter
5428Font
5429Format
5430Function
5431Gravity
5432Intensity
5433Intent
5434Interlace
5435Interpolate
5436Kernel
5437Layers
5438LineCap
5439LineJoin
5440List
5441Locale
5442LogEvent
5443Log
5444Magic
5445Method
5446Metric
5447Mime
5448Mode
5449Morphology
5450Module
5451Noise
5452Orientation
5453PixelIntensity
5454Policy
5455PolicyDomain
5456PolicyRights
5457Preview
5458Primitive
5459QuantumFormat
5460Resource
5461SparseColor
5462Statistic
5463Storage
5464Stretch
5465Style
5466Threshold
5467Type
5468Units
5469Validate
5470VirtualPixel
5471</pre>
5472
5473<p>These lists vary depending on your version of ImageMagick. Use "<code>-list
5474list</code>" to get a complete listing of all the "<code>-list</code>" arguments
5475available:</p>
5476
5477<pre>
5478identify -list list
5479</pre>
5480
5481<div style="margin: auto;">
5482 <h3 class="magick-header"><a id="log"></a>-log <var>string</var></h3>
5483</div>
5484
5485<p class="magick-description">Specify format for debug log.</p>
5486
Cristy594d2772015-11-15 10:47:42 -05005487<p>This option specifies the format for the log printed when the <a
5488href="command-line-options.html#debug">-debug</a> option is active.</p>
Cristy882d9f42015-10-29 16:48:39 -04005489
5490<p>You can display the following components by embedding special format
5491characters:</p>
5492
5493<dl class="dl-horizontal">
5494<dt>%d</dt><dd>domain</dd>
5495<dt>%e</dt><dd>event</dd>
5496<dt>%f</dt><dd>function</dd>
5497<dt>%l</dt><dd>line</dd>
5498<dt>%m</dt><dd>module</dd>
5499<dt>%p</dt><dd>process ID</dd>
5500<dt>%r</dt><dd>real CPU time</dd>
5501<dt>%t</dt><dd>wall clock time</dd>
5502<dt>%u</dt><dd>user CPU time</dd>
5503<dt>%%</dt><dd>percent sign</dd>
5504<dt>\n</dt><dd>newline</dd>
5505<dt>\r</dt><dd>carriage return</dd>
5506</dl>
5507
5508<p>For example:</p>
5509
5510<pre>
5511convert -debug coders -log "%u %m:%l %e" in.gif out.png
5512</pre>
5513
5514<p>The default behavior is to print all of the components.</p>
5515
5516<div style="margin: auto;">
5517 <h3 class="magick-header"><a id="loop"></a>-loop <var>iterations</var></h3>
5518</div>
5519
5520<p class="magick-description">add Netscape loop extension to your GIF animation.</p>
5521
5522<p>Set iterations to zero to repeat the animation an infinite number of times,
5523otherwise the animation repeats itself up to <var>iterations</var>
5524times.</p>
5525
5526<div style="margin: auto;">
5527 <h3 class="magick-header"><a id="lowlight-color"></a>-lowlight-color <var>color</var></h3>
5528</div>
5529
5530<p class="magick-description">when comparing images, de-emphasize pixel differences with this color.</p>
5531
5532<div style="margin: auto;">
5533 <h3 class="magick-header"><a id="magnify"></a>-magnify</h3>
5534</div>
5535
5536<p class="magick-description">double the size of the image with pixel art scaling.</p>
5537
5538
5539<div style="margin: auto;">
5540 <h3 class="magick-header"><a id="map"></a>-map <var>type</var></h3>
5541</div>
5542
5543<p class="magick-description">Display image using this <var>type</var>.</p>
5544
5545<p>Choose from these <var>Standard Colormap</var> types:</p>
5546
5547<pre>
5548best
5549default
5550gray
5551red
5552green
5553blue
5554</pre>
5555
5556<p>The <var>X server</var> must support the <var>Standard
5557Colormap</var> you choose, otherwise an error occurs. Use <code>list</code> as
5558the type and <code>display</code> searches the list of colormap types in
5559<code>top-to-bottom</code> order until one is located. See <var>xstdcmap(1)</var> for one way of creating Standard Colormaps.</p>
5560
5561
5562<div style="margin: auto;">
5563 <h3 class="magick-header"><a id="map_stream_"></a>-map <var>components</var></h3>
5564</div>
5565
5566<p class="magick-description">pixel map.</p>
5567
5568<p>Here are the valid components of a map:</p>
5569
5570<dl class="dl-horizontal">
5571<dt>r</dt><dd> red pixel component</dd>
5572<dt>g</dt><dd> green pixel component</dd>
5573<dt>b</dt><dd> blue pixel component</dd>
5574<dt>a</dt><dd> alpha pixel component (0 is transparent)</dd>
5575<dt>o</dt><dd> opacity pixel component (0 is opaque)</dd>
5576<dt>i</dt><dd> grayscale intensity pixel component</dd>
5577<dt>c</dt><dd> cyan pixel component</dd>
5578<dt>m</dt><dd> magenta pixel component</dd>
5579<dt>y</dt><dd> yellow pixel component</dd>
5580<dt>k</dt><dd> black pixel component</dd>
5581<dt>p</dt><dd> pad component (always 0)</dd>
5582</dl>
5583
5584<p>You can specify as many of these components as needed in any order (e.g.
5585bgr). The components can repeat as well (e.g. rgbr).</p>
5586
5587
5588<div style="margin: auto;">
5589 <h3 class="magick-header"><a id="mask"></a>-mask
5590<var>filename</var></h3>
5591</div>
5592
5593<p class="magick-description">Prevent updates to image pixels specified by the mask.</p>
5594
5595<p>This the same as using a mask used for composite masking operations, with
5596grayscale values causing blended updates of the image the mask is attached to.
5597</p>
5598
5599<p>Use <a href="command-line-options.html#mask">+mask</a> to remove the mask from images.</p>
5600
5601<p>Also see <a href="command-line-options.html#clip-mask">-clip-mask</a> which work in the same way,
5602but with strict boolean masking. </p>
5603
5604<div style="margin: auto;">
5605 <h3 class="magick-header"><a id="mattecolor"></a>-mattecolor <var>color</var></h3>
5606</div>
5607
5608<p class="magick-description">Specify the color to be used with the <a href="command-line-options.html#frame">-frame</a> option.</p>
5609
5610<p>The color is specified using the format described under the <a href="command-line-options.html#fill">-fill</a> option.</p>
5611
Cristy594d2772015-11-15 10:47:42 -05005612<p>The default matte color is <code>#BDBDBD</code>, <span
5613style="background-color: #bdbdbd;">this shade of gray</span>.</p>
Cristy882d9f42015-10-29 16:48:39 -04005614
5615<div style="margin: auto;">
5616 <h3 class="magick-header"><a id="maximum"></a>-maximum</h3>
5617</div>
5618
5619<p class="magick-description">return the maximum intensity of an image sequence.</p>
5620
5621<p>Select the 'maximum' value from all the surrounding pixels. </p>
5622
Cristy594d2772015-11-15 10:47:42 -05005623<p>This is legacy option from the <a href="command-line-options.html#statistic" >method</a> of the same
Cristy882d9f42015-10-29 16:48:39 -04005624name. </p>
5625
5626<div style="margin: auto;">
5627 <h3 class="magick-header"><a id="median"></a>-median <var>geometry</var></h3>
5628</div>
5629
5630<p class="magick-description">apply a median filter to the image.</p>
5631
5632<p>Select the 'middle' value from all the surrounding pixels. </p>
5633
Cristy594d2772015-11-15 10:47:42 -05005634<p>This is legacy option from the <a href="command-line-options.html#statistic" >method</a> of the same
Cristy882d9f42015-10-29 16:48:39 -04005635name. </p>
5636
5637<div style="margin: auto;">
Cristy769d8892016-01-19 18:11:14 -05005638 <h3 class="magick-header"><a id="mean-shift"></a>-mean-shift <var>width</var>x<var>height</var>{<var>+distance</var>{%}</h3>
Cristy882d9f42015-10-29 16:48:39 -04005639</div>
5640
5641<p class="magick-description">image noise removal and color reduction/segmentation (e.g. -mean-shift 7x7+10%).</p>
5642
5643<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>
5644
5645<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 <var>radius=sqrt((width-1)(height-1)/4)</var> 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>
5646
5647<div style="margin: auto;">
5648 <h3 class="magick-header"><a id="metric"></a>-metric <var>type</var></h3>
5649</div>
5650
5651<p class="magick-description">Output to STDERR a measure of the differences between images according to the <var>type</var> given metric.</p>
5652
5653<p>Choose from:</p>
5654
5655<dl class="dl-horizontal">
5656<dt>AE</dt><dd> absolute error count, number of different pixels (-fuzz effected)</dd>
5657<dt>FUZZ</dt><dd> mean color distance</dd>
5658<dt>MAE</dt><dd> mean absolute error (normalized), average channel error distance</dd>
5659<dt>MEPP</dt><dd> mean error per pixel (normalized mean error, normalized peak error)</dd>
5660<dt>MSE</dt><dd> mean error squared, average of the channel error squared</dd>
5661<dt>NCC</dt><dd> normalized cross correlation</dd>
5662<dt>PAE</dt><dd> peak absolute (normalized peak absolute)</dd>
5663<dt>PHASH</dt><dd> perceptual hash</dd>
5664<dt>PSNR</dt><dd> peak signal to noise ratio</dd>
5665<dt>RMSE</dt><dd> root mean squared (normalized root mean squared)</dd>
5666</dl>
5667
5668<p>Control the '<code>AE</code>', or absolute count of pixels that are different,
Cristy594d2772015-11-15 10:47:42 -05005669with the <a href="command-line-options.html#fuzz" >-fuzz</a> factor (ignore pixels which
Cristy882d9f42015-10-29 16:48:39 -04005670only changed by a small amount). Use '<code>PAE</code>' to find the
Cristy594d2772015-11-15 10:47:42 -05005671size of the <a href="command-line-options.html#fuzz" >-fuzz</a> factor needed to make all pixels
Cristy882d9f42015-10-29 16:48:39 -04005672'similar', while '<code>MAE</code>' determines the factor needed
5673for about half the pixels to be similar. </p>
5674
5675<p>The '<code>MEPP</code>' metric returns three different metrics
5676('<code>MAE</code>', '<code>MAE</code>' normalized, and '<code>PAE</code>'
5677normalized) from a single comparison run. </p>
5678
5679<p>To print a complete list of metrics, use the <a href="command-line-options.html#list">-list
5680metric</a> option.</p>
5681
5682
5683<div style="margin: auto;">
5684 <h3 class="magick-header"><a id="minimum"></a>-minimum</h3>
5685</div>
5686
5687<p class="magick-description">return the minimum intensity of an image sequence.</p>
5688
5689<p>Select the 'minimal' value from all the surrounding pixels. </p>
5690
Cristy594d2772015-11-15 10:47:42 -05005691<p>This is legacy option from the <a href="command-line-options.html#statistic" >method</a> of the same
Cristy882d9f42015-10-29 16:48:39 -04005692name. </p>
5693
5694
5695
5696<div style="margin: auto;">
5697 <h3 class="magick-header"><a id="mode"></a>-mode <var>geometry</var></h3>
5698</div>
5699
5700<p class="magick-description">make each pixel the \'predominant color\' of the neighborhood.'</p>
5701
5702<div style="margin: auto;">
5703 <h3 class="magick-header">-mode <var>value</var></h3>
5704</div>
5705
5706<p class="magick-description">Mode of operation.</p>
5707
5708<p>Choose the <var>value</var> from these styles: <code>Frame,
5709Unframe, or Concatenate</code></p>
5710
Cristy594d2772015-11-15 10:47:42 -05005711<p>Use the <a href="command-line-options.html#list" >-list</a> option with a '<code>Mode</code>' argument
5712for a list of <a href="command-line-options.html#mode" >-mode</a> arguments available in your
Cristy882d9f42015-10-29 16:48:39 -04005713ImageMagick installation.</p>
5714
5715
5716<div style="margin: auto;">
5717 <h3 class="magick-header"><a id="modulate"></a>-modulate <var>brightness</var>[,<var>saturation</var>,<var>hue</var>]</h3>
5718</div>
5719
5720<p class="magick-description">Vary the <var>brightness</var>, <var>saturation</var>, and <var>hue</var> of an image.</p>
5721
5722<p>The arguments are given as a percentages of variation. A value of 100 means
5723no change, and any missing values are taken to mean 100.</p>
5724
5725<p>The <var>brightness</var> is a multiplier of the overall
5726brightness of the image, so 0 means pure black, 50 is half as bright, 200 is
5727twice as bright. To invert its meaning <a href="command-line-options.html#negate">-negate</a> the image
5728before and after. </p>
5729
5730<p>The <var>saturation</var> controls the amount of color in an
5731image. For example, 0 produce a grayscale image, while a large value such as
5732200 produce a very colorful, 'cartoonish' color.</p>
5733
5734<p>The <var>hue</var> argument causes a "rotation" of the colors
5735within the image by the amount specified. For example, 50 results in
5736a counter-clockwise rotation of 90, mapping red shades to purple, and so on.
5737A value of either 0 or 200 results in a complete 180 degree rotation of the
5738image. Using a value of 300 is a 360 degree rotation resulting in no change to
5739the original image. </p>
5740
5741<p>For example, to increase the color brightness by 20% and decrease the color
Cristy594d2772015-11-15 10:47:42 -05005742saturation by 10% and leave the hue unchanged, use <a
5743href="command-line-options.html#modulate">-modulate 120,90</a>.</p>
Cristy882d9f42015-10-29 16:48:39 -04005744
Cristy594d2772015-11-15 10:47:42 -05005745<p>Use <a href="command-line-options.html#set">-set</a> attribute of '<code
5746>option:modulate:colorspace</code>' to specify which colorspace to
Cristy882d9f42015-10-29 16:48:39 -04005747modulate. 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>
5748
5749<pre>
5750convert image.png -set option:modulate:colorspace hsb -modulate 120,90 modulate.png
5751</pre>
5752
5753<div style="margin: auto;">
5754 <h3 class="magick-header"><a id="moments"></a>-moments</h3>
5755</div>
5756
5757<p class="magick-description">report image moments and perceptual hash.</p>
5758
5759
5760<div style="margin: auto;">
5761 <h3 class="magick-header"><a id="monitor"></a>-monitor</h3>
5762</div>
5763
5764<p class="magick-description">monitor progress.</p>
5765
5766
5767<div style="margin: auto;">
5768 <h3 class="magick-header"><a id="monochrome"></a>-monochrome</h3>
5769</div>
5770
5771<p class="magick-description">transform the image to black and white.</p>
5772
5773<div style="margin: auto;">
5774 <h3 class="magick-header"><a id="morph"></a>-morph <var>frames</var></h3>
5775</div>
5776
5777<p class="magick-description">morphs an image sequence.</p>
5778
5779<p>Both the image pixels and size are linearly interpolated to give the
5780appearance of a metamorphosis from one image to the next, over all the images
Cristy594d2772015-11-15 10:47:42 -05005781in the current image list. The added images are the equivalent of a <a
5782href="command-line-options.html#blend">-blend</a> composition. The <var>frames</var>
Cristy882d9f42015-10-29 16:48:39 -04005783argument determine how many images to interpolate between each image. </p>
5784
5785
5786<div style="margin: auto;">
5787 <h3 class="magick-header"><a id="morphology"></a>-morphology</h3>
5788 <h3 class="magick-header">-morphology <var>method</var> <var>kernel</var></h3>
5789</div>
5790
5791<p class="magick-description">apply a morphology method to the image.</p>
5792
Cristy594d2772015-11-15 10:47:42 -05005793<p>Until I get around to writing an option summary for this, see <a
5794href="http://www.imagemagick.org/Usage/morphology/" >IM Usage Examples,
Cristy882d9f42015-10-29 16:48:39 -04005795Morphology</a>. </p>
5796
5797
5798<div style="margin: auto;">
5799 <h3 class="magick-header"><a id="mosaic"></a>-mosaic</h3>
5800</div>
5801
Cristy594d2772015-11-15 10:47:42 -05005802<p class="magick-description">an simple alias for the <a href="command-line-options.html#layers" >-layers</a> method "mosaic"</p>
Cristy882d9f42015-10-29 16:48:39 -04005803
5804
5805<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05005806 <h3 class="magick-header"><a id="motion-blur"></a>-motion-blur <var>radius</var><br />-motion-blur <var>radius</var>x<var>sigma</var>+<var>angle</var></h3>
Cristy882d9f42015-10-29 16:48:39 -04005807</div>
5808
5809<p class="magick-description">simulate motion blur.</p>
5810
5811<p>Blur with the given radius, standard deviation (sigma), and angle. The
5812angle given is the angle toward which the image is blurred. That is the
5813direction people would consider the object is coming from. </p>
5814
5815<p>Note that the blur is not uniform distribution, giving the motion a
5816definite sense of direction of movement. </p>
5817
5818<p>The <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting will determine how
5819pixels which are outside the image proper are blurred into the final result.
5820</p>
5821
5822<div style="margin: auto;">
5823 <h3 class="magick-header"><a id="name"></a>-name</h3>
5824</div>
5825
5826<p class="magick-description">name an image.</p>
5827<div style="margin: auto;">
5828 <h3 class="magick-header"><a id="negate"></a>-negate</h3>
5829</div>
5830
5831<p class="magick-description">replace each pixel with its complementary color.</p>
5832
5833<p>The red, green, and blue intensities of an image are negated. White becomes
5834black, yellow becomes blue, etc. Use <a href="command-line-options.html#negate">+negate</a> to only
5835negate the grayscale pixels of the image.</p>
5836
5837<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05005838 <h3 class="magick-header"><a id="noise"></a>-noise <var>geometry</var><br/>
Cristy882d9f42015-10-29 16:48:39 -04005839 +noise <var>type</var></h3>
5840</div>
5841
5842<p class="magick-description">Add or reduce noise in an image.</p>
5843
5844<p>The principal function of noise peak elimination filter is to smooth the
5845objects within an image without losing edge information and without creating
5846undesired structures. The central idea of the algorithm is to replace a pixel
5847with its next neighbor in value within a pixel window, if this pixel has been
5848found to be noise. A pixel is defined as noise if and only if this pixel is
5849a maximum or minimum within the pixel window.</p>
5850
5851<p>Use <code><a href="command-line-options.html#noise">-noise</a> <var>radius</var></code> to
5852specify the width of the neighborhood when reducing noise. This is equivalent
Cristy594d2772015-11-15 10:47:42 -05005853to using a <code><a href="command-line-options.html#statistic" >-statistic</a> NonPeak</code> operation,
Cristy882d9f42015-10-29 16:48:39 -04005854which should be used in preference.</p>
5855
5856<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
5857types:</p>
5858
5859<pre>
5860Gaussian
5861Impulse
5862Laplacian
5863Multiplicative
5864Poisson
5865Random
5866Uniform
5867</pre>
5868
Cristy594d2772015-11-15 10:47:42 -05005869<p>The amount of noise added can be controlled by the <code><a
5870href="command-line-options.html#attenuate" >-attenuate</a></code> setting. If unset the value is
Cristy882d9f42015-10-29 16:48:39 -04005871equivalent to 1.0, or a maximum noise addition.</p>
5872
5873<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>
5874
5875<p>To print a complete list of noises, use the <a href="command-line-options.html#list">-list noise</a> option.</p>
5876
5877<p>Also see the <a href="command-line-options.html#evaluate">-evaluate</a> noise functions that allows
5878the use of a controlling value to specify the amount of noise that should be
5879added to an image. </p>
5880
5881
5882<div style="margin: auto;">
5883 <h3 class="magick-header"><a id="normalize"></a>-normalize</h3>
5884</div>
5885
5886<p class="magick-description">Increase the contrast in an image by <var>stretching</var> the range of intensity values.</p>
5887
5888<p>The intensity values are stretched to cover the entire range of possible
5889values. While doing so, black-out at most <var>2%</var> of the pixels and
5890white-out at most <var>1%</var> of the pixels.</p>
5891
Cristy594d2772015-11-15 10:47:42 -05005892<p>Note that as of ImageMagick 6.4.7-0, <a href="command-line-options.html#normalize" >-normalize</a>
5893is equivalent to <a href="command-line-options.html#contrast-stretch" >-contrast-stretch 2%x1%</a>.
5894(Before this version, it was equivalent to <a href="command-line-options.html#contrast-stretch"
5895>-contrast-stretch 2%x99%</a>).</p>
Cristy882d9f42015-10-29 16:48:39 -04005896
Cristy769d8892016-01-19 18:11:14 -05005897<p>All the channels are normalized in concert by the same amount so as to
Cristy594d2772015-11-15 10:47:42 -05005898preserve color integrity, when the default <a href="command-line-options.html#channel" >+channel</a>
5899setting is in use. Specifying any other <a href="command-line-options.html#channel" >-channel</a>
Cristy882d9f42015-10-29 16:48:39 -04005900setting will normalize the RGB channels independently.</p>
5901
Cristy594d2772015-11-15 10:47:42 -05005902<p>See <a href="command-line-options.html#contrast-stretch" >-contrast-stretch</a> for more details.
5903Also see <a href="command-line-options.html#auto-level" >-auto-level</a> for a 'perfect' normalization
Cristy882d9f42015-10-29 16:48:39 -04005904that is better suited to mathematically generated images. </p>
5905
5906<p>This operator is under review for re-development. </p>
5907
5908
5909<div style="margin: auto;">
5910 <h3 class="magick-header"><a id="opaque"></a>-opaque <var>color</var></h3>
5911</div>
5912
5913<p class="magick-description">change this color to the fill color within the image.</p>
5914
5915<p>The <var>color</var> argument is defined using the format
Cristy594d2772015-11-15 10:47:42 -05005916described under the <a href="command-line-options.html#fill" >-fill</a> option. The <a href="command-line-options.html#fuzz"
5917>-fuzz</a> setting can be used to match and replace colors similar to the one
Cristy882d9f42015-10-29 16:48:39 -04005918given.</p>
5919
5920<p>Use <a href="command-line-options.html#opaque">+opaque</a> to paint any pixel that does not match
5921the target color. </p>
5922
5923<p>The <a href="command-line-options.html#transparent">-transparent</a> operator is exactly the same
Cristy594d2772015-11-15 10:47:42 -05005924as <a href="command-line-options.html#opaque" >-opaque</a> but replaces the matching color with
Cristy882d9f42015-10-29 16:48:39 -04005925transparency rather than the current <a href="command-line-options.html#fill">-fill</a> color setting.
5926To ensure that it can do this it also ensures that the image has an alpha
Cristy594d2772015-11-15 10:47:42 -05005927channel enabled, as per "<code><a href="command-line-options.html#alpha" >-alpha</a> set</code>", for
5928the new transparent colors, and does not require you to modify the <a
5929href="command-line-options.html#channel">-channel</a> to enable alpha channel handling. </p>
Cristy882d9f42015-10-29 16:48:39 -04005930
5931
5932<div style="margin: auto;">
5933 <h3 class="magick-header"><a id="ordered-dither"></a>-ordered-dither <var>threshold_map</var>{,<var>level</var>...}</h3>
5934</div>
5935
5936<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
5937given number of <var>levels</var> per color channel.</p>
5938
5939<p>You can choose from these standard threshold maps:</p>
5940
5941<pre class="pre-scrollable">
5942threshold 1x1 Threshold 1x1 (non-dither)
5943checks 2x1 Checkerboard 2x1 (dither)
5944o2x2 2x2 Ordered 2x2 (dispersed)
5945o3x3 3x3 Ordered 3x3 (dispersed)
5946o4x4 4x4 Ordered 4x4 (dispersed)
5947o8x8 8x8 Ordered 8x8 (dispersed)
5948h3x4a 4x1 Halftone 4x4 (angled)
5949h6x6a 6x1 Halftone 6x6 (angled)
5950h8x8a 8x1 Halftone 8x8 (angled)
5951h3x4o Halftone 4x4 (orthogonal)
5952h6x6o Halftone 6x6 (orthogonal)
5953h8x8o Halftone 8x8 (orthogonal)
5954h36x16o Halftone 16x16 (orthogonal)
5955c5x5b c5x5 Circles 5x5 (black)
5956c5x5w Circles 5x5 (white)
5957c6x6b c6x6 Circles 6x6 (black)
5958c6x6w Circles 6x6 (white)
5959c7x7b c7x7 Circles 7x7 (black)
5960c7x7w Circles 7x7 (white)
5961</pre>
5962
5963<p> The <code>threshold</code> generated a simple 50% threshold of the image.
Cristy594d2772015-11-15 10:47:42 -05005964This could be used with <var >level</var> to do the equivalent of <a
5965href="command-line-options.html#posterize" >-posterize</a> to reduce an image to basic primary colors.
Cristy882d9f42015-10-29 16:48:39 -04005966</p>
5967
5968<p>The <code>checks</code> pattern produces a 3 level checkerboard dither
5969pattern. That is a grayscale will become a pattern of solid black, solid
5970white, and mid-tone colors into a checkerboard pattern of black and white.
5971</p>
5972
Cristy594d2772015-11-15 10:47:42 -05005973<p>You can define your own <var >threshold map</var> for ordered
Cristy882d9f42015-10-29 16:48:39 -04005974dithering and halftoning your images, in either personal or system
Cristy594d2772015-11-15 10:47:42 -05005975<code>thresholds.xml</code> XML file. See <a href="resources.html" >Resources</a>
Cristy882d9f42015-10-29 16:48:39 -04005976for more details of configuration files. </p>
5977
5978<p>To print a complete list of the thresholds that have been defined, use the
Cristy594d2772015-11-15 10:47:42 -05005979<a href="command-line-options.html#list" >-list threshold</a> option.</p>
Cristy882d9f42015-10-29 16:48:39 -04005980
5981<p>Note that at this time the same threshold dithering map is used for all
5982color channels, no attempt is made to offset or rotate the map for different
5983channels is made, to create an offset printing effect. Also as the maps are
5984simple threshold levels, the halftone and circle maps will create incomplete
5985circles along the edges of a colored area. Also all the effects are purely
5986on/off boolean effects, without anti-aliasing to make the circles smooth
5987looking. Large dots can be made to look better with a small amount of blurring
5988after being created. </p>
5989
5990
5991<div style="margin: auto;">
5992 <h3 class="magick-header"><a id="orient"></a>-orient <var>image orientation</var></h3>
5993</div>
5994
5995<p class="magick-description">specify orientation of a digital camera image.</p>
5996
5997<p>Choose from these orientations:</p>
5998
5999<pre>
6000bottom-left right-top
6001bottom-right top-left
6002left-bottom top-right
6003left-top undefined
6004right-bottom
6005</pre>
6006
Cristy594d2772015-11-15 10:47:42 -05006007<p>To print a complete list of orientations, use the <a href="command-line-options.html#list" >-list
Cristy882d9f42015-10-29 16:48:39 -04006008orientation</a> option.</p>
6009
6010
6011<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05006012 <h3 class="magick-header"><a id="page"></a>-page <var>geometry</var><br/>
6013 -page <var>media</var>[<var>offset</var>][{<var>^!&lt;&gt;</var>}]<br/>
Cristy882d9f42015-10-29 16:48:39 -04006014 +page
6015 </h3>
6016</div>
6017
6018<p class="magick-description">Set the size and location of an image on the larger virtual canvas.</p>
6019
6020<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
6021
6022<p>For convenience you can specify the page size using <var>media</var> (see below). Offsets can then be added as with other
Cristy594d2772015-11-15 10:47:42 -05006023<var>geometry</var> arguments (e.g. <a
6024href="command-line-options.html#page">-page</a> <code>Letter+43+43</code>).</p>
Cristy882d9f42015-10-29 16:48:39 -04006025
6026<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.
6027The choices for a PostScript page are:</p>
6028
6029<dl class="dl-horizontal">
6030<dt> 11x17 </dt> <dd> 792 x 1224</dd>
6031<dt> Ledger </dt> <dd> 1224 x 792</dd>
6032<dt> Legal </dt> <dd> 612 x 1008</dd>
6033<dt> Letter </dt> <dd> 612 x 792</dd>
6034<dt> LetterSmall</dt> <dd> 612 x 792</dd>
6035<dt> ArchE </dt> <dd> 2592 x 3456</dd>
6036<dt> ArchD </dt> <dd> 1728 x 2592</dd>
6037<dt> ArchC </dt> <dd> 1296 x 1728</dd>
6038<dt> ArchB </dt> <dd> 864 x 1296</dd>
6039<dt> ArchA </dt> <dd> 648 x 864</dd>
6040<dt> A0 </dt> <dd> 2380 x 3368</dd>
6041<dt> A1 </dt> <dd> 1684 x 2380</dd>
6042<dt> A2 </dt> <dd> 1190 x 1684</dd>
6043<dt> A3 </dt> <dd> 842 x 1190</dd>
6044<dt> A4 </dt> <dd> 595 x 842</dd>
6045<dt> A4Small </dt> <dd> 595 x 842</dd>
6046<dt> A5 </dt> <dd> 421 x 595</dd>
6047<dt> A6 </dt> <dd> 297 x 421</dd>
6048<dt> A7 </dt> <dd> 210 x 297</dd>
6049<dt> A8 </dt> <dd> 148 x 210</dd>
6050<dt> A9 </dt> <dd> 105 x 148</dd>
6051<dt> A10 </dt> <dd> 74 x 105</dd>
6052<dt> B0 </dt> <dd> 2836 x 4008</dd>
6053<dt> B1 </dt> <dd> 2004 x 2836</dd>
6054<dt> B2 </dt> <dd> 1418 x 2004</dd>
6055<dt> B3 </dt> <dd> 1002 x 1418</dd>
6056<dt> B4 </dt> <dd> 709 x 1002</dd>
6057<dt> B5 </dt> <dd> 501 x 709</dd>
6058<dt> C0 </dt> <dd> 2600 x 3677</dd>
6059<dt> C1 </dt> <dd> 1837 x 2600</dd>
6060<dt> C2 </dt> <dd> 1298 x 1837</dd>
6061<dt> C3 </dt> <dd> 918 x 1298</dd>
6062<dt> C4 </dt> <dd> 649 x 918</dd>
6063<dt> C5 </dt> <dd> 459 x 649</dd>
6064<dt> C6 </dt> <dd> 323 x 459</dd>
6065<dt> Flsa </dt> <dd> 612 x 936</dd>
6066<dt> Flse </dt> <dd> 612 x 936</dd>
6067<dt> HalfLetter </dt> <dd> 396 x 612</dd>
6068</dl>
6069
6070<p>This option is also used to place subimages when writing to a multi-image
6071format that supports offsets, such as GIF89 and MNG. When used for this
6072purpose the offsets are always measured from the top left corner of the canvas
6073and are not affected by the <a href="command-line-options.html#gravity">-gravity</a> option. To
6074position 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
6075file, a <a href="command-line-options.html#page">-page</a> option appearing ahead of the first image in
6076the sequence with nonzero width and height defines the width and height values
6077that are written in the <code>MHDR</code> chunk. Otherwise, the MNG width and
6078height are computed from the bounding box that contains all images in the
6079sequence. When writing a GIF89 file, only the bounding box method is used to
6080determine its dimensions.</p>
6081
Cristy594d2772015-11-15 10:47:42 -05006082<p>For a PostScript page, the image is sized as in <a
6083href="command-line-options.html#geometry">-geometry</a> but positioned relative to the <var>lower
6084left-hand corner</var> of the page by {+-}<code>x</code><var>offset</var>{+-}<code>y</code> <var>offset</var>. Use <a
6085href="command-line-options.html#page">-page 612x792</a>, for example, to center the image within the
Cristy882d9f42015-10-29 16:48:39 -04006086page. If the image size exceeds the PostScript page, it is reduced to fit the
6087page. 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
6088corner of the page, unless the <a href="command-line-options.html#gravity">-gravity</a> option is
6089present with a value other than <var>NorthWest</var>.</p>
6090
6091<p>The default page dimensions for a TEXT image is 612x792.</p>
6092
6093<p>This option is used in concert with <a href="command-line-options.html#density">-density</a>.</p>
6094
6095<p>Use <a href="command-line-options.html#page">+page</a> to remove the page settings for an image.</p>
6096
6097<div style="margin: auto;">
6098 <h3 class="magick-header"><a id="paint"></a>-paint <var>radius</var></h3>
6099</div>
6100
6101<p class="magick-description">simulate an oil painting.</p>
6102
6103<p>Each pixel is replaced by the most frequent color in a circular
6104neighborhood whose width is specified with <var>radius</var>.</p>
6105
6106<div style="margin: auto;">
6107 <h3 class="magick-header"><a id="path"></a>-path <var>path</var></h3></div>
6108
6109<p class="magick-description">write images to this path on disk.</p>
6110
6111<div style="margin: auto;">
6112 <h3 class="magick-header"><a id="pause_animate_"></a>-pause <var>seconds</var></h3>
6113</div>
6114
6115<p class="magick-description">Pause between animation loops</p>
6116
6117<p>Pause for the specified number of seconds before repeating the animation.</p>
6118
6119<div style="margin: auto;">
6120 <h3 class="magick-header"><a id="pause_import_"></a>-pause <var>seconds</var></h3>
6121</div>
6122
6123<p class="magick-description">Pause between snapshots.</p>
6124
6125<p>Pause for the specified number of seconds before taking the next snapshot.</p>
6126
6127<div style="margin: auto;">
6128 <h3 class="magick-header"><a id="perceptible"></a>-perceptible <var>epsilon</var></h3>
6129</div>
6130
6131<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>
6132
6133<div style="margin: auto;">
6134 <h3 class="magick-header"><a id="ping"></a>-ping</h3>
6135</div>
6136
6137<p class="magick-description">efficiently determine image characteristics.</p>
6138
6139<div style="margin: auto;">
6140 <h3 class="magick-header"><a id="pointsize"></a>-pointsize <var>value</var></h3>
6141</div>
6142
6143<p class="magick-description">pointsize of the PostScript, OPTION1, or TrueType font.</p>
6144
6145<div style="margin: auto;">
6146 <h3 class="magick-header"><a id="polaroid"></a>-polaroid <var>angle</var></h3>
6147</div>
6148
6149<p class="magick-description">simulate a Polaroid picture.</p>
6150
6151<p>Use <code>+polaroid</code> to rotate the image at a random angle between -15 and +15 degrees.</p>
6152
6153<div style="margin: auto;">
6154 <h3 class="magick-header"><a id="poly"></a>-poly <var>"wt,exp ..."</var></h3>
6155</div>
6156
6157<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>
6158
6159<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>
6160
6161<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>
6162
6163<p>The format is: <var>output = wt1*image1^exp1 + wt2*image2^exp2 </var>...</p>
6164
6165<p>Some simple uses are:</p>
6166<ul>
6167<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>
6168<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>
6169</ul>
6170
6171<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>
6172
6173<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>
6174
6175
6176<div style="margin: auto;">
6177 <h3 class="magick-header"><a id="posterize"></a>-posterize <var>levels</var></h3>
6178</div>
6179
6180<p class="magick-description">reduce the image to a limited number of color levels per channel.</p>
6181
6182<p>Very low values of <var>levels</var>, e.g., 2, 3, 4, have the most
6183visible effect.</p>
6184
6185<div style="margin: auto;">
6186 <h3 class="magick-header"><a id="precision"></a>-precision <var>value</var></h3>
6187</div>
6188
6189<p class="magick-description">set the maximum number of significant digits to be printed.</p>
6190
6191<div style="margin: auto;">
6192 <h3 class="magick-header"><a id="preview"></a>-preview <var>type</var></h3>
6193</div>
6194
6195<p class="magick-description">image preview type.</p>
6196
6197<p>Use this option to affect the preview operation of an image (e.g.
6198<code>convert file.png -preview Gamma Preview:gamma.png</code>). Choose from
6199these previews:</p>
6200
6201<pre class="pre-scrollable">
6202AddNoise
6203Blur
6204Brightness
6205Charcoal
6206Despeckle
6207Dull
6208EdgeDetect
6209Gamma
6210Grayscale
6211Hue
6212Implode
6213JPEG
6214OilPaint
6215Quantize
6216Raise
6217ReduceNoise
6218Roll
6219Rotate
6220Saturation
6221Segment
6222Shade
6223Sharpen
6224Shear
6225Solarize
6226Spiff
6227Spread
6228Swirl
6229Threshold
6230Wave
6231</pre>
6232
6233<p>To print a complete list of previews, use the <a href="command-line-options.html#list">-list preview</a> option.</p>
6234
6235<p>The default preview is <code>JPEG</code>.</p>
6236
6237<div style="margin: auto;">
6238 <h3 class="magick-header"><a id="print"></a>-print <var>string</var></h3>
6239</div>
6240
6241<p class="magick-description">interpret string and print to console.</p>
6242
6243<div style="margin: auto;">
6244 <h3 class="magick-header"><a id="process"></a>-process <var>command</var></h3>
6245</div>
6246
6247<p class="magick-description">process the image with a custom image filter.</p>
6248
6249<p>The command arguments has the form <code>"module arg1 arg2 arg3 ...
6250argN"</code> where <code>module</code> is the name of the module to invoke (e.g.
6251"Analyze") and arg1 arg2 arg3 ... argN are an arbitrary number of arguments to
6252pass to the process module.</p>
6253
6254<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05006255 <h3 class="magick-header"><a id="profile"></a>-profile <var>filename</var><br/>
Cristy882d9f42015-10-29 16:48:39 -04006256 +profile <var>profile_name</var></h3>
6257</div>
6258
6259<p class="magick-description">Manage ICM, IPTC, or generic profiles in an image.</p>
6260
6261<p>Using <a href="command-line-options.html#profile">-profile</a> <var>filename</var> adds an
6262ICM (ICC color management), IPTC (newswire information), or a generic profile
6263to the image.</p>
6264
6265<p>Use <a href="command-line-options.html#profile">+profile <var>profile_name</var></a> to
6266remove the indicated profile. ImageMagick uses standard filename globbing, so
6267wildcard expressions may be used to remove more than one profile. Here we
6268remove all profiles from the image except for the XMP profile: <code>+profile
6269"!xmp,*"</code>. </p>
6270
6271<p>Use <code>identify -verbose</code> to find out which profiles are in the
6272image file. Use <a href="command-line-options.html#strip">-strip</a> to remove all profiles (and
6273comments).</p>
6274
6275<p>To extract a profile, the <a href="command-line-options.html#profile">-profile</a> option is not
6276used. Instead, simply write the file to an image format such as <var>APP1, 8BIM, ICM,</var> or <var>IPTC</var>.</p>
6277
6278<p>For example, to extract the Exif data (which is stored in JPEG files in the
6279<var>APP1</var> profile), use.</p>
6280
6281<pre>
6282convert cockatoo.jpg profile.exif
6283</pre>
6284
6285<p>It is important to note that results may depend on whether or not the
Cristy594d2772015-11-15 10:47:42 -05006286original image already has an included profile. Also, keep in mind that <a
6287href="command-line-options.html#profile">-profile</a> is an "operator" (as opposed to a "setting") and
Cristy882d9f42015-10-29 16:48:39 -04006288therefore a conversion is made each time it is encountered, in order, in the
6289command-line. For instance, in the following example, if the original image is
6290CMYK with profile, a CMYK-CMYK-RGB conversion results.</p>
6291
6292<pre>
6293convert CMYK.tif -profile "CMYK.icc" -profile "RGB.icc" RGB.tiff
6294</pre>
6295
6296<p>Furthermore, since ICC profiles are not necessarily symmetric, extra
6297conversion steps can yield unwanted results. CMYK profiles are often very
6298asymmetric since they involve 3−&gt;4 and 4−&gt;3 channel mapping.
6299</p>
6300
6301<div style="margin: auto;">
6302 <h3 class="magick-header"><a id="quality"></a>-quality <var>value</var></h3>
6303</div>
6304
6305<p class="magick-description">JPEG/MIFF/PNG compression level.</p>
6306
6307<p>For the JPEG and MPEG image formats, quality is 1 (lowest image quality and
6308highest compression) to 100 (best quality but least effective compression).
6309The default is to use the estimated quality of your input image if it can
6310be determined, otherwise 92. When the quality is greater than 90, then the
6311chroma channels are not downsampled.
6312Use the <a href="command-line-options.html#sampling-factor">-sampling-factor</a> option to specify the
6313factors for chroma downsampling.</p>
6314
6315<p>For the JPEG-2000 image format, quality is mapped using a non-linear
6316equation to the compression ratio required by the Jasper library. This
6317non-linear equation is intended to loosely approximate the quality provided by
6318the JPEG v1 format. The default quality value 100, a request for non-lossy
6319compression. A quality of 75 results in a request for 16:1 compression.</p>
6320
6321<p>For the MNG and PNG image formats, the quality value sets the zlib
6322compression level (quality / 10) and filter-type (quality % 10). The default
6323PNG "quality" is 75, which means compression level 7 with adaptive PNG
6324filtering, unless the image has a color map, in which case it means
6325compression level 7 with no PNG filtering.</p>
6326
6327<p>For compression level 0 (quality value less than 10), the Huffman-only
6328strategy is used, which is fastest but not necessarily the worst
6329compression.</p>
6330
6331<p>If filter-type is 4 or less, the specified PNG filter-type is used for
6332all scanlines:</p>
6333
6334<dl class="dl-horizontal">
6335<dt>0</dt><dd>none</dd>
6336<dt>1</dt><dd>sub</dd>
6337<dt>2</dt><dd>up</dd>
6338<dt>3</dt><dd>average</dd>
6339<dt>4</dt><dd>Paeth</dd>
6340</dl>
6341
6342<p>If filter-type is 5, adaptive filtering is used when quality is greater
6343than 50 and the image does not have a color map, otherwise no filtering is
6344used.</p>
6345
6346<p>If filter-type is 6, adaptive filtering
6347with <var>minimum-sum-of-absolute-values</var> is used.</p>
6348
6349<p>Only if the output is MNG, if filter-type is 7, the LOCO color
6350transformation (intrapixel differencing) and adaptive filtering
6351with <var>minimum-sum-of-absolute-values</var> are used.</p>
6352
6353<p>If the filter-type is 8 the zlib Z_RLE compression strategy (or the
6354Z_HUFFMAN_ONLY strategy, when compression level is 0) is used with
6355adaptive PNG filtering.</p>
6356
6357<p>If the filter-type is 9 the zlib Z_RLE compression strategy (or the
6358Z_HUFFMAN_ONLY strategy, when compression level is 0) is used with
6359no PNG filtering.</p>
6360
6361<p>The quality setting has no effect on the appearance or signature of PNG
6362and MNG images, since the compression is always lossless.</p>
6363
6364<p>Not all combinations of compression level, strategy, and PNG filter type
6365can be obtained using the -quality option. For more precise control,
6366you can use the PNG:compression-level=N, PNG:compression-strategy=N, and
6367PNG:compression-filter=N defines, respectively, instead.
6368See <a href="command-line-options.html#define">-define</a>. Values from the defines take precedence
6369over values from the -quality option.</p>
6370
6371<p>For further information, see
6372the <a href="http://www.w3.org/pub/WWW/TR">PNG</a> specification.</p>
6373
6374<p>For the MIFF and TIFF image formats, quality/10 is the <a href="command-line-options.html#compress">Zip/BZip</a> 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>
6375
6376<p>For the BPG image format, quality/2 is the actual BPG compression level (range from 0 to 51).</p>
6377
6378<div style="margin: auto;">
6379 <h3 class="magick-header"><a id="quantize"></a>-quantize <var>colorspace</var></h3>
6380</div>
6381
6382<p class="magick-description">reduce colors using this colorspace.</p>
6383
6384<p>This setting defines the colorspace used to sort out and reduce the number
Cristy594d2772015-11-15 10:47:42 -05006385of colors needed by an image (for later dithering) by operators such as <a
6386href="command-line-options.html#colors" >-colors</a>, Note that color reduction also happens
Cristy882d9f42015-10-29 16:48:39 -04006387automatically when saving images to color-limited image file formats, such as
6388GIF, and PNG8.</p>
6389
6390
6391<div style="margin: auto;">
6392 <h3 class="magick-header"><a id="quiet"></a>-quiet</h3>
6393</div>
6394
6395<p class="magick-description">suppress all warning messages. Error messages are still reported.</p>
6396
6397<div style="margin: auto;">
6398 <h3 class="magick-header"><a id="radial-blur"></a>-radial-blur <var>angle</var></h3>
6399</div>
6400
6401<p class="magick-description">Blur around the center of the image.</p>
6402
6403<p>Note that this is actually a rotational blur rather than a radial and as
6404such actually mis-named. </p>
6405
6406<p>The <a href="command-line-options.html#virtual-pixel">-virtual-pixel</a> setting will determine how
6407pixels which are outside the image proper are blurred into the final result.
6408</p>
6409
6410
6411<div style="margin: auto;">
6412 <h3 class="magick-header"><a id="raise"></a>-raise <var>thickness</var></h3>
6413</div>
6414
6415<p class="magick-description">Lighten or darken image edges.</p>
6416
6417<p>This will create a 3-D effect. Use <a href="command-line-options.html#raise">-raise</a> to create
6418a raised effect, otherwise use <a href="command-line-options.html#raise">+raise</a>. </p>
6419
Cristy594d2772015-11-15 10:47:42 -05006420<p>Unlike the similar <a href="command-line-options.html#frame">-frame</a> option, <a
6421href="command-line-options.html#raise">-raise</a> does not alter the dimensions of the image.</p>
Cristy882d9f42015-10-29 16:48:39 -04006422
6423<div style="margin: auto;">
6424 <h3 class="magick-header"><a id="random-threshold"></a>-random-threshold <var>low</var>x<var>high</var></h3>
6425</div>
6426
6427<p class="magick-description">Apply a random threshold to the image.</p>
6428
6429<div style="margin: auto;">
6430 <h3 class="magick-header"><a id="red-primary"></a>-red-primary <var>x,y</var></h3>
6431</div>
6432
6433<p class="magick-description">Set the red chromaticity primary point.</p>
6434
6435<div style="margin: auto;">
6436 <h3 class="magick-header"><a id="regard-warnings"></a>-regard-warnings</h3>
6437</div>
6438
6439<p class="magick-description">Pay attention to warning messages.</p>
6440
6441<p>This option causes some warnings in some image formats to be treated
6442as errors. </p>
6443
6444<div style="margin: auto;">
6445 <h3 class="magick-header"><a id="remap"></a>-remap <var>filename</var></h3>
6446</div>
6447
6448<p class="magick-description">Reduce the number of colors in an image to the colors used by this image.</p>
6449
6450<p>If the <a href="command-line-options.html#dither">-dither</a> setting is enabled (the default) then
6451the given colors are dithered over the image as necessary, otherwise the closest
6452color (in RGB colorspace) is selected to replace that pixel in the image. </p>
6453
6454<p>As a side effect of applying a <a href="command-line-options.html#remap">-remap</a> of colors across all
6455images in the current image sequence, all the images will have the same color
6456table. That means that when saved to a file format such as GIF, it will use
6457that color table as a single common or global color table, for all the images,
6458without requiring extra local color tables. </p>
6459
6460<p>Use <a href="command-line-options.html#remap">+remap</a> to reduce all images in the current image
6461sequence to use a common color map over all the images. This equivalent to
6462appending all the images together (without extra background colors) and color
6463reducing those images using <a href="command-line-options.html#colors">-colors</a> with a 256 color
6464limit, then <a href="command-line-options.html#remap">-remap</a> those colors over the original list of
6465images. This ensures all the images follow a single color map. </p>
6466
Cristy594d2772015-11-15 10:47:42 -05006467<p>If the number of colors over all the images is less than 256, then <a
6468href="command-line-options.html#remap">+remap</a> should not perform any color reduction or dithering, as
Cristy882d9f42015-10-29 16:48:39 -04006469no color changes are needed. In that case, its only effect is to force the use
Cristy594d2772015-11-15 10:47:42 -05006470of a global color table. This recommended after using either <a
6471href="command-line-options.html#colors">-colors</a> or <a href="command-line-options.html#ordered-dither">-ordered-dither</a> to
Cristy882d9f42015-10-29 16:48:39 -04006472reduce the number of colors in an animated image sequence. </p>
6473
6474<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>
6475
6476<div style="margin: auto;">
6477 <h3 class="magick-header"><a id="region"></a>-region <var>geometry</var></h3>
6478</div>
6479
6480<p class="magick-description">Set a region in which subsequent operations apply.</p>
6481
6482<p>The <var>x</var> and <var>y</var> offsets are treated
6483in the same manner as in <a href="command-line-options.html#crop">-crop</a>.</p>
6484
6485<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
6486
6487<p>Use <code>+region</code> to remove any previously set regions.</p>
6488
Cristy882d9f42015-10-29 16:48:39 -04006489<div style="margin: auto;">
6490 <h3 class="magick-header"><a id="remote"></a>-remote</h3>
6491</div>
6492
6493<p class="magick-description">perform a remote operation.</p>
6494
6495<p>The only command recognized is the name of an image file to load.</p>
6496
6497<p>If you have more than one <a href="display.html">display</a> application
6498running simultaneously, use the <a href="command-line-options.html#window"> window</a> option to
6499specify which application to control.</p>
6500
6501<div style="margin: auto;">
6502 <h3 class="magick-header"><a id="render"></a>-render</h3>
6503</div>
6504
6505<p class="magick-description">render vector operations.</p>
6506
6507<p>Use <a href="command-line-options.html#render">+render</a> to turn off rendering vector operations.
6508This useful when saving the result to vector formats such as MVG or SVG.</p>
6509
6510<div style="margin: auto;">
6511<h3 class="magick-header"><a id="repage"></a>-repage <var>geometry</var></h3>
6512</div>
6513
6514<p class="magick-description">Adjust the canvas and offset information of the image.</p>
6515
6516<p>This option is like <a href="command-line-options.html#page">-page</a> but acts as an image operator
6517rather than a setting. You can separately set the canvas size or the offset
6518of the image on that canvas by only providing those components. </p>
6519
6520<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
6521
6522<p>If a <code>!</code> flag is given the offset given is added to the existing
6523offset to move the image relative to its previous position. This useful for
6524animation sequences. </p>
6525
6526<p>A given a canvas size of zero such as '<code>0x0</code>' forces it to
6527recalculate the canvas size so the image (at its current offset) will appear
6528completely on that canvas (unless it has a negative offset).</p>
6529
6530<p>Use <a href="command-line-options.html#repage">+repage</a> to completely remove/reset the virtual
6531canvas meta-data from the images. </p>
6532
6533<p>The <a href="command-line-options.html#set">-set</a> '<code>page</code>' option can be used to
6534directly assign virtual canvas meta-data. </p>
6535
6536
6537<div style="margin: auto;">
6538 <h3 class="magick-header"><a id="resample"></a>-resample <var>horizontal</var>x<var>vertical</var></h3>
6539</div>
6540
6541<p class="magick-description">Resample image to specified horizontal and vertical resolution.</p>
6542
6543<p>Resize the image so that its rendered size remains the same as the original
6544at the specified target resolution. For example, if a 300 DPI image renders at
65453 inches by 2 inches on a 300 DPI device, when the image has been resampled to
654672 DPI, it will render at 3 inches by 2 inches on a 72 DPI device. Note that
6547only a small number of image formats (e.g. JPEG, PNG, and TIFF) are capable of
6548storing the image resolution. For formats which do not support an image
Cristy594d2772015-11-15 10:47:42 -05006549resolution, the original resolution of the image must be specified via <a
6550href="command-line-options.html#density">-density</a> on the command line prior to specifying the
Cristy882d9f42015-10-29 16:48:39 -04006551resample resolution.</p>
6552
6553<p>Note that Photoshop stores and obtains image resolution from a proprietary
6554embedded profile. If this profile exists in the image, then Photoshop will
6555continue to treat the image using its former resolution, ignoring the image
6556resolution specified in the standard file header.</p>
6557
6558<div style="margin: auto;">
6559 <h3 class="magick-header"><a id="resize"></a>-resize <var>geometry</var></h3>
6560</div>
6561
6562<p class="magick-description">Resize an image.</p>
6563
6564<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
6565ignored, and the <a href="command-line-options.html#gravity">-gravity</a> option has no effect.</p>
6566
6567<p>If the <a href="command-line-options.html#filter">-filter</a> option
Cristy594d2772015-11-15 10:47:42 -05006568or <code>-define filter:option=value</code> precedes the <a
6569href="command-line-options.html#resize">-resize</a> option, the image is resized with the specified
Cristy882d9f42015-10-29 16:48:39 -04006570filter.</p>
6571
6572<p>Many image processing algorithms assume your image is in a linear-light
6573coding. If your image is gamma-corrected, you can remove the nonlinear gamma
6574correction, apply the transform, then restore it like this:</p>
6575
6576<pre>
6577convert portrait.jpg -gamma .45455 -resize 25% -gamma 2.2 \
6578 -quality 92 passport.jpg
6579</pre>
6580
6581<div style="margin: auto;">
6582 <h3 class="magick-header"><a id="respect-parentheses"></a>-respect-parentheses</h3>
6583</div>
6584
6585<p class="magick-description">settings remain in effect until parenthesis boundary.</p>
6586
6587<div style="margin: auto;">
6588 <h3 class="magick-header"><a id="reverse"></a>-reverse</h3>
6589</div>
6590
6591<p class="magick-description">Reverse the order of images in the current image list.</p>
6592
6593
6594<div style="margin: auto;">
6595 <h3 class="magick-header"><a id="roll"></a>-roll {<var>+-</var>}<var>x</var>{<var>+-</var>}<var>y</var></h3>
6596</div>
6597
6598<p class="magick-description">roll an image vertically or horizontally by the amount given.</p>
6599
6600<p>A negative <var>x</var> offset rolls the image right-to-left.
6601A negative <var>y</var> offset rolls the image bottom-to-top.</p>
6602
6603
6604<div style="margin: auto;">
6605 <h3 class="magick-header"><a id="rotate"></a>-rotate <var>degrees</var>{<var>&lt;</var>}{<var>&gt;</var>}</h3>
6606</div>
6607
6608<p class="magick-description">Apply Paeth image rotation (using shear operations) to the image.</p>
6609
6610<p>Use <code>&gt;</code> to rotate the image only if its width exceeds the
6611height. <code>&lt;</code> rotates the image <var>only</var> if its width is less
6612than the height. For example, if you specify <code>-rotate "-90&gt;"</code> and
6613the image size is 480x640, the image is not rotated. However, if the image is
6614640x480, it is rotated by -90 degrees. If you use <code>&gt;</code> or
6615<code>&lt;</code>, enclose it in quotation marks to prevent it from being
6616misinterpreted as a file redirection.</p>
6617
6618<p>Empty triangles in the corners, left over from rotating the image, are
6619filled with the <code>background</code> color. </p>
6620
6621<p>See also the <a href="command-line-options.html#distort">-distort</a> operator and specifically the
6622'<code>ScaleRotateTranslate</code>' distort method. </p>
6623
6624
6625<div style="margin: auto;">
6626 <h3 class="magick-header"><a id="sample"></a>-sample <var>geometry</var></h3>
6627</div>
6628
6629<p class="magick-description">minify / magnify the image with pixel subsampling and pixel replication, respectively.</p>
6630
6631<p>Change the image size simply by directly sampling the pixels original
6632from the image. When magnifying, pixels are replicated in blocks. When
6633minifying, pixels are sub-sampled (i.e., some rows and columns are skipped
6634over). </p>
6635
6636<p>The results are thus equivalent to using <a href="command-line-options.html#resize">-resize</a> with
6637a <a href="command-line-options.html#filter">-filter</a> setting of <code>point</code> (nearest
6638neighbor), though <a href="command-line-options.html#sample">-sample</a> is a lot faster, as it
6639avoids all the filter processing of the image. As such it completely ignores
6640the current <a href="command-line-options.html#filter">-filter</a> setting. </p>
6641
6642<p>The key feature of the <a href="command-line-options.html#sample">-sample</a> is that no new colors
6643will be added to the resulting image, though some colors may disappear. </p>
6644
6645<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
6646ignored, unlike <a href="command-line-options.html#resize">-resize</a>. </p>
6647
6648
6649<p>The actual sampling point is the middle of the sub-region being sampled.
6650As such a single pixel sampling of an image will take the middle pixel, (or
Cristy594d2772015-11-15 10:47:42 -05006651top-left-middle if image has even dimensions). However the <a
6652href="command-line-options.html#define">-define</a> '<code>sample:offset</code>' can be set to modify
Cristy882d9f42015-10-29 16:48:39 -04006653this position some other location within each sub-region being sampled, as
6654a percentage offset.</p>
6655
6656<p>By default this value is '<code>50</code>' for the midpoint, but could be set
6657to '<code>0</code>' for top-left, '<code>100</code>' for bottom-right, or with
6658separate X and Y offsets such as '<code>0x50</code>' for left-middle edge of
6659sampling sub-region.</p>
6660
6661
6662<div style="margin: auto;">
6663 <h3 class="magick-header"><a id="sampling-factor"></a>-sampling-factor <var>horizontal-factor</var>x<var>vertical-factor</var></h3>
6664</div>
6665
6666<p class="magick-description">sampling factors used by JPEG or MPEG-2 encoder and YUV decoder/encoder.</p>
6667
6668<p>This option specifies the sampling factors to be used by the JPEG encoder
6669for chroma downsampling. If this option is omitted, the JPEG library will use
6670its own default values. When reading or writing the YUV format and when
Cristy594d2772015-11-15 10:47:42 -05006671writing the M2V (MPEG-2) format, use <a
6672href="command-line-options.html#sampling-factor">-sampling-factor 2x1</a> or <a
6673href="command-line-options.html#sampling-factor">-sampling-factor 4:2:2</a> to specify the 4:2:2
Cristy882d9f42015-10-29 16:48:39 -04006674downsampling method.</p>
6675
6676<div style="margin: auto;">
6677 <h3 class="magick-header"><a id="scale"></a>-scale <var>geometry</var></h3>
6678</div>
6679
6680<p class="magick-description">minify / magnify the image with pixel block averaging and pixel replication, respectively.</p>
6681
6682<p>Change the image size simply by replacing pixels by averaging pixels
6683together when minifying, or replacing pixels when magnifying. </p>
6684
6685<p>The results are thus equivalent to using <a href="command-line-options.html#resize">-resize</a> with
6686a <a href="command-line-options.html#filter">-filter</a> setting of <code>box</code>. Though it is a lot
6687faster, as it avoids all the filter processing of the image. As such it
6688completely ignores the current <a href="command-line-options.html#filter">-filter</a> setting. </p>
6689
6690<p>If when shrinking (minifying) images the original image is some integer
6691multiple of the new image size, the number of pixels averaged together to
6692produce the new pixel color is the same across the whole image. This is
6693a special case known as 'binning' and is often used as a method of reducing
6694noise in image such as those generated by digital cameras, especially in low
6695light conditions. </p>
6696
6697
6698<div style="margin: auto;">
6699 <h3 class="magick-header"><a id="scene"></a>-scene <var>value</var></h3>
6700</div>
6701
6702<p class="magick-description">set scene number.</p>
6703
6704<p>This option sets the scene number of an image or the first image in an image sequence.</p>
6705
6706<div style="margin: auto;">
6707 <h3 class="magick-header"><a id="screen"></a>-screen</h3>
6708</div>
6709
6710<p class="magick-description">specify the screen to capture.</p>
6711
6712<p>This option indicates that the GetImage request used to obtain the image
6713should be done on the root window, rather than directly on the specified
6714window. In this way, you can obtain pieces of other windows that overlap the
6715specified window, and more importantly, you can capture menus or other popups
6716that are independent windows but appear over the specified window.</p>
6717
6718<div style="margin: auto;">
6719 <h3 class="magick-header"><a id="seed"></a>-seed</h3>
6720</div>
6721
6722<p class="magick-description">seed a new sequence of pseudo-random numbers</p>
6723
6724<div style="margin: auto;">
6725 <h3 class="magick-header"><a id="segment"></a>-segment <var>cluster-threshold</var>x<var>smoothing-threshold</var></h3>
6726</div>
6727
6728<p class="magick-description">segment the colors of an image.</p>
6729
6730<p>Segment an image by analyzing the histograms of the color components and
6731identifying units that are homogeneous with the fuzzy c-means technique. This
6732is part of the ImageMagick color quantization routines. </p>
6733
6734<p>Specify <var>cluster threshold</var> as the number of pixels in
6735each cluster that must exceed the cluster threshold to be considered valid.
6736<var>Smoothing threshold</var> eliminates noise in the second
6737derivative of the histogram. As the value is increased, you can expect
6738a smoother second derivative. The default is 1.5.</p>
6739
6740<p>If the <a href="command-line-options.html#verbose">-verbose</a> setting is defined, a detailed report
6741of the color clusters is returned.</p>
6742
6743
6744<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05006745 <h3 class="magick-header"><a id="selective-blur"></a>-selective-blur <var>radius</var><br />-selective-blur <var>radius</var>x<var>sigma</var>{<var>+threshold</var>}</h3>
Cristy882d9f42015-10-29 16:48:39 -04006746</div>
6747
6748<p class="magick-description">Selectively blur pixels within a contrast threshold.</p>
6749
6750<p>Blurs those pixels that are less than or equal to the threshold in
6751contrast. The threshold may be expressed as a fraction of <var>QuantumRange</var> or as a percentage.</p>
6752
6753<div style="margin: auto;">
6754 <h3 class="magick-header"><a id="separate"></a>-separate</h3>
6755</div>
6756
6757<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>
6758
6759<div style="margin: auto;">
Cristy769d8892016-01-19 18:11:14 -05006760 <h3 class="magick-header"><a id="sepia-tone"></a>-sepia-tone <var>percent-threshold</var></h3>
Cristy882d9f42015-10-29 16:48:39 -04006761</div>
6762
6763<p class="magick-description">simulate a sepia-toned photo.</p>
6764
6765<p>Specify <var>threshold</var> as the percent threshold of the intensity (0 - 99.9%).</p>
6766
6767<p>This option applies a special effect to the image, similar to the effect
6768achieved 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
6769toning. A threshold of 80% is a good starting point for a reasonable
6770tone.</p>
6771
6772
6773
6774<div style="margin: auto;">
6775 <h3 class="magick-header"><a id="set"></a>-set <var>key value</var></h3>
6776 <h3 class="magick-header">+set <var>key</var></h3>
6777</div>
6778
6779<p class="magick-description">sets image attributes and properties for images in the current image sequence.</p>
6780
6781<p>This will assign (or modify) specific settings attached to all the images
6782in the current image sequence. Using the <a href="command-line-options.html#set">+set</a> form of the
6783option will either remove, or reset that setting to a default state, as
6784appropriate. </p>
6785
6786<p>For example, it will modify specific well known image meta-data
Cristy594d2772015-11-15 10:47:42 -05006787'attributes' such as those normally overridden by: the options <a
6788href="command-line-options.html#delay" >-delay</a>, <a href="command-line-options.html#dispose" >-dispose</a>, and <a
6789href="command-line-options.html#page" >-page</a>, <a href="command-line-options.html#colorspace" >-colorspace</a>; generally
Cristy882d9f42015-10-29 16:48:39 -04006790assigned before the image is read in, by using a <var>key</var> of
6791the same name. </p>
6792
6793<p>If the given <var>key</var> does not match a specific known
6794'attribute ', such as shown above, the setting is stored as a a free form
Cristy594d2772015-11-15 10:47:42 -05006795'property' string. Such settings are listed in <a href="command-line-options.html#verbose"
6796>-verbose</a> information ("<code>info:</code>" output format) as "Properties".
Cristy882d9f42015-10-29 16:48:39 -04006797</p>
6798
6799<p>This includes string 'properties' that are set by and assigned to images
Cristy594d2772015-11-15 10:47:42 -05006800using the options <a href="command-line-options.html#comment" >-comment</a>, <a href="command-line-options.html#label"
6801>-label</a>, <a href="command-line-options.html#caption" >-caption</a>. These options actually assign
6802a global 'artifact' which are automatically assigned (and any <a href="escape.html" >Format Percent
Cristy882d9f42015-10-29 16:48:39 -04006803Escapes</a> expanded) to images as they are read in. For example:</p>
6804
6805<pre>
Cristy594d2772015-11-15 10:47:42 -05006806-> convert rose: -set comment 'Rose is a rose is a rose is a rose' rose.png
Cristy882d9f42015-10-29 16:48:39 -04006807identify -format %c rose.png
6808Rose is a rose is a rose is a rose
6809</pre>
6810
Cristy594d2772015-11-15 10:47:42 -05006811<p>The set value can also make use of <a href="escape.html" >Format and Print Image
Cristy882d9f42015-10-29 16:48:39 -04006812Properties</a> in the defined value. For example:</p>
6813
6814<pre>
Cristy594d2772015-11-15 10:47:42 -05006815-> convert rose: -set origsize '%wx%h' -resize 50% \
Cristy882d9f42015-10-29 16:48:39 -04006816 -format 'Old size = %[origsize] New size = %wx%h' info:
6817Old size = 70x46 New size = 35x23
6818</pre>
6819
6820<p>Other well known 'properties' that are available include:
6821'<code>date:create</code>' and '<code>date:modify</code>' and
6822'<code>signature</code>'. </p>
6823
6824<p>The <a href="command-line-options.html#repage">-repage</a> operator will also allow you to modify
6825the '<code>page</code>' attribute of an image for images already in memory (also
6826see <a href="command-line-options.html#repage">-page</a>). However it is designed to provide a finer
6827control of the sub-parts of this 'attribute'. The <a href="command-line-options.html#set">-set page</a>
6828option will only provide a direct, unmodified assignment of '<code>page</code>'
6829attribute. </p>
6830
6831<p>This option can also associate a colorspace or profile with your image.
6832For example,</p>
6833
6834<pre>
6835convert image.psd -set profile ISOcoated_v2_eci.icc image-icc.psd
6836</pre>
6837
6838<p>Some 'properties' must be defined in a specific way to be used. For
6839example only 'properties' prefixed with "<code>filename:</code>" can be used to
6840modify the output filename of an image. For example</p>
6841
6842<pre>
6843convert rose: -set filename:mysize '%wx%h' 'rose_%[filename:mysize].png'
6844</pre>
6845
6846<p>If the setting value is prefixed with "<code>option:</code>" the setting will
Cristy594d2772015-11-15 10:47:42 -05006847be saved as a global "Artifact" exactly as if it was set using the <a
6848href="command-line-options.html#define" >-define</a> option. As such settings are global in scope, they
Cristy882d9f42015-10-29 16:48:39 -04006849can be used to pass 'attributes' and 'properties' of one specific image,
6850in a way that allows you to use them in a completely different image, even if
6851the original image has long since been modified or destroyed. For example: </p>
6852
6853<pre>
6854convert rose: -set option:rosesize '%wx%h' -delete 0 \
6855 label:'%[rosesize]' label_size_of_rose.gif"
6856</pre>
6857
Cristy594d2772015-11-15 10:47:42 -05006858<p>Note that <a href="escape.html" >Format Percent Escapes</a> will only match
Cristy882d9f42015-10-29 16:48:39 -04006859a 'artifact' if the given <var>key</var> does not match an existing
6860'attribute' or 'property'. </p>
6861
6862<p>You can set the attributes of the image registry by prefixing the value
6863with <code>registry:</code>.</p>
6864
6865<p>The <a href="command-line-options.html#set">-set profile</a> option can also be used to inject
6866previously-formatted ancillary chunks into the output PNG file, using
6867the commandline option as shown below or by setting the profile via a
6868programming interface:</p>
6869
6870<pre>
6871convert in.png -set profile PNG-chunk-x:&lt;filename&gt; out.png
6872</pre>
6873
6874<p>where <var>x</var> is a location flag and
6875<var>filename</var> is a file containing the chunk
6876name in the first 4 bytes, then a colon (":"), followed by the chunk data.
6877This encoder will compute the chunk length and CRC, so those must not
6878be included in the file.</p>
6879
6880<p>"x" can be "b" (before PLTE), "m" (middle, i.e., between PLTE and IDAT),
6881or "e" (end, i.e., after IDAT). If you want to write multiple chunks
6882of the same type, then add a short unique string after the "x" to prevent
6883subsequent profiles from overwriting the preceding ones, e.g.,</p>
6884
6885
6886<pre>
6887convert in.png -set profile PNG-chunk-b01:file01 \
6888 -profile PNG-chunk-b02:file02 out.png
6889</pre>
6890
6891<div style="margin: auto;">
6892 <h3 class="magick-header"><a id="shade"></a>-shade <var>azimuth</var>x<var>elevation</var></h3>
6893</div>
6894
6895<p class="magick-description">shade the image using a distant light source.</p>
6896
6897<p>Specify <var>azimuth</var> and <var>elevation</var> as
6898the position of the light source. Use <a href="command-line-options.html#shade">+shade</a> to return
6899the shading results as a grayscale image.</p>
6900
6901<div style="margin: auto;">
6902 <h3 class="magick-header"><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>}</h3>
6903</div>
6904
6905<p class="magick-description">simulate an image shadow.</p>
6906
6907<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05006908 <h3 class="magick-header"><a
6909id="shared-memory"></a>-shared-memory</h3>
Cristy882d9f42015-10-29 16:48:39 -04006910</div>
6911
6912<p class="magick-description">use shared memory.</p>
6913
6914<p>This option specifies whether the utility should attempt to use shared
6915memory for pixmaps. ImageMagick must be compiled with shared memory support,
6916and the display must support the <var>MIT-SHM</var> extension.
6917Otherwise, this option is ignored. The default is <code>True</code>.</p>
6918
6919<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05006920 <h3 class="magick-header"><a id="sharpen"></a>-sharpen <var>radius</var><br />-sharpen <var>radius</var>x<var>sigma</var></h3>
Cristy882d9f42015-10-29 16:48:39 -04006921</div>
6922
6923<p class="magick-description">sharpen the image.</p>
6924
6925<p>Use a Gaussian operator of the given radius and standard deviation (sigma).</p>
6926
6927<div style="margin: auto;">
6928 <h3 class="magick-header"><a id="shave"></a>-shave <var>geometry</var></h3>
6929</div>
6930
6931<p class="magick-description">Shave pixels from the image edges.</p>
6932
6933<p>The <var>size</var> portion of the <var>geometry</var>
6934argument specifies the width of the region to be removed from both sides of
6935the image and the height of the regions to be removed from top and bottom.
6936Offsets are ignored.</p>
6937
6938<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
6939
6940<div style="margin: auto;">
6941 <h3 class="magick-header"><a id="shear"></a>-shear <var>Xdegrees</var>[x<var>Ydegrees</var>]</h3>
6942</div>
6943
6944<p class="magick-description">Shear the image along the x-axis and/or y-axis.</p>
6945
6946<p>The shear angles may be positive, negative, or zero. When <var>Ydegrees</var> is omitted it defaults to 0. When both angles are
6947given, the horizontal component of the shear is performed before the vertical
6948component.</p>
6949
6950<p>Shearing slides one edge of an image along the x-axis or y-axis (i.e.,
6951horizontally or vertically, respectively),creating a parallelogram. The amount
6952of each is controlled by the respective shear angle. For horizontal shears,
6953<var>Xdegrees</var> is measured clockwise relative to "up" (the
6954negative 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
6955positive 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>
6956
6957<p>Empty triangles left over from shearing the image are filled with the color
6958defined by the <a href="command-line-options.html#fill">-background</a> option. The color is specified
6959using the format described under the <a href="command-line-options.html#fill">-fill</a> option.</p>
6960
6961<p>The horizontal shear is performed before the vertical part. This is
6962important to note, since horizontal and vertical shears do not
6963<var>commute</var>, i.e., the order matters in a sequence of shears. For
6964example, the following two commands are not equivalent.</p>
6965
6966<pre>
6967convert logo: -shear 20x0 -shear 0x60 logo-sheared.png
6968convert logo: -shear 0x60 -shear 20x0 logo-sheared.png
6969</pre>
6970
6971<p>The first of the two commands above is equivalent to the following, except
6972for the amount of empty space created; the command that follows generates
6973a smaller image, and so is a better choice in terms of time and space.</p>
6974
6975<pre>
6976convert logo: -shear 20x60 logo-sheared.png
6977</pre>
6978
6979<div style="margin: auto;">
6980 <h3 class="magick-header"><a id="sigmoidal-contrast"></a>-sigmoidal-contrast <var>contrast</var>x<var>mid-point</var></h3>
6981</div>
6982
6983<p class="magick-description">increase the contrast without saturating highlights or shadows.</p>
6984
6985<p>Increase the contrast of the image using a sigmoidal transfer function
6986without saturating highlights or shadows. <var>Contrast</var>
6987indicates how much to increase the contrast. For example, 0 is none, 3 is
6988typical and 20 is a lot.
6989</p>
6990
6991<p>The <var>mid-point</var> indicates where the maximum change
6992'slope' in contrast should fall in the resultant image (0 is white; 50% is
6993middle-gray; 100% is black). </p>
6994
6995<p>By default the image contrast is increased, use <var>+sigmoidal-contrast</var> to decrease the contrast.</p>
6996
6997<p>To achieve the equivalent of a sigmoidal brightness change (similar to
6998a gamma adjustment), you would use <var>-sigmoidal-contrast
6999{brightness}x0%</var> to increase brightness and <var>+sigmoidal-contrast {brightness}x0%</var> to decrease brightness.
7000Note the use of '0' fo rthe mid-point of the sigmoidal curve. </p>
7001
7002<p>Using a very high <var>contrast</var> will produce a sort of
7003'smoothed thresholding' of the image. Not as sharp (with high aliasing
7004effects) of a true threshold, but with tapered gray-levels around the threshold
7005<var>mid-point</var>. </p>
7006
7007<div style="margin: auto;">
7008 <h3 class="magick-header"><a id="silent"></a>-silent</h3>
7009</div>
7010
7011<p class="magick-description">operate silently.</p>
7012
7013<div style="margin: auto;">
7014 <h3 class="magick-header"><a id="similarity-threshold"></a>-similarity-threshold <var>value</var></h3>
7015</div>
7016
7017<p class="magick-description">minimum RMSE for subimage match.</p>
7018
7019<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>
7020
7021<div style="margin: auto;">
7022 <h3 class="magick-header"><a id="size"></a>-size <var>width</var>[x<var>height</var>][<var>+offset</var>]</h3>
7023</div>
7024
7025<p class="magick-description">set the width and height of the image.</p>
7026
7027<p>Use this option to specify the width and height of raw images whose
7028dimensions are unknown such as <code>GRAY</code>, <code>RGB</code>, or
Cristy594d2772015-11-15 10:47:42 -05007029<code>CMYK</code>. In addition to width and height, use <a
7030href="command-line-options.html#size">-size</a> with an offset to skip any header information in the
Cristy882d9f42015-10-29 16:48:39 -04007031image or tell the number of colors in a <code>MAP</code> image file, (e.g. -size
7032640x512+256).</p>
7033
7034<p>For Photo CD images, choose from these sizes:</p>
7035
7036<pre>
7037192x128
7038384x256
7039768x512
70401536x1024
70413072x2048
7042</pre>
7043
7044<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05007045 <h3 class="magick-header"><a id="sketch"></a>-sketch <var>radius</var><br />-sketch <var>radius</var>x<var>sigma</var>+<var>angle</var></h3>
Cristy882d9f42015-10-29 16:48:39 -04007046</div>
7047
7048<p class="magick-description">simulate a pencil sketch.</p>
7049
7050<p>Sketch with the given radius, standard deviation (sigma), and angle. The
7051angle given is the angle toward which the image is sketched. That is the
7052direction people would consider the object is coming from. </p>
7053
7054<div style="margin: auto;">
7055 <h3 class="magick-header"><a id="smush"></a>-smush <var>offset</var></h3>
7056</div>
7057
7058<p class="magick-description">smush an image sequence together.</p>
7059
7060<div style="margin: auto;">
7061 <h3 class="magick-header"><a id="snaps"></a>-snaps <var>value</var></h3>
7062</div>
7063
7064<p class="magick-description">Set the number of screen snapshots.</p>
7065
7066<p>Use this option to grab more than one image from the X server screen, to create an animation sequence.</p>
7067
7068<div style="margin: auto;">
Cristy769d8892016-01-19 18:11:14 -05007069 <h3 class="magick-header"><a id="solarize"></a>-solarize <var>percent-threshold</var></h3>
Cristy882d9f42015-10-29 16:48:39 -04007070</div>
7071
7072<p class="magick-description">negate all pixels above the threshold level.</p>
7073
7074<p>Specify <var>factor</var> as the percent threshold of the intensity (0 - 99.9%).</p>
7075
7076<p>This option produces a <var>solarization</var> effect seen when
7077exposing a photographic film to light during the development process.</p>
7078
7079<div style="margin: auto;">
7080 <h3 class="magick-header"><a id="sparse-color"></a>-sparse-color <var>method</var> '<var>x</var>,<var>y</var> <var>color</var> ...'</h3>
7081</div>
7082
7083<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>
7084
7085
7086<dl class="dl-horizontal">
7087 <dt>barycentric</dt>
7088 <dd>three point triangle of color given 3 points.
7089 Giving only 2 points will form a linear gradient between those points.
7090 The gradient generated extends beyond the triangle created by those
7091 3 points. </dd>
7092 <dt>bilinear</dt>
7093 <dd>Like barycentric but for 4 points. Less than 4 points
7094 fall back to barycentric. </dd>
7095 <dt>voronoi</dt>
7096 <dd>Simply map each pixel to the to nearest color point
7097 given. The result are polygonal 'cells' of solid color. </dd>
7098 <dt>manhatten</dt>
7099 <dd>Like voronoi, but resulting polygonal 'cells' are mapped to a fixed coordinate system.</dd>
7100 <dt>shepards</dt>
7101 <dd>Colors points biased on the ratio of inverse distance
7102 squared. Generating spots of color in a sea of the average of
7103 colors. </dd>
7104 <dt>inverse</dt>
7105 <dd>Colors points biased on the ratio of inverse distance.
7106 This generates sharper points of color rather than rounded spots of
7107 '<code>shepards</code>' Generating spots of color in a sea of the
7108 average of colors. </dd>
7109</dl>
7110
7111<p>The points are placed according to the images location on the virtual
Cristy594d2772015-11-15 10:47:42 -05007112canvas (<a href="command-line-options.html#page" >-page</a> or <a href="command-line-options.html#repage" >-repage</a>
Cristy882d9f42015-10-29 16:48:39 -04007113offset), and do not actually have to exist on the given image, but may be
7114some point beyond the edge of the image. All points are floating point values.
7115</p>
7116
Cristy594d2772015-11-15 10:47:42 -05007117<p>Only the color channels defined by the <a href="command-line-options.html#channel" >-channel</a> are
Cristy882d9f42015-10-29 16:48:39 -04007118modified, which means that by default matte/alpha transparency channel is not
7119effected. Typically transparency channel is turned off either before or after
7120the operation. </p>
7121
7122<p>Of course if some color points are transparent to generate a transparent
7123gradient, then the image also requires transparency enabled to store the
7124values. </p>
7125
7126<p>All the above methods when given a single point of color will replace all
7127the colors in the image with the color given, regardless of the point. This is
7128logical, and provides an alternative technique to recolor an image to some
7129default value. </p>
7130
7131
7132<div style="margin: auto;">
7133 <h3 class="magick-header"><a id="splice"></a>-splice <var>geometry</var></h3>
7134</div>
7135
7136<p class="magick-description">Splice the current background color into the image.</p>
7137
Cristy594d2772015-11-15 10:47:42 -05007138<p>This will add rows and columns of the current <a
7139href="command-line-options.html#background">-background</a> color into the given image according to the
Cristy882d9f42015-10-29 16:48:39 -04007140given <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
7141image into four quadrants, separating them by the inserted rows and columns.
7142</p>
7143
7144<p>If a dimension of geometry is zero no rows or columns will be added for that
Cristy594d2772015-11-15 10:47:42 -05007145dimension. Similarly using a zero offset with the appropriate <a
7146href="command-line-options.html#gravity">-gravity</a> setting will add rows and columns to the edges of
7147the image, padding the image only along that one edge. Edge padding is what <a
7148href="command-line-options.html#splice">-splice</a> is most commonly used for. </p>
Cristy882d9f42015-10-29 16:48:39 -04007149
Cristy594d2772015-11-15 10:47:42 -05007150<p>If the exact same <var>geometry</var> and <a
7151href="command-line-options.html#gravity">-gravity</a> is later used with <a href="command-line-options.html#chop">-chop</a> the
Cristy882d9f42015-10-29 16:48:39 -04007152added added all splices removed. </p>
7153
7154<div style="margin: auto;">
7155 <h3 class="magick-header"><a id="spread"></a>-spread <var>amount</var></h3>
7156</div>
7157
7158<p class="magick-description">displace image pixels by a random amount.</p>
7159
7160<p>The argument <var>amount</var> defines the size of the
7161neighborhood around each pixel from which to choose a candidate pixel to
7162blend.</p>
7163
7164<p>The lookup is controlled by the <a href="command-line-options.html#interpolate">-interpolate</a> setting.</p>
7165
7166<div style="margin: auto;">
7167 <h3 class="magick-header"><a id="statistic"></a>-statistic <var>type</var> <var>geometry</var></h3>
7168</div>
7169
7170<p class="magick-description">replace each pixel with corresponding statistic from the neighborhood.</p>
7171
7172<p>Choose from these statistic types:</p>
7173<dl class="dl-horizontal">
7174<dt>Gradient</dt><dd>maximum difference (max - min) value in neighborhood</dd>
7175<dt>Maximum</dt><dd>maximum value per channel in neighborhood</dd>
7176<dt>Minimum</dt><dd>minimum value per channel in neighborhood</dd>
7177<dt>Mean</dt><dd>average value per channel in neighborhood</dd>
7178<dt>Median</dt><dd>median value per channel in neighborhood</dd>
7179<dt>Mode</dt><dd>mode (most frequent) value per channel in neighborhood</dd>
7180<dt>Nonpeak</dt><dd>value just before or after the median value per channel in neighborhood</dd>
7181<dt>RMS</dt><dd>root mean square value per channel in neighborhood</dd>
7182<dt>StandardDeviation</dt><dd> standard deviation value per channel in neighborhood</dd>
7183</dl>
7184
7185<div style="margin: auto;">
7186 <h3 class="magick-header"><a id="stegano"></a>-stegano <var>offset</var></h3>
7187</div>
7188
7189<p class="magick-description">hide watermark within an image.</p>
7190
7191<p>Use an offset to start the image hiding some number of pixels from the
7192beginning of the image. Note this offset and the image size. You will need
7193this information to recover the steganographic image (e.g. display -size
7194320x256+35 stegano:image.png).</p>
7195
7196<div style="margin: auto;">
7197 <h3 class="magick-header"><a id="stereo"></a>-stereo <var>+x</var>{<var>+y</var>}</h3>
7198</div>
7199
7200<p class="magick-description">composite two images to create a red / cyan stereo anaglyph.</p>
7201
7202<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>
7203
7204<div style="margin: auto;">
7205 <h3 class="magick-header"><a id="storage-type"></a>-storage-type <var>type</var></h3>
7206</div>
7207
7208<p class="magick-description">pixel storage type. Here are the valid types:</p>
7209
7210<dl class="dl-horizontal">
7211<dt>char</dt><dd>unsigned characters</dd>
7212<dt>double</dt><dd>doubles</dd>
7213<dt>float</dt><dd>floats</dd>
7214<dt>integer</dt><dd>integers</dd>
7215<dt>long</dt><dd>longs</dd>
7216<dt>quantum</dt><dd>pixels in the native depth of your ImageMagick distribution</dd>
7217<dt>short</dt><dd>unsigned shorts</dd>
7218</dl>
7219
7220<p>Float and double types are normalized from 0.0 to 1.0 otherwise the pixels
7221values range from 0 to the maximum value the storage type can support.</p>
7222
7223<div style="margin: auto;">
7224 <h3 class="magick-header"><a id="stretch"></a>-stretch <var>fontStretch</var></h3>
7225</div>
7226
7227<p class="magick-description">Set a type of stretch style for fonts.</p>
7228
7229<p>This setting suggests a type of stretch that ImageMagick should try to
7230apply to the currently selected font family. Select <var>fontStretch</var> from the following.</p>
7231
7232<pre>
7233Any
7234Condensed
7235Expanded
7236ExtraCondensed
7237ExtraExpanded
7238Normal
7239SemiCondensed
7240SemiExpanded
7241UltraCondensed
7242UltraExpanded
7243</pre>
7244
7245<p>To print a complete list of stretch types, use <a href="command-line-options.html#list">-list
7246stretch</a>.</p>
7247
Cristy594d2772015-11-15 10:47:42 -05007248<p>For other settings that affect fonts, see the options <a
7249href="command-line-options.html#font">-font</a>, <a href="command-line-options.html#family">-family</a>, <a
7250href="command-line-options.html#style">-style</a>, and <a href="command-line-options.html#weight">-weight</a>. </p>
Cristy882d9f42015-10-29 16:48:39 -04007251
7252<div style="margin: auto;">
7253 <h3 class="magick-header"><a id="strip"></a>-strip</h3>
7254</div>
7255
7256<p class="magick-description">strip the image of any profiles or comments.</p>
7257
7258<div style="margin: auto;">
7259 <h3 class="magick-header"><a id="stroke"></a>-stroke <var>color</var></h3>
7260</div>
7261
7262<p class="magick-description">color to use when stroking a graphic primitive.</p>
7263
7264<p>The color is specified using the format described under the <a href="command-line-options.html#fill">-fill</a> option.</p>
7265
7266<p>See <a href="command-line-options.html#draw">-draw</a> for further details.</p>
7267
7268<div style="margin: auto;">
7269 <h3 class="magick-header"><a id="strokewidth"></a>-strokewidth <var>value</var></h3>
7270</div>
7271
7272<p class="magick-description">set the stroke width.</p>
7273
7274<p>See <a href="command-line-options.html#draw">-draw</a> for further details.</p>
7275
7276<div style="margin: auto;">
7277 <h3 class="magick-header"><a id="style"></a>-style <var>fontStyle</var></h3>
7278</div>
7279
7280<p class="magick-description">Set a font style for text.</p>
7281
7282<p>This setting suggests a font style that ImageMagick should try to apply to
7283the currently selected font family. Select <var>fontStyle</var> from
7284the following.</p>
7285
7286<pre>
7287Any
7288Italic
7289Normal
7290Oblique
7291</pre>
7292
Cristy594d2772015-11-15 10:47:42 -05007293<p>For other settings that affect fonts, see the options <a
7294href="command-line-options.html#font">-font</a>, <a href="command-line-options.html#family">-family</a>, <a
7295href="command-line-options.html#stretch">-stretch</a>, and <a href="command-line-options.html#weight">-weight</a>. </p>
Cristy882d9f42015-10-29 16:48:39 -04007296
7297<div style="margin: auto;">
7298 <h3 class="magick-header"><a id="subimage-search"></a>-subimage-search</h3>
7299</div>
7300
7301<p class="magick-description">search for subimage.</p>
7302
7303<p>This option is required to have compare search for the best match location
7304of a small image within a larger image. This search will produce two images
7305(or two frames). The first is the "difference" image and the second will
7306be the "match score" image.</p>
7307
7308<p>The "match-score" image is smaller containing a pixel for ever possible
7309position of the top-left corner of the given sub-image. that is its size will
7310be the size of the larger_image - sub_image + 1. The brightest location in
7311this image is the location s the locate on the best match that is also
7312reported. Note that this may or may not be a perfect match, and the actual
7313brightness will reflect this. Other bright 'peaks' can be used to locate other
7314possible matching locations. </p>
7315
7316<p>Note that the search will try to compare the sub-image at every possible
7317location in the larger image, as such it can be very slow. The smaller the
7318sub-image the faster this search is. </p>
7319
7320
7321<div style="margin: auto;">
7322 <h3 class="magick-header"><a id="swap"></a>-swap <var>index,index</var></h3>
7323</div>
7324
7325<p class="magick-description">Swap the positions of two images in the image sequence.</p>
7326
7327<p>For example, <a href="command-line-options.html#swap">-swap 0,2</a> swaps the first and the third
7328images in the current image sequence. Use <a href="command-line-options.html#swap">+swap</a> to switch
7329the last two images in the sequence.</p>
7330
7331<div style="margin: auto;">
7332 <h3 class="magick-header"><a id="swirl"></a>-swirl <var>degrees</var></h3>
7333</div>
7334
7335<p class="magick-description">swirl image pixels about the center.</p>
7336
7337<p><var>Degrees</var> defines the tightness of the swirl.</p>
7338
7339<div style="margin: auto;">
7340 <h3 class="magick-header"><a id="synchronize"></a>-synchronize</h3>
7341</div>
7342
7343<p class="magick-description">synchronize image to storage device.</p>
7344
7345<p>Set to "true" to ensure all image data is fully flushed and synchronized
7346to disk. There is a performance penalty, but the benefits include ensuring a
7347valid image file in the event of a system crash and early reporting if there
7348is not enough disk space for the image pixel cache.</p>
7349
7350<div style="margin: auto;">
7351 <h3 class="magick-header"><a id="taint"></a>-taint</h3>
7352</div>
7353
7354<p class="magick-description">Mark the image as modified.</p>
7355
7356<div style="margin: auto;">
7357 <h3 class="magick-header"><a id="text-font"></a>-text-font <var>name</var></h3>
7358</div>
7359
7360<p class="magick-description">font for writing fixed-width text.</p>
7361
7362<p>Specifies the name of the preferred font to use in fixed (typewriter style)
7363formatted text. The default is 14 point <var>Courier</var>.</p>
7364
7365<p>You can tag a font to specify whether it is a PostScript, TrueType, or
7366OPTION1 font. For example, <code>Courier.ttf</code> is a TrueType font and
7367<code>x:fixed</code> is OPTION1.</p>
7368
7369<div style="margin: auto;">
7370 <h3 class="magick-header"><a id="texture"></a>-texture <var>filename</var></h3>
7371</div>
7372
7373<p class="magick-description">name of texture to tile onto the image background.</p>
7374
7375<div style="margin: auto;">
7376 <h3 class="magick-header"><a id="threshold"></a>-threshold <var>value</var>{<var>%</var>}</h3>
7377</div>
7378
7379<!-- {<var>green,blue,opacity</var>}
7380<p>If the green or blue value is omitted, these channels use the same value as
7381the first one provided. If all three color values are the same, the result is
7382a bi-level image. If the opacity threshold is omitted, OpaqueOpacity is used
7383and any partially transparent pixel becomes fully transparent.</p>
7384-->
7385
7386<p class="magick-description">Apply simultaneous black/white threshold to the image.</p>
7387
Cristy594d2772015-11-15 10:47:42 -05007388<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 the
Cristy882d9f42015-10-29 16:48:39 -04007389maximum channel value, while all other values are assigned the minimum.</p>
7390
7391<p> The threshold value can be given as a percentage or as an absolute integer
7392value corresponding to the desired channel value. When given as an integer,
7393the minimum attainable value is 0 (corresponding to black when all channels
7394are affected), but the maximum value (corresponding to white) is that of the
7395<code>quantum depth</code> of the particular build of ImageMagick, and is
7396therefore dependent on the installation. For that reason, a reasonable
7397recommendation for most applications is to specify the threshold values as
7398a percentage. </p>
7399
7400<p> The following would force pixels with red values above 50% to have 100%
7401red values, while those at or below 50% red would be set to 0 in the red
7402channel. The green, blue, and alpha channels (if present) would be unchanged.
7403</p>
7404
7405<pre>
7406convert in.png -channel red -threshold 50% out.png
7407</pre>
7408
7409<p>As (possibly) impractical but instructive examples, the following would
7410generate an all-black and an all-white image with the same dimensions as the
7411input image.</p>
7412
7413
7414<pre>
7415convert in.png -threshold 100% black.png
7416convert in.png -threshold -1 white.png
7417</pre>
7418
7419<p>Note that the values of the transparency channel is treated as 'matte'
7420values (0 is opaque) and not as 'alpha' values (0 is transparent).</p>
7421
Cristy594d2772015-11-15 10:47:42 -05007422<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>.
Cristy882d9f42015-10-29 16:48:39 -04007423</p>
7424
7425<div style="margin: auto;">
7426 <h3 class="magick-header"><a id="thumbnail"></a>-thumbnail <var>geometry</var></h3>
7427</div>
7428
7429<p class="magick-description">Create a thumbnail of the image.</p>
7430
7431<p>This is similar to <a href="command-line-options.html#resize">-resize</a>, except it is optimized
7432for speed and any image profile, other than a color profile, is removed to
Cristy594d2772015-11-15 10:47:42 -05007433reduce the thumbnail size. To strip the color profiles as well, add <a
7434href="command-line-options.html#strip">-strip</a> just before of after this option.</p>
Cristy882d9f42015-10-29 16:48:39 -04007435
7436<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
7437
7438<div style="margin: auto;">
7439 <h3 class="magick-header"><a id="tile"></a>-tile <var>filename</var></h3>
7440</div>
7441
7442<p class="magick-description">Set the tile image used for filling a subsequent graphic primitive.</p>
7443
7444<div style="margin: auto;">
7445 <h3 class="magick-header">-tile <var>geometry</var></h3>
7446</div>
7447
7448<p class="magick-description">Specify the layout of images.</p>
7449
7450<p>See <a href="command-line-processing.html#geometry">Image Geometry</a> for complete details about the <em class="arg">geometry</em> argument.</p>
7451
7452<div style="margin: auto;">
7453 <h3 class="magick-header">-tile</h3>
7454</div>
7455
7456<p class="magick-description">Specifies that a subsequent composite operation is repeated across and down image.</p>
7457
7458<div style="margin: auto;">
7459 <h3 class="magick-header"><a id="tile-offset"></a>-tile-offset {<var>+-</var>}<var>x</var>{<var>+-</var>}<var>y</var></h3>
7460</div>
7461
7462<p class="magick-description">Specify the offset for tile images, relative to the background image it is tiled on.</p>
7463
Cristy594d2772015-11-15 10:47:42 -05007464<p>This should be set before the tiling image is set by <a href="command-line-options.html#tile"
7465>-tile</a> or <a href="command-line-options.html#texture" >-texture</a>, or directly applied for
Cristy882d9f42015-10-29 16:48:39 -04007466creating a tiled canvas using <code>TILE:</code> or <code>PATTERN:</code> input
7467formats. </p>
7468
Cristy594d2772015-11-15 10:47:42 -05007469<p>Internally ImageMagick does a <a href="command-line-options.html#roll" >-roll</a> of the tile image
Cristy882d9f42015-10-29 16:48:39 -04007470by the arguments given when the tile image is set. </p>
7471
7472<div style="margin: auto;">
7473 <h3 class="magick-header"><a id="tint"></a>-tint <var>value</var></h3>
7474</div>
7475
7476<p class="magick-description">Tint the image with the fill color.</p>
7477
7478<p>Tint the image with the fill color.</p>
7479
7480<p>Specify the amount of tinting as a percentage. Pure colors like black,
7481white red, yellow, will not be affected by -tint. Only mid-range colors such
7482as the various shades of grey.</p>
7483
7484<div style="margin: auto;">
7485 <h3 class="magick-header"><a id="title"></a>-title <var>string</var></h3>
7486</div>
7487
7488<p class="magick-description">Assign a title to displayed image.", "animate", "display", "montage</p>
7489
7490<p>Use this option to assign a specific title to the image. This assigned to
7491the image window and is typically displayed in the window title bar.
7492Optionally you can include the image filename, type, width, height, Exif data,
7493or other image attribute by embedding special format characters described
7494under the <a href="command-line-options.html#format">-format</a> option.</p>
7495
7496<p>For example,</p>
7497
7498<pre>
7499-title "%m:%f %wx%h"
7500</pre>
7501
7502<p>produces an image title of <code>MIFF:bird.miff 512x480</code> for an image
7503titled <code>bird.miff</code> and whose width is 512 and height is 480.</p>
7504
7505
7506<div style="margin: auto;">
7507 <h3 class="magick-header"><a id="transform"></a>-transform</h3>
7508</div>
7509
7510<p class="magick-description">transform the image.</p>
7511
7512<p>This option applies the transformation matrix from a previous <a href="command-line-options.html#affine">-affine</a> option.</p>
7513
7514<pre>
7515convert -affine 2,2,-2,2,0,0 -transform bird.ppm bird.jpg
7516</pre>
7517
7518
Cristy594d2772015-11-15 10:47:42 -05007519<p>This operator has been now been superseded by the <a
7520href="command-line-options.html#distort">-distort</a> '<code>AffineProjection</code>' method. </p>
Cristy882d9f42015-10-29 16:48:39 -04007521
7522
7523<div style="margin: auto;">
7524 <h3 class="magick-header"><a id="transparent"></a>-transparent <var>color</var></h3>
7525</div>
7526
7527<p class="magick-description">Make this color transparent within the image.</p>
7528
7529<p>The <var>color</var> argument is defined using the format
Cristy594d2772015-11-15 10:47:42 -05007530described under the <a href="command-line-options.html#fill">-fill</a> option. The <a href="command-line-options.html#fuzz"
7531>-fuzz</a> setting can be used to match and replace colors similar to the one
Cristy882d9f42015-10-29 16:48:39 -04007532given. </p>
7533
Cristy594d2772015-11-15 10:47:42 -05007534<p>Use <a href="command-line-options.html#transparent" >+transparent</a> to invert the pixels matched.
Cristy882d9f42015-10-29 16:48:39 -04007535that is make all non-matching colors transparent. </p>
7536
Cristy594d2772015-11-15 10:47:42 -05007537<p>The <a href="command-line-options.html#opaque">-opaque</a> operator is exactly the same as <a
7538href="command-line-options.html#transparent" >-transparent</a> but replaces the matching color with the
Cristy882d9f42015-10-29 16:48:39 -04007539current <a href="command-line-options.html#fill">-fill</a> color setting, rather than transparent.
Cristy594d2772015-11-15 10:47:42 -05007540However the <a href="command-line-options.html#transparent" >-transparent</a> operator also ensures
7541that the image has an alpha channel enabled, as per "<code><a href="command-line-options.html#alpha"
7542>-alpha</a> set</code>", and does not require you to modify the <a
7543href="command-line-options.html#channel">-channel</a> to enable alpha channel handling. </p>
Cristy882d9f42015-10-29 16:48:39 -04007544
7545<p>Note that this does not define the color as being the 'transparency color'
Cristy594d2772015-11-15 10:47:42 -05007546used for color-mapped image formats, such as GIF. For that use <a
7547href="command-line-options.html#transparent-color" >-transparent-color</a> </p>
Cristy882d9f42015-10-29 16:48:39 -04007548
7549
7550<div style="margin: auto;">
7551 <h3 class="magick-header"><a id="transparent-color"></a>-transparent-color <var>color</var></h3>
7552</div>
7553
7554<p class="magick-description">Set the transparent color.</p>
7555
7556<p>Sometimes this is used for saving to image formats such as
7557GIF and PNG8 which uses this color to represent boolean transparency. This
7558does not make a color transparent, it only defines what color the transparent
Cristy594d2772015-11-15 10:47:42 -05007559color is in the color palette of the saved image. Use <a
7560href="command-line-options.html#transparent">-transparent</a> to make an opaque color transparent.</p>
Cristy882d9f42015-10-29 16:48:39 -04007561
7562<p>This option allows you to have both an opaque visible color, as well as a
7563transparent color of the same color value without conflict. That is, you can
7564use the same color for both the transparent and opaque color areas within an
7565image. This, in turn, frees to you to select a transparent color that is
7566appropriate when an image is displayed by an application that does not handle a
7567transparent color index, while allowing ImageMagick to correctly handle images of this
7568type. </p>
7569
7570<p>The default transparent color is <code>#00000000</code>, which is fully transparent black.</p>
7571
7572<div style="margin: auto;">
7573 <h3 class="magick-header"><a id="transpose"></a>-transpose</h3>
7574</div>
7575
7576<p class="magick-description">Mirror the image along the top-left to bottom-right diagonal.</p>
7577
7578<p> This option mathematically transposes the pixel array. It is equivalent to the sequence <code>-flip -rotate 90</code>.
7579</p>
7580
7581<div style="margin: auto;">
7582 <h3 class="magick-header"><a id="transverse"></a>-transverse</h3>
7583</div>
7584
7585<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>
7586
7587
7588<div style="margin: auto;">
7589 <h3 class="magick-header"><a id="treedepth"></a>-treedepth <var>value</var></h3>
7590</div>
7591
7592<p class="magick-description">tree depth for the color reduction algorithm.</p>
7593
7594<p>Normally, this integer value is zero or one. A value of zero or one causes
7595the use of an optimal tree depth for the color reduction algorithm.</p>
7596
7597<p>An optimal depth generally allows the best representation of the source
7598image with the fastest computational speed and the least amount of memory.
7599However, the default depth is inappropriate for some images. To assure the
7600best representation, try values between 2 and 8 for this parameter. Refer to
Cristy594d2772015-11-15 10:47:42 -05007601the <a href="quantize.html"
7602>color reduction algorithm</a> for more details.</p>
Cristy882d9f42015-10-29 16:48:39 -04007603
7604<p>The <a href="command-line-options.html#colors">-colors</a> or <a href="command-line-options.html#monochrome">-monochrome</a>
7605option, or writing to an image format which requires color reduction, is
7606required for this option to take effect.</p>
7607
7608<div style="margin: auto;">
7609 <h3 class="magick-header"><a id="trim"></a>-trim</h3>
7610</div>
7611
7612<p class="magick-description">trim an image.</p>
7613
7614<p>This option removes any edges that are exactly the same color as the corner
7615pixels. Use <a href="command-line-options.html#fuzz">-fuzz</a> to make <a href="command-line-options.html#trim">-trim</a> remove
7616edges that are nearly the same color as the corner pixels.</p>
7617
7618<p>The page or virtual canvas information of the image is preserved allowing
7619you to extract the result of the <a href="command-line-options.html#trim">-trim</a> operation from the
7620image. Use a <a href="command-line-options.html#repage">+repage</a> to remove the virtual canvas page
7621information if it is unwanted.</p>
7622
7623<p>If the trimmed image 'disappears' an warning is produced, and a special
7624single pixel transparent 'missed' image is returned, in the same way as when a
7625<a href="command-line-options.html#crop">-crop</a> operation 'misses' the image proper. </p>
7626
7627
7628<div style="margin: auto;">
7629 <h3 class="magick-header"><a id="type"></a>-type <var>type</var></h3>
7630</div>
7631
7632<p class="magick-description">the image type.</p> <p>Choose from: <code>Bilevel</code>,
7633<code>Grayscale</code>, <code>GrayscaleMatte</code>, <code>Palette</code>,
7634<code>PaletteMatte</code>, <code>TrueColor</code>, <code>TrueColorMatte</code>,
7635<code>ColorSeparation</code>, or <code>ColorSeparationMatte</code>.</p>
7636
7637<p>Normally, when a format supports different subformats such as grayscale and
Cristy594d2772015-11-15 10:47:42 -05007638truecolor, the encoder will try to choose an efficient subformat. The <a
7639href="command-line-options.html#type">-type</a> option can be used to override this behavior. For
Cristy882d9f42015-10-29 16:48:39 -04007640example, to prevent a JPEG from being written in grayscale format even though
7641only gray pixels are present, use.</p>
7642
7643<pre>
7644convert bird.png -type TrueColor bird.jpg
7645</pre>
7646
7647<p>Similarly, use <a href="command-line-options.html#type">-type TrueColorMatte</a> to force the
7648encoder to write an alpha channel even though the image is opaque, if the
7649output format supports transparency.</p>
7650
7651<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>
7652
7653<div style="margin: auto;">
7654 <h3 class="magick-header"><a id="undercolor"></a>-undercolor <var>color</var></h3>
7655</div>
7656
7657<p class="magick-description">set the color of the annotation bounding box.</p>
7658
7659<p>The color is specified using the format described under the <a href="command-line-options.html#fill">-fill</a> option.</p>
7660
7661<p>See <a href="command-line-options.html#draw">-draw</a> for further details.</p>
7662
7663
7664<div style="margin: auto;">
7665 <h3 class="magick-header"><a id="update"></a>-update <var>seconds</var></h3>
7666</div>
7667
7668<p class="magick-description">detect when image file is modified and redisplay.</p>
7669
7670<p>Suppose that while you are displaying an image the file that is currently
7671displayed is over-written. <code>display</code> will automagically detect that
7672the input file has been changed and update the displayed image
7673accordingly.</p>
7674
7675
7676<div style="margin: auto;">
7677 <h3 class="magick-header"><a id="unique-colors"></a>-unique-colors</h3>
7678</div>
7679
7680<p class="magick-description">discard all but one of any pixel color.</p>
7681
7682
7683<div style="margin: auto;">
7684 <h3 class="magick-header"><a id="units"></a>-units <var>type</var></h3>
7685</div>
7686
7687<p class="magick-description">the units of image resolution.</p>
7688
7689<p>Choose from: <code>Undefined</code>, <code>PixelsPerInch</code>, or
7690<code>PixelsPerCentimeter</code>. This option is normally used in conjunction
7691with the <a href="command-line-options.html#density">-density</a> option.</p>
7692
7693
7694<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05007695 <h3 class="magick-header"><a id="unsharp"></a>-unsharp <var>radius</var><br />-unsharp <var>radius</var>x<var>sigma</var>{<var>+gain</var>}{<var>+threshold</var>}</h3>
Cristy882d9f42015-10-29 16:48:39 -04007696</div>
7697
7698<p class="magick-description">sharpen the image with an unsharp mask operator.</p>
7699
7700<p>The <a href="command-line-options.html#unsharp">-unsharp</a> option sharpens an image. The image is
7701convolved with a Gaussian operator of the given radius and standard deviation
7702(sigma). For reasonable results, radius should be larger than sigma. Use
7703a radius of 0 to have the method select a suitable radius.</p>
7704
7705<p>The parameters are:</p>
7706
7707<dl class="dl-horizontal">
7708<dt>radius</dt>
7709<dd>The radius of the Gaussian, in pixels, not counting the center pixel (default 0).</dd>
7710<dt>sigma</dt>
7711<dd>The standard deviation of the Gaussian, in pixels (default 1.0).</dd>
7712<dt>gain</dt>
7713<dd>The fraction of the difference between the original and the blur image that is added back into the original (default 1.0).</dd>
7714<dt>threshold</dt>
7715<dd>The threshold, as a fraction of <var>QuantumRange</var>, needed to apply the difference amount (default 0.05).</dd>
7716</dl>
7717
7718<div style="margin: auto;">
7719 <h3 class="magick-header"><a id="verbose"></a>-verbose</h3>
7720</div>
7721
7722<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>
7723
7724
7725<div style="margin: auto;">
7726 <h3 class="magick-header"><a id="version"></a>-version</h3>
7727</div>
7728
7729<p class="magick-description">print ImageMagick version string and exit.</p>
7730
7731
7732<div style="margin: auto;">
7733 <h3 class="magick-header"><a id="view"></a>-view <var>string</var></h3>
7734</div>
7735
7736<p class="magick-description">FlashPix viewing parameters.</p>
7737
7738
7739<div style="margin: auto;">
7740 <h3 class="magick-header"><a id="vignette"></a>-vignette <var>radius</var>{x<var>sigma</var>}{<var>+-</var>}<var>x</var>{<var>+-</var>}<var>y</var>{<var>%</var>}</h3>
7741</div>
7742
7743<p class="magick-description">soften the edges of the image in vignette style.</p>
7744
7745<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>
7746
7747<div style="margin: auto;">
7748 <h3 class="magick-header"><a id="virtual-pixel"></a>-virtual-pixel <var>method</var></h3>
7749</div>
7750
7751<p class="magick-description">Specify contents of <var>virtual pixels</var>.</p>
7752
7753<p>This option defines what color source should be used if and when a color
7754lookup completely 'misses' the source image. The color(s) that appear to
7755surround the source image. Generally this color is derived from the source
7756image, but could also be set to a specify background color. </p>
7757
7758<p>Choose from these methods:</p>
7759
7760<dl class="dl-horizontal">
7761<dt>background</dt><dd>the area surrounding the image is the background color</dd>
7762<dt>black</dt><dd>the area surrounding the image is black</dd>
7763<dt>checker-tile</dt><dd>alternate squares with image and background color</dd>
7764<dt>dither</dt><dd>non-random 32x32 dithered pattern</dd>
7765<dt>edge</dt><dd>extend the edge pixel toward infinity</dd>
7766<dt>gray</dt><dd>the area surrounding the image is gray</dd>
7767<dt>horizontal-tile</dt><dd>horizontally tile the image, background color above/below</dd>
7768<dt>horizontal-tile-edge</dt><dd>horizontally tile the image and replicate the side edge pixels</dd>
7769<dt>mirror</dt><dd>mirror tile the image</dd>
7770<dt>random</dt><dd>choose a random pixel from the image</dd>
7771<dt>tile</dt><dd>tile the image (default)</dd>
7772<dt>transparent</dt><dd>the area surrounding the image is transparent blackness</dd>
7773<dt>vertical-tile</dt><dd>vertically tile the image, sides are background color</dd>
7774<dt>vertical-tile-edge</dt><dd>vertically tile the image and replicate the side edge pixels</dd>
7775<dt>white</dt><dd>the area surrounding the image is white</dd>
7776</dl>
7777
7778<p>The default value is "edge".</p>
7779
Cristy594d2772015-11-15 10:47:42 -05007780<p>This most important for distortion operators such as <a href="command-line-options.html#distort"
7781>-distort</a>, <a href="command-line-options.html#implode" >-implode</a>, and <a href="command-line-options.html#fx" >-fx</a>.
Cristy882d9f42015-10-29 16:48:39 -04007782However it also effects operations that may access pixels just outside the
Cristy594d2772015-11-15 10:47:42 -05007783image proper, such as <a href="command-line-options.html#convolve">-convolve</a>, <a
7784href="command-line-options.html#blur">-blur</a>, and <a href="command-line-options.html#sharpen">-sharpen</a>. </p>
Cristy882d9f42015-10-29 16:48:39 -04007785
Cristy594d2772015-11-15 10:47:42 -05007786<p>To print a complete list of virtual pixel types, use the <a
7787href="command-line-options.html#list">-list virtual-pixel</a> option.</p>
Cristy882d9f42015-10-29 16:48:39 -04007788
7789
7790<div style="margin: auto;">
7791 <h3 class="magick-header"><a id="visual"></a>-visual <var>type</var></h3>
7792</div>
7793
7794<p class="magick-description">Animate images using this X visual type.", 'animate', 'display'</p>
7795
7796<p>Choose from these visual classes:</p>
7797
7798<pre>
7799StaticGray TrueColor
7800GrayScale DirectColor
7801StaticColor default
7802PseudoColor visual id
7803</pre>
7804
7805<p>The X server must support the visual you choose, otherwise an error occurs.
7806If a visual is not specified, the visual class that can display the most
7807simultaneous colors on the default screen is chosen.</p>
7808
7809
7810<div style="margin: auto;">
7811 <h3 class="magick-header"><a id="watermark"></a>-watermark <var>brightness</var>x<var>saturation</var></h3>
7812</div>
7813
7814<p class="magick-description">Watermark an image using the given percentages of brightness and saturation.</p>
7815
7816<p>Take a grayscale image (with alpha mask) and modify the destination image's
7817brightness according to watermark image's grayscale value and the
7818<var>brightness</var> percentage. The destinations color saturation
7819attribute is just direct modified by the <var>saturation</var>
7820percentage, which defaults to 100 percent (no color change). </p>
7821
7822
7823<div style="margin: auto;">
Cristy594d2772015-11-15 10:47:42 -05007824 <h3 class="magick-header"><a id="wave"></a>-wave <var>amplitude</var><br />-wave <var>amplitude</var>x<var>wavelength</var></h3>
Cristy882d9f42015-10-29 16:48:39 -04007825</div>
7826
7827<p class="magick-description">Shear the columns of an image into a sine wave.</p>
7828
Cristye09ed312016-03-06 08:07:39 -05007829<div style="margin: auto;">
7830 <h3 class="magick-header"><a id="wavelet-denoise"></a>-wavelet-denoise <var>threshold</var><br />-wavelet-denoise <var>threshold</var>x<var>softness</var></h3>
7831</div>
7832
7833<p class="magick-description">removes noise from the image using a wavelet transform. The threshold is the value below which everything is considered noise and ranges from 0.0 (none) to QuantumRange or use percent (e.g. 5%). Softness attenuates the threshold and typically ranges from 0.0 (none) to 1.0. The higher the value the more noise that remains in the image.</p>
Cristy882d9f42015-10-29 16:48:39 -04007834
7835<div style="margin: auto;">
7836 <h3 class="magick-header"><a id="weight"></a>-weight <var>fontWeight</var></h3>
7837</div>
7838
7839<p class="magick-description">Set a font weight for text.</p>
7840
7841<p>This setting suggests a font weight that ImageMagick should try to apply to
7842the currently selected font family. Use a positive integer for
7843<var>fontWeight</var> or select from the following.</p>
7844
7845<dl class="dl-horizontal">
7846<dt>Thin </dt>
7847<dd>Same as <var>fontWeight</var> = 100.</dd>
7848<dt>ExtraLight </dt>
7849<dd>Same as <var>fontWeight</var> = 200.</dd>
7850<dt>Light </dt>
7851<dd>Same as <var>fontWeight</var> = 300.</dd>
7852<dt>Normal </dt>
7853<dd>Same as <var>fontWeight</var> = 400.</dd>
7854<dt>Medium </dt>
7855<dd>Same as <var>fontWeight</var> = 500.</dd>
7856<dt>DemiBold </dt>
7857<dd>Same as <var>fontWeight</var> = 600.</dd>
7858<dt>Bold </dt>
7859<dd>Same as <var>fontWeight</var> = 700.</dd>
7860<dt>ExtraBold </dt>
7861<dd>Same as <var>fontWeight</var> = 800.</dd>
7862<dt>Heavy </dt>
7863<dd>Same as <var>fontWeight</var> = 900.</dd>
7864</dl>
Cristy594d2772015-11-15 10:47:42 -05007865<br/>
Cristy882d9f42015-10-29 16:48:39 -04007866
7867<p>To print a complete list of weight types, use <a href="command-line-options.html#list">-list weight</a>.</p>
7868
Cristy594d2772015-11-15 10:47:42 -05007869<p>For other settings that affect fonts, see the options <a
7870href="command-line-options.html#font">-font</a>, <a href="command-line-options.html#family">-family</a>, <a
7871href="command-line-options.html#stretch">-stretch</a>, and <a href="command-line-options.html#style">-style</a>. </p>
Cristy882d9f42015-10-29 16:48:39 -04007872
7873<div style="margin: auto;">
7874 <h3 class="magick-header"><a id="white-point"></a>-white-point <var>x,y</var></h3>
7875</div>
7876
7877<p class="magick-description">chromaticity white point.</p>
7878
7879<div style="margin: auto;">
7880 <h3 class="magick-header"><a id="white-threshold"></a>-white-threshold <var>value</var>{<var>%</var>}</h3>
7881</div>
7882
7883<p class="magick-description">Force to white all pixels above the threshold while leaving all pixels at or below the threshold unchanged.</p>
7884
7885<p> The threshold value can be given as a percentage or as an absolute integer
7886value within [0, <var>QuantumRange</var>] corresponding to the
Cristy594d2772015-11-15 10:47:42 -05007887desired <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>
Cristy882d9f42015-10-29 16:48:39 -04007888
7889<div style="margin: auto;">
7890 <h3 class="magick-header"><a id="window"></a>-window <var>id</var></h3>
7891</div>
7892
7893<p class="magick-description">Make the image the background of a window.", 'animate', 'display'</p>
7894
7895<p><var>id</var> can be a window id or name. Specify <code>root</code>
7896to select X's root window as the target window.</p>
7897
7898<p>By default the image is tiled onto the background of the target window. If
7899<code>backdrop</code> or <a href="command-line-options.html#geometry">-resize</a> are specified, the
7900image is surrounded by the background color. Refer to <code>X RESOURCES</code>
7901for details.</p>
7902
7903<p>The image will not display on the root window if the image has more unique
Cristy594d2772015-11-15 10:47:42 -05007904colors than the target window colormap allows. Use <a
7905href="command-line-options.html#colors">-colors</a> to reduce the number of colors.</p>
Cristy882d9f42015-10-29 16:48:39 -04007906
7907<div style="margin: auto;">
7908 <h3 class="magick-header"><a id="window-group"></a>-window-group</h3>
7909</div>
7910
7911<p class="magick-description">specify the window group.</p>
7912
7913<div style="margin: auto;">
7914 <h3 class="magick-header"><a id="write"></a>-write <var>filename</var></h3>
7915</div>
7916
7917<p class="magick-description">write an image sequence.</p>
7918
7919<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>
7920
7921<p>Use <a href="command-line-options.html#compress">-compress</a> to specify the type of image compression.</p>
7922</div>
7923</div>
7924
7925
Cristye93be682015-11-26 09:07:51 -05007926
Cristy882d9f42015-10-29 16:48:39 -04007927 <footer class="magick-footer">
cristy29f2c972015-07-28 13:37:46 +00007928 <p><a href="support.html">Donate</a>
7929 <a href="sitemap.html">Sitemap</a>
cristyd2432012015-05-04 23:15:15 +00007930 <a href="links.html">Related</a>
cristy29f2c972015-07-28 13:37:46 +00007931 <a href="architecture.html">Architecture</a>
cristyd2432012015-05-04 23:15:15 +00007932</p>
7933 <p><a href="command-line-options.html#">Back to top</a>
cristyea2793e2015-05-31 16:52:26 +00007934 <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a>
cristy5b8fe762015-06-09 16:24:03 +00007935 <a href="http://nextgen.imagemagick.org/script/contact.php">Contact Us</a></p>
Cristyde27d762016-01-02 12:56:44 -05007936 <p><small>© 1999-2016 ImageMagick Studio LLC</small></p>
cristyd2432012015-05-04 23:15:15 +00007937 </footer>
7938</div><!-- /.container -->
7939
Cristy542697a2015-10-12 20:10:32 -04007940 <script src="https://localhost/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
cristy29f2c972015-07-28 13:37:46 +00007941 <script src="http://nextgen.imagemagick.org/js/magick.html"></script>
cristyd2432012015-05-04 23:15:15 +00007942</div>
cristyad41c0c2012-10-31 00:49:28 +00007943</body>
cristy5a367e42015-05-05 12:39:18 +00007944</html>