%!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 (Pamtohdiff) 2239 1230 w (User) 2850 1230 w (Manual) 3119 1230 w 10 /Times-Bold f (pamtohdiff) 720 1920 w 10 /Times-Roman f (Updated: 15 April 2002) 720 2076 w (Table Of Contents) 720 2196 w 10 /Times-Bold f (NAME) 720 2436 w 10 /Times-Roman f (pamtohdiff \255 convert PAM image to horizontal difference image) 720 2592 w 10 /Times-Bold f (SYNOPSIS) 720 2832 w (pamtohdiff) 720 2988 w 10 /Times-Roman f ([) 1223 2988 w 10 /Times-Italic f (pamfile) 1256 2988 w 10 /Times-Roman f (] [) 1556 2988 w 10 /Times-Bold f (\255verbose) 1647 2988 w 10 /Times-Roman f (]) 2007 2988 w (Minimum) 720 3144 w (unique) 1162 3144 w (abbreviation) 1475 3144 w (of) 2015 3144 w (option) 2140 3144 w (is) 2438 3144 w (acceptable.) 2547 3144 w (You) 3059 3144 w (may) 3273 3144 w (use) 3487 3144 w (double) 3662 3144 w (hyphens) 3976 3144 w (instead) 4351 3144 w (of) 4676 3144 w (single) 4801 3144 w (hyphens) 720 3264 w (to) 1079 3264 w (denote) 1183 3264 w (options.) 1475 3264 w (You) 1846 3264 w (may) 2044 3264 w (use) 2242 3264 w (white) 2401 3264 w (space) 2649 3264 w (in) 2896 3264 w (place) 3000 3264 w (of) 3236 3264 w (the) 3345 3264 w (equals) 3493 3264 w (sign) 3774 3264 w (to) 3967 3264 w (separate) 4071 3264 w (an) 4423 3264 w (option name) 4543 3264 w (from its value.) 720 3384 w 10 /Times-Bold f (DESCRIPTION) 720 3624 w 10 /Times-Roman f (This program is part of Netpbm.) 720 3816 w 10 /Times-Bold f (pamtohdiff) 720 3972 w 10 /Times-Roman f (takes a PAM \(or PNM\) image as input and) 1223 3972 w (produced) 2958 3972 w (a) 3355 3972 w (horizontal) 3425 3972 w (difference) 3856 3972 w (image) 4285 3972 w (version) 4555 3972 w (of) 4875 3972 w (it) 4984 3972 w (as) 720 4092 w (output.) 844 4092 w (A) 1191 4092 w (horizontal) 1304 4092 w (difference) 1750 4092 w (image) 2194 4092 w (is) 2479 4092 w (one) 2587 4092 w (where) 2772 4092 w (the) 3056 4092 w (samples) 3219 4092 w (in) 3582 4092 w (each) 3701 4092 w (row) 3924 4092 w (indicate) 4119 4092 w (the) 4475 4092 w (difference) 4637 4092 w (between) 720 4212 w (the) 1082 4212 w (sample) 1234 4212 w (value) 1547 4212 w (in) 1793 4212 w (the) 1901 4212 w (corresponding) 2053 4212 w (sample) 2654 4212 w (of) 2967 4212 w (the) 3080 4212 w (input) 3232 4212 w (image) 3468 4212 w (and) 3742 4212 w (the) 3916 4212 w (sample) 4068 4212 w (directly) 4381 4212 w (above) 4716 4212 w (it) 4984 4212 w (\(in) 720 4332 w (the) 861 4332 w (previous) 1013 4332 w (row\)) 1387 4332 w (in) 1605 4332 w (the) 1713 4332 w (input) 1865 4332 w (image.) 2101 4332 w (The) 2425 4332 w (horizontal) 2610 4332 w (difference) 3045 4332 w (image) 3478 4332 w (has) 3751 4332 w (the) 3913 4332 w (property) 4064 4332 w (that) 4431 4332 w (if) 4610 4332 w (a) 4700 4332 w (row) 4773 4332 w (of) 4957 4332 w (the) 720 4452 w (original) 869 4452 w (image) 1207 4452 w (is) 1478 4452 w (identical) 1573 4452 w (to) 1945 4452 w (the) 2051 4452 w (row) 2201 4452 w (above) 2384 4452 w (it) 2650 4452 w (over) 2734 4452 w (a) 2939 4452 w (long) 3011 4452 w (extent,) 3217 4452 w (the) 3514 4452 w (corresponding) 3664 4452 w (row) 4263 4452 w (in) 4446 4452 w (the) 4552 4452 w (horizon\255) 4702 4452 w (tal difference image will contain all zeroes.) 720 4572 w (That makes it compress better than the original image.) 2496 4572 w (Because) 720 4728 w (the) 1079 4728 w (horizontal) 1228 4728 w (difference) 1660 4728 w (samples) 2090 4728 w (can) 2439 4728 w (be) 2604 4728 w (positive) 2725 4728 w (or) 3069 4728 w (negative,) 3179 4728 w (but) 3569 4728 w (PAM) 3724 4728 w (samples) 3969 4728 w (are) 4319 4728 w (unsigned) 4468 4728 w (inte\255) 4857 4728 w (gers,) 720 4848 w (the) 951 4848 w (samples) 1113 4848 w (in) 1475 4848 w (the) 1593 4848 w (horizontal) 1755 4848 w (difference) 2200 4848 w (image) 2643 4848 w (PAM) 2927 4848 w (are) 3183 4848 w (defined) 3343 4848 w (to) 3681 4848 w (be) 3798 4848 w (the) 3931 4848 w (difference) 4092 4848 w (modulus) 4534 4848 w (the) 4918 4848 w (range) 720 4968 w (of) 972 4968 w (the) 1086 4968 w (input) 1239 4968 w (\(maxval) 1476 4968 w (+) 1834 4968 w (1\).) 1921 4968 w (This) 2085 4968 w (doesn't) 2294 4968 w (lose) 2619 4968 w (any) 2811 4968 w (information,) 2986 4968 w (as) 3515 4968 w (it) 3630 4968 w (might) 3718 4968 w (seem,) 3984 4968 w (because:) 4246 4968 w (of) 4621 4968 w (the) 4736 4968 w (two) 4890 4968 w (differences) 720 5088 w (that) 1191 5088 w (could) 1370 5088 w (result) 1621 5088 w (in) 1872 5088 w (the) 1979 5088 w (same) 2130 5088 w 10 /Times-Bold f (pamtohdiff) 2364 5088 w 10 /Times-Roman f (output) 2871 5088 w (value) 3156 5088 w (\(e.g.) 3401 5088 w (if) 3607 5088 w (maxval) 3697 5088 w (is) 4020 5088 w (99,) 4116 5088 w (+20) 4270 5088 w (and) 4455 5088 w (\25580) 4628 5088 w (would) 4790 5088 w (both) 720 5208 w (result) 930 5208 w (in) 1184 5208 w ("20") 1294 5208 w (in) 1508 5208 w (the) 1618 5208 w (output\),) 1772 5208 w (only) 2118 5208 w (one) 2328 5208 w (is) 2505 5208 w (possible) 2605 5208 w (in) 2966 5208 w (context) 3077 5208 w (and) 3404 5208 w (the) 3581 5208 w (other) 3736 5208 w (would) 3974 5208 w (result,) 4257 5208 w (when) 4537 5208 w (recon\255) 4786 5208 w (structing the original image, in a value less than 0 or greater than maxval.) 720 5328 w (Before) 720 5484 w (the) 1018 5484 w (modulus) 1167 5484 w (operation,) 1539 5484 w (the) 1968 5484 w (values) 2117 5484 w 10 /Times-Bold f (pamtohdiff) 2399 5484 w 10 /Times-Roman f (computes) 2904 5484 w (are) 3314 5484 w (also) 3462 5484 w (biased) 3651 5484 w (by) 3934 5484 w (half) 4062 5484 w (the) 4245 5484 w (maxval.) 4395 5484 w (This) 4767 5484 w (is) 4973 5484 w (to) 720 5604 w (make) 829 5604 w (the) 1076 5604 w (results) 1229 5604 w (easier) 1521 5604 w (to) 1784 5604 w (inspect) 1893 5604 w (visually.) 2207 5604 w (Because) 2605 5604 w (of) 2968 5604 w (the) 3082 5604 w (bias,) 3235 5604 w (you) 3452 5604 w (can) 3633 5604 w (display) 3802 5604 w (the) 4122 5604 w 10 /Times-Bold f (pamtohdiff) 4275 5604 w 10 /Times-Roman f (output) 4784 5604 w (as) 720 5724 w (if) 830 5724 w (it) 918 5724 w (were) 1001 5724 w (a) 1221 5724 w (PNM) 1293 5724 w (image.) 1538 5724 w (As) 1860 5724 w (long) 1999 5724 w (as) 2205 5724 w (none) 2316 5724 w (of) 2538 5724 w (your) 2649 5724 w (differences) 2860 5724 w (are) 3330 5724 w (more) 3479 5724 w (than) 3712 5724 w (half) 3912 5724 w (the) 4095 5724 w (maxval,) 4245 5724 w (large) 4592 5724 w (nega\255) 4819 5724 w (tive) 720 5844 w (differences) 896 5844 w (show) 1364 5844 w (up) 1601 5844 w (as) 1727 5844 w (dark) 1836 5844 w (spots,) 2039 5844 w (smaller) 2296 5844 w (negative differences are lighter, zero differences are medium) 2616 5844 w (intensity,) 720 5964 w (and) 1118 5964 w (positive) 1290 5964 w (differences) 1635 5964 w (are) 2105 5964 w (light.) 2254 5964 w (If) 2516 5964 w (you) 2611 5964 w (want) 2790 5964 w (this) 3013 5964 w (to) 3187 5964 w (work) 3294 5964 w (even) 3528 5964 w (for) 3745 5964 w (images) 3890 5964 w (that) 4202 5964 w (have) 4381 5964 w (differences) 4598 5964 w (that) 720 6084 w (exceed) 911 6084 w (half) 1228 6084 w (the) 1424 6084 w (maxval,) 1587 6084 w (just) 1947 6084 w (use) 2133 6084 w 10 /Times-Bold f (ppmdim) 2307 6084 w (50) 2710 6084 w 10 /Times-Roman f (on) 2851 6084 w (the) 2992 6084 w (original) 3155 6084 w (image.) 3507 6084 w (To) 3842 6084 w (avoid) 3994 6084 w (losing) 4257 6084 w (information,) 4543 6084 w (though, do a) 720 6204 w 10 /Times-Bold f (pamdepth) 1242 6204 w 10 /Times-Roman f (to double the maxval first.) 1701 6204 w (Note) 720 6360 w (that) 948 6360 w (because) 1132 6360 w (of) 1482 6360 w (the) 1600 6360 w (transfer) 1757 6360 w (function) 2096 6360 w (just) 2464 6360 w (described,) 2644 6360 w (a) 3086 6360 w (difference) 3165 6360 w (of) 3603 6360 w (zero,) 3721 6360 w (which) 3952 6360 w (is) 4231 6360 w (most) 4333 6360 w (common,) 4563 6360 w (is) 4973 6360 w (represented by a PAM sample value in the output of one half the maxval.) 720 6480 w (The output PAM has a tuple type of "hdiff".) 720 6636 w (You can use) 720 6792 w 10 /Times-Bold f (hdifftopam) 1238 6792 w 10 /Times-Roman f (to recover the original image from a horizontal difference image PAM.) 1741 6792 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 10 /Times-Bold f (SEE ALSO) 720 840 w (hdifftopam) 720 996 w 10 /Times-Roman f (,) 1198 996 w 10 /Times-Bold f (pamdepth) 1248 996 w 10 /Times-Roman f (,) 1682 996 w 10 /Times-Bold f (AUTHOR) 720 1236 w 10 /Times-Roman f (Bryan Henderson) 720 1392 w 10 /S1 f (________________________________________________________________________) 720 1512 w 10 /Times-Bold f (Table Of Contents) 720 1752 w 10 /LucidaSansUnicode22 f (\031) 720 1944 w 10 /Times-Roman f (NAME) 970 1944 w 10 /LucidaSansUnicode22 f (\031) 720 2100 w 10 /Times-Roman f (SYNOPSIS) 970 2100 w 10 /LucidaSansUnicode22 f (\031) 720 2256 w 10 /Times-Roman f (DESCRIPTION) 970 2256 w 10 /LucidaSansUnicode22 f (\031) 720 2412 w 10 /Times-Roman f (SEE ALSO) 970 2412 w 10 /LucidaSansUnicode22 f (\031) 720 2568 w 10 /Times-Roman f (AUTHOR) 970 2568 w cleartomark showpage saveobj restore %%EndPage: 2 2 %%Trailer done %%DocumentFonts: Times-Roman LucidaSansUnicode22 Times-Italic Times-Bold S1 %%Pages: 2