%!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 (Pgmmedian User) 2223 1230 w (Manual) 3136 1230 w 10 /Times-Bold f (pgmmedian) 720 1920 w 10 /Times-Roman f (Updated: 28 August 2005) 720 2076 w (Table Of Contents) 720 2232 w 10 /Times-Bold f (NAME) 720 2472 w 10 /Times-Roman f (pgmmedian \255 apply a median filter to a PGM file) 720 2628 w 10 /Times-Bold f (SYNOPSIS) 720 2868 w (pgmmedian) 720 3024 w 10 /Times-Roman f ([) 1251 3024 w 10 /Times-Bold f (\255width=) 1284 3024 w 10 /Times-Italic f (n) 1619 3024 w 10 /Times-Roman f (] [) 1669 3024 w 10 /Times-Bold f (\255height=) 1760 3024 w 10 /Times-Italic f (n) 2117 3024 w 10 /Times-Roman f (] [) 2167 3024 w 10 /Times-Bold f (\255type=) 2258 3024 w 10 /Times-Italic f (median) 2531 3024 w 10 /S f (_) 2825 3024 w 10 /Times-Italic f (type) 2875 3024 w 10 /Times-Roman f (] [) 3041 3024 w 10 /Times-Bold f (\255cutoff=) 3132 3024 w 10 /Times-Italic f (int) 3471 3024 w 10 /Times-Roman f (] [) 3577 3024 w 10 /Times-Italic f (pnmfile) 3668 3024 w 10 /Times-Roman f (]) 3968 3024 w (Minimum) 720 3180 w (unique) 1162 3180 w (abbreviation) 1475 3180 w (of) 2015 3180 w (option) 2140 3180 w (is) 2438 3180 w (acceptable.) 2547 3180 w (You) 3059 3180 w (may) 3273 3180 w (use) 3487 3180 w (double) 3662 3180 w (hyphens) 3976 3180 w (instead) 4351 3180 w (of) 4676 3180 w (single) 4801 3180 w (hyphen) 720 3300 w (to) 1042 3300 w (denote) 1148 3300 w (options.) 1442 3300 w (You) 1815 3300 w (may) 2015 3300 w (use) 2215 3300 w (white) 2376 3300 w (space) 2626 3300 w (in) 2875 3300 w (place) 2981 3300 w (of) 3219 3300 w (the) 3330 3300 w (equals) 3480 3300 w (sign) 3763 3300 w (to) 3958 3300 w (separate) 4064 3300 w (an) 4418 3300 w (option) 4540 3300 w (name) 4824 3300 w (from its value.) 720 3420 w 10 /Times-Bold f (DESCRIPTION) 720 3660 w 10 /Times-Roman f (This program is part of Netpbm.) 720 3852 w 10 /Times-Bold f (pgmmedian) 720 4008 w 10 /Times-Roman f (applies) 1262 4008 w (a) 1581 4008 w (median) 1661 4008 w (filter) 1991 4008 w (to) 2221 4008 w (a) 2335 4008 w (PGM) 2415 4008 w (image,) 2668 4008 w (using) 2974 4008 w (either) 3228 4008 w (the) 3492 4008 w (histogram) 3651 4008 w (sort) 4088 4008 w (of) 4275 4008 w (select) 4395 4008 w (kth) 4659 4008 w (value) 4824 4008 w (method to determine the median.) 720 4128 w (See the) 720 4284 w 10 /Times-Bold f (\255type) 1036 4284 w 10 /Times-Roman f (and) 1277 4284 w 10 /Times-Bold f (\255cutoff) 1446 4284 w 10 /Times-Roman f (options for information on how) 1753 4284 w 10 /Times-Bold f (pgmmedian) 3033 4284 w 10 /Times-Roman f (chooses between the two methods.) 3564 4284 w 10 /Times-Bold f (OPTIONS) 720 4524 w (\255cutoff) 970 4716 w 10 /Times-Italic f (int) 1287 4716 w 10 /Times-Roman f (This) 1393 4716 w (option) 1606 4716 w (provides) 1897 4716 w (the) 2276 4716 w (cutoff) 2433 4716 w (value) 2706 4716 w (that) 2957 4716 w 10 /Times-Bold f (pgmmedian) 3142 4716 w 10 /Times-Roman f (uses) 3683 4716 w (to) 3890 4716 w (decide) 4003 4716 w (between) 4298 4716 w (using) 4665 4716 w (the) 4918 4716 w (histogram) 1220 4836 w (sort) 1652 4836 w (or) 1834 4836 w (select) 1949 4836 w (kth) 2208 4836 w (value) 2368 4836 w (method) 2616 4836 w (to) 2948 4836 w (find) 3058 4836 w (the) 3251 4836 w (median.) 3405 4836 w (If) 3781 4836 w (\() 3879 4836 w 10 /Times-Italic f (maxval) 3912 4836 w 10 /Times-Roman f (/) 4232 4836 w (\(\() 4292 4836 w 10 /Times-Italic f (width) 4358 4836 w 10 /Times-Roman f (*) 4612 4836 w 10 /Times-Italic f (height) 4693 4836 w 10 /Times-Roman f (\)) 4943 4836 w (\255) 5007 4836 w (1\)\),) 1220 4956 w (where) 1393 4956 w 10 /Times-Italic f (maxval) 1668 4956 w 10 /Times-Roman f (is) 1988 4956 w (the) 2087 4956 w (maxval) 2241 4956 w (of) 2567 4956 w (the) 2682 4956 w (image) 2836 4956 w (and) 3112 4956 w 10 /Times-Italic f (width) 3288 4956 w 10 /Times-Roman f (and) 3544 4956 w 10 /Times-Italic f (height) 3721 4956 w 10 /Times-Roman f (are) 4004 4956 w (the) 4158 4956 w (dimensions) 4313 4956 w (of) 4802 4956 w (the) 4918 4956 w (mask,) 1220 5076 w (is) 1494 5076 w (less) 1599 5076 w (than) 1787 5076 w (the) 1997 5076 w (cutoff) 2157 5076 w (value,) 2433 5076 w 10 /Times-Bold f (pgmmedian) 2712 5076 w 10 /Times-Roman f (uses) 3255 5076 w (histogram) 3464 5076 w (sort.) 3901 5076 w (Otherwise,) 4138 5076 w (it) 4610 5076 w (uses) 4703 5076 w (kth) 4912 5076 w (value.) 1220 5196 w (If) 970 5352 w (expression) 1062 5352 w (is) 1515 5352 w (less) 1608 5352 w (than) 1784 5352 w (the) 1982 5352 w (cutoff,) 2130 5352 w 10 /Times-Bold f (pgmmedian) 2419 5352 w 10 /Times-Roman f (uses) 2951 5352 w (the) 3149 5352 w (histogram) 3297 5352 w (sort.) 3723 5352 w (Otherwise) 3949 5352 w (it) 4385 5352 w (uses) 4467 5352 w (the) 4665 5352 w (select) 4813 5352 w (kth value method.) 970 5472 w (This option has no effect if you specify) 970 5628 w 10 /Times-Bold f (\255type) 2562 5628 w 10 /Times-Roman f (.) 2778 5628 w (The default is 250) 970 5784 w 10 /Times-Bold f (\255width=) 970 5940 w 10 /Times-Italic f (n) 1305 5940 w 10 /Times-Roman f (Width of the median mask to apply.) 1355 5940 w (Default is 3.) 970 6096 w 10 /Times-Bold f (\255height=) 970 6252 w 10 /Times-Italic f (n) 1327 6252 w 10 /Times-Roman f (Height of the median mask to apply.) 1377 6252 w (Default is 3.) 970 6408 w 10 /Times-Bold f (\255type) 970 6564 w 10 /Times-Italic f (median) 1213 6564 w 10 /S f (_) 1507 6564 w 10 /Times-Italic f (type) 1557 6564 w 10 /Times-Roman f (This) 1723 6564 w (option) 1928 6564 w (selects) 2212 6564 w (which) 2506 6564 w (method) 2778 6564 w (to) 3106 6564 w (use) 3212 6564 w (to) 3373 6564 w (find) 3479 6564 w (median) 3668 6564 w (regardless) 3990 6564 w (of) 4422 6564 w (cutoff) 4533 6564 w (value.) 4799 6564 w (Choices are) 1220 6684 w 10 /Times-Bold f (histogram) 1713 6684 w 10 /S f (_) 2146 6684 w 10 /Times-Bold f (sort) 2196 6684 w 10 /Times-Roman f (and) 2387 6684 w 10 /Times-Bold f (select) 2556 6684 w 10 /Times-Roman f (.) 2788 6684 w (By default,) 970 6840 w 10 /Times-Bold f (pgmmedian) 1439 6840 w 10 /Times-Roman f (decides which method to use as described under the) 1970 6840 w 10 /Times-Bold f (\255cutoff) 4063 6840 w 10 /Times-Roman f (option.) 4370 6840 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 (REFERENCES) 720 840 w 10 /LucidaSansUnicode22 f (\031) 720 1032 w 10 /Times-Roman f ("Collected Algorithms from ACM" Volume II, Algorithm 489 by Robert W. Floyd) 970 1032 w 10 /LucidaSansUnicode22 f (\031) 720 1188 w 10 /Times-Roman f ("A Fast Two\255Dimensional Median Filtering Algorithm" in "IEEE Transactions) 970 1188 w (on) 4156 1188 w (Acoustics,) 4282 1188 w (Speech,) 4727 1188 w (and Signal Processing" Vol. ASSP\25527, No. 1, February 1979) 970 1308 w 10 /LucidaSansUnicode22 f (\031) 720 1464 w 10 /Times-Roman f ("Digital Image Processing Algorithms" by Ioannis Pitas, Prentice Hall, 1993 ISBN 0\25513\255145814\2550) 970 1464 w 10 /Times-Bold f (SEE ALSO) 720 1740 w 10 /Times-Roman f (pgmnoise, pamaddnoise, pgm) 720 1896 w 10 /Times-Bold f (HISTORY) 720 2136 w (pgmmedian) 720 2328 w 10 /Times-Roman f (was) 1252 2328 w (added) 1433 2328 w (to) 1697 2328 w (Netpbm) 1801 2328 w (in) 2149 2328 w (Version) 2253 2328 w (10.29) 2596 2328 w (\(August) 2848 2328 w (2005\).) 3197 2328 w (It) 3507 2328 w (had) 3595 2328 w (been) 3766 2328 w (distributed) 3981 2328 w (by) 4436 2328 w (Mike) 4563 2328 w (Burns) 4801 2328 w (via his own web site before that \(and continued to be so\).) 720 2448 w 10 /Times-Bold f (AUTHOR) 720 2688 w 10 /Times-Roman f (Copyright \(C\) 1996 by Mike Burns ) 720 2844 w 10 /S1 f (________________________________________________________________________) 720 2964 w 10 /Times-Bold f (Table Of Contents) 720 3204 w 10 /LucidaSansUnicode22 f (\031) 720 3396 w 10 /Times-Roman f (SYNOPSIS) 970 3396 w 10 /LucidaSansUnicode22 f (\031) 720 3552 w 10 /Times-Roman f (DESCRIPTION) 970 3552 w 10 /LucidaSansUnicode22 f (\031) 720 3708 w 10 /Times-Roman f (OPTIONS) 970 3708 w 10 /LucidaSansUnicode22 f (\031) 720 3864 w 10 /Times-Roman f (REFERENCES) 970 3864 w 10 /LucidaSansUnicode22 f (\031) 720 4020 w 10 /Times-Roman f (SEE ALSO) 970 4020 w 10 /LucidaSansUnicode22 f (\031) 720 4176 w 10 /Times-Roman f (HISTORY) 970 4176 w 10 /LucidaSansUnicode22 f (\031) 720 4332 w 10 /Times-Roman f (AUTHOR) 970 4332 w cleartomark showpage saveobj restore %%EndPage: 2 2 %%Trailer done %%DocumentFonts: Times-Roman LucidaSansUnicode22 Times-Italic Times-Bold S1 S %%Pages: 2