%!PS-Adobe-3.0 EPSF-3.0 hgz70-3N %%BoundingBox: 70 85 421 335 %START PDFDE011.EPS /pdfmark17 where {pop} {userdict /pdfmark17 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [/Title (PostScript pictures: farbe.li.tu-berlin.de/hgz7/hgz7.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2024120112000) /ModDate (D:2024120112000) /DOCINFO pdfmark17 [ /View [ /Fit ] /DOCVIEW pdfmark17 %END PDFDE011 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string} bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIK {250 /TimesI-ISOL1 FS} bind def /TIM {300 /TimesI-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TBK {250 /TimesB-ISOL1 FS} bind def /TBM {300 /TimesB-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBIK {250 /TimesBI-ISOL1 FS} bind def /TBIM {300 /TimesBI-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /SK {250 /Symbol FS} bind def /SM {300 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /rem %x0, y0 width heigth {/heigth exch def /width exch def /y0 exch def /x0 exch def x0 width 0.5 mul add y0 heigth 0.5 mul add moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /cvishowr {dup 0 ge {0.5 add} {0.5 sub} ifelse cvi 6 string cvs show} def /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvsshow1g {/nxx exch def %example nxx=99,1/99,0 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2g {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3g {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /tfw {1 setgray} def /tfn {0 setgray} def /tfo {1 0 0 setrgbcolor} def /tfl {0 1 0 setrgbcolor} def /tfv {0 0 1 setrgbcolor} def /tfc {0 1 1 setrgbcolor} def /tfm {1 0 1 setrgbcolor} def /tfy {1 1 0 setrgbcolor} def %********************************************************************* /proc_colors {%BEG proc_colors ifarb 0 eq {%ifarb=0 N_W /colors2 [{rgb 0 get rgb 0 get rgb 0 get} {rgb 1 get rgb 1 get rgb 1 get} {rgb 2 get rgb 2 get rgb 2 get} {rgb 3 get rgb 3 get rgb 3 get} {rgb 4 get rgb 4 get rgb 4 get} {rgb 5 get rgb 5 get rgb 5 get} {rgb 6 get rgb 6 get rgb 6 get} {rgb 7 get rgb 7 get rgb 7 get} {rgb 8 get rgb 8 get rgb 8 get}]def %N00w_02w_04w_06w_08w_10w_12w_14w_16w=W } if %ifarb=0 ifarb 1 eq {%ifarb=1 N_R /colors2 [{rgb 0 get rgb 0 get rgb 0 get} {rgb 1 get rgb 0 get rgb 0 get} {rgb 2 get rgb 0 get rgb 0 get} {rgb 3 get rgb 0 get rgb 0 get} {rgb 4 get rgb 0 get rgb 0 get} {rgb 5 get rgb 0 get rgb 0 get} {rgb 6 get rgb 0 get rgb 0 get} {rgb 7 get rgb 0 get rgb 0 get} {rgb 8 get rgb 0 get rgb 0 get}]def %N00r_02r_04r_06r_08r_10r_12r_14r_16r=R } if %ifarb=1 ifarb 2 eq {%ifarb=2 N_G /colors2 [{rgb 0 get rgb 0 get rgb 0 get} {rgb 0 get rgb 1 get rgb 0 get} {rgb 0 get rgb 2 get rgb 0 get} {rgb 0 get rgb 3 get rgb 0 get} {rgb 0 get rgb 4 get rgb 0 get} {rgb 0 get rgb 5 get rgb 0 get} {rgb 0 get rgb 6 get rgb 0 get} {rgb 0 get rgb 7 get rgb 0 get} {rgb 0 get rgb 8 get rgb 0 get}]def %N00g_02g_04g_06g_08g_10g_12g_14g_16g=G } if %ifarb=2 ifarb 3 eq {%ifarb=3 N_B /colors2 [{rgb 0 get rgb 0 get rgb 0 get} {rgb 0 get rgb 0 get rgb 1 get} {rgb 0 get rgb 0 get rgb 2 get} {rgb 0 get rgb 0 get rgb 3 get} {rgb 0 get rgb 0 get rgb 4 get} {rgb 0 get rgb 0 get rgb 5 get} {rgb 0 get rgb 0 get rgb 6 get} {rgb 0 get rgb 0 get rgb 7 get} {rgb 0 get rgb 0 get rgb 8 get}]def %N00b_02b_04b_06b_08b_10b_12b_14b_16b=B } if %ifarb=3 ifarb 4 eq {%ifarb=4 N_Y /colors2 [{rgb 0 get rgb 0 get rgb 0 get} {rgb 1 get rgb 1 get rgb 0 get} {rgb 2 get rgb 2 get rgb 0 get} {rgb 3 get rgb 3 get rgb 0 get} {rgb 4 get rgb 4 get rgb 0 get} {rgb 5 get rgb 5 get rgb 0 get} {rgb 6 get rgb 6 get rgb 0 get} {rgb 7 get rgb 7 get rgb 0 get} {rgb 8 get rgb 8 get rgb 0 get}]def %N00y_02y_04y_06y_08y_10y_12y_14y_16y=Y } if %ifarb=4 ifarb 5 eq {%ifarb=5 N_C /colors2 [{rgb 0 get rgb 0 get rgb 0 get} {rgb 0 get rgb 1 get rgb 1 get} {rgb 0 get rgb 2 get rgb 2 get} {rgb 0 get rgb 3 get rgb 3 get} {rgb 0 get rgb 4 get rgb 4 get} {rgb 0 get rgb 5 get rgb 5 get} {rgb 0 get rgb 6 get rgb 6 get} {rgb 0 get rgb 7 get rgb 7 get} {rgb 0 get rgb 8 get rgb 8 get}]def %N00c_02c_04c_06c_08c_10c_12c_14c_16c=C } if %ifarb=5 ifarb 6 eq {%ifarb=6 N_M /colors2 [{rgb 0 get rgb 0 get rgb 0 get} {rgb 1 get rgb 0 get rgb 1 get} {rgb 2 get rgb 0 get rgb 2 get} {rgb 3 get rgb 0 get rgb 3 get} {rgb 4 get rgb 0 get rgb 4 get} {rgb 5 get rgb 0 get rgb 5 get} {rgb 6 get rgb 0 get rgb 6 get} {rgb 7 get rgb 0 get rgb 7 get} {rgb 8 get rgb 0 get rgb 8 get}]def %N00m_02m_04m_06m_08m_10m_12m_14m_16mM } if %ifarb=6 ifarb 7 eq {%ifarb=7 R_W /colors2 [{rgb 8 get rgb 0 get rgb 0 get} {rgb 8 get rgb 1 get rgb 1 get} {rgb 8 get rgb 2 get rgb 2 get} {rgb 8 get rgb 3 get rgb 3 get} {rgb 8 get rgb 4 get rgb 4 get} {rgb 8 get rgb 5 get rgb 5 get} {rgb 8 get rgb 6 get rgb 6 get} {rgb 8 get rgb 7 get rgb 7 get} {rgb 8 get rgb 8 get rgb 8 get}]def %R00w_02w_04w_06w_08w_10w_12w_14w_16w=W } if %ifarb=7 ifarb 8 eq {%ifarb=8 G_W /colors2 [{rgb 0 get rgb 8 get rgb 0 get} {rgb 1 get rgb 8 get rgb 1 get} {rgb 2 get rgb 8 get rgb 2 get} {rgb 3 get rgb 8 get rgb 3 get} {rgb 4 get rgb 8 get rgb 4 get} {rgb 5 get rgb 8 get rgb 5 get} {rgb 6 get rgb 8 get rgb 6 get} {rgb 7 get rgb 8 get rgb 7 get} {rgb 8 get rgb 8 get rgb 8 get}]def %G00w_02w_04w_06w_08w_10w_12w_14w_16w=W } if %ifarb=8 ifarb 9 eq {%ifarb=9 B_W /colors2 [{rgb 0 get rgb 0 get rgb 8 get} {rgb 1 get rgb 1 get rgb 8 get} {rgb 2 get rgb 2 get rgb 8 get} {rgb 3 get rgb 3 get rgb 8 get} {rgb 4 get rgb 4 get rgb 8 get} {rgb 5 get rgb 5 get rgb 8 get} {rgb 6 get rgb 6 get rgb 8 get} {rgb 7 get rgb 7 get rgb 8 get} {rgb 8 get rgb 8 get rgb 8 get}]def %B00w_02w_04w_06w_08w_10w_12w_14w_16w=W } if %ifarb=9 ifarb 10 eq {%ifarb=10 Y_W /colors2 [{rgb 8 get rgb 8 get rgb 0 get} {rgb 8 get rgb 8 get rgb 1 get} {rgb 8 get rgb 8 get rgb 2 get} {rgb 8 get rgb 8 get rgb 3 get} {rgb 8 get rgb 8 get rgb 4 get} {rgb 8 get rgb 8 get rgb 5 get} {rgb 8 get rgb 8 get rgb 6 get} {rgb 8 get rgb 8 get rgb 7 get} {rgb 8 get rgb 8 get rgb 8 get}]def %Y00w_02w_04w_06w_08w_10w_12w_14w_16w=W } if %ifarb=10 ifarb 11 eq {%ifarb=11 C_W /colors2 [{rgb 0 get rgb 8 get rgb 8 get} {rgb 1 get rgb 8 get rgb 8 get} {rgb 2 get rgb 8 get rgb 8 get} {rgb 3 get rgb 8 get rgb 8 get} {rgb 4 get rgb 8 get rgb 8 get} {rgb 5 get rgb 8 get rgb 8 get} {rgb 6 get rgb 8 get rgb 8 get} {rgb 7 get rgb 8 get rgb 8 get} {rgb 8 get rgb 8 get rgb 8 get}]def %C00w_02w_04w_06w_08w_10w_12w_14w_16w=W } if %ifarb=11 ifarb 12 eq {%ifarb=12 M_W /colors2 [{rgb 8 get rgb 0 get rgb 8 get} {rgb 8 get rgb 1 get rgb 8 get} {rgb 8 get rgb 2 get rgb 8 get} {rgb 8 get rgb 3 get rgb 8 get} {rgb 8 get rgb 4 get rgb 8 get} {rgb 8 get rgb 5 get rgb 8 get} {rgb 8 get rgb 6 get rgb 8 get} {rgb 8 get rgb 7 get rgb 8 get} {rgb 8 get rgb 8 get rgb 8 get}]def %M00w_02w_04w_06w_08w_10w_12w_14w_16w=W } if %ifarb=12 } bind def %END proc_colors %********************************************************************* %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage gsave /cvishow0 {cvi 6 string cvs show} def /pchartl 1 def %0:left page, 1:right page /tchartl 4 def %0:top page, 4:down page /pchart pchartl def /tchart tchartl def 72 90 translate 0.010 MM dup scale /xbtex0 1 def %xbtex=0 for files Y1(0/1)-(3/7)n.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 08550 def /xmax1 12250 def 1.0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke TK 0 setgray 150 /Times-ISOL1 FS 150 -140 moveto pchartl 0 eq {(hgz70-) show} {(hgz71-) show} ifelse tchartl 0 eq {(3n) show} {(7n) show} ifelse } if %xbtex0=1 /ifarb 0 def /isize 0.25 def %1.00, 0.90, 0.50, 0.25 /xchartl 3 def 0 1 3 {/xchartl exch def %xchartl=0,3 /xchart xchartl def gsave 20 setlinewidth xchartl 0 eq { 100 04480 translate} if xchartl 1 eq { 6150 04480 translate} if xchartl 2 eq { 100 00220 translate} if xchartl 3 eq { 6150 00220 translate} if 0 setgray 150 /Times-ISOL1 FS 050 -140 moveto pchartl 0 eq {(hgz70-) show} {(hgz71-) show} ifelse xchartl 1 add tchartl add cvishow0 (a) show %a (, image ) showen (, Bild ) showde xchartl 1 add cvishow0 xchart 2 le {%xchart<=2 (, produce equal visual difference between ) showen (, erzeuge gleiche visuelle Differenz zwischen ) showde } if %xchart<=2 xchart 0 eq {%xchart=0 /colseen 14 array def /colseen [%BEG colseren (Black N - White W) (Black N - Red Rn - Red R) (Black N - Green Gn - Green G) (Black N - Blue Bn - Blue B) (Black N - Yellow Yn - Yellow Y) (Black N - Cyan Cn - Cyan C) (Black N - Magenta Mn - Magenta M) (Red R - Red Rw - White W) (Green G - Green Gw - White W) (Blue B - Blue Bw - White W) (Yellow Y - Yellow Yw - White W) (Cyan C - Cyan Cw - White W) (Magenta M - Magenta Mw - White W) ] def %END colseen /colsede 14 array def /colsede [%BEG colsede (Schwarz N - Wei\337 W) (Schwarz N - Rot Rn - Rot R) (Schwarz N - Gr\374n Gn - Gr\374n G) (Schwarz N - Blau Bn - Blau B) (Schwarz N - Gelb Yn - Gelb Y) (Schwarz N - Cyan Cn - Cyan C) (Schwarz N - Magenta Mn - Magenta M) (Rot R - Rot Rw - Wei\337 W) (Gr\374n G - Gr\374n Gw - Wei\337 W) (Blau B - Blau Bw - Wei\337 W) (Gelb Y - Gelb Yw - Wei\337 W) (Cyan C - Cyan Cw - Wei\337 W) (Magenta M - Magenta Mw - Wei\337 W) ] def %END colsede colseen ifarb get showen colsede ifarb get showde } if %xchart=0 xchart 1 eq {%xchart=1 (two of five steps) showen (zwei von f\374nf Stufen) showde } if %xchart=1 xchart 2 eq {%xchart=2 (four of nine steps) showen (vier von neun Stufen) showde } if %xchart=2 xchart 3 eq {%xchart=3 (, adjust visual threshold (+0,04?) of 9 steps; all equal?) showen (, erzeuge Sehschwelle (+0,04?) von 9 Stufen; alle gleich?) showde } if %xchart=3 %************************************************************** %definition of slope and color series %/nn 2.0 def %to be defined /nn 1.5 def /rgb 9 array def 0 1 8 {/i exch def %i=0,8 /id8 0.125 i mul def rgb i id8 put } for %i=0,8 %inverse data, see heg0l0np.pdf, change the above 7 data %rgb 1 0.115 put %rgb 2 0.202 put %rgb 3 0.299 put %rgb 4 0.390 put %rgb 5 0.538 put %rgb 6 0.690 put %rgb 7 0.844 put %n>1 darker output, n<1 lighter output %0 1 8 {/i exch def %i=0,8 % /id8 0.125 i mul def % rgb i id8 1.5 exp put % } for %i=0,8 /cvishow {cvi 6 string cvs show} def proc_colors %************************************************ %special format with scale for about 6x4cm 0.425 dup scale 20 setlinewidth %xwidth=9*1400=1400 %white frame=350=1400*0.25 %grey frame=350=1400*0.25 /s0 1400 def /s0d2 s0 0.50 mul def /s0d4 s0 0.25 mul def /xwidth s0 10.0 mul def %format about 3:2 /ywidth s0 6.67 mul def /xwidthm xwidth 0.5 mul def %mean xwidth %grey frame (u), start left down /x0u s0d4 def %left xy down /y0u s0d4 def /x1u xwidth s0d4 sub def /y1u y0u def /x2u x1u def /y2u ywidth s0d4 sub def /x3u x0u def /y3u y2u def /xpmi 9 array def %horizontal from left (0) to right (8) /ypmj 4 array def %vertical from top (3) to down (0) /xp3m x3u s0 0.75 mul add def /yp3m y3u s0 0.75 mul sub def /xp2m x3u s0 0.75 mul add def /yp2m y3u s0 2.00 mul sub def /xp1m x0u s0 0.75 mul add def /yp1m y0u s0 1.95 mul add def /xp0m x0u s0 0.75 mul add def /yp0m y0u s0 0.75 mul add def 0 1 08 {/i exch def %i=0,8 xpmi i xp0m s0 i mul add put } for %i=0,8 ypmj 3 yp3m put ypmj 2 yp2m put ypmj 1 yp1m put ypmj 0 yp0m put /x00 xpmi 3 get def %3 steps /x01 xpmi 2 get def %5 steps /x02 xpmi 0 get def %9 steps /x03 xpmi 2 get def %1 step 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke xchart 0 eq {0.5 nn exp setgray}{0.5 setgray} ifelse x0u y0u moveto x1u y1u lineto x2u y2u lineto x3u y3u lineto closepath fill /tfnw {tfw} def %%%%%%%%%%% oberer Schriftzug %%%%%%%%%%%%%%%% /sd 1400 def /sd0 000 def /dd0 270 def /sda 0200 def /xt 400 200 add def /yte 100 def /y00t 150 def /y01t 450 def xchart 0 eq {/jd 4 def /ixk x00 def /jm 1 def} if xchart 1 eq {/jd 2 def /ixk x01 def /jm 2 def} if xchart 2 eq {/jd 1 def /ixk x02 def /jm 4 def} if xchart 3 eq {/jd 1 def /ixk x02 def /jm 4 def} if %identical xchart=2 %for index /inx {TBK 0 -40 rmoveto show 0 40 rmoveto TBM} def 20 setlinewidth %forth line from bottom, always full square %xchart 0 eq {%xchart=0 allways grey /s s0 def /iy0 ypmj 3 get s 0.5 mul sub def 0 1 8 {/i exch def %i=0,jd,8 i 0.125 mul nn exp dup dup setrgbcolor %darker row /ix0 xpmi i get s 0.5 mul sub def ix0 iy0 s s rec fill } for %i=0,jd,8 tfw /ix0 xpmi 4 get s 0.5 mul sub def ix0 iy0 moveto s 0 rlineto stroke ix0 iy0 s add moveto s 0 rlineto stroke %} if %xchart=0 %xchart 1 ge {%xchart>=1 %/s s0 def %/iy0 ypmj 3 get s 0.5 mul sub def %0 1 8 {/i exch def %i=0,jd,8 % colors2 i get exec setrgbcolor % /ix0 xpmi i get s 0.5 mul sub def % ix0 iy0 s s rec fill % } for %i=0,jd,8 %tfw %/ix0 xpmi 4 get s 0.5 mul sub def %ix0 iy0 moveto s 0 rlineto stroke %ix0 iy0 s add moveto s 0 rlineto stroke %} if %xchart>=1 %third line: 3, 5, 9 steps /s s0 isize mul def /iy0 ypmj 2 get s 0.5 mul sub def 0 jd 8 {/i exch def %i=0,jd,8 colors2 i get exec setrgbcolor jd 4 eq {%jd=4 /ix0 xpmi 3 i 4 idiv add get s 0.5 mul sub def } if %jd=4 jd 2 eq {%jd=2 /ix0 xpmi 2 i 2 idiv add get s 0.5 mul sub def } if %jd=2 jd 1 eq {%jd=1 /ix0 xpmi i get s 0.5 mul sub def } if %jd=1 ix0 iy0 s s rec fill } for %i=0,jd,8 tfw /ix0 xpmi 4 get s 0.5 mul sub def %isize 1 lt {ix0 iy0 s s rec stroke} % { ix0 iy0 moveto s 0 rlineto stroke ix0 iy0 s add moveto s 0 rlineto stroke % } ifelse %to be calculated for image 3 from image 0, 1, and 2 %data from heg0/heg0l0np.pdf 250115 /lindat 9 array def /lindaa 9 array def /lindac 9 array def /lindad 9 array def %d=dark /lindah 9 array def %h=hell (light) %standard data % 0 1 2 3 4 5 6 7 8 /lindat [0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000] def %adjusted data /lindaa [0.000 0.135 0.300 0.450 0.600 0.700 0.800 0.900 1.000] def %calculated from adjusted data /lindac [0.000 0.115 0.202 0.299 0.390 0.538 0.690 0.844 1.000] def 0 1 8 {/i exch def %i=0,8 % lindad i lindat i get 1 nn div exp put %0.7071, nn=2 (i=4) %lighter % lindah i lindat i get nn exp put %0.2500, nn=2 (i=4) %darker lindah i lindat i get 1 nn div exp put %0.6300, nn=1.5 (i=4) %lighter lindad i lindat i get nn exp put %0.3536, nn=1.5 (i=4) %darker } for %i=0,8 %rectangle (r) /x0r x0u s0 3 mul add def /y0r y0u s0d4 add def /x1r x0r s0 3 mul add def /y1r y0r def /x2r x1r def /y2r y1r s0 3 mul add def /x3r x0r def /y3r y2r def /xwr 4400 def /ywr 0300 def %test square xchart=0,1,2 xchart 2 le {%xchartl<=2 tfn TBM x0r y0r moveto x1r y1r lineto x2r y2r lineto x3r y3r lineto closepath stroke xchart 0 eq {%xchart=0 tfw x0r y0r moveto x2r y2r lineto stroke } if %xchart=0 xchart 0 eq xchart 1 eq or xchart 2 eq or {%xchart=0/1/2 /xpi 9 array def %p=position /ypi 9 array def /xvi 9 array def %v=value /yvi 9 array def 0 1 2 {/ks exch def %ks=0,1 0 1 8 {/i exch def %i=0,8 xpi i x0r x2r x0r sub 0.125 i mul mul add put ypi i y0r y2r y0r sub ks 0 eq {lindat i get mul add put} if ks 1 eq {lindad i get mul add put} if ks 2 eq {lindah i get mul add put} if xvi i 0.125 i mul put yvi i ks 0 eq {lindat i get put} if ks 1 eq {lindad i get put} if ks 2 eq {lindah i get put} if } for %i=0,8 ks 0 eq {tfl} if ks 1 eq {tfo} if ks 2 eq {tfy} if 0 1 8 {/i exch def %i=0,8 xpi i get ypi i get i 0 eq {moveto} if i 1 ge i 7 le and {lineto} if i 8 eq {lineto stroke} if } for %i=0,8 ks 0 eq {%ks=0 green 1 1 7 {/i exch def %i=1,7 xpi i get ypi i get 70 0 360 arc fill } for %i=1,7 } if %ks=0 ks 1 eq {%ks=1 red 1 1 7 {/i exch def %i=1,7 newpath xpi i get ypi i get 70 0 360 arc fill newpath xpi i get 250 add ypi i get 100 sub moveto xvi i get cvsshow2g (, ) show yvi i get cvsshow2g } for %i=1,7 } if %ks=1 ks 2 eq {%ks=2 yellow 1 1 7 {/i exch def %i=1,7 newpath xpi i get ypi i get 70 0 360 arc fill newpath xpi i get 1500 sub ypi i get 100 sub moveto xvi i get cvsshow2g (, ) show yvi i get cvsshow2g } for %i=1,7 } if %ks=2 } for %ks=0,2 } if %xchart=0/1/2 /i 4 def /xp4 x0r x2r x0r sub 0.125 4 mul mul add def /yp4 y0r y2r y0r sub lindat 4 get mul add def /yp4d y0r y2r y0r sub lindad 4 get mul add def /yp4h y0r y2r y0r sub lindah 4 get mul add def tfw xp4 yp4d moveto xp4 yp4 lineto 75 neg 150 neg rlineto 75 150 rlineto 75 150 neg rlineto stroke /xv4 0.125 4 mul def /yv4 lindat 4 get def /yv4d lindad 4 get def /yv4h lindah 4 get def tfn x0r 3000 sub y3r 80 sub moveto (Output (9 steps)) showen (Ausgabe (9 Stufen)) showde x1r 400 add y0r 200 sub moveto (Input (9 steps)) showen (Eingabe (9 Stufen)) showde tfw x0r 3000 sub y3r 380 sub moveto (adjusted spacing) showen (justierte Stufung) showde x0r 3000 sub y3r 680 sub moveto (0 <= ) show TBIM (rgb*) show TBK 0 -50 rmoveto (out) show 0 50 rmoveto TBM ( <= 1) show tfn x1r 400 add y0r 400 add moveto (equally spaced) showen (gleichabs\344ndig gestuft) showde x1r 400 add y0r 100 add moveto (0 <= ) show TBIM (rgb*) show TBK 0 -50 rmoveto (in) show 0 50 rmoveto TBM ( <= 1) show tfw /ymr y3r y0r add 0.5 mul def x0r 350 sub y0r 80 sub moveto (0) show x0r 550 sub ymr 80 sub moveto (0,5) show x0r 350 sub y3r 80 sub moveto (1) show tfn /xmr x1r x0r add 0.5 mul def x0r 050 add y0r 300 sub moveto (0) show xmr 050 add y0r 300 sub moveto (0,5) show x1r 050 add y0r 300 sub moveto (1) show /sx 3 s0 mul 8 div def 0 1 8 {/i exch def x0r 150 sub y0r i sx mul add moveto 150 0 rlineto stroke x0r i sx mul add y0r moveto 0 -150 rlineto stroke } for tfw x2r 400 add y3r 0180 sub moveto xwr 0 rlineto 0 ywr rlineto xwr neg 0 rlineto closepath fill tfn x2r 500 add y3r 0130 sub moveto (go to next image ) showen (gehe zu neuem Bild ) showde xchart 2 add cvishow xchart 0 eq {%xchart=0 tfw x2r 500 add y3r 0130 sub 1000 sub moveto (one experimental value: ) showen (Ein experimenteller Wert: ) showde x2r 500 add y3r 0130 sub 1300 sub moveto tfw TBM (e) show (08) inx TBM (=) show yv4h cvsshow2g tfw x2r 500 add y3r 0130 sub 1600 sub moveto (real gamma value: ) showen (realer Gammawert: ) showde tfw x2r 500 add y3r 0130 sub 1900 sub moveto SK (g) show 0 -50 rmoveto TBK (re) show 0 50 rmoveto TBM (= log [0,50] / log [e) show (08) inx (] =) show 0.50 log yv4h log div cvsshow3g tfw x2r 500 add y3r 0130 sub 2200 sub moveto (inverse gamma value: ) showen (inverse Gammawert: ) showde tfw x2r 500 add y3r 0130 sub 2500 sub moveto SK (g) show 0 -50 rmoveto TBK (in) show 0 50 rmoveto TBM (= log [e) show (08) inx TBM (] / log [0,50] =) show yv4h log 0.50 log div cvsshow3g } if %xchart=0 xchart 1 eq {%xchart=1 tfn x2r 500 add y3r 0130 sub 1000 sub moveto (two experimental values: ) showen (Zwei experimentelle Werte: ) showde x2r 500 add y3r 0130 sub 1300 sub moveto tfw TBM (e) show (04) inx (, e) show (48) inx } if %xchart=1 xchart 2 eq {%xchart=2 tfn x2r 500 add y3r 0130 sub 1000 sub moveto (four experimental values: ) showen (Vier experimentelle Werte: ) showde x2r 500 add y3r 0130 sub 1300 sub moveto tfw TBM (e) show (02) inx (, e) show (24) inx (, e) show (46) inx (, e) show (68) inx tfw x2r 400 add y3r 0180 sub 2000 sub moveto xwr 0 rlineto 0 ywr rlineto xwr neg 0 rlineto closepath fill tfn x2r 500 add y3r 0130 sub 2000 sub moveto (save 7 data above as text) showen (speichere 7 obere Daten als Text) showde } if %xchart=2 } if %xchart<=2 %texts xchart=0 to 3 TBM tfn /ioutx 0 def ioutx 1 eq {%ioutx=1 xchart 0 eq {%xchart=0 /xm1 xwidthm 1.4 s0 mul sub def /xm0 2000 def tfw xm0 y3u 270 sub moveto (A choose of a value different "0.50" ) showen (changes the grey sample and surround.) showen (Eine Wertewahl verschieden von "0.50" ) showde (\344ndert das graue Muster und Umfeld.) showde xm0 y3u 270 sub 300 sub moveto (Beginners often have difficulties to choose ) showen (on an appropriate value.) showen (Beginner haben oft Schwierigkeiten ) showde (mit einer geeigneten Wertewahl.) showde xm0 y3u 270 sub 600 sub moveto (Therefore it is recommended for beginners ) showen (to proceed with image 2.) showen (Es wird daher f\374r Beginner empfohlen ) showde (mit Bild 2 fortzufahren.) showde xm0 y3u 270 sub 900 sub moveto (After a restart of the experiment, ) showen (a value different "0.50" may be used.) showen (Nach Neustart des Experiments, k\366nnte ) showde (eine Wertewahl verschieden "0,50" erfolgen.) showde } if %xchart=0 } if %ioutx=1 xchart 0 eq {%xchart=0 tfw 500 y3u 270 sub moveto (9 step series with grey sample and surround too dark, ajust both ) showen (with a value larger "0.50") showen (9stufige Serie mit zu dunklem grauem Muster und Umfeld, justiere beide ) showde (mit Wert gr\337\366er "0,50") showde } if %xchart=0 xchart 1 eq xchart 2 eq or xchart 3 eq or {%xchart=1,2,3 tfw 500 y3u 270 sub moveto %(9 step series based only on the visual ajustment of image 1 ) showen %(with value "0.50" or different) showen %(9stufige Serie basierend nur auf visueller Einstellung von Bild 1 ) showde %(mit Wert "0,50" oder verschieden) showde (9 step series with grey sample and surround appears too dark, ) showen (all will be lighter below) showen (9stufige Serie mit zu dunklem grauem Muster und Umfeld, ) showde (alle werden unten heller) showde } if %xchart=1,2,3 xchart 0 eq xchart 1 eq or xchart 2 eq or {%xchart=0,1,2 tfw /xm2 xwidthm 1.8 s0 mul sub 200 sub def xm2 500 sub xchart 0 eq {1000 sub} if y3u 250 sub s0 sub s0d4 sub moveto ( adjust visual equal difference for ) showen (erzeuge visuell gleiche Differenz f\374r ) showde xchart 0 eq {(Grau U zwischen Wei\337 W und Schwarz N) showde (Grey U between White W and Black N) showen } if xchart 1 eq {(zwei von 5 Stufen) showde (two of 5 steps) showen} if xchart 2 eq {(vier von 9 Stufen) showde (four of 9 steps) showen} if /ylk y3u 300 sub s0 2 mul sub s0d4 2 mul sub def xchart 0 eq {/l0 3 def /l1 3 def} if xchart 1 eq {/l0 2 def /l1 4 def} if xchart 2 eq {/l0 0 def /l1 6 def} if l0 2 l1 {/l exch def %l=l1,l2 tfn x3u l 0.5 add s0 mul add 400 add ylk moveto (0) show x3u l 1.5 add s0 mul add 350 sub ylk moveto tfw xchart 0 eq {TBM (e) show (08) inx TBM (=) show} if %xchart=0 xchart 1 eq {%xchart=1 TBM (e) show l 2 eq {(04)} if l 4 eq {(48)} if inx TBM (=) show } if %xchart=1 xchart 2 eq {%xchart=2 TBM (e) show l 0 eq {(02)} if l 2 eq {(24)} if l 4 eq {(46)} if l 6 eq {(68)} if inx TBM (=) show } if %xchart=2 tfw 0 -50 rlineto 850 0 rlineto 0 300 rlineto 850 neg 0 rlineto closepath fill newpath x3u l 1.5 add s0 mul add 350 sub 600 add ylk moveto tfn %(0,50) show xchart 0 eq {l 3 eq {lindah 4 get cvsshow2g} if %l=3->4 } if xchart 1 eq {l 2 eq {lindah 2 get cvsshow2g} if %l=2,4->2,6 l 4 eq {lindah 6 get cvsshow2g} if } if xchart 2 eq {lindah l 1 add get cvsshow2g} if %l=0,2,4,6->1,3,5,7 100 100 rmoveto SK (\331) show 0 -100 rmoveto -150 -50 rmoveto SK (\332) show 0 50 rmoveto tfn TBM x3u l 2.5 add s0 mul add 000 sub l l1 eq {100 add} if ylk moveto (1) show l l1 ne {( /) show} if } for %l=l0,l1 } if %xchart=0,1,2 %first time to use xchart=3 xchart 3 eq {%xchart=3 tfw 1000 y3u 250 sub s0 sub s0d4 sub moveto (9 step series based on all visual adjustments used for ) showen (output linearization) showen (9stufige Serie basierend auf allen visuellen Einstellungen benutzt ) showde (f\374r Ausgabelinearisierung) showde TBM tfw /x1f x0u s0d4 add def /y1f y3u 250 sub s0 2.25 mul sub def 0 1 8 {/i exch def %i=0,8 tfw x1f i s0 mul add 350 add y1f 300 sub 050 sub moveto % lindat i get 255 mul cvishow (, ) show i 1 ge i 7 le and {-100 0 rmoveto TBM (c) show TBK 0 -40 rmoveto i cvishow 0 40 rmoveto TBM (=) show } if lindat i get cvsshow2g } for %i=0,8 tfn 500 y3r 0080 sub moveto (calculation with visual experimental (e) data adjusted above) showen (Berechnung mit ermittelten visuellen experimentellen (e) Daten) showde 500 y3r 0380 sub moveto %(a1=e08, b1=e04*a1, b3=e48(1-b2)+b2, c2=b1, c4=b2, c6=c3) show TBM (a) show (1) inx (=e) show (08) inx (, b) show (1) inx (=e) show (04) inx (*a) show (1) inx (, b) show (3) inx (=e) show (48) inx (\0501-b) show (2) inx (\051+b) show (2) inx (, c) show (2) inx (=b) show (1) inx (, c) show (4) inx (=b) show (2) inx (, c) show (6) inx (=b) show (3) inx 500 y3r 0680 sub moveto %(c1=e02*b1, c3=e24(b2-b2)+b1, c5=e46(b3-b2)+b2, c7=e68(1-b3)+b3) show TBM (c) show (1) inx (=e) show (02) inx (*b) show (1) inx (, c) show (3) inx (=e) show (24) inx (\050b) show (2) inx (-b) show (2) inx (\051+b) show (1) inx (, c) show (5) inx (=e) show (46) inx (\050b) show (3) inx (-b) show (2) inx (\051+b) show (2) inx (, c) show (7) inx (=e) show (68) inx (\0501-b) show (3) inx (\051+b) show (3) inx tfw x2r 400 add y3r 0180 sub moveto xwr 0 rlineto 0 ywr rlineto xwr neg 0 rlineto closepath fill tfn x2r 500 add y3r 0130 sub moveto (save 7 data above as text) showen (speichere 7 obere Daten als Text) showde %9 step series tfw x2r 400 add y3r 0680 sub moveto xwr 0 rlineto 0 ywr rlineto xwr neg 0 rlineto closepath fill tfn x2r 500 add y3r 0630 sub moveto (save 9 data below as text) showen (speichere 9 untere Daten als Text) showde tfw x2r 400 add y3r 3880 sub moveto xwr 0 rlineto 0 ywr 2 mul rlineto xwr neg 0 rlineto closepath fill tfn x2r 500 add y3r 3530 sub moveto (adjust and proof threshold of) showen (justiere und pr\374fe Schwellen) showde x2r 500 add y3r 3830 sub moveto (the linearized output) showen (der linearisierten Ausgabe) showde tfw x2r 400 add y3r 4380 sub moveto xwr 0 rlineto 0 ywr rlineto xwr neg 0 rlineto closepath fill tfn x2r 500 add y3r 4330 sub moveto (restart with image 1) showen (Neustart mit Bild 1) showde %second line /s s0 isize mul def /iy0 ypmj 1 get s 0.5 mul sub 50 sub def 0 1 8 {/i exch def %i=0,jd,8 /li0 0 def /li1 lindat i get def ifarb 0 eq {li1 li1 li1 setrgbcolor} if %N ifarb 1 eq {li1 0 0 setrgbcolor} if %R ifarb 2 eq {0 li1 0 setrgbcolor} if %G ifarb 3 eq {0 0 li1 setrgbcolor} if %B ifarb 4 eq {li1 li1 0 setrgbcolor} if %Y ifarb 5 eq {0 li1 li1 setrgbcolor} if %C ifarb 6 eq {li1 0 li1 setrgbcolor} if %M /ix0 xpmi i get s 0.5 mul sub def ix0 iy0 s s rec fill /li2 i 7 le {li1 0.04 add def} {li1 0.04 sub def} ifelse ifarb 0 eq {li2 li2 li2 setrgbcolor} if %N ifarb 1 eq {li2 0 0 setrgbcolor} if %R ifarb 2 eq {0 li2 0 setrgbcolor} if %G ifarb 3 eq {0 0 li2 setrgbcolor} if %B ifarb 4 eq {li2 li2 0 setrgbcolor} if %Y ifarb 5 eq {0 li2 li2 setrgbcolor} if %C ifarb 6 eq {li2 0 li2 setrgbcolor} if %M /ix0 xpmi i get s 0.5 mul sub def /sh s 0.5 mul def ix0 iy0 sh add moveto s 0 rlineto 0 sh rlineto s neg 0 rlineto closepath fill } for %i=0,jd,8 tfw /ix0 xpmi 4 get s 0.5 mul sub def ix0 iy0 moveto s 0 rlineto stroke ix0 iy0 s add moveto s 0 rlineto stroke %down sample grey /s s0 isize mul def /iy0 ypmj 0 get s 0.5 mul sub 200 sub def 0.25 dup dup setrgbcolor /ix0 xpmi 2 get s 0.5 mul sub def ix0 iy0 s s rec fill %+0,06 used, not +0,04 0.25 0.06 add dup dup setrgbcolor /sh s 0.5 mul def ix0 iy0 sh add moveto s 0 rlineto 0 sh rlineto s neg 0 rlineto closepath fill 20 setlinewidth TBM tfnw /jd 1 def /ixk x02 def /jm 4 def %9 steps %below (dec) and top linearized series /x1f x0u s0d4 add def /y1f y0u 2000 add def %/y1f ypmj 0 get s 0.5 mul sub 200 sub def /y2f y1f s0 add def 0 1 8 {/i exch def %i=0,8 i 8 div dup dup setrgbcolor tfn x1f i s0 mul add 400 add y1f 300 sub 30 add moveto % lindat i get cvsshow2g tfw i 1 ge i 7 le and {-100 0 rmoveto TBM (c) show TBK 0 -40 rmoveto i cvishow 0 40 rmoveto TBM (=) show } if lindat i get cvsshow2g tfw x1f i s0 mul add 200 add y1f 1500 add moveto 0 -75 rlineto 1000 0 rlineto 0 300 rlineto 1000 neg 0 rlineto closepath fill newpath tfn x1f i s0 mul add 200 add y1f 1500 add moveto i 7 le {(+0,04) show} {(-0,04) show} ifelse 100 100 rmoveto SK (\331) show 0 -100 rmoveto -150 -50 rmoveto SK (\332) show 0 50 rmoveto TBM } for %i=0,8 %decription of grey sample /x3f x0u s0d4 add def /y3f y0u 1700 add s0 sub 200 sub def /i 2 def tfn x3f i 1 add s0 mul add 80 add y3f 800 add moveto lindat 2 get cvsshow2g tfw x3f i 1 add s0 mul add 80 add 600 add y3f 800 add moveto 0 -75 rlineto 1000 0 rlineto 0 300 rlineto 1000 neg 0 rlineto closepath fill newpath tfn x3f i 1 add s0 mul add 80 add 600 add y3f 800 add moveto (+0,06) show 100 100 rmoveto SK (\331) show 0 -100 rmoveto -150 -50 rmoveto SK (\332) show 0 50 rmoveto TBM tfw ( adjust threshold) showen ( justiere Schwelle) showde tfn x3f i 1 add s0 mul add 80 add y3f 500 add moveto lindat 2 get cvsshow2g ( +0,00) show 100 100 rmoveto SK (\331) show 0 -100 rmoveto -150 -50 rmoveto SK (\332) show 0 50 rmoveto TBM tfn ( no change) showen ( unge\344ndert) showde tfn x3f i 2 sub s0 mul add 40 add y3f 900 add moveto (grey example) showen (Graubeispiel) showde tfw x3f i 2 sub s0 mul add 40 add y3f 600 add moveto (difference visible?) showen (Differenz sichtbar?) showde } if %xchart=3 xchartl 0 eq { 100 neg 04480 neg translate} if xchartl 1 eq { 6150 neg 04480 neg translate} if xchartl 2 eq { 100 neg 00220 neg translate} if xchartl 3 eq { 6150 neg 00220 neg translate} if grestore } for %xchartl=0,3 showpage grestore %%Trailer