%!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
(Pamlookup User) 2236 1230 w
(Manual) 3123 1230 w
10 /Times-Bold f
(pamlookup) 720 1920 w
10 /Times-Roman f
(Updated: 10 November 2002) 720 2076 w
(Table Of Contents) 720 2196 w
10 /Times-Bold f
(NAME) 720 2436 w
10 /Times-Roman f
(pamlookup \255 map an image to a new image by using it as indices into a table) 720 2592 w
10 /Times-Bold f
(SYNOPSIS) 720 2832 w
(pamlookup \255lookupfile=) 720 2988 w
10 /Times-Italic f
(lookupfile) 1749 2988 w
10 /Times-Bold f
(\255missingcolor=) 2174 2988 w
10 /Times-Italic f
(color) 2803 2988 w
10 /Times-Roman f
([) 3039 2988 w
10 /Times-Bold f
(\255fit) 3072 2988 w
10 /Times-Roman f
(]) 3199 2988 w
10 /Times-Italic f
(indexfile) 3257 2988 w
10 /Times-Roman f
(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
(DESCRIPTION) 720 3504 w
10 /Times-Roman f
(This program is part of Netpbm.) 720 3696 w
10 /Times-Bold f
(pamlookup) 720 3852 w
10 /Times-Roman f
(takes) 1234 3852 w
(a) 1468 3852 w
(two) 1541 3852 w
(dimensional) 1720 3852 w
(array) 2238 3852 w
(of) 2471 3852 w
(indices) 2584 3852 w
(and) 2897 3852 w
(a) 3071 3852 w
(lookup) 3145 3852 w
(table) 3453 3852 w
(as) 3677 3852 w
(input.) 3790 3852 w
(For) 4076 3852 w
(each) 4245 3852 w
(position) 4457 3852 w
(in) 4810 3852 w
(the) 4918 3852 w
(index) 720 3972 w
(array,) 968 3972 w
(it) 1223 3972 w
(looks) 1305 3972 w
(up) 1548 3972 w
(the) 1674 3972 w
(index) 1822 3972 w
(in) 2070 3972 w
(the) 2174 3972 w
(lookup) 2322 3972 w
(table and places the result of the lookup in the output image.) 2626 3972 w
(The) 720 4092 w
(output) 916 4092 w
(thus) 1213 4092 w
(has) 1421 4092 w
(the) 1595 4092 w
(same) 1758 4092 w
(width) 2004 4092 w
(and) 2273 4092 w
(height) 2458 4092 w
(as) 2749 4092 w
(the) 2873 4092 w
(index) 3036 4092 w
(image,) 3299 4092 w
(and) 3609 4092 w
(tuple) 3794 4092 w
(types) 4035 4092 w
(determined) 4287 4092 w
(by) 4777 4092 w
(the) 4918 4092 w
(lookup table.) 720 4212 w
(An) 720 4368 w
(index) 870 4368 w
(is) 1120 4368 w
(either) 1215 4368 w
(a) 1470 4368 w
(whole) 1542 4368 w
(number) 1814 4368 w
(or) 2147 4368 w
(an) 2258 4368 w
(ordered) 2380 4368 w
(pair) 2712 4368 w
(of) 2895 4368 w
(whole) 3006 4368 w
(numbers.) 3278 4368 w
(If) 3701 4368 w
(the) 3796 4368 w
(index) 3947 4368 w
(image) 4198 4368 w
(has) 4471 4368 w
(a) 4633 4368 w
(depth) 4706 4368 w
(of) 4957 4368 w
(one,) 720 4488 w
(each) 916 4488 w
(index) 1125 4488 w
(in) 1374 4488 w
(it) 1479 4488 w
(is) 1561 4488 w
(a) 1654 4488 w
(whole) 1724 4488 w
(number:) 1994 4488 w
(the) 2353 4488 w
(value) 2501 4488 w
(of) 2743 4488 w
(the) 2852 4488 w
(one) 3000 4488 w
(sample.) 3170 4488 w
(If) 3529 4488 w
(the) 3621 4488 w
(index) 3769 4488 w
(image) 4017 4488 w
(has) 4287 4488 w
(a) 4446 4488 w
(depth) 4516 4488 w
(greater) 4764 4488 w
(than one, each index in it is an ordered pair of the first and second samples in the relevant tuple.) 720 4608 w
(The) 720 4764 w
(lookup) 904 4764 w
(table) 1211 4764 w
(is) 1434 4764 w
(a) 1530 4764 w
(PAM) 1603 4764 w
(or) 1849 4764 w
(PNM) 1961 4764 w
(image.) 2207 4764 w
(If) 2530 4764 w
(the) 2625 4764 w
(index) 2776 4764 w
(image) 3027 4764 w
(contains) 3300 4764 w
(whole) 3663 4764 w
(number) 3937 4764 w
(indices,) 4272 4764 w
(the) 4610 4764 w
(lookup) 4762 4764 w
(image) 720 4884 w
(is) 990 4884 w
(a) 1083 4884 w
(single) 1153 4884 w
(row) 1418 4884 w
(and) 1599 4884 w
(the) 1769 4884 w
(index) 1917 4884 w
(is) 2165 4884 w
(a) 2258 4884 w
(column) 2328 4884 w
(number.) 2654 4884 w
(The) 3035 4884 w
(lookup) 3216 4884 w
(result) 3520 4884 w
(is) 3768 4884 w
(the) 3861 4884 w
(value) 4009 4884 w
(of) 4251 4884 w
(the tuple or pixel) 4360 4884 w
(at the indicated column in the one row in the) 720 5004 w
(lookup) 2530 5004 w
(table.) 2834 5004 w
(If) 3104 5004 w
(the) 3196 5004 w
(index) 3344 5004 w
(image) 3592 5004 w
(contains) 3862 5004 w
(ordered) 4221 5004 w
(pair) 4551 5004 w
(indices,) 4732 5004 w
(the) 720 5124 w
(first) 869 5124 w
(element) 1057 5124 w
(of) 1400 5124 w
(the) 1510 5124 w
(ordered) 1659 5124 w
(pair) 1990 5124 w
(is) 2171 5124 w
(a) 2264 5124 w
(row) 2334 5124 w
(number) 2515 5124 w
(and) 2846 5124 w
(the) 3016 5124 w
(second) 3164 5124 w
(element) 3467 5124 w
(of) 3809 5124 w
(the) 3918 5124 w
(ordered) 4066 5124 w
(pair) 4396 5124 w
(is) 4577 5124 w
(a) 4670 5124 w
(column) 4740 5124 w
(number.) 720 5244 w
(The) 1104 5244 w
(lookup) 1288 5244 w
(result) 1595 5244 w
(is) 1846 5244 w
(the) 1942 5244 w
(value) 2093 5244 w
(of) 2338 5244 w
(the) 2450 5244 w
(tuple) 2601 5244 w
(or) 2830 5244 w
(pixel) 2942 5244 w
(at) 3171 5244 w
(the) 3272 5244 w
(indicated) 3423 5244 w
(row) 3818 5244 w
(and) 4002 5244 w
(column) 4175 5244 w
(in) 4504 5244 w
(the) 4611 5244 w
(lookup) 4762 5244 w
(table.) 720 5364 w
(For example:) 720 5520 w
(Consider an index image consisting of a 3x2x1 PAM as follows:) 1300 5520 w
(center ;
) 720 5700 w
( 0 | ) 745 5820 w
( 1 | ) 745 5940 w
( 0 | ) 745 6060 w
(
) 745 6180 w
() 720 6420 w
( 2 | ) 745 6540 w
( 2 | ) 745 6660 w
( 2 | ) 745 6780 w
(
) 745 6900 w
(and a lookup table consisting of a 3x1 PPM image as follows:) 720 7200 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
(center ; ) 720 840 w
( red | ) 745 960 w
( yellow | ) 745 1080 w
( beige | ) 745 1200 w
(
) 745 1320 w
(The lookup table above says Index 0) 720 1620 w
(corresponds) 2210 1620 w
(to) 2718 1620 w
(the) 2822 1620 w
(color) 2970 1620 w
(red,) 3201 1620 w
(Index) 3379 1620 w
(1) 3632 1620 w
(corresponds) 3708 1620 w
(to) 4216 1620 w
(yellow,) 4320 1620 w
(and) 4643 1620 w
(Index) 4813 1620 w
(2 corresponds to beige.) 720 1740 w
(The output of) 1696 1740 w
10 /Times-Bold f
(pamlookup) 2265 1740 w
10 /Times-Roman f
(is the following PPM image:) 2775 1740 w
(center ; ) 720 1920 w
( red | ) 745 2040 w
( yellow | ) 745 2160 w
( red | ) 745 2280 w
(
) 745 2400 w
() 720 2640 w
( beige | ) 745 2760 w
( beige | ) 745 2880 w
( beige | ) 745 3000 w
(
) 745 3120 w
(Now) 720 3456 w
(let's) 942 3456 w
(look) 1142 3456 w
(at) 1348 3456 w
(an) 1448 3456 w
(example) 1570 3456 w
(of) 1936 3456 w
(the) 2047 3456 w
(more) 2197 3456 w
(complex) 2430 3456 w
(case) 2803 3456 w
(where) 3003 3456 w
(the) 3275 3456 w
(indices) 3426 3456 w
(are) 3738 3456 w
(ordered) 3888 3456 w
(pairs) 4221 3456 w
(of) 4444 3456 w
(whole) 4556 3456 w
(num\255) 4829 3456 w
(bers instead of whole numbers.) 720 3576 w
(Our index image will be this 3x2x2 PAM image:) 2015 3576 w
(center ; ) 720 3756 w
( \(0,0\) | ) 745 3876 w
( \(0,1\) | ) 745 3996 w
( \(0,0\) | ) 745 4116 w
(
) 745 4236 w
() 720 4476 w
( \(1,1\) | ) 745 4596 w
( \(1,0\) | ) 745 4716 w
( \(0,0\) | ) 745 4836 w
(
) 745 4956 w
(Our lookup table for the example will be this two dimensional PPM:) 720 5256 w
(center ; ) 720 5436 w
( red | ) 745 5556 w
( yellow | ) 795 5676 w
(
) 745 5796 w
() 720 6036 w
( green | ) 745 6156 w
( black | ) 745 6276 w
(
) 745 6396 w
(This) 720 6696 w
(lookup) 931 6696 w
(table) 1242 6696 w
(says) 1469 6696 w
(Index) 1674 6696 w
(\(0,0\)) 1934 6696 w
(corresponds) 2159 6696 w
(to) 2675 6696 w
(the) 2787 6696 w
(color) 2943 6696 w
(red,) 3182 6696 w
(Index) 3368 6696 w
(\(0,1\)) 3629 6696 w
(corresponds) 3854 6696 w
(to) 4370 6696 w
(yellow,) 4482 6696 w
(Index) 4813 6696 w
(\(1,0\)) 720 6816 w
(corresponds) 941 6816 w
(to) 1453 6816 w
(green,) 1561 6816 w
(and) 1837 6816 w
(Index) 2011 6816 w
(\(1,1\)) 2268 6816 w
(corresponds) 2489 6816 w
(to) 3001 6816 w
(black.) 3109 6816 w
(The) 3404 6816 w
(output) 3588 6816 w
(of) 3873 6816 w
10 /Times-Bold f
(pamlookup) 3985 6816 w
10 /Times-Roman f
(is) 4499 6816 w
(the) 4595 6816 w
(follow\255) 4746 6816 w
(ing PPM image:) 720 6936 w
(center ; ) 720 7116 w
( red | ) 745 7236 w
cleartomark
showpage
saveobj restore
%%EndPage: 2 2
%%Page: 3 3
/saveobj save def
mark
3 pagesetup
10 /Times-Roman f
(\255 3 \255) 2797 480 w
( yellow | ) 795 840 w
( red | ) 745 960 w
(
) 745 1080 w
() 720 1320 w
( black | ) 745 1440 w
( green | ) 745 1560 w
( red | ) 770 1680 w
(
) 745 1800 w
(If) 720 2136 w
(an) 817 2136 w
(index) 942 2136 w
(specifies) 1195 2136 w
(a) 1575 2136 w
(row) 1650 2136 w
(or) 1836 2136 w
(column) 1950 2136 w
(that) 2281 2136 w
(exceeds) 2462 2136 w
(the) 2808 2136 w
(dimensions) 2961 2136 w
(of) 3449 2136 w
(the) 3564 2136 w
(lookup) 3718 2136 w
(table) 4028 2136 w
(image,) 4254 2136 w
10 /Times-Bold f
(pamlookup) 4555 2136 w
10 /Times-Roman f
(uses) 720 2256 w
(the) 919 2256 w
(value) 1068 2256 w
(from) 1310 2256 w
(the) 1530 2256 w
(top) 1678 2256 w
(left) 1832 2256 w
(corner) 1991 2256 w
(of) 2271 2256 w
(the) 2380 2256 w
(lookup) 2528 2256 w
(image,) 2832 2256 w
(or) 3127 2256 w
(the) 3236 2256 w
(value) 3384 2256 w
(you) 3626 2256 w
(specify) 3802 2256 w
(with) 4116 2256 w
(the) 4320 2256 w
10 /Times-Bold f
(\255missingcolor) 4468 2256 w
10 /Times-Roman f
(option.) 720 2376 w
(The) 720 2532 w
10 /Times-Italic f
(indexfile) 914 2532 w
10 /Times-Roman f
(argument) 1297 2532 w
(identifies) 1713 2532 w
(the) 2125 2532 w
(file) 2287 2532 w
(containing) 2460 2532 w
(the) 2922 2532 w
(index) 3084 2532 w
(PAM) 3346 2532 w
(or) 3603 2532 w
(PNM) 3726 2532 w
(image.) 3983 2532 w
10 /Times-Bold f
(\255) 4317 2532 w
10 /Times-Roman f
(means) 4390 2532 w
(Standard) 4685 2532 w
(Input.) 720 2652 w
(The) 1019 2652 w
(mandatory) 1212 2652 w
10 /Times-Bold f
(\255lookupfile) 1676 2652 w
10 /Times-Roman f
(option) 2175 2652 w
(identifies) 2468 2652 w
(the) 2877 2652 w
(file) 3036 2652 w
(containing) 3206 2652 w
(the) 3665 2652 w
(lookup) 3824 2652 w
(table) 4139 2652 w
(image.) 4370 2652 w
(Again,) 4701 2652 w
10 /Times-Bold f
(\255) 5007 2652 w
10 /Times-Roman f
(means) 720 2772 w
(Standard) 1004 2772 w
(Input.) 1388 2772 w
(It) 1678 2772 w
(won't) 1768 2772 w
(work) 2030 2772 w
(if) 2264 2772 w
(both) 2354 2772 w
(the) 2561 2772 w
(index) 2712 2772 w
(image) 2963 2772 w
(file) 3236 2772 w
(and) 3399 2772 w
(lookup) 3573 2772 w
(table) 3881 2772 w
(file) 4105 2772 w
(are) 4268 2772 w
(Standard) 4419 2772 w
(Input.) 4804 2772 w
(The output image goes to Standard Output.) 720 2892 w
(You can use) 720 3048 w
10 /Times-Bold f
(ppmmake) 1238 3048 w
10 /Times-Roman f
(and) 1691 3048 w
10 /Times-Bold f
(pnmcat) 1860 3048 w
10 /Times-Roman f
(to create a lookup table file.) 2207 3048 w
(If) 720 3204 w
(you) 817 3204 w
(want) 998 3204 w
(to) 1223 3204 w
(use) 1332 3204 w
(two) 1496 3204 w
(separate) 1677 3204 w
(1\255plane) 2034 3204 w
(images) 2364 3204 w
(as) 2678 3204 w
(indices) 2792 3204 w
(\(so) 3107 3204 w
(that) 3261 3204 w
(your) 3443 3204 w
(output) 3658 3204 w
(reflects) 3946 3204 w
(the) 4271 3204 w
(combination) 4425 3204 w
(of) 4957 3204 w
(both) 720 3324 w
(inputs\),) 927 3324 w
(use) 1259 3324 w
10 /Times-Bold f
(pamstack) 1421 3324 w
10 /Times-Roman f
(to) 1861 3324 w
(combine) 1968 3324 w
(the) 2341 3324 w
(two) 2491 3324 w
(into) 2669 3324 w
(one) 2853 3324 w
(two\255plane) 3025 3324 w
(image) 3452 3324 w
(\(and) 3724 3324 w
(use) 3929 3324 w
(a) 4090 3324 w
(2\255dimensional) 4162 3324 w
(lookup) 4762 3324 w
(table image\).) 720 3444 w
10 /Times-Bold f
(OPTIONS) 720 3684 w
(\255lookupfile=) 970 3876 w
10 /Times-Italic f
(lookupfilelookupfile) 1489 3876 w
10 /Times-Roman f
(names) 2330 3876 w
(the) 2626 3876 w
(file) 2789 3876 w
(that) 2963 3876 w
(contains) 3154 3876 w
(the) 3528 3876 w
(PAM) 3691 3876 w
(or) 3949 3876 w
(PNM) 4073 3876 w
(image) 4331 3876 w
(that) 4617 3876 w
(is) 4809 3876 w
(the) 4918 3876 w
(lookup table.) 1220 3996 w
(This option is mandatory.) 1792 3996 w
10 /Times-Bold f
(\255missingcolor=) 970 4152 w
10 /Times-Italic f
(color) 1599 4152 w
10 /Times-Roman f
(This) 1810 4152 w
(option) 2017 4152 w
(is) 2302 4152 w
(meaningful) 2398 4152 w
(only) 2882 4152 w
(if) 3089 4152 w
(the) 3179 4152 w
(lookup) 3330 4152 w
(image) 3637 4152 w
(\(and) 3910 4152 w
(therefore) 4116 4152 w
(the) 4504 4152 w
(output\)) 4655 4152 w
(is) 4973 4152 w
(a) 1220 4272 w
(PNM) 1292 4272 w
(image.) 1537 4272 w
10 /Times-Italic f
(color) 1859 4272 w
10 /Times-Roman f
(specifies) 2098 4272 w
(the) 2475 4272 w
(color) 2625 4272 w
(that) 2858 4272 w
(is) 3036 4272 w
(to) 3131 4272 w
(go) 3237 4272 w
(in) 3365 4272 w
(the) 3470 4272 w
(output) 3619 4272 w
(wherever) 3902 4272 w
(the) 4299 4272 w
(index) 4448 4272 w
(from) 4697 4272 w
(the) 4918 4272 w
(input) 1220 4392 w
(is) 1453 4392 w
(not) 1547 4392 w
(present) 1702 4392 w
(in) 2017 4392 w
(the) 2122 4392 w
(lookup) 2271 4392 w
(table) 2576 4392 w
(\(not) 2797 4392 w
(present) 2985 4392 w
(means) 3300 4392 w
(the) 3582 4392 w
(index) 3731 4392 w
(exceeds) 3980 4392 w
(the) 4323 4392 w
(dimensions) 4473 4392 w
(of) 4957 4392 w
(the lookup image \255\255 e.g. index is 100 but the lookup image is a 50 x 1 PPM\).) 1220 4512 w
(If) 970 4668 w
(you) 1074 4668 w
(don't) 1262 4668 w
(specify) 1511 4668 w
(this) 1837 4668 w
(option) 2020 4668 w
(of) 2314 4668 w
10 /Times-Bold f
(\255fit) 2435 4668 w
10 /Times-Roman f
(,) 2562 4668 w
10 /Times-Bold f
(pamlookup) 2625 4668 w
10 /Times-Roman f
(uses) 3148 4668 w
(the) 3358 4668 w
(value) 3518 4668 w
(from) 3772 4668 w
(the) 4004 4668 w
(top) 4164 4668 w
(left) 4331 4668 w
(corner) 4503 4668 w
(of) 4796 4668 w
(the) 4918 4668 w
(lookup image whenever an index exceeds the dimensions of the lookup image.) 970 4788 w
(Specify the color \() 970 4944 w
10 /Times-Italic f
(color) 1710 4944 w
10 /Times-Roman f
(\) as described for the argument of the) 1921 4944 w
10 /Times-Bold f
(ppm) 3439 4944 w
10 /S f
(_) 3634 4944 w
10 /Times-Bold f
(parsecolor\(\)) 3684 4944 w
10 /Times-Roman f
(library routine.) 4224 4944 w
(Another way to deal with a too\255small lookup image is to use the) 970 5100 w
10 /Times-Bold f
(\255fit) 3554 5100 w
10 /Times-Roman f
(option.) 3706 5100 w
10 /Times-Bold f
(\255fit) 970 5256 w
10 /Times-Roman f
(This) 1220 5256 w
(option) 1425 5256 w
(says) 1708 5256 w
(to) 1907 5256 w
(shrink) 2012 5256 w
(or) 2289 5256 w
(expand) 2399 5256 w
(the) 2714 5256 w
(lookup) 2863 5256 w
(image) 3168 5256 w
(as) 3439 5256 w
(necessary) 3549 5256 w
(to) 3963 5256 w
(fit) 4068 5256 w
(the) 4185 5256 w
(indices) 4335 5256 w
(present) 4646 5256 w
(in) 4962 5256 w
(the) 1220 5376 w
(index) 1370 5376 w
(image,) 1620 5376 w
(per) 1917 5376 w
(the) 2072 5376 w
(index) 2222 5376 w
(image's) 2472 5376 w
(maxval.) 2816 5376 w
(For) 3188 5376 w
(example,) 3355 5376 w
(if) 3746 5376 w
(your) 3835 5376 w
(index) 4046 5376 w
(image) 4296 5376 w
(has) 4568 5376 w
(a) 4729 5376 w
(single) 4801 5376 w
(plane) 1220 5496 w
(and) 1482 5496 w
(a) 1672 5496 w
(maxval) 1762 5496 w
(of) 2102 5496 w
(255) 2231 5496 w
(and) 2427 5496 w
(your) 2617 5496 w
(lookup) 2846 5496 w
(image) 3170 5496 w
(is) 3460 5496 w
(1) 3573 5496 w
(row) 3669 5496 w
(of) 3870 5496 w
(10) 3999 5496 w
(columns,) 4145 5496 w
10 /Times-Bold f
(pamlookup) 4555 5496 w
10 /Times-Roman f
(stretches) 1220 5616 w
(your) 1603 5616 w
(lookup) 1820 5616 w
(image) 2132 5616 w
(to) 2410 5616 w
(255) 2522 5616 w
(columns) 2706 5616 w
(before) 3079 5616 w
(doing) 3367 5616 w
(the) 3629 5616 w
(lookups.) 3784 5616 w
10 /Times-Bold f
(pamlookup) 4184 5616 w
10 /Times-Roman f
(does) 4702 5616 w
(the) 4918 5616 w
(stretching \(or shrinking\) with the) 1220 5736 w
10 /Times-Bold f
(pamscale) 2566 5736 w
10 /Times-Roman f
(program.) 2985 5736 w
(When you use) 970 5892 w
10 /Times-Bold f
(\255fit) 1566 5892 w
10 /Times-Roman f
(,) 1693 5892 w
10 /Times-Bold f
(pamlookup) 1743 5892 w
10 /Times-Roman f
(never fails or warns you due to invalid lookup image dimensions,) 2253 5892 w
(and) 4896 5892 w
(the) 970 6012 w
10 /Times-Bold f
(\255missingcolor) 1117 6012 w
10 /Times-Roman f
(option has no effect.) 1714 6012 w
10 /Times-Bold f
(EXAMPLES) 720 6252 w
(Example: rainfall map) 720 6528 w
10 /Times-Roman f
(Say) 720 6720 w
(you) 899 6720 w
(have) 1078 6720 w
(a) 1295 6720 w
(set) 1368 6720 w
(of) 1508 6720 w
(rainfall) 1620 6720 w
(data) 1937 6720 w
(in) 2132 6720 w
(a) 2239 6720 w
(single) 2312 6720 w
(plane) 2580 6720 w
(PAM) 2825 6720 w
(image.) 3071 6720 w
(The) 3394 6720 w
(rows) 3578 6720 w
(and) 3801 6720 w
(columns) 3974 6720 w
(of) 4342 6720 w
(the) 4454 6720 w
(PAM) 4605 6720 w
(indi\255) 4851 6720 w
(cate) 720 6840 w
(lattitude) 909 6840 w
(and) 1266 6840 w
(longitude.) 1439 6840 w
(The) 1896 6840 w
(sample) 2080 6840 w
(values) 2392 6840 w
(are) 2676 6840 w
(the) 2826 6840 w
(annual) 2976 6840 w
(rainfall) 3270 6840 w
(in) 3586 6840 w
(\(whole\)) 3692 6840 w
(centimeters.) 4030 6840 w
(The) 4568 6840 w
(highest) 4751 6840 w
(rainfall value in the image is 199 centimeters.) 720 6960 w
(The image is in the file rainfall.pam.) 2595 6960 w
(You) 720 7116 w
(want) 919 7116 w
(to) 1140 7116 w
(produce) 1245 7116 w
(a) 1593 7116 w
(PPM) 1664 7116 w
(rainfall) 1892 7116 w
(map) 2207 7116 w
(with) 2406 7116 w
(green) 2611 7116 w
(for) 2859 7116 w
(the) 3002 7116 w
(wettest) 3151 7116 w
(places,) 3461 7116 w
(red) 3762 7116 w
(for) 3916 7116 w
(the) 4059 7116 w
(driest,) 4208 7116 w
(and) 4482 7116 w
(other) 4653 7116 w
(col\255) 4885 7116 w
(ors in between.) 720 7236 w
cleartomark
showpage
saveobj restore
%%EndPage: 3 3
%%Page: 4 4
/saveobj save def
mark
4 pagesetup
10 /Times-Roman f
(\255 4 \255) 2797 480 w
(First,) 720 840 w
(compose) 958 840 w
(a) 1342 840 w
(lookup) 1415 840 w
(table) 1722 840 w
(image,) 1945 840 w
(probably) 2243 840 w
(with) 2627 840 w
(a) 2834 840 w
(graphical) 2907 840 w
(editor) 3307 840 w
(and) 3569 840 w
(the) 3742 840 w
(image) 3893 840 w
(blown) 4166 840 w
(way) 4445 840 w
(up) 4641 840 w
(so) 4771 840 w
(you) 4890 840 w
(can) 720 960 w
(work) 889 960 w
(with) 1125 960 w
(individual) 1334 960 w
(pixels.) 1771 960 w
(The) 2091 960 w
(image) 2277 960 w
(must) 2552 960 w
(have) 2778 960 w
(a) 2997 960 w
(single) 3072 960 w
(row) 3342 960 w
(and) 3528 960 w
(200) 3703 960 w
(columns.) 3884 960 w
(Make) 4303 960 w
(the) 4560 960 w
(leftmost) 4712 960 w
(pixel red and the rightmost pixel green and choose appropriate colors in between.) 720 1080 w
(Call it colorkey.ppm.) 4022 1080 w
10 /Courier f
(pamlookup rainfall.ppm \255lookupfile=colorkey.ppm >rainfallmap.ppm) 960 1260 w
10 /Times-Roman f
(Now) 720 1476 w
(lets) 941 1476 w
(say) 1107 1476 w
(you're) 1267 1476 w
(too) 1554 1476 w
(lazy) 1710 1476 w
(to) 1904 1476 w
(type) 2010 1476 w
(in) 2210 1476 w
(200) 2316 1476 w
(color) 2494 1476 w
(values) 2727 1476 w
(and) 3010 1476 w
(nobody) 3182 1476 w
(really) 3510 1476 w
(cares) 3765 1476 w
(about) 3997 1476 w
(the) 4247 1476 w
(places) 4397 1476 w
(that) 4674 1476 w
(have) 4852 1476 w
(more) 720 1596 w
(than) 951 1596 w
(99 centimeters of annual rainfall.) 1149 1596 w
(In that case, just make colorkey.ppm 100 columns wide and do) 2521 1596 w
(this:) 720 1716 w
10 /Courier f
(pamlookup rainfall.ppm \255lookupfile=colorkey.ppm \255missingcolor=black) 960 1896 w
(>rainfallmap.ppm) 5460 1896 w
10 /Times-Roman f
(Now if there are areas that get more than 100 centimeters of rainfall, they will just show up black in the out\255) 720 2076 w
(put.) 720 2196 w
10 /Times-Bold f
(Example: graphical diff) 720 2436 w
10 /Times-Roman f
(Say) 720 2628 w
(you) 900 2628 w
(want) 1080 2628 w
(to) 1304 2628 w
(compare) 1412 2628 w
(two) 1785 2628 w
(PBM) 1965 2628 w
(\(black) 2207 2628 w
(and) 2486 2628 w
(white\)) 2660 2628 w
(images) 2946 2628 w
(visually.) 3260 2628 w
(Each) 3658 2628 w
(consists) 3888 2628 w
(of) 4236 2628 w
(black) 4350 2628 w
(foreground) 4597 2628 w
(pixels) 720 2748 w
(on) 992 2748 w
(a) 1125 2748 w
(white) 1202 2748 w
(background.) 1457 2748 w
(You) 2011 2748 w
(want) 2215 2748 w
(to) 2441 2748 w
(create) 2551 2748 w
(an) 2820 2748 w
(image) 2946 2748 w
(that) 3222 2748 w
(contains) 3404 2748 w
(background) 3769 2748 w
(where) 4272 2748 w
(both) 4547 2748 w
(images) 4757 2748 w
(contain) 720 2868 w
(background) 1042 2868 w
(and) 1541 2868 w
(foreground) 1713 2868 w
(where) 2184 2868 w
(both) 2455 2868 w
(images) 2661 2868 w
(contain) 2972 2868 w
(foreground.) 3294 2868 w
(But) 3815 2868 w
(where) 3988 2868 w
(Image) 4259 2868 w
(1) 4536 2868 w
(has) 4614 2868 w
(a) 4775 2868 w
(fore\255) 4847 2868 w
(ground) 720 2988 w
(pixel) 1033 2988 w
(and) 1263 2988 w
(Image) 1437 2988 w
(2) 1716 2988 w
(does) 1796 2988 w
(not,) 2009 2988 w
(you) 2192 2988 w
(want) 2372 2988 w
(red) 2596 2988 w
(in) 2753 2988 w
(the) 2861 2988 w
(output;) 3013 2988 w
(where) 3327 2988 w
(Image) 3600 2988 w
(2) 3879 2988 w
(has) 3959 2988 w
(a) 4122 2988 w
(foreground) 4195 2988 w
(pixel) 4667 2988 w
(and) 4896 2988 w
(Image 1 does not, you want green.) 720 3108 w
(First, we create a single image that contains the information from both input PBMs:) 720 3264 w
10 /Courier f
(pamstack image1.pbm image2.pbm >bothimages.pam) 960 3444 w
10 /Times-Roman f
(Note that this image has 1 of 4 possible tuple values at each location: \(0,0\), \(0,1\), \(1,0\), or \(1,1\).) 720 3624 w
(Now, we create a lookup table that we can index with those 4 values:) 720 3780 w
10 /Courier f
(ppmmake white 1 1 >white.ppm) 960 3960 w
(ppmmake black 1 1 >black.ppm) 960 4080 w
(ppmmake red) 960 4200 w
(1 1 >red.ppm) 1800 4200 w
(ppmmake green 1 1 >green.ppm) 960 4320 w
(pnmcat \255leftright black.ppm red.ppm) 960 4440 w
(>blackred.ppm) 3240 4440 w
(pnmcat \255leftright green.ppm white.ppm >greenwhite.ppm) 960 4560 w
(pnmcat \255topbottom blackred.ppm greenwhite.ppm >lookup.ppm) 960 4680 w
10 /Times-Roman f
(Finally, we look up the indices from our index in our lookup table and produce the output:) 720 4896 w
10 /Courier f
(pamlookup bothimages.ppm \255lookupfile=lookup.ppm >imagediff.ppm) 960 5076 w
10 /Times-Bold f
(SEE ALSO) 720 5376 w
10 /Times-Roman f
(pnmremap, ppmmake, pnmcat, pamstack, pnm, pam) 720 5532 w
10 /Times-Bold f
(HISTORY) 720 5772 w
(pamlookup) 720 5964 w
10 /Times-Roman f
(was new in Netpbm 10.13 \(December 2002\).) 1230 5964 w
10 /S1 f
(________________________________________________________________________) 720 6084 w
10 /Times-Bold f
(Table Of Contents) 720 6324 w
10 /LucidaSansUnicode22 f
(\031) 720 6516 w
10 /Times-Roman f
(NAME) 970 6516 w
10 /LucidaSansUnicode22 f
(\031) 720 6672 w
10 /Times-Roman f
(SYNOPSIS) 970 6672 w
10 /LucidaSansUnicode22 f
(\031) 720 6828 w
10 /Times-Roman f
(DESCRIPTION) 970 6828 w
10 /LucidaSansUnicode22 f
(\031) 720 6984 w
10 /Times-Roman f
(OPTIONS) 970 6984 w
10 /LucidaSansUnicode22 f
(\031) 720 7140 w
10 /Times-Roman f
(EXAMPLES) 970 7140 w
10 /LucidaSansUnicode22 f
(\031) 720 7296 w
10 /Times-Roman f
(HISTORY) 970 7296 w
cleartomark
showpage
saveobj restore
%%EndPage: 4 4
%%Page: 5 5
/saveobj save def
mark
5 pagesetup
10 /Times-Roman f
(\255 5 \255) 2797 480 w
10 /LucidaSansUnicode22 f
(\031) 720 840 w
10 /Times-Roman f
(SEE ALSO) 970 840 w
cleartomark
showpage
saveobj restore
%%EndPage: 5 5
%%Trailer
done
%%DocumentFonts: Times-Roman LucidaSansUnicode22 Times-Italic Times-Bold Courier S1 S
%%Pages: 5