Переглянути джерело

* Final version of the paper. Uploaded at the last minute, of course.

git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/research@2293 92316355-f0b4-4df1-b90c-862c8a59935f
master
sam 16 роки тому
джерело
коміт
a3e0e1128a
26 змінених файлів з 156208 додано та 88920 видалено
  1. +52
    -23
      2008-displacement/README
  2. +7
    -3
      2008-displacement/paper/Makefile
  3. +2
    -0
      2008-displacement/paper/README
  4. +369
    -0
      2008-displacement/paper/crop-7-3-5-1-serp.eps
  5. BIN
      2008-displacement/paper/crop-7-3-5-1-serp.png
  6. +369
    -0
      2008-displacement/paper/crop-7-4-5-0-serp.eps
  7. BIN
      2008-displacement/paper/crop-7-4-5-0-serp.png
  8. +14340
    -14340
      2008-displacement/paper/fs-histo.eps
  9. +15
    -13
      2008-displacement/paper/fs-histo.tex
  10. +16173
    -16173
      2008-displacement/paper/jajuni-histo.eps
  11. +13
    -11
      2008-displacement/paper/jajuni-histo.tex
  12. +0
    -12535
      2008-displacement/paper/lena-min.eps
  13. +966
    -0
      2008-displacement/paper/lena-values.eps
  14. +22
    -49
      2008-displacement/paper/lena-values.tex
  15. +13781
    -13781
      2008-displacement/paper/optimum-histo.eps
  16. +19
    -18
      2008-displacement/paper/optimum-histo.tex
  17. +16185
    -16257
      2008-displacement/paper/ostro-histo.eps
  18. +18
    -23
      2008-displacement/paper/ostro-histo.tex
  19. +1191
    -0
      2008-displacement/paper/output-7-3-5-1-serp.eps
  20. BIN
      2008-displacement/paper/output-7-3-5-1-serp.png
  21. +1191
    -0
      2008-displacement/paper/output-7-4-5-0-serp.eps
  22. BIN
      2008-displacement/paper/output-7-4-5-0-serp.png
  23. +75792
    -0
      2008-displacement/paper/paper.ps
  24. +52
    -46
      2008-displacement/paper/paper.tex
  25. +15632
    -15632
      2008-displacement/paper/serpopt-histo.eps
  26. +19
    -16
      2008-displacement/paper/serpopt-histo.tex

+ 52
- 23
2008-displacement/README Переглянути файл

@@ -66,11 +66,26 @@ set xrange [-1:1]
set yrange [1:-1]
set mxtics 2
set mytics 2
set xlabel "$dx$"
set ylabel "$dy$"
unset mztics
unset ztics
set size square
set xzeroaxis
set yzeroaxis
set xlabel "dx" font "Italic,32"
splot 'part0/lena-values.txt' with lines
set lmargin screen 0.0 #.05
set bmargin screen 0.2 # .15
set tmargin screen 0.9 #.95
set rmargin screen 0.9 #.95
set terminal epslatex color size 5,2 blacktext
unset colorbox
#set lmargin 0.05
#set rmargin 0.95
#splot 'part0/lena-values.txt' with lines
set output "lena-values.tex"
splot '../part0/lena-values.txt' with lines lw 3 notitle
unset output
set term pop


#set border 0
@@ -127,19 +142,21 @@ sed -ne 's/.* for //p' fs-*txt | ./xy2d >| histo-fs.txt
# Et ensuite dans gnuplot:
set xrange [-.1:.4]
set yrange [.4:-.1]
set xlabel "$dx$"
set ylabel "$dy$"
set grid
set lmargin screen 0.05
set bmargin screen 0.15
set bmargin screen 0.25
set tmargin screen 0.95
set rmargin screen 0.95
unset colorbox
set pm3d explicit map interpolate 1.8,1.8
set palette model RGB defined(0 "white", 1 "blue", 2 "red", 3 "yellow")
unset key
#splot "histo-fs.txt" notitle
set terminal epslatex color size 1.8,1.8 blacktext
#splot "../../subblock/histo-fs.txt" notitle
set terminal epslatex color size 1.8,2.0 blacktext
set output "fs-histo.tex"
splot "histo-fs.txt" notitle
splot "../../subblock/histo-fs.txt" notitle
unset output
set term pop

@@ -155,19 +172,21 @@ sed -ne 's/.* for //p' jajuni*txt | ./xy2d-jajuni >| histo-jajuni.txt
# Et ensuite dans gnuplot:
set xrange [-.1:.9]
set yrange [.9:-.1]
set xlabel "$dx$"
set ylabel "$dy$"
set grid
set lmargin screen 0.05
set bmargin screen 0.15
set bmargin screen 0.25
set tmargin screen 0.95
set rmargin screen 0.95
unset colorbox
set pm3d explicit map interpolate 1.8,1.8
set palette model RGB defined(0 "white", 1 "blue", 2 "red", 3 "yellow")
unset key
#splot "histo-jajuni.txt" notitle
set terminal epslatex color size 1.8,1.8 blacktext
#splot "../../subblock/histo-jajuni.txt" notitle
set terminal epslatex color size 1.8,2.0 blacktext
set output "jajuni-histo.tex"
splot "histo-jajuni.txt" notitle
splot "../../subblock/histo-jajuni.txt" notitle
unset output
set term pop

@@ -190,19 +209,22 @@ sed -ne 's/.* for //p' ostro*txt | ./xy2d-ostro >| histo-ostro.txt
# Et ensuite dans gnuplot:
set xrange [-.2:.2]
set yrange [.3:-.1]
set xlabel "$dx$"
set ylabel "$dy$"
set xtics -.2,0.1
set grid
set lmargin screen 0.05
set bmargin screen 0.15
set bmargin screen 0.25
set tmargin screen 0.95
set rmargin screen 0.95
unset colorbox
set pm3d explicit map interpolate 1.8,1.8
set palette model RGB defined(0 "white", 1 "blue", 2 "red", 3 "yellow")
unset key
splot "histo-ostro.txt" notitle
set terminal epslatex color size 1.8,1.8 blacktext
splot "../../subblock/histo-ostro.txt" notitle
set terminal epslatex color size 1.8,2.0 blacktext
set output "ostro-histo.tex"
splot "histo-ostro.txt" notitle
splot "../../subblock/histo-ostro.txt" notitle
unset output
set term pop

@@ -219,19 +241,21 @@ sed -ne 's/.* for //p' optimum*txt | ./xy2d-optimum >| histo-optimum.txt
# Et ensuite dans gnuplot:
set xrange [-.5:.2]
set yrange [.6:-.1]
set xlabel "$dx$"
set ylabel "$dy$"
set grid
set lmargin screen 0.05
set bmargin screen 0.15
set bmargin screen 0.25
set tmargin screen 0.95
set rmargin screen 0.95
unset colorbox
set pm3d explicit map interpolate 1.8,1.8
set palette model RGB defined(0 "white", 1 "blue", 2 "red", 3 "yellow")
unset key
splot "histo-optimum.txt" notitle
set terminal epslatex color size 1.8,1.8 blacktext
splot "../../subblock/histo-optimum.txt" notitle
set terminal epslatex color size 1.8,2.0 blacktext
set output "optimum-histo.tex"
splot "histo-optimum.txt" notitle
splot "../../subblock/histo-optimum.txt" notitle
unset output
set term pop

@@ -248,19 +272,21 @@ sed -ne 's/.* for //p' serpopt*txt | ./xy2d-serpopt >| histo-serpopt.txt
# Et ensuite dans gnuplot:
set xrange [-.3:.3]
set yrange [.6:-.1]
set xlabel "$dx$"
set ylabel "$dy$"
set grid
set lmargin screen 0.05
set bmargin screen 0.15
set bmargin screen 0.25
set tmargin screen 0.95
set rmargin screen 0.95
unset colorbox
set pm3d explicit map interpolate 1.8,1.8
set palette model RGB defined(0 "white", 1 "blue", 2 "red", 3 "yellow")
unset key
splot "histo-serpopt.txt" notitle
set terminal epslatex color size 1.8,1.8 blacktext
splot "../../subblock/histo-serpopt.txt" notitle
set terminal epslatex color size 1.8,2.0 blacktext
set output "serpopt-histo.tex"
splot "histo-serpopt.txt" notitle
splot "../../subblock/histo-serpopt.txt" notitle
unset output
set term pop

@@ -286,4 +312,7 @@ for x in out-*.txt; do sort -k7 $x | head -20 ; done | cut -f1 -d: | sort | uniq
### Conversion du vieux format de résultats (deprecated)
cat -n $x | sed 's/^ *[0-9]*\([0-9]\)[[:space:]]*/[\1] /; s/....###/###/; s/\[[27]/[1/; s/\[[38]/[2/; s/\[[49]/[3/; s/\[[50]/[4/'

#
# Convert lena results to cropped detail
convert output-7-3-5-1-serp.png -crop 160x160+32+160 crop-7-3-5-1-serp.png
convert output-7-4-5-0-serp.png -crop 160x160+32+160 crop-7-4-5-0-serp.png


+ 7
- 3
2008-displacement/paper/Makefile Переглянути файл

@@ -1,10 +1,14 @@
all: paper.pdf

paper.pdf: paper.tex fs-histo.tex
IMAGES = direction.tex fs-histo.tex jajuni-histo.tex lena-values.tex optimum-histo.tex ostro-histo.tex serpopt-histo.tex

paper.pdf: paper.tex $(IMAGES)
latex paper.tex
latex paper.tex
dvipdf paper.dvi
dvips paper.dvi
sed -i 's,/Title.*,/Title (Reinstating Floyd-Steinberg: Improved Metrics for Quality Assessment of Error Diffusion Algorithms),' paper.ps
ps2pdf paper.ps

clean:
rm -f paper.log paper.dvi paper.aux paper.pdf
rm -f paper.log paper.dvi paper.aux paper.pdf paper.ps


+ 2
- 0
2008-displacement/paper/README Переглянути файл

@@ -0,0 +1,2 @@
Author: Sam Hocevar <sam@zoy.org>


+ 369
- 0
2008-displacement/paper/crop-7-3-5-1-serp.eps Переглянути файл

@@ -0,0 +1,369 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: (ImageMagick)
%%Title: (crop-7-3-5-1-serp.eps)
%%CreationDate: (Tue Apr 15 23:54:59 2008)
%%BoundingBox: 32 160 192 320
%%HiResBoundingBox: 32 160 192 320
%%DocumentData: Clean7Bit
%%LanguageLevel: 1
%%Pages: 1
%%EndComments

%%BeginDefaults
%%EndDefaults

%%BeginProlog
%
% Display a color image. The image is displayed in color on
% Postscript viewers or printers that support color, otherwise
% it is displayed as grayscale.
%
/DirectClassPacket
{
%
% Get a DirectClass packet.
%
% Parameters:
% red.
% green.
% blue.
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def

/DirectClassImage
{
%
% Display a DirectClass image.
%
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ DirectClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayDirectClassPacket } image
} ifelse
} bind def

/GrayDirectClassPacket
{
%
% Get a DirectClass packet; convert to grayscale.
%
% Parameters:
% red
% green
% blue
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def

/GrayPseudoClassPacket
{
%
% Get a PseudoClass packet; convert to grayscale.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def

/PseudoClassPacket
{
%
% Get a PseudoClass packet.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def

/PseudoClassImage
{
%
% Display a PseudoClass image.
%
% Parameters:
% class: 0-PseudoClass or 1-Grayscale.
%
currentfile buffer readline pop
token pop /class exch def pop
class 0 gt
{
currentfile buffer readline pop
token pop /depth exch def pop
/grays columns 8 add depth sub depth mul 8 idiv string def
columns rows depth
[
columns 0 0
rows neg 0 rows
]
{ currentfile grays readhexstring pop } image
}
{
%
% Parameters:
% colors: number of colors in the colormap.
% colormap: red, green, blue color packets.
%
currentfile buffer readline pop
token pop /colors exch def pop
/colors colors 3 mul def
/colormap colors string def
currentfile colormap readhexstring pop pop
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ PseudoClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayPseudoClassPacket } image
} ifelse
} ifelse
} bind def

/DisplayImage
{
%
% Display a DirectClass or PseudoClass image.
%
% Parameters:
% x & y translation.
% x & y scale.
% label pointsize.
% image label.
% image columns & rows.
% class: 0-DirectClass or 1-PseudoClass.
% compression: 0-none or 1-RunlengthEncoded.
% hex color packets.
%
gsave
/buffer 512 string def
/byte 1 string def
/color_packet 3 string def
/pixels 768 string def

currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
x y translate
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
currentfile buffer readline pop
token pop /pointsize exch def pop
/Times-Roman findfont pointsize scalefont setfont
x y scale
currentfile buffer readline pop
token pop /columns exch def
token pop /rows exch def pop
currentfile buffer readline pop
token pop /class exch def pop
currentfile buffer readline pop
token pop /compression exch def pop
class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
grestore
} bind def
%%EndProlog
%%Page: 1 1
%%PageBoundingBox: 32 160 192 320
userdict begin
DisplayImage
32 160
160 160
12.000000
160 160
1
1
1
1
AAAAD552048A090550A88BABBA9512252A4A6494ADB6B6A44020A410050220DD4554A088
2A929252AAD55AA9120A02A550A889E6B5250A44A5554955AAADAAA480A0A800020221BD
554A21112A49255556D6D551100A055554A88BD5AAA954455126524AAD5AB69445205000
020220BB54948092A6A9255455AAAAA9004A0AAAA0A885EDAB4A5524A9289555555B6D52
09005000150211DB5555240A4A524A955B6AAAA9405505550050876DAAA54952A5492952
AAADB55209005000AA8221F6DD4AA015095252AA55B6DAA880540AA80028835BAAA91549
6A1554A5AB55555211015005554109EEB555502A92A4AA94556AAD4944480520002A43FB
56AAA5444A494A5256D6DB540005508AAA8011AED555442A952552A95AB5655291500820
005505F5AAAAA944A45254945556DAA40402A54555002357BAAAA529288AAAA1ABB55552
8124001000AA81FD6B52909292AA4496AAAEDB5410105545550025EDACA6A549252A9528
5AD55549048500200054035BDB54D052A252AA4A55AB6D5250102A8AAA8151FEB5254A84
894A512956B5B55402454040002402D76D52913224A52A95556EAAA920100A8AAA9248FA
F545244949295124ADAADB4409054020000083BFAD2A929425548AAA555555594028154A
AAAA10F57A90A4214A92A924B6DB6D4412028010000084AFB6A5294A24AA12925556D559
40541545555510FEDA92A5289524A4AAADB55AA4090140100000416BED4528824AAA5254
556AAAA9202415495555247EBA95515552488A9156AF6D52090920020000016BDA4A9400
9552A54A55595AA4202082A8AAAAA8BF6D94AB552A4A4A54ABAED552848A28040100026A
FA53541292A2A5235AB2AB5420208151544AA83FADA452A4A9150894555B6D5209085408
0110005B769554294A426AA556D6AAA9404500A55441551EDB52A94294948512556AD554
1210AA00022A005BB6D5122A5252B14AAAD55B49408200AAA880A91EDD54C89549254A2A
AD5DACA40424AA000454021BB7AAA2495090929055B36BA9211000555100A82EFB56A952
4A4B245556AD54AA4045550008AA048FAEB5442AA294552A555AB6A41210002AA5015215
7D6D52C5092288A45BAB5AA9008555040054008FD6B504294A5452AAAAB56AAA44100051
5500AA237EADA95229494A49555B55488104920400AA1107D556854A8492252A56D6DB52
10524450AA0144917FB54A94292954A1AB6AAD548400110901542022DAAE924555448A14
5555B552012544A414014A88FDDA94A8412911495AB6AAA948081001415421226EED292A
9A94AAA4AB6ADB520120A2AA0A009480BB5A92512452924855AD6AA8900A080140AA2228
76EC690A52A4A4A4AD5AD6A500A09154150144411FB69250A5124911556B5AA844082401
40A8292875DD494A54892480AAD6B555012280AA0A0542451FBA52229125555456AAD6A4
A0085400A150289036ED8914A4548220555DAAAA092102AA040542429FDB554109492542
56D56D5100085001515029102DBC88955252911055AB5AAA212105540205444A9FEB252A
254A4A41556DAB490848A002A8A0929036FC524289290008AB5AB6B24102055402152441
1FA904941552A902AD56D5488428A8015140492A2BF4A92949244028AAB55AAA108100AA
040A92409EBA24A492928000AB5B555240245500A2A124942FE09212544920912AD6B6A9
01088055081482489BB5094921524000AD6ADAAA24422A00454228921EE8A25294249050
AAD5AAA8800840552808924447F104822A920100AB5AD6A52245150082A24912974A522A
90404041AAAB5AAA0810202A1404A2480DF1289522042848AD756D5142451544A1519492
A7A485229090008055ADAAAA000048120A0AA12213E12894250040205556D754A49482A1
4145144945AA484AD252028156DAAD51004229041414A29215D0929108800040556B6AAA
491084528142144942EA254AA4008000AB56AD49000510882A14A29229F14492511200A4
556B6AAA52A04A228142484942AA292908001000AAD6ADA9000520441409129214694254
A4450052AD6BB55249201512A2A544A542F21A8A400800002B5D6D540015402404082908
2924A2528102102855AAAAAA92805549515284A594A92949000800005556D6A840150202
048252484924952A1204120256EB6B550920A8A8A22924921511254880010010559D5AA4
2002024108449244A444549202042001556B6D528494A894A521249248350A4908080244
56AAD55410410242109492292AAC54AA22428005AB6D6D52821050288A22248495568A10
080C0050555B5B54084285412084912A4A0A54A4040111045AD5AAAAA11428144A292491
A8412250A80A004055B6B6A4004142A110444A4AE801548400040002AAAB5AA949102814
4512912590055240A828080056B6B5AA000282A0884844934002F420100A0092AB5B6AA4
92A850152292924B8012B102804A0000556AD6AA4001054084422492A905441032040250
55AD6B5109245094291492AAA002908100520002AB5ADAAA20110A2140212454A00A4422
40821288556D56A88A4441082A94494A820512008084000155AB6D5500109452804112A9
69414085014280002AD5B552448522042A148AAA6294A41114020505AB5B6B5510100951
40A251555D4A40020280800055AD5AA8428540082A0895556AA0804A41021240AD75AD55
00482AA280A2555555500A240A008000555AD6A490120110281555555280008821080200
AAD5B5AA428154428542B2AAA8A40215128121042D6EAD51102409142015CAAAA00028A0
44020200AB5ADAAA0080A0414496E5554A200A112280114055AB6AA948281510102DA92A
508060440A080100556D56AA00814045449BC554A0009140A501120856B6DAA4A4282A10
1036AAA91201408108200100AAD5B5A900828049411D9554600202005208008056B6AE54
482455121416C9528411000544002120556D75A9011100404049B654A0040A408A810084
ABABAAA490445515141A69A900500001240000802D6D5B5501108050220C1F50400A2844
8A080220AAB6ED5248052A0A8009ED400240020148008080AAD55AA922A840A05086B7E8
002110548680102156BBADA800022A1500295F000108040254100004556D5AAAA49490A0
052EBF8888A010A88500804056ABD6A408210A2004D57804029205034A40020055B6BAAA
A08450A2252BD4102A40100884840002AADAD6A9042225200AAA6004940042A2AD110020
55AB5AD2108948A05555C08240A01001448804005ADDB6AA85221240AD2292090100228A
28502008A6AB6D545008443492550000D28108414AA000805B75B6A904A529424A804822
8528228454A08000AAAB6DD24010421DAB2480006A4010224A80041055BD5554928528A2
B44040002AA80488254400002B65BB550008810D490910422A40102489110102AABB6D52
494254AAA4024108848104512220200056ADAB5500290201492400405010000A4A200008
AB6ADAA8A4825156520900152140250A80C0040154DBB6D502084A2880A811424080040A
A54240405756DB5240A51145355200149504128109880000AABAB555141022286AA84149
424082545320020955ADAD508105494B5540108429000102AC091000556B75AD085012AA
A8010115440008AC0A544040AD5AAEA4A20A8D554250488431000012D022000055B5DAA9
002034AAA1020128C4244242802C8104AADD6B54490B492400408A12A000001000922010
55A6B6AA8050A252450820252800102140550800AD7BAB522405148890400A5501040208
00108080535576D480A820A24501280A0801000048568000ADADAAAA24054A48105040B1
2040109200910008555B5D54815024A12480944A12000000404AA200AAD56B52480A8904
91252029001244200025400096B6D5550220222160808114440000004149A000AAAD6DA8
A08A948E8A4A00090080008A00225080AADAD5550450412901051214A40908080848D410
AB6B6D52411514D42A30008A400040002032280055555B55082092A004482A2A42480109
014854002ADB6AA882522D425A50202A4000000000541A0055B6D6A51028AA9014809252
50440015452D240256AAB55441425140A904242A2400004000DA0801556D6DA90434A500
A09044515090220D05340A01AAAB56AA4015494A922114A620020010425D0005556D6D55
124522204484484A88000042091608012B56B5508011154121211445204400085455000A
AAB56B56224454804482124A880022511900008555ADAD5108128A529014A08510000004
4210201256B6B5AA404924880520102A85108020384A0024AAD5AD54821249022A08A285
280200054A2000552AB6B6A908551240882220A5840010AA2A8008A855AB6B5482A08892
2940C0450448000A020801AA2B56D6AA284A2501240891514400200809000157
end
%%PageTrailer
%%Trailer
%%EOF

BIN
2008-displacement/paper/crop-7-3-5-1-serp.png Переглянути файл

Перед Після
Ширина: 160  |  Висота: 160  |  Розмір: 5.5 KiB

+ 369
- 0
2008-displacement/paper/crop-7-4-5-0-serp.eps Переглянути файл

@@ -0,0 +1,369 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: (ImageMagick)
%%Title: (crop-7-4-5-0-serp.eps)
%%CreationDate: (Tue Apr 15 23:55:04 2008)
%%BoundingBox: 32 160 192 320
%%HiResBoundingBox: 32 160 192 320
%%DocumentData: Clean7Bit
%%LanguageLevel: 1
%%Pages: 1
%%EndComments

%%BeginDefaults
%%EndDefaults

%%BeginProlog
%
% Display a color image. The image is displayed in color on
% Postscript viewers or printers that support color, otherwise
% it is displayed as grayscale.
%
/DirectClassPacket
{
%
% Get a DirectClass packet.
%
% Parameters:
% red.
% green.
% blue.
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def

/DirectClassImage
{
%
% Display a DirectClass image.
%
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ DirectClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayDirectClassPacket } image
} ifelse
} bind def

/GrayDirectClassPacket
{
%
% Get a DirectClass packet; convert to grayscale.
%
% Parameters:
% red
% green
% blue
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def

/GrayPseudoClassPacket
{
%
% Get a PseudoClass packet; convert to grayscale.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def

/PseudoClassPacket
{
%
% Get a PseudoClass packet.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def

/PseudoClassImage
{
%
% Display a PseudoClass image.
%
% Parameters:
% class: 0-PseudoClass or 1-Grayscale.
%
currentfile buffer readline pop
token pop /class exch def pop
class 0 gt
{
currentfile buffer readline pop
token pop /depth exch def pop
/grays columns 8 add depth sub depth mul 8 idiv string def
columns rows depth
[
columns 0 0
rows neg 0 rows
]
{ currentfile grays readhexstring pop } image
}
{
%
% Parameters:
% colors: number of colors in the colormap.
% colormap: red, green, blue color packets.
%
currentfile buffer readline pop
token pop /colors exch def pop
/colors colors 3 mul def
/colormap colors string def
currentfile colormap readhexstring pop pop
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ PseudoClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayPseudoClassPacket } image
} ifelse
} ifelse
} bind def

/DisplayImage
{
%
% Display a DirectClass or PseudoClass image.
%
% Parameters:
% x & y translation.
% x & y scale.
% label pointsize.
% image label.
% image columns & rows.
% class: 0-DirectClass or 1-PseudoClass.
% compression: 0-none or 1-RunlengthEncoded.
% hex color packets.
%
gsave
/buffer 512 string def
/byte 1 string def
/color_packet 3 string def
/pixels 768 string def

currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
x y translate
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
currentfile buffer readline pop
token pop /pointsize exch def pop
/Times-Roman findfont pointsize scalefont setfont
x y scale
currentfile buffer readline pop
token pop /columns exch def
token pop /rows exch def pop
currentfile buffer readline pop
token pop /class exch def pop
currentfile buffer readline pop
token pop /compression exch def pop
class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
grestore
} bind def
%%EndProlog
%%Page: 1 1
%%PageBoundingBox: 32 160 192 320
userdict begin
DisplayImage
32 160
160 160
12.000000
160 160
1
1
1
1
5AB56AA9042AA8A82840ABAD9A34814914524A65AAAB56A421000202810A00F555891424
254A914AAB6D6AA9405554A42A5149B6AA644288AA954AB2AADADAA40A000210810421ED
6A8B2822A924924AAD56AAA900A5508528510B5A9554454495552955AB5556A4A4100250
850421EDEA9528116524A694AADB6AA901055404205142B72AA5454A48A91555AAAADAA4
08500151150209DAD2AA100A95525255ADB55552A205500440A883F6AD554AA455249552
AAAEDA94009005510A02295DB545502A925254AA56D555651025500450A883F75AB29495
49894A92AAB5B6A8491005510204416DD54D22249494A954555AAA920045500454A117DA
AD52A0C94A25524956E76D6941000251001401FDD6AD551255495555AB39AA92122AA884
554143575552895492264AA25AD6B6A880800212802411FDBAAD52252952944A55AD5554
082AA8A02A0905AB6552A4895229529156AB6D512100020A80A0A1FEEEA552A248952A55
AADAAAA4422AA8A02A0A0B55B55AA45492AA9489AAB5B5550080050540A041FFDA895109
44A4A932ADAEDB4848154050140901AA755288A41252A28AAB5555552040150542A42AFF
ED4AA51549952A55556AB55205154050100941D55AA490A22528A551ADADD6A880001505
4AA0007FBA89251494A5444A56B55AA422552050100A95D5ED22A949254A92A9B556AAA9
11008A8542A040FF6B4AA2244A944A954BAB6D5200482020141410B5DC92549124AA914A
BABAAAA4A2228A95414288DFBAA592A2992855244D56DB540808202012102275768A5408
A54524A9B2D5AAA9404492854842807FED55555255314AA54EB56D4A09110428129428AA
BAA94A0A894A5249B5AEAAB0204090814000823FED42B151552524924AD35AA54414252A
155524755B2D2A24A2494AA4355AB54A014080004000101F76D1488B1525148AD6B6D6B0
900A2AAA955544B5DD555524A848A2552AD5554A012080004000101F6BAA90A95292A924
D6ADB554A40A2AAA1555441BBD5AC414882A4A49556B6B5200A08000A000114EF7D53165
6551292A2BB4ACA944092AAA0AAA841DAD36C514920A44A5AD56D6A401240000A0005087
F6D9114A49649254555B5B55200155550AAA8A2B5D56A4A512925549AB6AB4A812540000
20002083F6AD82924454912AB5ADAB55408155550AAA8A16EDB52A492A8925544D555AA2
04040000A0005041BF56855492524A42B56DAD5440A955520AAA0513EADDA92525252911
55AB6AA91200000850015440BF569248494892AAAADAB552004A554285542114F5ED2955
2A552A49AB56D6A921010028100284403EBA149091529124AD6AAAA444245482A5505292
6DD6E526AA44A490AAAD76A90011020800050849377A08484492492256DB5AAA228050A2
AAA8A5003DAD65232924AA485555AAA888250A08000508549EF6A894549522A055B56D52
000840A2AAA052812FBD124289248A09AB6DAAA944A10A08000A8A541BD5A509524924A0
5556B6A4010450A2AAA050813EFD295224AA828456AADAAA90220908000A82541BD64225
492454105ADB555004088252AAA05482AF791A9092AA8284A56AAB56A0A2280800152228
1DECA4560A925001ADADDCA4010882A2AA8248853F721108A4A48028AB5B33A944045408
002912508BDC456529124200AAAAD65210410142AA8449143EF1281092A48012AAB6AD54
81149414005122410FD482A52449504056D5B54908202141550A492A5B61292954922010
55AD6AB420828A2A00A1249007F4924212488040AAB5AD4902142080AA0849255DA22495
48101120AD6B5B5248408A1500A2A49207E89244A4824082AB5AD5548109214054094924
96CA483501100820AAD6B6AA2404142A82A2A21043E092926A080080555AD55100A14140
281508A52BAA488950A0804056D5ADAA48140A154142528482F1252485000100556D6A54
820150A01429245255CA48AA52220048ADAB5B52105402054284928910F1229128011041
52B6B5A9450154A82852245245D44A4A82000004AB5AD6A400540202810A91249472852A
488A00505DAB5955488150A85441254922A9324920100420526DB754020A050282949212
48B48952800A4010ADB554A54040A854282224A492422A9422001002AAAB6B58092A0281
428891124A98A52280040008576DB6A54000A82A1452A444952294A80404220154DAAD52
124A8290410212924414224A82810002572DB2A8808028451454A45090A95524140C0084
54EB6EAA242A8510A12212852D2C894900048828AB5555528000504A0A48A4544A565492
0801000255AEDB5412A50520A1051292949525282404012856B56AA92008504A1450A445
6801488008140040556B56A48121050040851129A804AA54500A080255ADB552120850AA
9528A493A002A48084040000AD5AD6A940428A104085124581017220102A0084AAD6BAAA
089421451428A52B4815D402A0082021AB5AD55442009408414108A5A002505020A60480
55ADAEA9009402A2941452524005080100040011556B59A49442A8084149248CB202A244
48A20108AADAEB5420100AA214224969408A840101040400AB5556AA8142A00942892292
A105224480428081556EBAA412142AA010224AAD6AA08009130211002DAAD55940008015
4A8912B2BA96640200808000556B5B52094A2A8010504AAD55A0805452020211AADD6D54
A0208055410555555550050209008100AB56D555040A2A00144AA952A2800058120A0200
56B5B6A8214041554122B55558200A0440805000556B555508129400140AE52AA28410B1
15020200AAD6DB5240880155412DD2D548204A0445000191AD5AB5548222AA0010574A2A
5000205102022800536DAD52080000554A1DAAD4A10050805510010056D6D6A9412AAA00
00374529120141010A010284AD5ABAAA10800155549554D460110080A4080080536B5550
842AA800011BAAA984040402424011202ED6EBA6400004AAA40AEA94A009022094000080
A9B5BA588295490008285AA90012288104010090555B4DA20840202AA00D2D5000900009
55004040AED6F6ACA1151540440A7BA0002010414A240082556D55510800400A8045AFC0
1081010484000840AB5B5B5442552AA4211ADF48811428512A000000556AED5521008111
044D3F0000400502829040042ADDAAA4085454400956F814059010494C000100AB56B6D2
A101113002AB54802A4001208549001155B5DB290454A44056AAD00A9000520AAD000400
AD56B6EA220212A01552A00244A2008144880080AAED6A9480A88442AA9582228100310A
283020082B5BAD524A0251304A5208009280044096A10000AD6ADB6900A8944AA584A001
4491110549400021AAB76DAA2402412A9A200020B54800A21540120056DAB65481289455
6A8942042A501048A510000029ADD5D2488221095400104014800A2412428002D6B6BAAA
00288A56A1250002A242005144940220556AD6A9528250894A0040481110220522200008
2BADBB540028852510950102C0A0041A88A01001AAB6D6AAA4822894A42810A522001085
45400000556B6D520124852129C80008414106008181044056D6B5A948105094AAA484A5
150002A936844004555B5AAA11050A255540210A4400208455280100AB6AEDA9405024D5
B42800A1290002291411400055BDAAAA0A054B5A4002490C52110095405408222AA6B754
409034A54140001148000802A02A8000D6DB6D528025892804110AA5504000A002240200
556ADAD50A825242908020092002200880992088AB5DAB28502924A845080CAA41000410
002440002AD6B6D5008491451021501508080004A08A800156B5DAAA44210490448020A8
1001024000328800556B56A9111452412848A4528440100040950008AB5CDAA44041148A
42820014200840210022C0002AABB55505044222A81191128800000840952080AB6D5754
9052914A82840028810204800821D000AAAADAAA410844151255120A0008001400485400
55DB6D52045212D42488002AC88040002094A810AAB5555490514AA00A10551420200009
00521A0056ADB6A921242B409460105542080802052854012AD56D54809054902A822412
2041008840B60A00D56D55AA0825A922510844A550000022085824032B55B6A944985281
4840122A2484000882AF0800556D6AA400268480929148D2A010221409340005AAD5ADAA
910952512044244508000042249D1401AB36B654205225008A01102A30000008120A000A
2ADAD5AA820154D120A45545804484215920004255ADBAA908948A044A09104A18000088
22080014566AAB54204111410910208584202024A811104555B6DD52821A4A1212445125
080200012AA400285555AAD5212524802400A0454401008A150000D5AB6D6D5400504925
18A442928428002A020001552AD6B5A94AA52200A210904542001008092001AD
end
%%PageTrailer
%%Trailer
%%EOF

BIN
2008-displacement/paper/crop-7-4-5-0-serp.png Переглянути файл

Перед Після
Ширина: 160  |  Висота: 160  |  Розмір: 5.6 KiB

+ 14340
- 14340
2008-displacement/paper/fs-histo.eps
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 15
- 13
2008-displacement/paper/fs-histo.tex Переглянути файл

@@ -72,7 +72,7 @@
\fi
\fi
\setlength{\unitlength}{0.0500bp}%
\begin{picture}(2590.00,2590.00)%
\begin{picture}(2590.00,2880.00)%
\gplgaddtomacro\gplbacktext{%
}%
\gplgaddtomacro\gplfronttext{%
@@ -400,29 +400,31 @@
\color{black}%
\color{black}%
\csname LTb\endcsname%
\put(130,104){\makebox(0,0){\strut{}-0.1}}%
\put(130,435){\makebox(0,0){\strut{}-0.1}}%
\csname LTb\endcsname%
\put(596,104){\makebox(0,0){\strut{} 0}}%
\put(596,435){\makebox(0,0){\strut{} 0}}%
\csname LTb\endcsname%
\put(1062,104){\makebox(0,0){\strut{} 0.1}}%
\put(1062,435){\makebox(0,0){\strut{} 0.1}}%
\csname LTb\endcsname%
\put(1528,104){\makebox(0,0){\strut{} 0.2}}%
\put(1528,435){\makebox(0,0){\strut{} 0.2}}%
\csname LTb\endcsname%
\put(1994,104){\makebox(0,0){\strut{} 0.3}}%
\put(1994,435){\makebox(0,0){\strut{} 0.3}}%
\csname LTb\endcsname%
\put(2460,104){\makebox(0,0){\strut{} 0.4}}%
\put(2460,435){\makebox(0,0){\strut{} 0.4}}%
\put(1295,105){\makebox(0,0){\strut{}$dx$}}%
\csname LTb\endcsname%
\put(-42,2460){\makebox(0,0)[r]{\strut{}-0.1}}%
\put(-42,2735){\makebox(0,0)[r]{\strut{}-0.1}}%
\csname LTb\endcsname%
\put(-42,2046){\makebox(0,0)[r]{\strut{} 0}}%
\put(-42,2332){\makebox(0,0)[r]{\strut{} 0}}%
\csname LTb\endcsname%
\put(-42,1632){\makebox(0,0)[r]{\strut{} 0.1}}%
\put(-42,1929){\makebox(0,0)[r]{\strut{} 0.1}}%
\csname LTb\endcsname%
\put(-42,1218){\makebox(0,0)[r]{\strut{} 0.2}}%
\put(-42,1527){\makebox(0,0)[r]{\strut{} 0.2}}%
\csname LTb\endcsname%
\put(-42,804){\makebox(0,0)[r]{\strut{} 0.3}}%
\put(-42,1124){\makebox(0,0)[r]{\strut{} 0.3}}%
\csname LTb\endcsname%
\put(-42,390){\makebox(0,0)[r]{\strut{} 0.4}}%
\put(-42,721){\makebox(0,0)[r]{\strut{} 0.4}}%
\put(-636,1728){\rotatebox{90}{\makebox(0,0){\strut{}$dy$}}}%
}%
\gplbacktext
\put(0,0){\includegraphics{fs-histo}}%


+ 16173
- 16173
2008-displacement/paper/jajuni-histo.eps
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 13
- 11
2008-displacement/paper/jajuni-histo.tex Переглянути файл

@@ -72,7 +72,7 @@
\fi
\fi
\setlength{\unitlength}{0.0500bp}%
\begin{picture}(2590.00,2590.00)%
\begin{picture}(2590.00,2880.00)%
\gplgaddtomacro\gplbacktext{%
}%
\gplgaddtomacro\gplfronttext{%
@@ -361,25 +361,27 @@
\color{black}%
\color{black}%
\csname LTb\endcsname%
\put(363,104){\makebox(0,0){\strut{} 0}}%
\put(363,435){\makebox(0,0){\strut{} 0}}%
\csname LTb\endcsname%
\put(829,104){\makebox(0,0){\strut{} 0.2}}%
\put(829,435){\makebox(0,0){\strut{} 0.2}}%
\csname LTb\endcsname%
\put(1295,104){\makebox(0,0){\strut{} 0.4}}%
\put(1295,435){\makebox(0,0){\strut{} 0.4}}%
\csname LTb\endcsname%
\put(1761,104){\makebox(0,0){\strut{} 0.6}}%
\put(1761,435){\makebox(0,0){\strut{} 0.6}}%
\csname LTb\endcsname%
\put(2227,104){\makebox(0,0){\strut{} 0.8}}%
\put(2227,435){\makebox(0,0){\strut{} 0.8}}%
\put(1295,105){\makebox(0,0){\strut{}$dx$}}%
\csname LTb\endcsname%
\put(-42,2253){\makebox(0,0)[r]{\strut{} 0}}%
\put(-42,2533){\makebox(0,0)[r]{\strut{} 0}}%
\csname LTb\endcsname%
\put(-42,1839){\makebox(0,0)[r]{\strut{} 0.2}}%
\put(-42,2130){\makebox(0,0)[r]{\strut{} 0.2}}%
\csname LTb\endcsname%
\put(-42,1425){\makebox(0,0)[r]{\strut{} 0.4}}%
\put(-42,1728){\makebox(0,0)[r]{\strut{} 0.4}}%
\csname LTb\endcsname%
\put(-42,1011){\makebox(0,0)[r]{\strut{} 0.6}}%
\put(-42,1326){\makebox(0,0)[r]{\strut{} 0.6}}%
\csname LTb\endcsname%
\put(-42,597){\makebox(0,0)[r]{\strut{} 0.8}}%
\put(-42,923){\makebox(0,0)[r]{\strut{} 0.8}}%
\put(-636,1728){\rotatebox{90}{\makebox(0,0){\strut{}$dy$}}}%
}%
\gplbacktext
\put(0,0){\includegraphics{jajuni-histo}}%


+ 0
- 12535
2008-displacement/paper/lena-min.eps
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 966
- 0
2008-displacement/paper/lena-values.eps Переглянути файл

@@ -0,0 +1,966 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: lena-values.tex
%%Creator: gnuplot 4.3 patchlevel 0
%%CreationDate: Tue Apr 15 18:55:12 2008
%%DocumentFonts:
%%BoundingBox: 50 50 410 194
%%EndComments
%%BeginProlog
/gnudict 256 dict def
gnudict begin
%
% The following 6 true/false flags may be edited by hand if required
% The unit line width may also be changed
%
/Color true def
/Blacktext true def
/Solid false def
/Dashlength 1 def
/Landscape false def
/Level1 false def
/Rounded false def
/TransparentPatterns false def
/gnulinewidth 5.000 def
/userlinewidth gnulinewidth def
%
/vshift -73 def
/dl1 {
10.0 Dashlength mul mul
Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if
} def
/dl2 {
10.0 Dashlength mul mul
Rounded { currentlinewidth 0.75 mul add } if
} def
/hpt_ 31.5 def
/vpt_ 31.5 def
/hpt hpt_ def
/vpt vpt_ def
Level1 {} {
/SDict 10 dict def
systemdict /pdfmark known not {
userdict /pdfmark systemdict /cleartomark get put
} if
SDict begin [
/Title (lena-values.tex)
/Subject (gnuplot plot)
/Creator (gnuplot 4.3 patchlevel 0)
/Author (Sam Hocevar,,,)
% /Producer (gnuplot)
% /Keywords ()
/CreationDate (Tue Apr 15 18:55:12 2008)
/DOCINFO pdfmark
end
} ifelse
%
% Gnuplot Prolog Version 4.2 (November 2007)
%
/M {moveto} bind def
/L {lineto} bind def
/R {rmoveto} bind def
/V {rlineto} bind def
/N {newpath moveto} bind def
/Z {closepath} bind def
/C {setrgbcolor} bind def
/f {rlineto fill} bind def
/Gshow {show} def % May be redefined later in the file to support UTF-8
/vpt2 vpt 2 mul def
/hpt2 hpt 2 mul def
/Lshow {currentpoint stroke M 0 vshift R
Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R
Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
/hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
/DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
{pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def
/BL {stroke userlinewidth 2 mul setlinewidth
Rounded {1 setlinejoin 1 setlinecap} if} def
/AL {stroke userlinewidth 2 div setlinewidth
Rounded {1 setlinejoin 1 setlinecap} if} def
/UL {dup gnulinewidth mul /userlinewidth exch def
dup 1 lt {pop 1} if 10 mul /udl exch def} def
/PL {stroke userlinewidth setlinewidth
Rounded {1 setlinejoin 1 setlinecap} if} def
% Default Line colors
/LCw {1 1 1} def
/LCb {0 0 0} def
/LCa {0 0 0} def
/LC0 {1 0 0} def
/LC1 {0 1 0} def
/LC2 {0 0 1} def
/LC3 {1 0 1} def
/LC4 {0 1 1} def
/LC5 {1 1 0} def
/LC6 {0 0 0} def
/LC7 {1 0.3 0} def
/LC8 {0.5 0.5 0.5} def
% Default Line Types
/LTw {PL [] 1 setgray} def
/LTb {BL [] LCb DL} def
/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
/LT0 {PL [] LC0 DL} def
/LT1 {PL [4 dl1 2 dl2] LC1 DL} def
/LT2 {PL [2 dl1 3 dl2] LC2 DL} def
/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
/Dia {stroke [] 0 setdash 2 copy vpt add M
hpt neg vpt neg V hpt vpt neg V
hpt vpt V hpt neg vpt V closepath stroke
Pnt} def
/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V
currentpoint stroke M
hpt neg vpt neg R hpt2 0 V stroke
} def
/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
0 vpt2 neg V hpt2 0 V 0 vpt2 V
hpt2 neg 0 V closepath stroke
Pnt} def
/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M
hpt2 vpt2 neg V currentpoint stroke M
hpt2 neg 0 R hpt2 vpt2 V stroke} def
/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M
hpt neg vpt -1.62 mul V
hpt 2 mul 0 V
hpt neg vpt 1.62 mul V closepath stroke
Pnt} def
/Star {2 copy Pls Crs} def
/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M
0 vpt2 neg V hpt2 0 V 0 vpt2 V
hpt2 neg 0 V closepath fill} def
/TriUF {stroke [] 0 setdash vpt 1.12 mul add M
hpt neg vpt -1.62 mul V
hpt 2 mul 0 V
hpt neg vpt 1.62 mul V closepath fill} def
/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
hpt neg vpt 1.62 mul V
hpt 2 mul 0 V
hpt neg vpt -1.62 mul V closepath stroke
Pnt} def
/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M
hpt neg vpt 1.62 mul V
hpt 2 mul 0 V
hpt neg vpt -1.62 mul V closepath fill} def
/DiaF {stroke [] 0 setdash vpt add M
hpt neg vpt neg V hpt vpt neg V
hpt vpt V hpt neg vpt V closepath fill} def
/Pent {stroke [] 0 setdash 2 copy gsave
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
closepath stroke grestore Pnt} def
/PentF {stroke [] 0 setdash gsave
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
closepath fill grestore} def
/Circle {stroke [] 0 setdash 2 copy
hpt 0 360 arc stroke Pnt} def
/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def
/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def
/C1 {BL [] 0 setdash 2 copy moveto
2 copy vpt 0 90 arc closepath fill
vpt 0 360 arc closepath} bind def
/C2 {BL [] 0 setdash 2 copy moveto
2 copy vpt 90 180 arc closepath fill
vpt 0 360 arc closepath} bind def
/C3 {BL [] 0 setdash 2 copy moveto
2 copy vpt 0 180 arc closepath fill
vpt 0 360 arc closepath} bind def
/C4 {BL [] 0 setdash 2 copy moveto
2 copy vpt 180 270 arc closepath fill
vpt 0 360 arc closepath} bind def
/C5 {BL [] 0 setdash 2 copy moveto
2 copy vpt 0 90 arc
2 copy moveto
2 copy vpt 180 270 arc closepath fill
vpt 0 360 arc} bind def
/C6 {BL [] 0 setdash 2 copy moveto
2 copy vpt 90 270 arc closepath fill
vpt 0 360 arc closepath} bind def
/C7 {BL [] 0 setdash 2 copy moveto
2 copy vpt 0 270 arc closepath fill
vpt 0 360 arc closepath} bind def
/C8 {BL [] 0 setdash 2 copy moveto
2 copy vpt 270 360 arc closepath fill
vpt 0 360 arc closepath} bind def
/C9 {BL [] 0 setdash 2 copy moveto
2 copy vpt 270 450 arc closepath fill
vpt 0 360 arc closepath} bind def
/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
2 copy moveto
2 copy vpt 90 180 arc closepath fill
vpt 0 360 arc closepath} bind def
/C11 {BL [] 0 setdash 2 copy moveto
2 copy vpt 0 180 arc closepath fill
2 copy moveto
2 copy vpt 270 360 arc closepath fill
vpt 0 360 arc closepath} bind def
/C12 {BL [] 0 setdash 2 copy moveto
2 copy vpt 180 360 arc closepath fill
vpt 0 360 arc closepath} bind def
/C13 {BL [] 0 setdash 2 copy moveto
2 copy vpt 0 90 arc closepath fill
2 copy moveto
2 copy vpt 180 360 arc closepath fill
vpt 0 360 arc closepath} bind def
/C14 {BL [] 0 setdash 2 copy moveto
2 copy vpt 90 360 arc closepath fill
vpt 0 360 arc} bind def
/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
vpt 0 360 arc closepath} bind def
/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
neg 0 rlineto closepath} bind def
/Square {dup Rec} bind def
/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def
/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def
/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def
/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def
/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill
exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def
/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
2 copy vpt Square fill Bsquare} bind def
/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def
/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def
/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
Bsquare} bind def
/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
Bsquare} bind def
/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def
/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
2 copy vpt Square fill Bsquare} bind def
/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def
/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def
/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def
/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def
/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def
/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def
/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def
/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def
/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def
/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def
/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def
/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def
/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def
/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def
/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def
/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def
/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def
/DiaE {stroke [] 0 setdash vpt add M
hpt neg vpt neg V hpt vpt neg V
hpt vpt V hpt neg vpt V closepath stroke} def
/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M
0 vpt2 neg V hpt2 0 V 0 vpt2 V
hpt2 neg 0 V closepath stroke} def
/TriUE {stroke [] 0 setdash vpt 1.12 mul add M
hpt neg vpt -1.62 mul V
hpt 2 mul 0 V
hpt neg vpt 1.62 mul V closepath stroke} def
/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M
hpt neg vpt 1.62 mul V
hpt 2 mul 0 V
hpt neg vpt -1.62 mul V closepath stroke} def
/PentE {stroke [] 0 setdash gsave
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
closepath stroke grestore} def
/CircE {stroke [] 0 setdash
hpt 0 360 arc stroke} def
/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def
/DiaW {stroke [] 0 setdash vpt add M
hpt neg vpt neg V hpt vpt neg V
hpt vpt V hpt neg vpt V Opaque stroke} def
/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M
0 vpt2 neg V hpt2 0 V 0 vpt2 V
hpt2 neg 0 V Opaque stroke} def
/TriUW {stroke [] 0 setdash vpt 1.12 mul add M
hpt neg vpt -1.62 mul V
hpt 2 mul 0 V
hpt neg vpt 1.62 mul V Opaque stroke} def
/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M
hpt neg vpt 1.62 mul V
hpt 2 mul 0 V
hpt neg vpt -1.62 mul V Opaque stroke} def
/PentW {stroke [] 0 setdash gsave
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
Opaque stroke grestore} def
/CircW {stroke [] 0 setdash
hpt 0 360 arc Opaque stroke} def
/BoxFill {gsave Rec 1 setgray fill grestore} def
/Density {
/Fillden exch def
currentrgbcolor
/ColB exch def /ColG exch def /ColR exch def
/ColR ColR Fillden mul Fillden sub 1 add def
/ColG ColG Fillden mul Fillden sub 1 add def
/ColB ColB Fillden mul Fillden sub 1 add def
ColR ColG ColB setrgbcolor} def
/BoxColFill {gsave Rec PolyFill} def
/PolyFill {gsave Density fill grestore grestore} def
/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def
%
% PostScript Level 1 Pattern Fill routine for rectangles
% Usage: x y w h s a XX PatternFill
% x,y = lower left corner of box to be filled
% w,h = width and height of box
% a = angle in degrees between lines and x-axis
% XX = 0/1 for no/yes cross-hatch
%
/PatternFill {gsave /PFa [ 9 2 roll ] def
PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
gsave 1 setgray fill grestore clip
currentlinewidth 0.5 mul setlinewidth
/PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
0 0 M PFa 5 get rotate PFs -2 div dup translate
0 1 PFs PFa 4 get div 1 add floor cvi
{PFa 4 get mul 0 M 0 PFs V} for
0 PFa 6 get ne {
0 1 PFs PFa 4 get div 1 add floor cvi
{PFa 4 get mul 0 2 1 roll M PFs 0 V} for
} if
stroke grestore} def
%
/languagelevel where
{pop languagelevel} {1} ifelse
2 lt
{/InterpretLevel1 true def}
{/InterpretLevel1 Level1 def}
ifelse
%
% PostScript level 2 pattern fill definitions
%
/Level2PatternFill {
/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}
bind def
/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def
<< Tile8x8
/PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke}
>> matrix makepattern
/Pat1 exch def
<< Tile8x8
/PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke
0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}
>> matrix makepattern
/Pat2 exch def
<< Tile8x8
/PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L
8 8 L 8 0 L 0 0 L fill}
>> matrix makepattern
/Pat3 exch def
<< Tile8x8
/PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L
0 12 M 12 0 L stroke}
>> matrix makepattern
/Pat4 exch def
<< Tile8x8
/PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L
0 -4 M 12 8 L stroke}
>> matrix makepattern
/Pat5 exch def
<< Tile8x8
/PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L
0 12 M 8 -4 L 4 12 M 10 0 L stroke}
>> matrix makepattern
/Pat6 exch def
<< Tile8x8
/PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L
0 -4 M 8 12 L 4 -4 M 10 8 L stroke}
>> matrix makepattern
/Pat7 exch def
<< Tile8x8
/PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L
12 0 M -4 8 L 12 4 M 0 10 L stroke}
>> matrix makepattern
/Pat8 exch def
<< Tile8x8
/PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L
-4 0 M 12 8 L -4 4 M 8 10 L stroke}
>> matrix makepattern
/Pat9 exch def
/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def
/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def
/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def
/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def
/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def
/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def
/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def
} def
%
%
%End of PostScript Level 2 code
%
/PatternBgnd {
TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
} def
%
% Substitute for Level 2 pattern fill codes with
% grayscale if Level 2 support is not selected.
%
/Level1PatternFill {
/Pattern1 {0.250 Density} bind def
/Pattern2 {0.500 Density} bind def
/Pattern3 {0.750 Density} bind def
/Pattern4 {0.125 Density} bind def
/Pattern5 {0.375 Density} bind def
/Pattern6 {0.625 Density} bind def
/Pattern7 {0.875 Density} bind def
} def
%
% Now test for support of Level 2 code
%
Level1 {Level1PatternFill} {Level2PatternFill} ifelse
%
/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
currentdict end definefont pop
end
%%EndProlog
gnudict begin
gsave
50 50 translate
0.050 0.050 scale
0 setgray
newpath
1.000 UL
LTb
LCb setrgbcolor
1.000 UL
LTb
2232 576 M
0 2016 V
2016 0 R
-2016 0 V
0 -2016 R
0 63 V
0 1953 R
0 -63 V
2484 576 M
0 32 V
0 1984 R
0 -32 V
2736 576 M
0 63 V
0 1953 R
0 -63 V
2988 576 M
0 32 V
0 1984 R
0 -32 V
3240 576 M
0 63 V
0 1953 R
0 -63 V
3492 576 M
0 32 V
0 1984 R
0 -32 V
3744 576 M
0 63 V
0 1953 R
0 -63 V
3996 576 M
0 32 V
0 1984 R
0 -32 V
4248 576 M
0 63 V
0 1953 R
0 -63 V
0 63 R
-63 0 V
-1953 0 R
63 0 V
4248 2340 M
-32 0 V
-1984 0 R
32 0 V
4248 2088 M
-63 0 V
-1953 0 R
63 0 V
4248 1836 M
-32 0 V
-1984 0 R
32 0 V
4248 1584 M
-63 0 V
-1953 0 R
63 0 V
4248 1332 M
-32 0 V
-1984 0 R
32 0 V
4248 1080 M
-63 0 V
-1953 0 R
63 0 V
4248 828 M
-32 0 V
-1984 0 R
32 0 V
4248 576 M
-63 0 V
-1953 0 R
63 0 V
stroke
LTa
LCa setrgbcolor
3240 576 M
0 2016 V
stroke
LTa
1.000 UL
LTa
2232 1584 M
2016 0 V
1.000 UP
stroke
3.000 UL
LT0
LC0 setrgbcolor
3.000 UL
LT0
LTb
LCb setrgbcolor
LT1
LC1 setrgbcolor
5757 2199 M
591 0 V
3072 2592 M
-21 -6 V
-63 -18 V
-63 -19 V
-63 -20 V
-1 0 V
-62 -22 V
-63 -24 V
-43 -17 V
-20 -8 V
-63 -28 V
-60 -27 V
-3 -2 V
-63 -31 V
-58 -30 V
-5 -3 V
-63 -36 V
-41 -24 V
-22 -14 V
-63 -41 V
stroke
LTb
LCb setrgbcolor
LT2
LC2 setrgbcolor
5757 1979 M
591 0 V
2624 576 M
-14 6 V
-63 29 V
-56 28 V
-7 4 V
-63 39 V
-31 20 V
-32 24 V
-48 39 V
-15 14 V
-49 49 V
-14 16 V
4248 665 M
-56 -26 V
-7 -3 V
-63 -25 V
-63 -24 V
-32 -11 V
221 1750 R
-56 14 V
-7 1 V
-63 12 V
-63 10 V
-63 8 V
-63 5 V
-63 4 V
-63 2 V
-63 0 V
-63 -1 V
-63 -4 V
-63 -5 V
-63 -7 V
-63 -9 V
-63 -10 V
-34 -6 V
-29 -6 V
-63 -15 V
-63 -16 V
-63 -17 V
-30 -9 V
-33 -11 V
-63 -22 V
-63 -24 V
-17 -6 V
-46 -20 V
-63 -29 V
-30 -14 V
-33 -17 V
-63 -35 V
-20 -11 V
-43 -27 V
-57 -36 V
-6 -5 V
-63 -46 V
-16 -12 V
-47 -39 V
-28 -24 V
-35 -34 V
-30 -29 V
-33 -37 V
-23 -26 V
-40 -51 V
stroke
LTb
LCb setrgbcolor
LT3
LC3 setrgbcolor
5757 1759 M
591 0 V
4248 2034 M
-63 26 V
-63 23 V
-16 5 V
-47 12 V
-63 14 V
-63 11 V
-63 8 V
-63 6 V
-63 2 V
-63 1 V
-63 -3 V
-63 -4 V
-63 -7 V
-63 -10 V
-63 -11 V
-63 -14 V
-22 -5 V
-41 -12 V
-63 -20 V
-63 -21 V
-26 -10 V
-37 -15 V
-63 -29 V
-40 -19 V
-23 -13 V
-63 -36 V
-24 -14 V
-39 -27 V
-51 -36 V
-12 -10 V
-63 -53 V
-62 -63 V
-1 -2 V
-49 -61 V
-14 -20 V
-28 -43 V
-33 -63 V
-2 -4 V
-22 -59 V
-16 -63 V
-7 -63 V
0 -63 V
10 -63 V
19 -63 V
16 -37 V
13 -26 V
41 -63 V
9 -11 V
46 -52 V
17 -15 V
57 -48 V
6 -4 V
63 -40 V
32 -19 V
31 -15 V
63 -28 V
53 -20 V
10 -3 V
63 -18 V
63 -15 V
63 -13 V
63 -9 V
49 -5 V
14 -1 V
63 -3 V
63 -1 V
63 2 V
63 3 V
1 0 V
62 7 V
63 9 V
63 11 V
63 13 V
63 16 V
26 7 V
37 12 V
63 21 V
63 24 V
15 6 V
48 22 V
63 31 V
20 10 V
43 25 V
62 38 V
1 1 V
stroke
LTb
LCb setrgbcolor
LT4
LC4 setrgbcolor
5757 1539 M
591 0 V
4248 1730 M
-40 43 V
-23 19 V
-60 44 V
-3 2 V
-63 32 V
-63 27 V
-4 2 V
-59 17 V
-63 15 V
-63 10 V
-63 7 V
-63 3 V
-63 0 V
-63 -4 V
-63 -7 V
-63 -11 V
-63 -13 V
-63 -16 V
-4 -1 V
-59 -21 V
-63 -24 V
-41 -18 V
-22 -11 V
-63 -35 V
-29 -17 V
-34 -23 V
-53 -40 V
-10 -9 V
-58 -54 V
-5 -6 V
-47 -57 V
-16 -24 V
-23 -39 V
-27 -63 V
-13 -46 V
-4 -17 V
-4 -63 V
6 -63 V
2 -8 V
18 -55 V
33 -63 V
12 -16 V
40 -47 V
23 -20 V
54 -43 V
9 -6 V
63 -35 V
47 -22 V
16 -6 V
63 -20 V
63 -17 V
63 -11 V
63 -8 V
2 -1 V
61 -3 V
63 0 V
63 3 V
10 0 V
53 6 V
63 10 V
63 13 V
63 16 V
62 18 V
1 1 V
63 24 V
63 28 V
21 10 V
42 23 V
63 39 V
3 1 V
60 46 V
21 17 V
42 41 V
21 22 V
42 52 V
stroke
LTb
LCb setrgbcolor
LT5
LC5 setrgbcolor
5757 1319 M
591 0 V
4095 1584 M
-36 59 V
-3 4 V
-60 56 V
-9 7 V
-54 31 V
-63 28 V
-9 4 V
-54 14 V
-63 13 V
-63 6 V
-63 2 V
-63 -2 V
-63 -7 V
-63 -12 V
-62 -14 V
-1 -1 V
-63 -22 V
-63 -27 V
-28 -13 V
-35 -21 V
-63 -41 V
-2 -1 V
-61 -55 V
-8 -8 V
-49 -63 V
-6 -10 V
-26 -53 V
-16 -63 V
-1 -63 V
15 -63 V
28 -53 V
6 -10 V
57 -59 V
4 -4 V
59 -37 V
51 -26 V
12 -5 V
63 -19 V
63 -14 V
63 -8 V
63 -4 V
63 2 V
63 6 V
63 11 V
63 15 V
55 16 V
8 3 V
63 27 V
63 31 V
5 2 V
58 39 V
32 24 V
31 29 V
34 34 V
29 39 V
16 24 V
28 63 V
14 63 V
-2 63 V
-20 63 V
stroke
LTb
LCb setrgbcolor
LT6
LC6 setrgbcolor
5757 1099 M
591 0 V
3888 1521 M
-18 29 V
-28 34 V
-35 25 V
-63 32 V
-18 6 V
-45 10 V
-63 7 V
-63 0 V
-63 -7 V
-51 -10 V
-12 -4 V
-63 -24 V
-63 -31 V
-9 -4 V
-54 -44 V
-20 -19 V
-43 -61 V
-1 -2 V
-16 -63 V
7 -63 V
10 -20 V
28 -43 V
35 -29 V
55 -34 V
8 -3 V
63 -17 V
63 -10 V
63 -1 V
63 6 V
63 12 V
45 13 V
18 7 V
63 32 V
41 24 V
22 19 V
45 44 V
18 29 V
19 34 V
12 63 V
-13 63 V
stroke
LTb
LCb setrgbcolor
LT7
LC7 setrgbcolor
5757 879 M
591 0 V
3667 1458 M
-49 41 V
-63 15 V
-63 -11 V
-63 -31 V
-18 -14 V
-22 -63 V
40 -48 V
29 -15 V
34 -6 V
63 4 V
9 2 V
54 28 V
41 35 V
8 63 V
stroke
1.000 UL
LTb
LCb setrgbcolor
4248 2592 M
0 -2016 V
stroke
LTb
2232 576 M
2016 0 V
stroke
LTa
LCa setrgbcolor
3240 576 M
0 2016 V
stroke
LTa
1.000 UL
LTa
2232 1584 M
2016 0 V
1.000 UP
stroke
grestore
end
showpage
%%Trailer

2008-displacement/paper/lena-min.tex → 2008-displacement/paper/lena-values.tex Переглянути файл

@@ -72,68 +72,41 @@
\fi
\fi
\setlength{\unitlength}{0.0500bp}%
\begin{picture}(3600.00,2880.00)%
\begin{picture}(7200.00,2880.00)%
\gplgaddtomacro\gplbacktext{%
\csname LTb\endcsname%
\put(2232,356){\makebox(0,0){\strut{}-1}}%
\put(2736,356){\makebox(0,0){\strut{}-0.5}}%
\put(3240,356){\makebox(0,0){\strut{} 0}}%
\put(3744,356){\makebox(0,0){\strut{} 0.5}}%
\put(4248,356){\makebox(0,0){\strut{} 1}}%
\put(4380,2592){\makebox(0,0)[l]{\strut{}-1}}%
\put(4380,2088){\makebox(0,0)[l]{\strut{}-0.5}}%
\put(4380,1584){\makebox(0,0)[l]{\strut{} 0}}%
\put(4380,1080){\makebox(0,0)[l]{\strut{} 0.5}}%
\put(4380,576){\makebox(0,0)[l]{\strut{} 1}}%
}%
\gplgaddtomacro\gplfronttext{%
\csname LTb\endcsname%
\put(-695,944){\makebox(0,0)[r]{\strut{}-1}}%
\csname LTb\endcsname%
\put(-513,866){\makebox(0,0)[r]{\strut{}-0.8}}%
\csname LTb\endcsname%
\put(-332,787){\makebox(0,0)[r]{\strut{}-0.6}}%
\csname LTb\endcsname%
\put(-151,709){\makebox(0,0)[r]{\strut{}-0.4}}%
\csname LTb\endcsname%
\put(30,631){\makebox(0,0)[r]{\strut{}-0.2}}%
\csname LTb\endcsname%
\put(211,552){\makebox(0,0)[r]{\strut{} 0}}%
\csname LTb\endcsname%
\put(392,474){\makebox(0,0)[r]{\strut{} 0.2}}%
\csname LTb\endcsname%
\put(574,396){\makebox(0,0)[r]{\strut{} 0.4}}%
\csname LTb\endcsname%
\put(755,317){\makebox(0,0)[r]{\strut{} 0.6}}%
\csname LTb\endcsname%
\put(936,239){\makebox(0,0)[r]{\strut{} 0.8}}%
\csname LTb\endcsname%
\put(1117,161){\makebox(0,0)[r]{\strut{} 1}}%
\csname LTb\endcsname%
\put(1437,188){\makebox(0,0){\strut{}-1}}%
\csname LTb\endcsname%
\put(1706,241){\makebox(0,0){\strut{}-0.8}}%
\csname LTb\endcsname%
\put(1973,294){\makebox(0,0){\strut{}-0.6}}%
\csname LTb\endcsname%
\put(2242,347){\makebox(0,0){\strut{}-0.4}}%
\put(5625,2199){\makebox(0,0)[r]{\strut{} 1.5}}%
\csname LTb\endcsname%
\put(2511,399){\makebox(0,0){\strut{}-0.2}}%
\put(5625,1979){\makebox(0,0)[r]{\strut{} 1}}%
\csname LTb\endcsname%
\put(2779,452){\makebox(0,0){\strut{} 0}}%
\put(5625,1759){\makebox(0,0)[r]{\strut{} 0.7}}%
\csname LTb\endcsname%
\put(3048,505){\makebox(0,0){\strut{} 0.2}}%
\put(5625,1539){\makebox(0,0)[r]{\strut{} 0.52}}%
\csname LTb\endcsname%
\put(3316,558){\makebox(0,0){\strut{} 0.4}}%
\put(5625,1319){\makebox(0,0)[r]{\strut{} 0.42}}%
\csname LTb\endcsname%
\put(3585,611){\makebox(0,0){\strut{} 0.6}}%
\put(5625,1099){\makebox(0,0)[r]{\strut{} 0.35}}%
\csname LTb\endcsname%
\put(3854,664){\makebox(0,0){\strut{} 0.8}}%
\put(5625,879){\makebox(0,0)[r]{\strut{} 0.31}}%
\csname LTb\endcsname%
\put(4122,716){\makebox(0,0){\strut{} 1}}%
\put(-574,1554){\makebox(0,0)[r]{\strut{} 0.2}}%
\put(-574,1660){\makebox(0,0)[r]{\strut{} 0.4}}%
\put(-574,1766){\makebox(0,0)[r]{\strut{} 0.6}}%
\put(-574,1872){\makebox(0,0)[r]{\strut{} 0.8}}%
\put(-574,1978){\makebox(0,0)[r]{\strut{} 1}}%
\put(-574,2084){\makebox(0,0)[r]{\strut{} 1.2}}%
\put(-574,2190){\makebox(0,0)[r]{\strut{} 1.4}}%
\put(-574,2296){\makebox(0,0)[r]{\strut{} 1.6}}%
\put(-574,2402){\makebox(0,0)[r]{\strut{} 1.8}}%
\put(-574,2508){\makebox(0,0)[r]{\strut{} 2}}%
\put(-574,2614){\makebox(0,0)[r]{\strut{} 2.2}}%
\put(3240,72){\makebox(0,0){\strut{}$dx$}}%
\put(4752,1584){\makebox(0,0){\strut{}$dy$}}%
}%
\gplbacktext
\put(0,0){\includegraphics{lena-min}}%
\put(0,0){\includegraphics{lena-values}}%
\gplfronttext
\end{picture}%
\endgroup

+ 13781
- 13781
2008-displacement/paper/optimum-histo.eps
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 19
- 18
2008-displacement/paper/optimum-histo.tex Переглянути файл

@@ -72,7 +72,7 @@
\fi
\fi
\setlength{\unitlength}{0.0500bp}%
\begin{picture}(2590.00,2590.00)%
\begin{picture}(2590.00,2880.00)%
\gplgaddtomacro\gplbacktext{%
}%
\gplgaddtomacro\gplfronttext{%
@@ -347,39 +347,40 @@
\color{black}%
\color{black}%
\color{black}%
\color{black}%
\csname LTb\endcsname%
\put(130,104){\makebox(0,0){\strut{}-0.5}}%
\put(130,435){\makebox(0,0){\strut{}-0.5}}%
\csname LTb\endcsname%
\put(463,104){\makebox(0,0){\strut{}-0.4}}%
\put(463,435){\makebox(0,0){\strut{}-0.4}}%
\csname LTb\endcsname%
\put(796,104){\makebox(0,0){\strut{}-0.3}}%
\put(796,435){\makebox(0,0){\strut{}-0.3}}%
\csname LTb\endcsname%
\put(1129,104){\makebox(0,0){\strut{}-0.2}}%
\put(1129,435){\makebox(0,0){\strut{}-0.2}}%
\csname LTb\endcsname%
\put(1461,104){\makebox(0,0){\strut{}-0.1}}%
\put(1461,435){\makebox(0,0){\strut{}-0.1}}%
\csname LTb\endcsname%
\put(1794,104){\makebox(0,0){\strut{} 0}}%
\put(1794,435){\makebox(0,0){\strut{} 0}}%
\csname LTb\endcsname%
\put(2127,104){\makebox(0,0){\strut{} 0.1}}%
\put(2127,435){\makebox(0,0){\strut{} 0.1}}%
\csname LTb\endcsname%
\put(2460,104){\makebox(0,0){\strut{} 0.2}}%
\put(2460,435){\makebox(0,0){\strut{} 0.2}}%
\put(1295,105){\makebox(0,0){\strut{}$dx$}}%
\csname LTb\endcsname%
\put(-42,2460){\makebox(0,0)[r]{\strut{}-0.1}}%
\put(-42,2735){\makebox(0,0)[r]{\strut{}-0.1}}%
\csname LTb\endcsname%
\put(-42,2164){\makebox(0,0)[r]{\strut{} 0}}%
\put(-42,2447){\makebox(0,0)[r]{\strut{} 0}}%
\csname LTb\endcsname%
\put(-42,1868){\makebox(0,0)[r]{\strut{} 0.1}}%
\put(-42,2159){\makebox(0,0)[r]{\strut{} 0.1}}%
\csname LTb\endcsname%
\put(-42,1572){\makebox(0,0)[r]{\strut{} 0.2}}%
\put(-42,1871){\makebox(0,0)[r]{\strut{} 0.2}}%
\csname LTb\endcsname%
\put(-42,1278){\makebox(0,0)[r]{\strut{} 0.3}}%
\put(-42,1585){\makebox(0,0)[r]{\strut{} 0.3}}%
\csname LTb\endcsname%
\put(-42,982){\makebox(0,0)[r]{\strut{} 0.4}}%
\put(-42,1297){\makebox(0,0)[r]{\strut{} 0.4}}%
\csname LTb\endcsname%
\put(-42,686){\makebox(0,0)[r]{\strut{} 0.5}}%
\put(-42,1009){\makebox(0,0)[r]{\strut{} 0.5}}%
\csname LTb\endcsname%
\put(-42,390){\makebox(0,0)[r]{\strut{} 0.6}}%
\put(-42,721){\makebox(0,0)[r]{\strut{} 0.6}}%
\put(-636,1728){\rotatebox{90}{\makebox(0,0){\strut{}$dy$}}}%
}%
\gplbacktext
\put(0,0){\includegraphics{optimum-histo}}%


+ 16185
- 16257
2008-displacement/paper/ostro-histo.eps
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 18
- 23
2008-displacement/paper/ostro-histo.tex Переглянути файл

@@ -72,7 +72,7 @@
\fi
\fi
\setlength{\unitlength}{0.0500bp}%
\begin{picture}(2590.00,2590.00)%
\begin{picture}(2590.00,2880.00)%
\gplgaddtomacro\gplbacktext{%
}%
\gplgaddtomacro\gplfronttext{%
@@ -444,42 +444,37 @@
\color{black}%
\color{black}%
\color{black}%
\color{black}%
\csname LTb\endcsname%
\put(130,104){\makebox(0,0){\strut{}-0.2}}%
\csname LTb\endcsname%
\put(421,104){\makebox(0,0){\strut{}-0.15}}%
\csname LTb\endcsname%
\put(713,104){\makebox(0,0){\strut{}-0.1}}%
\csname LTb\endcsname%
\put(1004,104){\makebox(0,0){\strut{}-0.05}}%
\csname LTb\endcsname%
\put(1295,104){\makebox(0,0){\strut{} 0}}%
\put(130,435){\makebox(0,0){\strut{}-0.2}}%
\csname LTb\endcsname%
\put(1586,104){\makebox(0,0){\strut{} 0.05}}%
\put(713,435){\makebox(0,0){\strut{}-0.1}}%
\csname LTb\endcsname%
\put(1877,104){\makebox(0,0){\strut{} 0.1}}%
\put(1295,435){\makebox(0,0){\strut{} 0}}%
\csname LTb\endcsname%
\put(2169,104){\makebox(0,0){\strut{} 0.15}}%
\put(1877,435){\makebox(0,0){\strut{} 0.1}}%
\csname LTb\endcsname%
\put(2460,104){\makebox(0,0){\strut{} 0.2}}%
\put(2460,435){\makebox(0,0){\strut{} 0.2}}%
\put(1295,105){\makebox(0,0){\strut{}$dx$}}%
\csname LTb\endcsname%
\put(-42,2460){\makebox(0,0)[r]{\strut{}-0.1}}%
\put(-42,2735){\makebox(0,0)[r]{\strut{}-0.1}}%
\csname LTb\endcsname%
\put(-42,2201){\makebox(0,0)[r]{\strut{}-0.05}}%
\put(-42,2483){\makebox(0,0)[r]{\strut{}-0.05}}%
\csname LTb\endcsname%
\put(-42,1942){\makebox(0,0)[r]{\strut{} 0}}%
\put(-42,2231){\makebox(0,0)[r]{\strut{} 0}}%
\csname LTb\endcsname%
\put(-42,1683){\makebox(0,0)[r]{\strut{} 0.05}}%
\put(-42,1979){\makebox(0,0)[r]{\strut{} 0.05}}%
\csname LTb\endcsname%
\put(-42,1425){\makebox(0,0)[r]{\strut{} 0.1}}%
\put(-42,1728){\makebox(0,0)[r]{\strut{} 0.1}}%
\csname LTb\endcsname%
\put(-42,1167){\makebox(0,0)[r]{\strut{} 0.15}}%
\put(-42,1477){\makebox(0,0)[r]{\strut{} 0.15}}%
\csname LTb\endcsname%
\put(-42,908){\makebox(0,0)[r]{\strut{} 0.2}}%
\put(-42,1225){\makebox(0,0)[r]{\strut{} 0.2}}%
\csname LTb\endcsname%
\put(-42,649){\makebox(0,0)[r]{\strut{} 0.25}}%
\put(-42,973){\makebox(0,0)[r]{\strut{} 0.25}}%
\csname LTb\endcsname%
\put(-42,390){\makebox(0,0)[r]{\strut{} 0.3}}%
\put(-42,721){\makebox(0,0)[r]{\strut{} 0.3}}%
\put(-768,1728){\rotatebox{90}{\makebox(0,0){\strut{}$dy$}}}%
}%
\gplbacktext
\put(0,0){\includegraphics{ostro-histo}}%


+ 1191
- 0
2008-displacement/paper/output-7-3-5-1-serp.eps
Різницю між файлами не показано, бо вона завелика
Переглянути файл


BIN
2008-displacement/paper/output-7-3-5-1-serp.png Переглянути файл

Перед Після
Ширина: 512  |  Висота: 512  |  Розмір: 42 KiB

+ 1191
- 0
2008-displacement/paper/output-7-4-5-0-serp.eps
Різницю між файлами не показано, бо вона завелика
Переглянути файл


BIN
2008-displacement/paper/output-7-4-5-0-serp.png Переглянути файл

Перед Після
Ширина: 512  |  Висота: 512  |  Розмір: 44 KiB

+ 75792
- 0
2008-displacement/paper/paper.ps
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 52
- 46
2008-displacement/paper/paper.tex Переглянути файл

@@ -101,10 +101,9 @@ an error value based on that model. One such algorithm is direct binary seach
(DBS) \cite{allebach}, also referred to as least-squares model-based halftoning
(LSMB) \cite{lsmb}.

HVS models are usually low-pass filters. Nasanen \cite{nasanen}, Analoui
and Allebach \cite{allebach} found that using Gaussian models gave visually
pleasing results, an observation confirmed by independent visual perception
studies \cite{mcnamara}.
HVS models are usually low-pass filters. Nasanen \cite{nasanen}, Analoui and
Allebach found that using Gaussian models gave visually pleasing results, an
observation confirmed by independent visual perception studies \cite{mcnamara}.

DBS yields halftones of impressive quality. However, despite efforts to make
it more efficient \cite{bhatt}, it suffers from its large computational
@@ -115,8 +114,8 @@ requirements and error diffusion remains a more widely used technique.
Most error diffusion implementations parse the image in raster scan order.
Boustrophedonic (serpentine) scanning has been shown to cause fewer visual
artifacts \cite{halftoning}, but other, more complex processing paths such as
Hilbert curves \cite{spacefilling}, \cite{peano} are seldom used as they do not
improve the image quality significantly.
Hilbert curves \cite{spacefilling} are seldom used as they do not improve the
image quality significantly.

Intuitively, as the error is always propagated to the bottom-left or
bottom-right of each pixel (Fig. \ref{fig:direction}), one may expect the
@@ -168,7 +167,7 @@ Finding the second filter is then straightforward:

Experiments show that for a given image and a given corresponding halftone,
$E_{dx,dy}$ has a local minimum almost always away from $(dx,dy) = (0,0)$ (Fig.
\ref{fig:lena-min}). Let $E$ be an error metric where this remains true. We
\ref{fig:lena-values}). Let $E$ be an error metric where this remains true. We
call the local minimum $E_{min}$:

\begin{equation}
@@ -176,12 +175,14 @@ call the local minimum $E_{min}$:
\end{equation}

\begin{figure}
\begin{minipage}[c]{0.8\textwidth}
\input{lena-values}
\end{minipage}
\begin{center}
\input{lena-min}
\caption{Mean square error for the \textit{Lena} image. $v$ is a simple
$11\times11$ Gaussian convolution kernel with $\sigma = 1.2$ and
$(dx,dy)$ vary in $[-1,1]\times[-1,1]$.}
\label{fig:lena-min}
\caption{Mean square error for the \textit{Lena} image ($\times10^4$). $v$
is a simple $11\times11$ Gaussian convolution kernel with $\sigma
= 1.2$ and $(dx,dy)$ vary in $[-1,1]\times[-1,1]$.}
\label{fig:lena-values}
\end{center}
\end{figure}

@@ -201,7 +202,7 @@ on the Internet nowadays \cite{4chan}.
In addition to the classical Floyd-Steinberg and Jarvis-Judice-Ninke kernels,
we tested two serpentine error diffusion algorithms: Ostromoukhov's simple
error diffusion \cite{ostromoukhov}, which uses a variable coefficient kernel,
and Wong and Allebach's optimum error diffusion kernel \cite{wong}.
and Wong and Allebach's optimum error diffusion kernel \cite{wong}:

\begin{center}
\begin{tabular}{|l|c|c|}
@@ -267,16 +268,16 @@ we refer to them as the \textit{algorithm's displacement}, as opposed to the
\textit{image's displacement} for a given algorithm. We call $E_{fast}(h,b)$
the error computed at $(dx,dy)$. As $E_{fast}$ does not depend on the image, it
is a lot faster to compute than $E_{min}$, and as it is statistically closer to
$E_{min}$, we can expect it to be a better error estimation than $E$.
$E_{min}$, we can expect it to be a better error estimation than $E$:

\begin{center}
\begin{tabular}{|l|c|c|c|c|}
\begin{tabular}{|l|c|c|c|c|c|}
\hline
&~ $E\times10^4$ ~&~ $dx$ ~&~ $dy$ ~&~ $E_{fast}\times10^4$ ~\\ \hline
~raster Floyd-Steinberg ~&~ 3.7902 ~&~ 0.16 ~&~ 0.28 ~&~ 3.3447 ~\\ \hline
~raster Ja-Ju-Ni ~&~ 9.7013 ~&~ 0.26 ~&~ 0.76 ~&~ 7.5891 ~\\ \hline
~Ostromoukhov ~&~ 4.6892 ~&~ 0.00 ~&~ 0.19 ~&~ 4.6117 ~\\ \hline
~optimum kernel ~&~ 7.5209 ~&~ 0.00 ~&~ 0.34 ~&~ 6.8233 ~\\
&~ $E\times10^4$ ~&~ $E_{min}\times10^4$ ~&~ $dx$ ~&~ $dy$ ~&~ $E_{fast}\times10^4$ ~\\ \hline
~raster Floyd-Steinberg ~&~ 3.7902 ~&~ 3.1914 ~&~ 0.16 ~&~ 0.28 ~&~ 3.3447 ~\\ \hline
~raster Ja-Ju-Ni ~&~ 9.7013 ~&~ 6.6349 ~&~ 0.26 ~&~ 0.76 ~&~ 7.5891 ~\\ \hline
~Ostromoukhov ~&~ 4.6892 ~&~ 4.4783 ~&~ 0.00 ~&~ 0.19 ~&~ 4.6117 ~\\ \hline
~optimum kernel ~&~ 7.5209 ~&~ 6.5772 ~&~ 0.00 ~&~ 0.34 ~&~ 6.8233 ~\\
\hline
\end{tabular}
\end{center}
@@ -308,9 +309,9 @@ as an indication and only $E$ was used to elect the best coefficients:
~ rank ~&~ coefficients ~&~ $E\times10^4$ ~&~ $E_{min}\times10^4$ ~\\ \hline
~ 1 ~&~ 7 3 6 0 ~&~ 4.65512 ~&~ 3.94217 ~\\ \hline
~ 2 ~&~ 8 3 5 0 ~&~ 4.65834 ~&~ 4.03699 ~\\ \hline
~ \dots ~&~ \dots ~&~ \dots ~&~ \dots ~\\ \hline
\hline
~ 5 ~&~ 7 3 5 1 ~&~ 4.68588 ~&~ 3.79556 ~\\ \hline
~ \dots ~&~ \dots ~&~ \dots ~&~ \dots ~\\ \hline
\hline
~ 18 ~&~ 6 3 5 2 ~&~ 4.91020 ~&~ 3.70465 ~\\ \hline
~ \dots ~&~ \dots ~&~ \dots ~&~ \dots ~\\
\hline
@@ -326,9 +327,9 @@ different results. Similarly, $E$ is only given here as an indication:
~ rank ~&~ coefficients ~&~ $E_{min}\times10^4$ ~&~ $E\times10^4$ ~\\ \hline
~ 1 ~&~ 6 3 5 2 ~&~ 3.70465 ~&~ 4.91020 ~\\ \hline
~ 2 ~&~ 7 3 5 1 ~&~ 3.79556 ~&~ 4.68588 ~\\ \hline
~ \dots ~&~ \dots ~&~ \dots ~&~ \dots ~\\ \hline
\hline
~ 15 ~&~ 7 3 6 0 ~&~ 3.94217 ~&~ 4.65512 ~\\ \hline
~ \dots ~&~ \dots ~&~ \dots ~&~ \dots ~\\ \hline
\hline
~ 22 ~&~ 8 3 5 0 ~&~ 4.03699 ~&~ 4.65834 ~\\ \hline
~ \dots ~&~ \dots ~&~ \dots ~&~ \dots ~\\
\hline
@@ -338,7 +339,8 @@ different results. Similarly, $E$ is only given here as an indication:
Our improved metric allowed us to confirm that the original Floyd-Steinberg
coefficients were indeed amongst the best possible for raster scan.
More importantly, using $E$ as the decision variable may have elected
$\frac{1}{16}\{8,4,4,0\}$, which is in fact a poor choice.
$\frac{1}{16}\{7,3,6,0\}$ or $\frac{1}{16}\{8,3,5,0\}$, which are in fact poor
choices.

For serpentine scan, however, our experiment suggests that
$\frac{1}{16}\{7,4,5,0\}$ is a better choice than the Floyd-Steinberg
@@ -347,11 +349,21 @@ coefficients that have nonetheless been widely in use so far (Fig.

\begin{figure}
\begin{center}
\includegraphics[width=0.8\textwidth]{lena.eps}
\caption{halftone of \textit{Lena} using serpentine error diffusion and
the optimum coefficients $\frac{1}{16}\{7,4,5,0\}$ that improve
on the standard Floyd-Steinberg coefficients in terms of visual
quality for the HVS model studied in section 3.}
\includegraphics[width=0.4\textwidth]{output-7-3-5-1-serp.eps}
~
\includegraphics[width=0.4\textwidth]{output-7-4-5-0-serp.eps}
\end{center}
\begin{center}
\includegraphics[width=0.4\textwidth]{crop-7-3-5-1-serp.eps}
~
\includegraphics[width=0.4\textwidth]{crop-7-4-5-0-serp.eps}
\caption{halftone of \textit{Lena} using serpentine error diffusion
(\textit{left}) and the optimum coefficients
$\frac{1}{16}\{7,4,5,0\}$ (\textit{right}) that improve on the
standard Floyd-Steinberg coefficients in terms of visual quality
for the HVS model used in section 3. The detailed area
(\textit{bottom}) shows fewer structure artifacts in the regions
with low contrast.}
\label{fig:lena7450}
\end{center}
\end{figure}
@@ -418,59 +430,54 @@ L. Velho and J. Gomes,
\textit{Digital halftoning with space-filling curves}.
Computer Graphics (Proceedings of SIGGRAPH 91), 25(4):81--90, 1991

\bibitem[9]{peano}
I.~H. Witten and R.~M. Neal,
\textit{Using peano curves for bilevel display of continuous-tone images}.
IEEE Computer Graphics \& Appl., 2:47--52, 1982

\bibitem[10]{nasanen}
\bibitem[9]{nasanen}
R. Nasanen,
\textit{Visibility of halftone dot textures}.
IEEE Trans. Syst. Man. Cyb., vol. 14, no. 6, pp. 920--924, 1984

\bibitem[11]{allebach}
\bibitem[10]{allebach}
M. Analoui and J.~P. Allebach,
\textit{Model-based halftoning using direct binary search}.
Proc. of SPIE/IS\&T Symp. on Electronic Imaging Science and Tech.,
February 1992, San Jose, CA, pp. 96--108

\bibitem[12]{mcnamara}
\bibitem[11]{mcnamara}
Ann McNamara,
\textit{Visual Perception in Realistic Image Synthesis}.
Computer Graphics Forum, vol. 20, no. 4, pp. 211--224, 2001

\bibitem[13]{bhatt}
\bibitem[12]{bhatt}
Bhatt \textit{et al.},
\textit{Direct Binary Search with Adaptive Search and Swap}.
\url{http://www.ima.umn.edu/2004-2005/MM8.1-10.05/activities/Wu-Chai/halftone.pdf}

\bibitem[14]{4chan}
\bibitem[13]{4chan}
moot,
\url{http://www.4chan.org/}

\bibitem[15]{wong}
\bibitem[14]{wong}
P.~W. Wong and J.~P. Allebach,
\textit{Optimum error-diffusion kernel design}.
Proc. SPIE Vol. 3018, p. 236--242, 1997

\bibitem[16]{ostromoukhov}
\bibitem[15]{ostromoukhov}
Victor Ostromoukhov,
\textit{A Simple and Efficient Error-Diffusion Algorithm}.
in Proceedings of SIGGRAPH 2001, in ACM Computer Graphics, Annual Conference
Series, pp. 567--572, 2001

\bibitem[17]{lsmb}
\bibitem[16]{lsmb}
T.~N. Pappas and D.~L. Neuhoff,
\textit{Least-squares model-based halftoning}.
in Proc. SPIE, Human Vision, Visual Proc., and Digital Display III, San Jose,
CA, Feb. 1992, vol. 1666, pp. 165--176

\bibitem[18]{stability}
\bibitem[17]{stability}
R. Eschbach, Z. Fan, K.~T. Knox and G. Marcu,
\textit{Threshold Modulation and Stability in Error Diffusion}.
in Signal Processing Magazine, IEEE, July 2003, vol. 20, issue 4, pp. 39--50

\bibitem[19]{sullivan}
\bibitem[18]{sullivan}
J. Sullivan, R. Miller and G. Pios,
\textit{Image halftoning using a visual model in error diffusion}.
J. Opt. Soc. Am. A, vol. 10, pp. 1714--1724, Aug. 1993
@@ -478,4 +485,3 @@ J. Opt. Soc. Am. A, vol. 10, pp. 1714--1724, Aug. 1993
\end{thebibliography}

\end{document}


+ 15632
- 15632
2008-displacement/paper/serpopt-histo.eps
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 19
- 16
2008-displacement/paper/serpopt-histo.tex Переглянути файл

@@ -72,7 +72,7 @@
\fi
\fi
\setlength{\unitlength}{0.0500bp}%
\begin{picture}(2590.00,2590.00)%
\begin{picture}(2590.00,2880.00)%
\gplgaddtomacro\gplbacktext{%
}%
\gplgaddtomacro\gplfronttext{%
@@ -385,36 +385,39 @@
\color{black}%
\color{black}%
\color{black}%
\color{black}%
\csname LTb\endcsname%
\put(130,104){\makebox(0,0){\strut{}-0.3}}%
\put(130,435){\makebox(0,0){\strut{}-0.3}}%
\csname LTb\endcsname%
\put(519,104){\makebox(0,0){\strut{}-0.2}}%
\put(519,435){\makebox(0,0){\strut{}-0.2}}%
\csname LTb\endcsname%
\put(907,104){\makebox(0,0){\strut{}-0.1}}%
\put(907,435){\makebox(0,0){\strut{}-0.1}}%
\csname LTb\endcsname%
\put(1295,104){\makebox(0,0){\strut{} 0}}%
\put(1295,435){\makebox(0,0){\strut{} 0}}%
\csname LTb\endcsname%
\put(1683,104){\makebox(0,0){\strut{} 0.1}}%
\put(1683,435){\makebox(0,0){\strut{} 0.1}}%
\csname LTb\endcsname%
\put(2071,104){\makebox(0,0){\strut{} 0.2}}%
\put(2071,435){\makebox(0,0){\strut{} 0.2}}%
\csname LTb\endcsname%
\put(2460,104){\makebox(0,0){\strut{} 0.3}}%
\put(2460,435){\makebox(0,0){\strut{} 0.3}}%
\put(1295,105){\makebox(0,0){\strut{}$dx$}}%
\csname LTb\endcsname%
\put(-42,2460){\makebox(0,0)[r]{\strut{}-0.1}}%
\put(-42,2735){\makebox(0,0)[r]{\strut{}-0.1}}%
\csname LTb\endcsname%
\put(-42,2164){\makebox(0,0)[r]{\strut{} 0}}%
\put(-42,2447){\makebox(0,0)[r]{\strut{} 0}}%
\csname LTb\endcsname%
\put(-42,1868){\makebox(0,0)[r]{\strut{} 0.1}}%
\put(-42,2159){\makebox(0,0)[r]{\strut{} 0.1}}%
\csname LTb\endcsname%
\put(-42,1572){\makebox(0,0)[r]{\strut{} 0.2}}%
\put(-42,1871){\makebox(0,0)[r]{\strut{} 0.2}}%
\csname LTb\endcsname%
\put(-42,1278){\makebox(0,0)[r]{\strut{} 0.3}}%
\put(-42,1585){\makebox(0,0)[r]{\strut{} 0.3}}%
\csname LTb\endcsname%
\put(-42,982){\makebox(0,0)[r]{\strut{} 0.4}}%
\put(-42,1297){\makebox(0,0)[r]{\strut{} 0.4}}%
\csname LTb\endcsname%
\put(-42,686){\makebox(0,0)[r]{\strut{} 0.5}}%
\put(-42,1009){\makebox(0,0)[r]{\strut{} 0.5}}%
\csname LTb\endcsname%
\put(-42,390){\makebox(0,0)[r]{\strut{} 0.6}}%
\put(-42,721){\makebox(0,0)[r]{\strut{} 0.6}}%
\put(-636,1728){\rotatebox{90}{\makebox(0,0){\strut{}$dy$}}}%
}%
\gplbacktext
\put(0,0){\includegraphics{serpopt-histo}}%


Завантаження…
Відмінити
Зберегти