%!PS-Adobe-2.0 %%Version: 0.1 %%DocumentFonts: (atend) %%Pages: (atend) %%EndComments % % Version 3.3.2 prologue for troff files. % /#copies 1 store /aspectratio 1 def /formsperpage 1 def /landscape false def /linewidth .3 def /magnification 1 def /margin 0 def /orientation 0 def /resolution 720 def /rotation 1 def /xoffset 0 def /yoffset 0 def /roundpage true def /useclippath true def /pagebbox [0 0 612 792] def /R /Times-Roman def /I /Times-Italic def /B /Times-Bold def /BI /Times-BoldItalic def /H /Helvetica def /HI /Helvetica-Oblique def /HB /Helvetica-Bold def /HX /Helvetica-BoldOblique def /CW /Courier def /CO /Courier def /CI /Courier-Oblique def /CB /Courier-Bold def /CX /Courier-BoldOblique def /PA /Palatino-Roman def /PI /Palatino-Italic def /PB /Palatino-Bold def /PX /Palatino-BoldItalic def /Hr /Helvetica-Narrow def /Hi /Helvetica-Narrow-Oblique def /Hb /Helvetica-Narrow-Bold def /Hx /Helvetica-Narrow-BoldOblique def /KR /Bookman-Light def /KI /Bookman-LightItalic def /KB /Bookman-Demi def /KX /Bookman-DemiItalic def /AR /AvantGarde-Book def /AI /AvantGarde-BookOblique def /AB /AvantGarde-Demi def /AX /AvantGarde-DemiOblique def /NR /NewCenturySchlbk-Roman def /NI /NewCenturySchlbk-Italic def /NB /NewCenturySchlbk-Bold def /NX /NewCenturySchlbk-BoldItalic def /ZD /ZapfDingbats def /ZI /ZapfChancery-MediumItalic def /S /S def /S1 /S1 def /GR /Symbol def /inch {72 mul} bind def /min {2 copy gt {exch} if pop} bind def /setup { counttomark 2 idiv {def} repeat pop landscape {/orientation 90 orientation add def} if /scaling 72 resolution div def linewidth setlinewidth 1 setlinecap pagedimensions xcenter ycenter translate orientation rotation mul rotate width 2 div neg height 2 div translate xoffset inch yoffset inch neg translate margin 2 div dup neg translate magnification dup aspectratio mul scale scaling scaling scale addmetrics 0 0 moveto } def /pagedimensions { useclippath userdict /gotpagebbox known not and { /pagebbox [clippath pathbbox newpath] def roundpage currentdict /roundpagebbox known and {roundpagebbox} if } if pagebbox aload pop 4 -1 roll exch 4 1 roll 4 copy landscape {4 2 roll} if sub /width exch def sub /height exch def add 2 div /xcenter exch def add 2 div /ycenter exch def userdict /gotpagebbox true put } def /addmetrics { /Symbol /S null Sdefs cf /Times-Roman /S1 StandardEncoding dup length array copy S1defs cf } def /pagesetup { /page exch def currentdict /pagedict known currentdict page known and { page load pagedict exch get cvx exec } if } def /decodingdefs [ {counttomark 2 idiv {y moveto show} repeat} {neg /y exch def counttomark 2 idiv {y moveto show} repeat} {neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat} {neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat} {counttomark 2 idiv {y moveto show} repeat} {neg setfunnytext} ] def /setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def /w {neg moveto show} bind def /m {neg dup /y exch def moveto} bind def /done {/lastpage where {pop lastpage} if} def /f { dup /font exch def findfont exch dup /ptsize exch def scaling div dup /size exch def scalefont setfont linewidth ptsize mul scaling 10 mul div setlinewidth /spacewidth ( ) stringwidth pop def } bind def /changefont { /fontheight exch def /fontslant exch def currentfont [ 1 0 fontheight ptsize div fontslant sin mul fontslant cos div fontheight ptsize div 0 0 ] makefont setfont } bind def /sf {f} bind def /cf { dup length 2 idiv /entries exch def /chtab exch def /newencoding exch def /newfont exch def findfont dup length 1 add dict /newdict exch def {1 index /FID ne {newdict 3 1 roll put}{pop pop} ifelse} forall newencoding type /arraytype eq {newdict /Encoding newencoding put} if newdict /Metrics entries dict put newdict /Metrics get begin chtab aload pop 1 1 entries {pop def} for newfont newdict definefont pop end } bind def % % A few arrays used to adjust reference points and character widths in some % of the printer resident fonts. If square roots are too high try changing % the lines describing /radical and /radicalex to, % % /radical [0 -75 550 0] % /radicalex [-50 -75 500 0] % % Move braceleftbt a bit - default PostScript character is off a bit. % /Sdefs [ /bracketlefttp [201 500] /bracketleftbt [201 500] /bracketrighttp [-81 380] /bracketrightbt [-83 380] /braceleftbt [203 490] /bracketrightex [220 -125 500 0] /radical [0 0 550 0] /radicalex [-50 0 500 0] /parenleftex [-20 -170 0 0] /integral [100 -50 500 0] /infinity [10 -75 730 0] ] def /S1defs [ /underscore [0 80 500 0] /endash [7 90 650 0] ] def % % Tries to round clipping path dimensions, as stored in array pagebbox, so they % match one of the known sizes in the papersizes array. Lower left coordinates % are always set to 0. % /roundpagebbox { 7 dict begin /papersizes [8.5 inch 11 inch 14 inch 17 inch] def /mappapersize { /val exch def /slop .5 inch def /diff slop def /j 0 def 0 1 papersizes length 1 sub { /i exch def papersizes i get val sub abs dup diff le {/diff exch def /j i def} {pop} ifelse } for diff slop lt {papersizes j get} {val} ifelse } def pagebbox 0 0 put pagebbox 1 0 put pagebbox dup 2 get mappapersize 2 exch put pagebbox dup 3 get mappapersize 3 exch put end } bind def %%EndProlog %%BeginSetup mark % % Encoding vector and redefinition of findfont for the ISO Latin1 standard. % The 18 characters missing from ROM based fonts on older printers are noted % below. % /ISOLatin1Encoding [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent /sterling /currency /yen /brokenbar % missing /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree % missing /plusminus % missing /twosuperior % missing /threesuperior % missing /acute /mu % missing /paragraph /periodcentered /cedilla /onesuperior % missing /ordmasculine /guillemotright /onequarter % missing /onehalf % missing /threequarters % missing /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth % missing /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply % missing /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute % missing /Thorn % missing /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth % missing /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide % missing /oslash /ugrave /uacute /ucircumflex /udieresis /yacute % missing /thorn % missing /ydieresis ] def /NewFontDirectory FontDirectory maxlength dict def % % Apparently no guarantee findfont is defined in systemdict so the obvious % % systemdict /findfont get exec % % can generate an error. So far the only exception is a VT600 (version 48.0). % userdict /@RealFindfont known not { userdict begin /@RealFindfont systemdict begin /findfont load end def end } if /findfont { dup NewFontDirectory exch known not { dup %dup systemdict /findfont get exec % not always in systemdict dup userdict /@RealFindfont get exec dup /Encoding get StandardEncoding eq { dup length dict begin {1 index /FID ne {def}{pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end /DummyFontName exch definefont } if NewFontDirectory 3 1 roll put } if NewFontDirectory exch get } bind def setup %%EndSetup %%Page: 1 1 /saveobj save def mark 1 pagesetup 12 /Times-Bold f (Pammasksharpen User) 2069 1230 w (Manual) 3289 1230 w 10 /Times-Bold f (pammasksharpen) 720 1920 w 10 /Times-Roman f (Updated: 14 June 2006) 720 2076 w (Table Of Contents) 720 2196 w 10 /Times-Bold f (NAME) 720 2436 w 10 /Times-Roman f (pammasksharpen \255 Sharpen an image via an unsharp mask) 720 2592 w 10 /Times-Bold f (SYNOPSIS) 720 2832 w (pammasksharpen) 720 2988 w 10 /Times-Roman f ([) 1507 2988 w 10 /Times-Bold f (\255sharpness=) 1540 2988 w 10 /Times-Italic f (realnum) 2053 2988 w 10 /Times-Roman f ([) 2411 2988 w 10 /Times-Bold f (\255threshold=) 2444 2988 w 10 /Times-Italic f (realnum maskfile) 2940 2988 w 10 /Times-Roman f ([) 3656 2988 w 10 /Times-Italic f (inputfile) 3689 2988 w 10 /Times-Roman f (]) 4023 2988 w (All) 720 3144 w (options) 881 3144 w (can) 1209 3144 w (be) 1380 3144 w (abbreviated) 1507 3144 w (to) 2005 3144 w (their) 2117 3144 w (shortest) 2334 3144 w (unique) 2679 3144 w (prefix.) 2985 3144 w (You) 3307 3144 w (may) 3513 3144 w (use) 3719 3144 w (two) 3886 3144 w (hyphens) 4070 3144 w (instead) 4437 3144 w (of) 4754 3144 w (one.) 4871 3144 w (You may separate an option name and its value with white space instead of an equals sign.) 720 3264 w 10 /Times-Bold f (EXAMPLES) 720 3504 w 10 /Times-Roman f (pamgauss 5 5 \255sigma=.7 \255tupletype=GRAYSCALE ) 795 3720 w 10 /S f (\357) 2878 3720 w 10 /Times-Roman f (pamtopnm >gauss.pgm) 2952 3720 w (pnmconvol gauss.pgm myimage.ppm >blurred.ppm) 795 3840 w (pammasksharpen blurred.ppm myimage.ppm >sharpened.ppm) 795 3960 w 10 /Times-Bold f (DESCRIPTION) 720 4260 w 10 /Times-Roman f (This program is part of Netpbm.) 720 4452 w 10 /Times-Bold f (pammasksharpen) 720 4608 w 10 /Times-Roman f (reads) 1510 4608 w (a) 1748 4608 w (Netpbm) 1820 4608 w (image) 2170 4608 w (as) 2442 4608 w (input) 2553 4608 w (and) 2787 4608 w (produces) 2959 4608 w (a) 3348 4608 w (sharpened) 3421 4608 w (version) 3854 4608 w (of) 4177 4608 w (it,) 4289 4608 w (in) 4399 4608 w (the) 4506 4608 w (same) 4657 4608 w (for\255) 4891 4608 w (mat, as output.) 720 4728 w (It does this via an unsharp mask, which you supply as another Netpbm image.) 1359 4728 w (An) 720 4884 w (unsharp) 871 4884 w (mask) 1216 4884 w (is) 1456 4884 w (generally) 1552 4884 w (a) 1952 4884 w (blurred) 2025 4884 w (version) 2342 4884 w (of) 2665 4884 w (the) 2777 4884 w (original) 2928 4884 w (image.) 3268 4884 w (The) 3591 4884 w (sharpening) 3775 4884 w (computation) 4242 4884 w (is) 4771 4884 w (this:) 4867 4884 w (Calculate) 720 5004 w (the) 1127 5004 w ("edgeness") 1279 5004 w (of) 1751 5004 w (a) 1864 5004 w (sample) 1937 5004 w (in) 2249 5004 w (the) 2356 5004 w (input) 2507 5004 w (image) 2742 5004 w (as) 3015 5004 w (the) 3127 5004 w (signed) 3278 5004 w (difference) 3568 5004 w (between) 4000 5004 w (the) 4361 5004 w (sample) 4512 5004 w (value) 4824 5004 w (and) 720 5124 w (the) 891 5124 w (corresponding) 1040 5124 w (sample) 1638 5124 w (in) 1948 5124 w (the) 2053 5124 w (unsharp) 2202 5124 w (mask.) 2545 5124 w (This) 2833 5124 w (tells) 3038 5124 w (how) 3232 5124 w (different) 3432 5124 w (the) 3803 5124 w (pixel) 3953 5124 w (is) 4181 5124 w (from) 4276 5124 w (its) 4498 5124 w (neighbors.) 4621 5124 w (Add) 720 5244 w (a) 920 5244 w (multiple) 992 5244 w (of) 1354 5244 w (the) 1465 5244 w (edgeness) 1615 5244 w (to) 2003 5244 w (the) 2109 5244 w (original) 2259 5244 w (sample) 2598 5244 w (to) 2909 5244 w (get) 3015 5244 w (the) 3165 5244 w (corresponding) 3315 5244 w (output) 3914 5244 w (sample.) 4198 5244 w (Clip) 4559 5244 w (as) 4759 5244 w (nec\255) 4869 5244 w (essary.) 720 5364 w (This) 1051 5364 w (causes) 1261 5364 w (pixels) 1553 5364 w (that) 1824 5364 w (are) 2006 5364 w (brighter) 2159 5364 w (than) 2507 5364 w (their) 2711 5364 w (neighbors) 2926 5364 w (to) 3352 5364 w (get) 3462 5364 w (even) 3616 5364 w (brighter,) 3836 5364 w (while) 4209 5364 w (pixels) 4464 5364 w (that) 4736 5364 w (are) 4919 5364 w (dimmer) 720 5484 w (than) 1074 5484 w (their) 1289 5484 w (neighbors) 1515 5484 w (get) 1952 5484 w (even) 2116 5484 w (dimmer.) 2346 5484 w (This) 2749 5484 w (makes) 2969 5484 w (edges) 3266 5484 w (\255\255) 3535 5484 w (places) 3643 5484 w (where) 3934 5484 w (pixel) 4219 5484 w (values) 4461 5484 w (change) 4758 5484 w (quickly in space \255\255 stand out more.) 720 5604 w (The unsharp mask must be the same dimensions and have the same maxval as the input image.) 720 5760 w 10 /Times-Bold f (The Unsharp Mask) 720 6000 w 10 /Times-Roman f (You usually create the unsharp mask as a gaussian blur) 720 6192 w (of) 2950 6192 w (the) 3059 6192 w (original) 3207 6192 w (image,) 3544 6192 w (which) 3839 6192 w (you) 4109 6192 w (can) 4285 6192 w (do) 4449 6192 w (using) 4575 6192 w 10 /Times-Bold f (pam\255) 4818 6192 w (gauss) 720 6312 w 10 /Times-Roman f (and) 986 6312 w 10 /Times-Bold f (pnmconvol) 1162 6312 w 10 /Times-Roman f (as) 1667 6312 w (in) 1782 6312 w (the) 1892 6312 w (example) 2046 6312 w (above.) 2416 6312 w (The) 2736 6312 w (convolution) 2923 6312 w (kernel) 3433 6312 w (you) 3714 6312 w (use) 3896 6312 w (with) 4061 6312 w 10 /Times-Bold f (pnmconvol) 4271 6312 w 10 /Times-Roman f (is) 4776 6312 w (nor\255) 4874 6312 w (mally a square with side length an odd number of pixels.) 720 6432 w (When) 720 6588 w (you) 985 6588 w (create) 1162 6588 w (an) 1426 6588 w (unsharp) 1548 6588 w (mask) 1892 6588 w (like) 2131 6588 w (this,) 2309 6588 w (you) 2507 6588 w (will) 2685 6588 w (have) 2869 6588 w (to) 3085 6588 w (choose) 3191 6588 w (the) 3496 6588 w (side) 3646 6588 w (length) 3835 6588 w (of) 4113 6588 w (the) 4224 6588 w (convolution) 4374 6588 w (ker\255) 4880 6588 w (nel.) 720 6708 w (That) 920 6708 w (length) 1131 6708 w (implements) 1409 6708 w (the) 1904 6708 w (parameter) 2054 6708 w (of) 2480 6708 w (unsharp) 2591 6708 w (mask) 2935 6708 w (sharpening) 3174 6708 w (usually) 3640 6708 w (known) 3957 6708 w (as) 4257 6708 w ("radius.") 4367 6708 w (In) 4770 6708 w (par\255) 4880 6708 w (ticular, a radius of R pixels corresponds to a convolution kernel 2R+1 pixels on a side.) 720 6828 w (Radius is a very important parameter; you can ruin an image with a radius too) 720 6984 w (large.) 3858 6984 w (You) 4133 6984 w (can) 4331 6984 w (safely) 4495 6984 w (use) 4759 6984 w (the) 4918 6984 w (highest) 720 7104 w (radius) 1035 7104 w (with) 1305 7104 w (an) 1509 7104 w (inanimate) 1629 7104 w (object,) 2049 7104 w (while a human face demands the least.) 2344 7104 w (Landscapes fall in between.) 3932 7104 w (But it really depends on the size of the details.) 720 7224 w (Fine detail needs a smaller radius, or else you may) 2618 7224 w (obliterate) 4663 7224 w cleartomark showpage saveobj restore %%EndPage: 1 1 %%Page: 2 2 /saveobj save def mark 2 pagesetup 10 /Times-Roman f (\255 2 \255) 2797 480 w (tiny) 720 840 w (detail) 923 840 w (of) 1192 840 w (the) 1322 840 w (same) 1491 840 w (size) 1742 840 w (as) 1943 840 w (the) 2072 840 w (Radius) 2240 840 w (width.) 2564 840 w (A) 2888 840 w (large) 3006 840 w (image) 3251 840 w (often) 3541 840 w (has) 3792 840 w (larger) 3971 840 w (detail) 4249 840 w (\(more) 4517 840 w (pixels) 4801 840 w (involved\),) 720 960 w (so) 1157 960 w (can) 1275 960 w (use) 1442 960 w (a) 1605 960 w (larger) 1679 960 w (radius.) 1941 960 w (Radius) 2265 960 w (and) 2573 960 w (sharpness) 2747 960 w (\(see) 3165 960 w 10 /Times-Bold f (\255sharpness) 3355 960 w 10 /Times-Roman f (option\)) 3841 960 w (interact:) 4160 960 w (reducing) 4517 960 w (one) 4896 960 w (allows you to increase the other.) 720 1080 w 10 /Times-Bold f (OPTIONS) 720 1320 w (\255sharpness=) 970 1512 w 10 /Times-Italic f (realnum) 1483 1512 w 10 /Times-Roman f (This) 1816 1512 w (specifies) 2030 1512 w (the) 2415 1512 w (magnitude) 2573 1512 w (of) 3031 1512 w (the) 3150 1512 w (sharpening.) 3308 1512 w (It) 3832 1512 w (is) 3929 1512 w (the) 4032 1512 w (multiple) 4190 1512 w (of) 4560 1512 w (edgeness) 4680 1512 w (that gets added to each sample as described above.) 1220 1632 w 10 /Times-Italic f (realnum) 970 1788 w 10 /Times-Roman f (is a nonnegative real decimal number.) 1328 1788 w (Zero means no sharpening at all.) 2897 1788 w (This parameter is known as "amount" in ImageMagick.) 970 1944 w (The default is 1.0.) 970 2100 w (This option was new in Netpbm 10.30 \(October 2005\).) 970 2256 w (Before that, the sharpness was always 1.0.) 3212 2256 w 10 /Times-Bold f (\255sharpness=) 970 2412 w 10 /Times-Italic f (realnum) 1483 2412 w 10 /Times-Roman f (This) 1816 2412 w (minimum) 2025 2412 w (amount) 2446 2412 w (of) 2777 2412 w (edgeness) 2891 2412 w (that) 3282 2412 w (will) 3463 2412 w (be) 3650 2412 w (considered) 3776 2412 w (edgeness) 4240 2412 w (at) 4632 2412 w (all.) 4736 2412 w (i.e.) 4918 2412 w (if) 1220 2532 w (the) 1310 2532 w (magnitude) 1461 2532 w (of) 1912 2532 w (the) 2024 2532 w (edgeness) 2175 2532 w (is) 2564 2532 w (less) 2660 2532 w (than) 2839 2532 w (this,) 3040 2532 w 10 /Times-Bold f (pammasksharpen) 3239 2532 w 10 /Times-Roman f (will) 4030 2532 w (treat) 4214 2532 w (the) 4419 2532 w (edgeness) 4569 2532 w (as) 4957 2532 w (zero.) 1220 2652 w (A nonzero value may be necessary here to avoid speckling in smooth areas.) 970 2808 w (This is a fraction of the maxval \(so it is in the range [0, 1.0]\).) 970 2964 w (The default is 0.) 970 3120 w (This option was new in Netpbm 10.34 \(June 2006\).) 970 3276 w 10 /Times-Bold f (SEE ALSO) 720 3516 w 10 /Times-Roman f (pnmconvol, pamedge, pamsharpness, pamsharpmap, pamarith, pnm, pam) 720 3672 w 10 /Times-Bold f (HISTORY) 720 3912 w (pammasksharpen) 720 4104 w 10 /Times-Roman f (was new in Netpbm 10.23 \(July 2004\).) 1507 4104 w 10 /S1 f (________________________________________________________________________) 720 4224 w 10 /Times-Bold f (Table Of Contents) 720 4464 w 10 /LucidaSansUnicode22 f (\031) 720 4656 w 10 /Times-Roman f (NAME) 970 4656 w 10 /LucidaSansUnicode22 f (\031) 720 4812 w 10 /Times-Roman f (SYNOPSIS) 970 4812 w 10 /LucidaSansUnicode22 f (\031) 720 4968 w 10 /Times-Roman f (DESCRIPTION) 970 4968 w 10 /LucidaSansUnicode22 f (\031) 720 5124 w 10 /Times-Roman f (HISTORY) 970 5124 w 10 /LucidaSansUnicode22 f (\031) 720 5280 w 10 /Times-Roman f (SEE ALSO) 970 5280 w cleartomark showpage saveobj restore %%EndPage: 2 2 %%Trailer done %%DocumentFonts: Times-Roman LucidaSansUnicode22 Times-Italic Times-Bold S1 S %%Pages: 2