%!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 (Pgmkernel) 2250 1230 w (User) 2840 1230 w (Manual) 3109 1230 w 10 /Times-Bold f (pgmkernel) 720 1920 w 10 /Times-Roman f (Updated: 10 December 1992) 720 2076 w (Table Contents) 720 2196 w 10 /Times-Bold f (NAME) 720 2436 w 10 /Times-Roman f (pgmkernel \255 generate a convolution kernel) 720 2592 w 10 /Times-Bold f (SYNOPSIS) 720 2832 w (pgmkernel) 720 2988 w 10 /Times-Roman f ([) 1206 2988 w 10 /Times-Bold f (\255weight) 1239 2988 w 10 /Times-Italic f (w) 1580 2988 w 10 /Times-Roman f (]) 1647 2988 w 10 /Times-Italic f (width) 1705 2988 w 10 /Times-Roman f ([) 1953 2988 w 10 /Times-Italic f (height) 1986 2988 w 10 /Times-Roman f (]) 2261 2988 w 10 /Times-Bold f (DESCRIPTION) 720 3228 w 10 /Times-Roman f (This program is part of Netpbm.) 720 3420 w 10 /Times-Bold f (pgmkernel) 720 3576 w 10 /Times-Roman f (generates) 1209 3576 w (a) 1613 3576 w (convolution) 1685 3576 w (kernel) 2191 3576 w (that) 2469 3576 w (you) 2648 3576 w (can) 2827 3576 w (use) 2994 3576 w (with) 3156 3576 w 10 /Times-Bold f (pnmconvol) 3363 3576 w 10 /Times-Roman f (.) 3836 3576 w (The) 3915 3576 w (kernel) 4099 3576 w (is) 4377 3576 w (one) 4473 3576 w (where) 4646 3576 w (the) 4918 3576 w (weight of each location is inversely proportional to its distance from the center of the kernel.) 720 3696 w 10 /Times-Bold f (pgmkernel) 720 3852 w 10 /Times-Roman f (generates a PGM image of size) 1206 3852 w 10 /Times-Italic f (width) 2475 3852 w 10 /Times-Roman f (by) 2723 3852 w 10 /Times-Italic f (height) 2848 3852 w 10 /Times-Roman f (\(or) 3123 3852 w 10 /Times-Italic f (width) 3264 3852 w 10 /Times-Roman f (by) 3512 3852 w 10 /Times-Italic f (width) 3637 3852 w 10 /Times-Roman f (if you don't specify) 3885 3852 w 10 /Times-Italic f (height) 4695 3852 w 10 /Times-Roman f (\).) 4945 3852 w 10 /Times-Bold f (pgmkernel) 720 4008 w 10 /Times-Roman f (computes) 1208 4008 w (the) 1619 4008 w (convolution) 1769 4008 w (function) 2275 4008 w (K) 2636 4008 w (as) 2736 4008 w (follows.) 2847 4008 w (K\(i,j\)) 3225 4008 w (=) 3472 4008 w (1) 3556 4008 w (/) 3634 4008 w (\() 3690 4008 w (1) 3751 4008 w (+) 3829 4008 w (w) 3913 4008 w (*) 4013 4008 w (sqrt\(i\2232) 4091 4008 w (+) 4413 4008 w (j\2232\)\)) 4497 4008 w (where) 4702 4008 w 10 /Times-Italic f (w) 4973 4008 w 10 /Times-Roman f (is) 720 4128 w (a) 827 4128 w (coefficient) 911 4128 w (specified) 1377 4128 w (via) 1777 4128 w (the) 1939 4128 w 10 /Times-Bold f (\255weight) 2101 4128 w 10 /Times-Roman f (option.) 2457 4128 w 10 /Times-Italic f (i) 2803 4128 w 10 /Times-Roman f (and) 2871 4128 w 10 /Times-Italic f (j) 3055 4128 w 10 /Times-Roman f (are) 3123 4128 w (measured) 3283 4128 w (in) 3704 4128 w (pixels.) 3821 4128 w (K) 4149 4128 w (is) 4260 4128 w (zero) 4366 4128 w (everywhere) 4576 4128 w (beyond the specified kernel width and height.) 720 4248 w 10 /Times-Bold f (pgmkernel) 720 4404 w 10 /Times-Roman f (generates the output PGM file in the Plain \(text\) variation of PGM.) 1206 4404 w 10 /Times-Bold f (OPTIONS) 720 4644 w 10 /Times-Roman f (The optional) 720 4800 w 10 /Times-Bold f (\255weight) 1253 4800 w 10 /Times-Roman f (value should be a real number greater than \2551.) 1594 4800 w (The default value is 6.0.) 3475 4800 w 10 /Times-Bold f (LIMITATIONS) 720 5040 w 10 /Times-Roman f (The) 720 5232 w (computation) 905 5232 w (time) 1435 5232 w (is) 1643 5232 w (proportional) 1740 5232 w (to) 2264 5232 w 10 /Times-Italic f (width) 2372 5232 w 10 /Times-Roman f (*) 2595 5232 w 10 /Times-Italic f (height) 2645 5232 w 10 /Times-Roman f (.) 2895 5232 w (This) 2975 5232 w (increases) 3184 5232 w (rapidly) 3580 5232 w (with) 3894 5232 w (the) 4103 5232 w (increase) 4256 5232 w (of) 4613 5232 w (the) 4727 5232 w (ker\255) 4880 5232 w (nel size.) 720 5352 w (A better approach could be using a FFT in these cases.) 1097 5352 w 10 /Times-Bold f (SEE ALSO) 720 5592 w 10 /Times-Roman f (pnmconvol, pnmsmooth pamgauss pgm) 720 5748 w 10 /Times-Bold f (AUTHOR) 720 5988 w 10 /Times-Roman f (Alberto Accomazzi \(alberto@cfa.harvard.edu\).) 720 6144 w 10 /S1 f (________________________________________________________________________) 720 6264 w 10 /Times-Bold f (Table Of Contents) 720 6504 w 10 /LucidaSansUnicode22 f (\031) 720 6696 w 10 /Times-Roman f (NAME) 970 6696 w 10 /LucidaSansUnicode22 f (\031) 720 6852 w 10 /Times-Roman f (SYNOPSIS) 970 6852 w 10 /LucidaSansUnicode22 f (\031) 720 7008 w 10 /Times-Roman f (DESCRIPTION) 970 7008 w 10 /LucidaSansUnicode22 f (\031) 720 7164 w 10 /Times-Roman f (OPTIONS) 970 7164 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 /LucidaSansUnicode22 f (\031) 720 840 w 10 /Times-Roman f (BUGS) 970 840 w 10 /LucidaSansUnicode22 f (\031) 720 996 w 10 /Times-Roman f (SEE ALSO) 970 996 w 10 /LucidaSansUnicode22 f (\031) 720 1152 w 10 /Times-Roman f (AUTHOR) 970 1152 w cleartomark showpage saveobj restore %%EndPage: 2 2 %%Trailer done %%DocumentFonts: Times-Roman LucidaSansUnicode22 Times-Italic Times-Bold S1 %%Pages: 2