%!PS-Adobe-3.0 EPSF-3.0 igb60-3N %%BoundingBox: 70 85 421 335 %START PDFDE011.EPS /pdfmark07 where {pop} {userdict /pdfmark07 /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/igb6/igb6.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 pdfmark07 [ /View [ /Fit ] /DOCVIEW pdfmark07 %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 %*************************************************************** /proc_diagram {%BEG proc_diagram ks1 1 ks2 {/ks exch def %ks=ks1,ks2 ks 0 eq {tfl} if ks 1 eq {tfo} if ks 2 eq {tfy} if ks 3 eq {tfn} if ks 4 eq {tfw} if ks 2 le {%ks<=2 xchart 0 eq {%xchart=0 0 1 8 {/i exch def %i=0,8 ks 0 eq {xpi i get ypti i get} if ks 1 eq {xpi i get yp1di i get} if ks 2 eq {xpi i get yp1hi i get} if i 0 eq {moveto} if i 1 ge i 7 le and {lineto} if i 8 eq {lineto stroke} if } for %i=0,8 } if %xchart=0 } if %ks<=2 ks 0 eq ks 3 eq or ks 4 eq or {%ks=0,3,4 xchart 1 eq xchart 2 eq or {%xchart=1,2 0 1 8 {/i exch def %i=0,8 xpi i get ks 0 eq {ypti i get} if ks 3 eq {yp0di i get} if ks 4 eq {yp0hi i get} if i 0 eq {moveto} if i 1 ge i 7 le and {lineto} if i 8 eq {lineto stroke} if } for %i=0,8 } if %xchart=1,2 } if %ks=0,3,4 ks 0 eq {%ks=0 green 1 1 7 {/i exch def %i=1,7 xpi i get ypti i get 70 0 360 arc fill } for %i=1,7 } if %ks=0 xchart 0 eq {%xchart=0 ks 1 eq {%ks=1 red 1 1 7 {/i exch def %i=1,7 /yp yp1di i get def /yv yv1di i get def newpath xpi i get yp 70 0 360 arc fill newpath xpi i get 250 add yp 100 sub moveto xvi i get cvsshow2g (, ) show yv 0.005 add cvsshow2g } for %i=1,7 } if %ks=1 ks 2 eq {%ks=2 yellow 1 1 7 {/i exch def %i=1,7 /yp yp1hi i get def /yv yv1hi i get def newpath xpi i get yp 70 0 360 arc fill newpath xpi i get 1500 sub yp 100 sub moveto xvi i get cvsshow2g (, ) show yv 0.005 add cvsshow2g } for %i=1,7 } if %ks=2 } if %xchart=0 xchart 1 eq {%xchart=1 ks 3 eq {%ks=3 2 1 2 {tfn /i exch def %i=2,2 /yp yp0di i get def /yv yv0di i get def newpath xpi i get yp 70 0 360 arc fill newpath xpi i get 250 add yp 100 sub moveto xvi i get cvsshow2g (, ) show yv 0.005 add cvsshow2g } for %i=2,2 6 1 6 {tfw /i exch def %i=6,6 /yp yp0hi i get def /yv yv0hi i get def newpath xpi i get yp 70 0 360 arc fill newpath xpi i get 250 add yp 100 sub moveto xvi i get cvsshow2g (, ) show yv 0.005 add cvsshow2g } for %i=6,6 } if %ks=3 ks 4 eq {%ks=4 2 1 2 {tfw /i exch def %i=2,2 /yp yp0hi i get def /yv yv0hi i get def newpath xpi i get yp 70 0 360 arc fill newpath xpi i get 1500 sub yp 100 sub moveto xvi i get cvsshow2g (, ) show yv 0.005 add cvsshow2g } for %i=2,2 6 1 6 {tfn /i exch def %i=6,6 /yp yp0di i get def /yv yv0di i get def newpath xpi i get yp 70 0 360 arc fill newpath xpi i get 1500 sub yp 100 sub moveto xvi i get cvsshow2g (, ) show yv 0.005 add cvsshow2g } for %i=6,6 } if %ks=4 } if %xchart=1 xchart 2 eq {%xchart=2 ks 3 eq {%ks=3 1 1 3 {tfn /i exch def %i=1,3 /yp yp0di i get def /yv yv0di i get def newpath xpi i get yp 70 0 360 arc fill newpath xpi i get 250 add yp 100 sub moveto xvi i get cvsshow2g (, ) show yv 0.005 add cvsshow2g } for %i=1,3 5 1 7 {tfw /i exch def %i=5,7 /yp yp0hi i get def /yv yv0hi i get def newpath xpi i get yp 70 0 360 arc fill newpath xpi i get 250 add yp 100 sub moveto xvi i get cvsshow2g (, ) show yv 0.005 add cvsshow2g } for %i=1,3 } if %ks=3 ks 4 eq {%ks=4 1 1 3 {tfw /i exch def %i=1,3 /yp yp0hi i get def /yv yv0hi i get def newpath xpi i get yp 70 0 360 arc fill newpath xpi i get 1500 sub yp 100 sub moveto xvi i get cvsshow2g (, ) show yv 0.005 add cvsshow2g } for %i=1,3 5 1 7 {tfn /i exch def %i=5,7 /yp yp0di i get def /yv yv0di i get def newpath xpi i get yp 70 0 360 arc fill newpath xpi i get 1500 sub yp 100 sub moveto xvi i get cvsshow2g (, ) show yv 0.005 add cvsshow2g } for %i=5,7 } if %ks=4 } if %xchart=2 } for %ks=ks1,ks2 } bind def %END proc_diagram %********************************************************************* %%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 0 def %0:left page, 1:right page /tchartl 4 def %0:top page, 4:down page /pchart pchartl def /tchart tchartl def /evpr 1 def %0: evaluate (e), 1: produce (p) 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 {(igb60-) show} {(igb61-) show} ifelse tchartl 0 eq {(3n) show} {(7n) show} ifelse } if %xbtex0=1 /ifarb 0 def /isize 0.90 def %1.00, 0.90, 0.50, 0.25 /xchartl 0 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 {(igb60-) show} {(igb61-) show} ifelse xchartl 1 add tchartl add cvishow0 (a) show %a (, image ) showen (, Bild ) showde xchartl 1 add cvishow0 xchart 2 le {%xchart<=2 evpr 0 eq {(, evaluate (e) visual scaling between ) showen (, evaluiere (e) visuelle Skalierung zwischen ) showde} {(, produce (p) equal visual difference between ) showen (, produziere (p) gleiche Differenz zwischen ) showde } ifelse } 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 evpr 0 eq {(, evaluate (e) visual threshold (+0,04?) ) showen (of 9 steps; all equal?) showen (, evaluiere (e) Sehschwelle (+0,04?) ) showde (von 9 Stufen; alle gleich?) showde } {(, produce (p) visual threshold (+0,04?) ) showen (of 9 steps; all equal?) showen (, produziere (p) Sehschwelle (+0,04?) ) showde (von 9 Stufen; alle gleich?) showde } ifelse } if %xchart=3 %************************************************************** %definition of slope and color series /nnexp 0 def %0:nn=1.5000/0.6667, 1:1.3333/0.7500 nnexp 0 eq {/nn 1.5000 def} if %1.33 (more dark)/1.50 nnexp 1 eq {/nn 1.3333 def} if (, ) show 150 /Symbol FS (g) show 120 /Times-ISOL1 FS 0 -40 rmoveto (rel) show 0 40 rmoveto 150 /Times-ISOL1 FS nnexp 0 eq {(=0,67) show} if nnexp 1 eq {(=0,75) show} if /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 /lindat 9 array def /lindaa 9 array def /lindac 9 array def /lindad 9 array def %d=large dark, large (1. standard) correction /lindah 9 array def %h=large light (hell), large (1. standard) corection /lind0d 9 array def %s=small, 2. correction /lind0h 9 array def %i=inverse, 2. correction /linx0d 9 array def %scaled data /linx0h 9 array def %inverse scaled data /lind1d 9 array def %lindad+lind0d, d=dark, small (2. professional) correction /lind1h 9 array def %lindah+lind0h, h=light (hell), small (2. professional) correction %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 %nn=0.750 (i=4) %lighter lindad i lindat i get nn exp put %nn=1.333 (i=4) %darker } for %i=0,8 % 0 N 1 2 D 3 4 U 5 6 H 7 8 W %for 1,5/0.666 %lindat [0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000] def %lindad [0.000 0.040 0.120 0.220 0.350 0.490 0.640 0.810 1.000] def %lindah [0.000 0.240 0.390 0.520 0.620 0.730 0.820 0.910 1.000] def %for 1.333/0.750 %lindat [0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000] def %lindad [0.000 0.060 0.160 0.270 0.400 0.540 0.680 0.840 1.000] def %lindah [0.000 0.210 0.350 0.480 0.600 0.700 0.810 0.900 1.000] def %lind1d [0.000 0.085 0.210 0.295 0.500 0.515 0.630 0.815 1.000] def %lind1h [0.000 0.235 0.400 0.505 0.500 0.675 0.760 0.875 1.000] def /lind0d [0.000 0.110 0.200 0.350 0.500 0.650 0.800 0.900 1.000] def /lind0h [0.000 0.140 0.300 0.400 0.500 0.600 0.700 0.850 1.000] def 0 1 8 {/i exch def %i=0,8 lind1h i lindah i get lind0h i get lindat i get sub add put lind1d i lindad i get lind0d i get lindat i get sub add put linx0h i lindat i get put linx0d i lindat i get put } for %i=0,8 linx0h 1 lind0h 1 get lind0h 0 get sub lind0h 2 get lind0h 0 get sub div put linx0h 2 lind0h 2 get lind0h 0 get sub lind0h 4 get lind0h 0 get sub div put linx0h 3 lind0h 3 get lind0h 2 get sub lind0h 4 get lind0h 2 get sub div put linx0h 4 0.00 put linx0h 5 lind0h 5 get lind0h 4 get sub lind0h 6 get lind0h 4 get sub div put linx0h 6 lind0h 6 get lind0h 4 get sub lind0h 8 get lind0h 4 get sub div put linx0h 7 lind0h 7 get lind0h 6 get sub lind0h 8 get lind0h 6 get sub div put linx0d 1 lind0d 1 get lind0d 0 get sub lind0d 2 get lind0d 0 get sub div put linx0d 2 lind0d 2 get lind0d 0 get sub lind0d 4 get lind0d 0 get sub div put linx0d 3 lind0d 3 get lind0d 2 get sub lind0d 4 get lind0d 2 get sub div put linx0d 4 0.00 put linx0d 5 lind0d 5 get lind0d 4 get sub lind0d 6 get lind0d 4 get sub div put linx0d 6 lind0d 6 get lind0d 4 get sub lind0d 8 get lind0d 4 get sub div put linx0d 7 lind0d 7 get lind0d 6 get sub lind0d 8 get lind0d 6 get sub div put 20 setlinewidth %forth line from bottom = top line, always full square /nrtxt 1 def %0:no nrtxt, 1:with nrtxt /s s0 def /iy0 ypmj 3 get s 0.5 mul sub def TBM 0 1 8 {/i exch def %i=0,8 /lan4 xchart 0 eq {lind1d i get def} %top for 0 {lind0d i get def} ifelse %top for 1_3 lan4 dup dup setrgbcolor /ix0 xpmi i get s 0.5 mul sub def ix0 iy0 s s rec fill nrtxt 1 eq {%nrtxt=1 i 4 le {tfw}{tfn} ifelse ix0 50 add iy0 1150 add moveto i cvishow i 1 ge i 7 le and {xchart 0 eq {(0) show} if %top for 0 xchart 1 ge {(1) show} if %top for 1_3 } if } if %nrtxt=1 } for %i=0,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 %to be calculated for image 3 from image 0, 1, and 2 %data from heg0/heg0l0np.pdf 250115 %third line: 3, 5, 9 steps, second from top ypmj=2, with gamma correction /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 /lin3 lindat i get def lin3 dup dup setrgbcolor jd 4 eq {%jd=4 i jd eq {/lin4g lind1d 4 get def %special top dark grey 4 lin4g dup dup setrgbcolor } if /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 nrtxt 1 eq {%nrtxt=1 i 4 le {tfw}{tfn} ifelse ix0 50 add pchart 0 eq {iy0 s add 250 sub moveto i cvishow} {iy0 250 sub moveto i cvishow} ifelse i 4 eq {evpr 0 eq xchart 0 eq and {(0) show} {(1) show} ifelse } if i 1 ge i 7 le and i 4 ne and {(2) show} if } if %nrtxt=1 } 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 %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 /xpi 9 array def %p=position /ypi 9 array def /xvi 9 array def %v=value /yvi 9 array def /ypti 9 array def /ypadi 9 array def /ypahi 9 array def /yp0di 9 array def /yp0hi 9 array def /yp1di 9 array def /yp1hi 9 array def /yvti 9 array def /yvadi 9 array def /yvahi 9 array def /yv0di 9 array def /yv0hi 9 array def /yv1di 9 array def /yv1hi 9 array def %$STOP0A 0 1 8 {/i exch def %i=0,8 xpi i x0r x2r x0r sub 0.125 i mul mul add put ypti i y0r y2r y0r sub lindat i get mul add put ypadi i y0r y2r y0r sub lindad i get mul add put ypahi i y0r y2r y0r sub lindah i get mul add put yp0di i y0r y2r y0r sub lind0d i get mul add put yp0hi i y0r y2r y0r sub lind0h i get mul add put yp1di i y0r y2r y0r sub lind1d i get mul add put yp1hi i y0r y2r y0r sub lind1h i get mul add put xvi i 0.125 i mul put yvti i lindat i get put yvadi i lindad i get put yvahi i lindah i get put yv0di i lind0d i get put yv0hi i lind0h i get put yv1di i lind1d i get put yv1hi i lind1h i get put } for %i=0,8 %ks1 and ks2 for proc_diagram xchart 0 eq {/ks1 0 def /ks2 2 def} if xchart 1 eq {/ks1 0 def /ks2 4 def} if xchart 2 eq {/ks1 0 def /ks2 4 def} if %STOP1 proc_diagram %proc_diagram %STOP2 xchart 0 eq {/ia1 4 def /ia2 4 def /iad 1 def} if xchart 1 eq {/ia1 2 def /ia2 6 def /iad 2 def} if xchart 2 eq {/ia1 1 def /ia2 7 def /iad 1 def} if %vertical arrow ia1 iad ia2 {/ia exch def %ia=ia1,iad,ia2 xchart 0 eq {/ypda yp1di ia get def /yvda yv1di ia get def /ypha yp1hi ia get def /yvha yv1hi ia get def} if xchart 1 ge {/ypda yp0di ia get def /yvda yv0di ia get def /ypha yp0hi ia get def /yvha yv0hi ia get def} if tfn xpi ia get ypda moveto xpi ia get ypha lineto stroke xchart 0 eq {%xchart=0 tfw xpi ia get ypda moveto xpi ia get ypti ia get lineto 50 neg 150 neg rlineto 50 150 rlineto 50 150 neg rlineto stroke } if %xchart=0 % tfo % xpi ia get ypii ia get moveto % xpi ia get ypti ia get lineto stroke % ypii ia get ypti ia get sub 0 gt % {50 neg 150 rlineto % 50 150 neg rlineto % 50 150 rlineto % } if % ypii ia get ypti ia get sub 0 lt % {50 neg 150 neg rlineto % 50 150 rlineto % 50 150 neg rlineto stroke % } if } for %ia=ia1,iad,ia2 } if %xchart=0/1/2 %end diagram /xv4 0.125 4 mul def /yv4d lindad 4 get def /yv4h lindah 4 get def xchart 2 le {%xchart<=2 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 } if %xchart<=2 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 evpr 0 eq {TBM (e) show (08) inx TBM (=) show yv4d cvsshow2g} {TBM (p) show (08) inx TBM (=) show yv4h cvsshow2g} ifelse 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 (rel) show 0 50 rmoveto TBM (= log [0,50] / log [e) show (08) inx (] =) show evpr 0 eq {0.50 log yv4d log div cvsshow3g} {0.50 log yv4h log div cvsshow3g} ifelse 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 (inv) show 0 50 rmoveto TBM (= log [e) show (08) inx TBM (] / log [0,50] =) show evpr 0 eq {yv4d}{yv4h} ifelse log 0.50 log div cvsshow3g tfl x2r 500 add y3r 0130 sub 2800 sub moveto TBM (The software ) showen (Die Software ) showde TBIM (GammaAdjuster ) show x2r 500 add y3r 0130 sub 3100 sub moveto TBM (reaches equal differences for ) showen (erreicht gleiche Differenzen f\374r ) showde x2r 500 add y3r 0130 sub 3400 sub moveto SK (g) show 0 -50 rmoveto TBK (inv) show 0 50 rmoveto TBM (=) show evpr 0 eq {yv4d}{yv4h} ifelse log 0.50 log div cvsshow3g x2r 500 add y3r 0130 sub 1800 add moveto TBM (The gamma value ) showen (Der Gammawert ) showde SK (g) show 0 -50 rmoveto TBK (inv) show 0 50 rmoveto TBM (=) show evpr 0 eq {yv4d}{yv4h} ifelse log 0.50 log div cvsshow3g x2r 500 add y3r 0130 sub 1500 add moveto TBM (of the software ) showen (der Software ) showde TBIM (GammaAdjuster ) show x2r 500 add y3r 0130 sub 1200 add moveto TBM (reaches equal differences ) showen (erreicht gleiche Differenzen ) showde x2r 500 add y3r 0130 sub 0900 add moveto (and corresponds to ) showen (und entspricht ) showde evpr 0 eq {TBM (e) show (08) inx TBM (=) show yv4d cvsshow2g (.) show} {TBM (p) show (08) inx TBM (=) show yv4h cvsshow2g (.) show} ifelse } 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 evpr 0 eq {TBM (e) show (04) inx (, e) show (48) inx} {TBM (p) show (04) inx (, p) show (48) inx} ifelse } 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 evpr 0 eq {TBM (e) show (02) inx (, e) show (24) inx (, e) show (46) inx (, e) show (68) inx} {TBM (p) show (02) inx (, p) show (24) inx (, p) show (46) inx (, p) show (68) inx} ifelse 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, sample and surround mean grey U40 is too dark, ) showen evpr 0 eq {(evaluate scaling of U40 ) showen} {(adjust U40 to U41 with ) showen} ifelse (9stufige Serie, Muster & Umfeld Mittelgrau U40 zu dunkel, ) showde evpr 0 eq {(evaluiere Skalierung von U40 mit ) showde} {(justiere U40 nach U41 mit ) showde} ifelse evpr 0 eq {TBM (e) show (08) inx TBM (<0,50.) show} {TBM (p) show (08) inx TBM (>0,50.) show} ifelse } 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, sample and surround mean Grey is U41, ) showen (all samples are lighter based on ) showen (9stufige Serie, Muster und Umfeld Mittelgrau ist U41, ) showde (alle Muster sind heller mit ) showde evpr 0 eq {TBM (e) show (08) inx TBM (=) show yv4d cvsshow2g (.) show} {TBM (p) show (08) inx TBM (=) show yv4h cvsshow2g (.) show} ifelse } if %xchart=1,2,3 %colour surround xchart 0 eq {%xchart=0 500 ypmj 1 get moveto (surround Grey: U40) showen (Umfeld Grau: U40) showde } if %xchart=0 xchart 1 eq xchart 2 eq or {%xchart=1,2 500 ypmj 1 get moveto (surround Grey: U41) showen (Umfeld Grau: U41) showde 500 ypmj 1 get 300 sub moveto (based on the value ) showen (basierend auf Wert ) showde 500 ypmj 1 get 600 sub moveto evpr 0 eq {TBM (e) show (08) inx TBM (=) show yv4d cvsshow2g (.) show} {TBM (p) show (08) inx TBM (=) show yv4h cvsshow2g (.) show} ifelse } if %xchart=1,2 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 0500 sub xchart 0 eq {2500 sub} if y3u 250 sub s0 sub s0d4 sub moveto evpr 0 eq {(evaluate the scaling for ) showen (evaluiere die Skalierung f\374r ) showde} {( adjust visual equal difference for ) showen (produziere visuell gleiche Differenz f\374r ) showde} ifelse xchart 0 eq {evpr 0 eq {(the presented Grey U40 ) showen (das vorhandene Grau U40 ) showde} {(the intended Grey U41 ) showen (angestrebtes Grau U41 ) showde} ifelse (between White W and Black N) showen (zwischen Wei\337 W und Schwarz N) showde } 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 /epshow {evpr 0 eq {(e) show}{(p) show} ifelse} def 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 epshow (08) inx TBM (=) show} if %xchart=0 xchart 1 eq {%xchart=1 TBM epshow l 2 eq {(04)} if l 4 eq {(48)} if inx TBM (=) show } if %xchart=1 xchart 2 eq {%xchart=2 TBM epshow 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 evpr 0 eq {%evpr=0,1 xchart 0 eq {l 3 eq {lindad 4 get 0.005 add cvsshow2g} if %l=3->4 } if xchart 1 eq {l 2 eq {linx0d 2 get 0.005 add cvsshow2g} if %l=2,4->2,6 l 4 eq {linx0d 6 get 0.005 add cvsshow2g} if } if xchart 2 eq {linx0d l 1 add get 0.005 add cvsshow2g} if %l=0,2,4,6->1,3,5,7 100 0 rmoveto (?) show %100 100 rmoveto SK (\331) show 0 -100 rmoveto %-150 -50 rmoveto SK (\332) show 0 50 rmoveto }%evpr=0 {%evpr=1 xchart 0 eq {l 3 eq {lindah 4 get 0.005 add cvsshow2g} if %l=3->4 } if xchart 1 eq {l 2 eq {linx0h 2 get 0.005 add cvsshow2g} if %l=2,4-> l 4 eq {linx0h 6 get 0.005 add cvsshow2g} if } if xchart 2 eq {linx0h l 1 add get 0.005 add cvsshow2g} if %l=0,2,4,6->1, 100 100 rmoveto SK (\331) show 0 -100 rmoveto -150 -50 rmoveto SK (\332) show 0 50 rmoveto } ifelse %evpr=1 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 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 (produced (p) visual experimental data adjusted above) showen (produzierte (p) visuelle experimentelle Daten oben angen\344hert) showde 500 y3r 0380 sub moveto %(a1=i08, b1=i04*a1, b3=i48(1-b2)+b2, c2=b1, c4=b2, c6=c3) show TBM (a) show (1) inx (=i) show (08) inx (, b) show (1) inx (=i) show (04) inx (*a) show (1) inx (, b) show (3) inx (=i) 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=i02*b1, c3=i24(b2-b2)+b1, c5=i46(b3-b2)+b2, c7=i68(1-b3)+b3) show TBM (c) show (1) inx (=i) show (02) inx (*b) show (1) inx (, c) show (3) inx (=i) show (24) inx (\050b) show (2) inx (-b) show (2) inx (\051+b) show (1) inx (, c) show (5) inx (=i) show (46) inx (\050b) show (3) inx (-b) show (2) inx (\051+b) show (2) inx (, c) show (7) inx (=i) 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 nrtxt 1 eq {%nrtxt=1 i 4 le {tfw}{tfn} ifelse ix0 50 add pchart 0 eq {iy0 s 0.5 mul add 250 sub moveto i cvishow} {iy0 250 sub moveto i cvishow} ifelse i 4 eq {(1) show} if i 1 ge i 7 le and i 4 ne and {(2) show} if } if %nrtxt=1 /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 nrtxt 1 eq {%nrtxt=1 %special number tfw xchart 1 le {ix0 50 add iy0 0450 add moveto (23) show} {ix0 50 add iy0 0250 sub moveto (23) show} ifelse } if %nrtxt=1 %+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 evpr 0 eq {100 0 rmoveto (?) show} {100 100 rmoveto SK (\331) show 0 -100 rmoveto -150 -50 rmoveto SK (\332) show 0 50 rmoveto } ifelse 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 evpr 0 eq {100 0 rmoveto (?) show} {100 100 rmoveto SK (\331) show 0 -100 rmoveto -150 -50 rmoveto SK (\332) show 0 50 rmoveto } ifelse 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 evpr 0 eq {100 0 rmoveto (?) show} {100 100 rmoveto SK (\331) show 0 -100 rmoveto -150 -50 rmoveto SK (\332) show 0 50 rmoveto } ifelse 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