%!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 (Image) 1683 1230 w (Processing By Interp and Extrapolation) 2033 1230 w 10 /Times-Bold f (extendedopacity) 720 1920 w 10 /Times-Roman f (Created: 17 April 2003) 720 2076 w () 1754 2196 w ( ) 720 2316 w (This) 720 2472 w (page) 932 2472 w (is) 1154 2472 w (a) 1255 2472 w (copy) 1333 2472 w (of) 1561 2472 w (http://www.sgi.com/grafica/interp/) 1678 2472 w (on) 3100 2472 w (April) 3235 2472 w (17,) 3481 2472 w (2003,) 3641 2472 w (with) 3901 2472 w (some) 4114 2472 w (slight) 4360 2472 w (formatting) 4618 2472 w (changes, included in the Netpbm documentation for convenience.) 720 2592 w 10 /Times-Bold f (Image Processing By Interpolation and Extrapolation) 720 2832 w 10 /Times-Italic f (Paul Haeberli and Douglas Voorhies) 720 2988 w 10 /Times-Bold f (Introduction) 720 3228 w 10 /Times-Roman f (Interpolation) 720 3420 w (and) 1268 3420 w (extrapolation) 1444 3420 w (between) 2003 3420 w (two) 2367 3420 w (images) 2549 3420 w (offers) 2864 3420 w (a) 3128 3420 w (general,) 3204 3420 w (unifying) 3554 3420 w (approach) 3926 3420 w (to) 4324 3420 w (many) 4435 3420 w (common) 4690 3420 w (point) 720 3540 w (and) 957 3540 w (area) 1132 3540 w (image) 1328 3540 w (processing) 1603 3540 w (operations.) 2061 3540 w (Brightness,) 2558 3540 w (contrast,) 3042 3540 w (saturation,) 3414 3540 w (tint,) 3864 3540 w (and) 4054 3540 w (sharpness) 4229 3540 w (can) 4648 3540 w (all) 4816 3540 w (be) 4946 3540 w (controlled) 720 3660 w (with) 1165 3660 w (one) 1383 3660 w (formula,) 1567 3660 w (separately) 1948 3660 w (or) 2392 3660 w (simultaneously.) 2515 3660 w (In) 3211 3660 w (several) 3334 3660 w (cases,) 3657 3660 w (there) 3933 3660 w (are) 4173 3660 w (also) 4335 3660 w (performance) 4537 3660 w (benefits.) 720 3780 w (Linear) 720 3936 w (interpolation) 1006 3936 w (is) 1543 3936 w (often) 1636 3936 w (used) 1867 3936 w (to) 2076 3936 w (blend) 2180 3936 w (two) 2428 3936 w (images.) 2605 3936 w (Blend) 2965 3936 w (fractions) 3231 3936 w (\(alpha\)) 3607 3936 w (and) 3916 3936 w (\(1) 4087 3936 w (\255) 4197 3936 w (alpha\)) 4257 3936 w (are) 4533 3936 w (used) 4681 3936 w (in) 4891 3936 w (a) 4996 3936 w (weighted average of each component of each pixel:) 720 4056 w (out = \(1 \255 alpha\)*in0 + alpha*in1) 870 4236 w (Typically) 720 4452 w (alpha) 1141 4452 w (is) 1395 4452 w (a) 1500 4452 w (number) 1582 4452 w (in) 1925 4452 w (the) 2041 4452 w (range) 2201 4452 w (0.0) 2460 4452 w (to) 2623 4452 w (1.0.) 2739 4452 w (This) 2952 4452 w (is) 3168 4452 w (commonly) 3274 4452 w (used) 3741 4452 w (to) 3963 4452 w (linearly) 4080 4452 w (interpolate) 4424 4452 w (two) 4890 4452 w (images.) 720 4572 w (What) 1080 4572 w (is) 1323 4572 w (less) 1417 4572 w (often) 1594 4572 w (considered) 1826 4572 w (is) 2285 4572 w (that) 2379 4572 w (alpha) 2556 4572 w (may) 2799 4572 w (range) 2997 4572 w (beyond) 3244 4572 w (the) 3564 4572 w (interval) 3712 4572 w (0.0) 4043 4572 w (to) 4194 4572 w (1.0.) 4298 4572 w (Values) 4499 4572 w (above) 4802 4572 w (one subtract a portion of in0 while scaling in1.) 720 4692 w (Values below 0.0 have the opposite effect.) 2632 4692 w (Extrapolation) 720 4848 w (is) 1296 4848 w (particularly) 1395 4848 w (useful) 1887 4848 w (if) 2163 4848 w (a) 2256 4848 w (degenerate) 2332 4848 w (version) 2795 4848 w (of) 3121 4848 w (the) 3236 4848 w (image) 3390 4848 w (is) 3666 4848 w (used) 3765 4848 w (as) 3980 4848 w (the) 4095 4848 w (image) 4249 4848 w (to) 4525 4848 w (get) 4635 4848 w ("away) 4789 4848 w (from.") 720 4968 w (Extrapolating) 1035 4968 w (away) 1609 4968 w (from) 1848 4968 w (a) 2071 4968 w (black\255and\255white) 2144 4968 w (image) 2821 4968 w (increases) 3094 4968 w (saturation.) 3488 4968 w (Extrapolating) 3961 4968 w (away) 4534 4968 w (from) 4773 4968 w (a) 4996 4968 w (blurred) 720 5088 w (image) 1045 5088 w (increases) 1326 5088 w (sharpness.) 1728 5088 w (The) 2203 5088 w (interpolation/extrapolation) 2395 5088 w (formula) 3498 5088 w (offers) 3851 5088 w (one\255parameter) 4120 5088 w (control,) 4732 5088 w (making) 720 5208 w (display) 1051 5208 w (of) 1371 5208 w (a) 1485 5208 w (series) 1560 5208 w (of) 1818 5208 w (images,) 1931 5208 w (each) 2269 5208 w (differing) 2481 5208 w (in) 2860 5208 w (brightness,) 2968 5208 w (contrast,) 3434 5208 w (sharpness,) 3805 5208 w (color,) 4248 5208 w (or) 4508 5208 w (saturation,) 4621 5208 w (particularly easy to compute, and inviting hardware acceleration.) 720 5328 w (In) 720 5484 w (the) 835 5484 w (following) 989 5484 w (examples,) 1410 5484 w (a) 1844 5484 w (single) 1920 5484 w (alpha) 2191 5484 w (value) 2439 5484 w (is) 2688 5484 w (used) 2788 5484 w (per) 3004 5484 w (image.) 3164 5484 w (However) 3491 5484 w (other) 3889 5484 w (processing) 4127 5484 w (is) 4587 5484 w (possible,) 4687 5484 w (for example where alpha is a function of X and Y, or where a brush footprint controls alpha near the cursor.) 720 5604 w 10 /Times-Bold f (Changing Brightness) 720 5844 w 10 /Times-Roman f (To) 720 6036 w (control) 857 6036 w (image) 1166 6036 w (brightness,) 1436 6036 w (we) 1898 6036 w (use) 2040 6036 w (pure) 2199 6036 w (black) 2402 6036 w (as) 2644 6036 w (the) 2753 6036 w (degenerate) 2901 6036 w (\(zero) 3359 6036 w (alpha\)) 3590 6036 w (image.) 3866 6036 w (Interpolation) 4187 6036 w (darkens) 4730 6036 w (the image, and extrapolation brightens it.) 720 6156 w (In both cases, brighter pixels are affected more.) 2410 6156 w 10 /Times-Bold f (Changing Contrast) 720 6396 w 10 /Times-Roman f (Contrast) 720 6588 w (can) 1094 6588 w (be) 1267 6588 w (controlled) 1396 6588 w (using) 1836 6588 w (a) 2088 6588 w (constant) 2167 6588 w (gray) 2535 6588 w (image) 2747 6588 w (with) 3026 6588 w (the) 3239 6588 w (average) 3397 6588 w (image) 3742 6588 w (luminance.) 4022 6588 w (Interpolation) 4524 6588 w (reduces) 720 6708 w (contrast) 1059 6708 w (and) 1410 6708 w (extrapolation) 1589 6708 w (boosts) 2150 6708 w (it.) 2440 6708 w (Negative) 2580 6708 w (alpha) 2974 6708 w (generates) 3224 6708 w (inverted) 3634 6708 w (images) 3995 6708 w (with) 4312 6708 w (varying) 4524 6708 w (con\255) 4863 6708 w (trast.) 720 6828 w (In all cases, the average image luminance is constant.) 967 6828 w (If) 720 6984 w (middle) 816 6984 w (gray) 1124 6984 w (or) 1331 6984 w (the) 1444 6984 w (average) 1596 6984 w (pixel) 1935 6984 w (color) 2166 6984 w (is) 2402 6984 w (used) 2500 6984 w (instead,) 2714 6984 w (contrast) 3053 6984 w (is) 3400 6984 w (again) 3498 6984 w (altered,) 3745 6984 w (but) 4072 6984 w (with) 4231 6984 w (middle) 4440 6984 w (gray) 4749 6984 w (or) 4957 6984 w (the average color left unaffected.) 720 7104 w (Shades and colors far away from the chosen value are most affected.) 2084 7104 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 (Changing Saturation) 720 840 w 10 /Times-Roman f (To) 720 1032 w (alter) 867 1032 w (saturation,) 1080 1032 w (pixel) 1535 1032 w (components) 1771 1032 w (must) 2290 1032 w (move) 2521 1032 w (towards) 2779 1032 w (or) 3131 1032 w (away) 3250 1032 w (from) 3496 1032 w (the) 3726 1032 w (pixel's) 3884 1032 w (luminance) 4192 1032 w (value.) 4645 1032 w (By) 4923 1032 w (using) 720 1152 w (a) 971 1152 w (black\255and\255white) 1049 1152 w (image) 1731 1152 w (as) 2009 1152 w (the) 2126 1152 w (degenerate) 2282 1152 w (version,) 2747 1152 w (saturation) 3100 1152 w (can) 3528 1152 w (be) 3700 1152 w (decreased) 3828 1152 w (using) 4254 1152 w (interpolation,) 4504 1152 w (and) 720 1272 w (increased) 899 1272 w (using) 1310 1272 w (extrapolation.) 1562 1272 w (This) 2174 1272 w (avoids) 2387 1272 w (computationally) 2683 1272 w (more) 3368 1272 w (expensive) 3608 1272 w (conversions) 4042 1272 w (to) 4554 1272 w (and) 4667 1272 w (from) 4846 1272 w (HSV) 720 1392 w (space.) 956 1392 w (Repeated) 1263 1392 w (update) 1670 1392 w (in) 1972 1392 w (an) 2086 1392 w (interactive) 2216 1392 w (application) 2673 1392 w (is) 3152 1392 w (especially) 3254 1392 w (fast,) 3688 1392 w (since) 3892 1392 w (the) 4132 1392 w (luminance) 4289 1392 w (of) 4740 1392 w (each) 4858 1392 w (pixel need not be recomputed.) 720 1512 w (Negative alpha preserves luminance but inverts the hue of the input image.) 1976 1512 w 10 /Times-Bold f (Sharpening an Image) 720 1752 w 10 /Times-Roman f (Any) 720 1944 w (convolution,) 925 1944 w (such) 1462 1944 w (as) 1679 1944 w (sharpening) 1796 1944 w (or) 2268 1944 w (blurring,) 2385 1944 w (can) 2766 1944 w (be) 2938 1944 w (adjusted) 3066 1944 w (by) 3433 1944 w (this) 3567 1944 w (approach.) 3746 1944 w (If) 4195 1944 w (a) 4295 1944 w (blurred) 4373 1944 w (image) 4695 1944 w (is) 4973 1944 w (used) 720 2064 w (as) 936 2064 w (the) 1052 2064 w (degenerate) 1207 2064 w (image,) 1671 2064 w (interpolation) 1973 2064 w (attenuates) 2517 2064 w (high) 2949 2064 w (frequencies) 3160 2064 w (to) 3652 2064 w (varying) 3762 2064 w (degrees,) 4099 2064 w (and) 4460 2064 w (extrapola\255) 4636 2064 w (tion) 720 2184 w (boosts) 902 2184 w (them,) 1184 2184 w (sharpening) 1435 2184 w (the) 1899 2184 w (image) 2048 2184 w (by) 2319 2184 w (unsharp) 2446 2184 w (masking.) 2789 2184 w (Varying) 3205 2184 w (alpha) 3559 2184 w (acts) 3802 2184 w (as) 3984 2184 w (a) 4094 2184 w (kernel) 4165 2184 w (scale) 4441 2184 w (factor,) 4667 2184 w (so) 4951 2184 w (a) 720 2304 w (series) 800 2304 w (of) 1063 2304 w (convolutions) 1182 2304 w (differing) 1735 2304 w (only) 2119 2304 w (in) 2332 2304 w (scale) 2445 2304 w (can) 2679 2304 w (be) 2852 2304 w (done) 2981 2304 w (easily,) 3210 2304 w (independent) 3503 2304 w (of) 4026 2304 w (the) 4144 2304 w (size) 4301 2304 w (of) 4491 2304 w (the) 4609 2304 w (kernel.) 4766 2304 w (Since) 720 2424 w (blurring,) 977 2424 w (unlike) 1360 2424 w (sharpening,) 1646 2424 w (is) 2145 2424 w (often) 2248 2424 w (a) 2489 2424 w (separable) 2569 2424 w (operation,) 2981 2424 w (sharpening) 3419 2424 w (by) 3893 2424 w (extrapolation) 4029 2424 w (may) 4592 2424 w (be) 4800 2424 w (far) 4930 2424 w (more efficient for large kernels.) 720 2544 w (Note) 720 2700 w (that) 942 2700 w (global) 1120 2700 w (contrast) 1398 2700 w (control,) 1742 2700 w (local) 2078 2700 w (contrast) 2300 2700 w (control,) 2644 2700 w (and) 2980 2700 w (sharpening) 3153 2700 w (form) 3620 2700 w (a) 3843 2700 w (continuum.) 3916 2700 w (Global) 4423 2700 w (contrast) 4724 2700 w (pushes) 720 2820 w (pixel) 1018 2820 w (components) 1244 2820 w (towards) 1753 2820 w (or) 2095 2820 w (away from the average image luminance.) 2204 2820 w (Local contrast is similar, but) 3899 2820 w (uses local area luminance.) 720 2940 w (Unsharp masking is the extreme case, using only the color of nearby pixels.) 1817 2940 w 10 /Times-Bold f (Combined Processing) 720 3180 w 10 /Times-Roman f (An) 720 3372 w (unusual) 872 3372 w (property) 1213 3372 w (of) 1582 3372 w (this) 1696 3372 w (interpolation/extrapolation) 1872 3372 w (approach) 2969 3372 w (is) 3365 3372 w (that) 3463 3372 w (all) 3644 3372 w (of) 3775 3372 w (these) 3889 3372 w (image) 4125 3372 w (parameters) 4400 3372 w (may) 4868 3372 w (be altered simultaneously.) 720 3492 w (Here sharpness, tint, and saturation are all altered.) 1816 3492 w 10 /Times-Bold f (Conclusion) 720 3732 w 10 /Times-Roman f (Image applications) 720 3924 w (frequently) 1503 3924 w (need) 1939 3924 w (to) 2153 3924 w (produce) 2257 3924 w (multiple) 2604 3924 w (degrees) 2964 3924 w (of) 3294 3924 w (manipulation) 3403 3924 w (interactively.) 3957 3924 w (Image) 4532 3924 w (appli\255) 4807 3924 w (cations) 720 4044 w (frequently) 1034 4044 w (need) 1474 4044 w (to) 1692 4044 w (interactively) 1800 4044 w (manipulate) 2329 4044 w (an) 2803 4044 w (image) 2927 4044 w (by) 3201 4044 w (continuously) 3331 4044 w (changing) 3878 4044 w (a) 4274 4044 w (single) 4348 4044 w (parameter.) 4617 4044 w (The best hardware mechanisms employ a single "inner loop" to achieve a wide) 720 4164 w (variety) 3894 4164 w (of) 4197 4164 w (effects.) 4306 4164 w (Interpola\255) 4647 4164 w (tion) 720 4284 w (and) 902 4284 w (extrapolation) 1072 4284 w (of) 1625 4284 w (images) 1734 4284 w (can) 2043 4284 w (be a unifying approach, providing a single function that supports many) 2207 4284 w (common image processing operations.) 720 4404 w (Since) 720 4560 w (a) 970 4560 w (degenerate) 1042 4560 w (image) 1501 4560 w (is) 1773 4560 w (sometimes) 1868 4560 w (easier) 2324 4560 w (to) 2584 4560 w (calculate,) 2690 4560 w (extrapolation) 3097 4560 w (may) 3652 4560 w (offer) 3852 4560 w (a) 4073 4560 w (more) 4145 4560 w (efficient) 4379 4560 w (method) 4740 4560 w (to) 720 4680 w (achieve) 832 4680 w (effects) 1170 4680 w (such) 1469 4680 w (as) 1685 4680 w (sharpening) 1801 4680 w (or) 2272 4680 w (saturation.) 2388 4680 w (Blending) 2865 4680 w (is) 3265 4680 w (a) 3365 4680 w (linear) 3442 4680 w (operation,) 3702 4680 w (and) 4137 4680 w (so) 4314 4680 w (it) 4436 4680 w (must) 4525 4680 w (be) 4753 4680 w (per\255) 4880 4680 w (formed) 720 4800 w (in) 1047 4800 w (linear,) 1164 4800 w (not) 1455 4800 w (gamma\255warped) 1622 4800 w (space.) 2281 4800 w (Component) 2591 4800 w (range) 3097 4800 w (must) 3357 4800 w (also) 3591 4800 w (be) 3791 4800 w (monitored,) 3924 4800 w (since) 4399 4800 w (clamping,) 4643 4800 w (especially of the degenerate image, causes inaccuracy.) 720 4920 w (These) 720 5076 w (image) 986 5076 w (manipulation) 1258 5076 w (techniques) 1814 5076 w (can) 2269 5076 w (be) 2435 5076 w (used) 2557 5076 w (in) 2768 5076 w (paint) 2874 5076 w (programs) 3102 5076 w (to) 3507 5076 w (easily) 3614 5076 w (implement) 3876 5076 w (brushes) 4333 5076 w (that) 4667 5076 w (satu\255) 4846 5076 w (rate,) 720 5196 w (sharpen,) 929 5196 w (lighten,) 1299 5196 w (darken,) 1637 5196 w (or) 1968 5196 w (modify) 2086 5196 w (contrast) 2410 5196 w (and) 2760 5196 w (color.) 2938 5196 w (The) 3227 5196 w (only) 3416 5196 w (major) 3628 5196 w (change) 3895 5196 w (needed) 4211 5196 w (is) 4527 5196 w (to) 4628 5196 w (support) 4740 5196 w (alpha values outside the range 0.0 to 1.0.) 720 5316 w (It) 720 5472 w (is) 807 5472 w (surprising) 900 5472 w (and) 1327 5472 w (unfortunate) 1498 5472 w (how) 1985 5472 w (many) 2184 5472 w (graphics) 2433 5472 w (software) 2798 5472 w (packages) 3168 5472 w (needlessly) 3560 5472 w (limit) 4003 5472 w (interpolant) 4220 5472 w (values) 4680 5472 w (to) 4962 5472 w (the range 0.0 to 1.0.) 720 5592 w (Application developers should allow users to extrapolate parameters when practical.) 1566 5592 w 10 /Times-Bold f (References) 720 5832 w 10 /Times-Roman f (For a slightly extended version of this article, see:) 720 6024 w (P.) 720 6144 w (Haeberli) 835 6144 w (and) 1212 6144 w (D.) 1390 6144 w (Voorhies.) 1521 6144 w (Image) 1946 6144 w (Processing) 2229 6144 w (by) 2696 6144 w (Linear) 2830 6144 w (Interpolation) 3124 6144 w (and) 3674 6144 w (Extrapolation.) 3852 6144 w (IRIS) 4456 6144 w (Universe) 4680 6144 w (Magazine No. 28, Silicon Graphics, Aug, 1994.) 720 6264 w () 2981 6264 w ( ) 2307 6420 w cleartomark showpage saveobj restore %%EndPage: 2 2 %%Trailer done %%DocumentFonts: Times-Roman LucidaSansUnicode20 Times-Italic Times-Bold S %%Pages: 2