PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /etc/ImageMagick-6
Viewing File: /etc/ImageMagick-6/thresholds.xml
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE thresholds [ <!ELEMENT thresholds (threshold)+> <!ATTLIST thresholds xmlns CDATA #FIXED ''> <!ELEMENT threshold (description,levels)> <!ATTLIST threshold xmlns CDATA #FIXED '' alias NMTOKEN #IMPLIED map NMTOKEN #REQUIRED> <!ELEMENT description (#PCDATA)> <!ATTLIST description xmlns CDATA #FIXED ''> <!ELEMENT levels (#PCDATA)> <!ATTLIST levels xmlns CDATA #FIXED '' divisor CDATA #REQUIRED height CDATA #REQUIRED width CDATA #REQUIRED> ]> <!-- Threshold Maps for Ordered Posterized Dither Each "<threshold>" element defines the map name, description, and an array of "levels" used to provide the threshold map for ordered dithering and digital halftoning. The "alias" attribute provides a backward compatible name for this threshold map (pre-dating IM v6.2.9-6), and are deprecated. The description is a english description of what the threshold map achieves and is only used for 'listing' the maps. The map itself is a rectangular array of integers or threshold "levels" of the given "width" and "height" declared within the enclosing <levels> element. That is "width*height" integers or "levels" *must* be provided within each map. Each of the "levels" integer values (each value representing the threshold intensity "level/divisor" at which that pixel is turned on. The "levels" integers given can be any positive integers between "0" and the "divisor", excluding those limits. The "divisor" not only defines the upper limit and threshold divisor for each "level" but also the total number of pseudo-levels the threshold mapping creates and fills with a dither pattern. That is a ordered bitmap dither of a pure greyscale gradient will use a maximum of "divisor" ordered bitmap patterns, including the patterns with all the pixels 'on' and all the pixel 'off'. It may define less patterns than that, but the color channels will be thresholded in units based on "divisor". Alternatively for a multi-level posterization, ImageMagick inserts "divisor-2" dither patterns (as defined by the threshold map) between each of channel color level produced. For example the map "o2x2" has a divisor of 5, which will define 3 bitmap patterns plus the patterns with all pixels 'on' and 'off'. A greyscale gradient will thus have 5 distinct areas. --> <thresholds> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - Minimal Dither and Non-Dither Threshold Maps --> <threshold map="threshold" alias="1x1"> <description>Threshold 1x1 (non-dither)</description> <levels width="1" height="1" divisor="2"> 1 </levels> </threshold> <threshold map="checks" alias="2x1"> <description>Checkerboard 2x1 (dither)</description> <levels width="2" height="2" divisor="3"> 1 2 2 1 </levels> </threshold> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - (dispersed) Ordered Dither Patterns --> <threshold map="o2x2" alias="2x2"> <description>Ordered 2x2 (dispersed)</description> <levels width="2" height="2" divisor="5"> 1 3 4 2 </levels> </threshold> <threshold map="o3x3" alias="3x3"> <description>Ordered 3x3 (dispersed)</description> <levels width="3" height="3" divisor="10"> 3 7 4 6 1 9 2 8 5 </levels> </threshold> <threshold map="o4x4" alias="4x4"> <!-- From "Dithering Algorithms" http://www.efg2.com/Lab/Library/ImageProcessing/DHALF.TXT --> <description>Ordered 4x4 (dispersed)</description> <levels width="4" height="4" divisor="17"> 1 9 3 11 13 5 15 7 4 12 2 10 16 8 14 6 </levels> </threshold> <threshold map="o8x8" alias="8x8"> <!-- Extracted from original 'OrderedDither()' Function --> <description>Ordered 8x8 (dispersed)</description> <levels width="8" height="8" divisor="65"> 1 49 13 61 4 52 16 64 33 17 45 29 36 20 48 32 9 57 5 53 12 60 8 56 41 25 37 21 44 28 40 24 3 51 15 63 2 50 14 62 35 19 47 31 34 18 46 30 11 59 7 55 10 58 6 54 43 27 39 23 42 26 38 22 </levels> </threshold> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - Halftones - Angled 45 degrees Initially added to ImageMagick by Glenn Randers-Pehrson, IM v6.2.8-6, modified to be more symmetrical with intensity by Anthony, IM v6.2.9-7 These patterns initially start as circles, but then form diamonds pattern at the 50% threshold level, before forming negated circles, as it approached the other threshold extreme. --> <threshold map="h4x4a" alias="4x1"> <description>Halftone 4x4 (angled)</description> <levels width="4" height="4" divisor="9"> 4 2 7 5 3 1 8 6 7 5 4 2 8 6 3 1 </levels> </threshold> <threshold map="h6x6a" alias="6x1"> <description>Halftone 6x6 (angled)</description> <levels width="6" height="6" divisor="19"> 14 13 10 8 2 3 16 18 12 7 1 4 15 17 11 9 6 5 8 2 3 14 13 10 7 1 4 16 18 12 9 6 5 15 17 11 </levels> </threshold> <threshold map="h8x8a" alias="8x1"> <description>Halftone 8x8 (angled)</description> <levels width="8" height="8" divisor="33"> 13 7 8 14 17 21 22 18 6 1 3 9 28 31 29 23 5 2 4 10 27 32 30 24 16 12 11 15 20 26 25 19 17 21 22 18 13 7 8 14 28 31 29 23 6 1 3 9 27 32 30 24 5 2 4 10 20 26 25 19 16 12 11 15 </levels> </threshold> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - Halftones - Orthogonally Aligned, or Un-angled Initially added by Anthony Thyssen, IM v6.2.9-5 using techniques from "Dithering & Halftoning" by Gernot Hoffmann http://www.fho-emden.de/~hoffmann/hilb010101.pdf These patterns initially start as circles, but then form square pattern at the 50% threshold level, before forming negated circles, as it approached the other threshold extreme. --> <threshold map="h4x4o"> <description>Halftone 4x4 (orthogonal)</description> <levels width="4" height="4" divisor="17"> 7 13 11 4 12 16 14 8 10 15 6 2 5 9 3 1 </levels> </threshold> <threshold map="h6x6o"> <description>Halftone 6x6 (orthogonal)</description> <levels width="6" height="6" divisor="37"> 7 17 27 14 9 4 21 29 33 31 18 11 24 32 36 34 25 22 19 30 35 28 20 10 8 15 26 16 6 2 5 13 23 12 3 1 </levels> </threshold> <threshold map="h8x8o"> <description>Halftone 8x8 (orthogonal)</description> <levels width="8" height="8" divisor="65"> 7 21 33 43 36 19 9 4 16 27 51 55 49 29 14 11 31 47 57 61 59 45 35 23 41 53 60 64 62 52 40 38 37 44 58 63 56 46 30 22 15 28 48 54 50 26 17 10 8 18 34 42 32 20 6 2 5 13 25 39 24 12 3 1 </levels> </threshold> <threshold map="h16x16o"> <!-- Direct extract from "Dithering & Halftoning" by Gernot Hoffmann. This may need some fine tuning for symmetry of the halftone dots, as it was a mathematically formulated pattern. --> <description>Halftone 16x16 (orthogonal)</description> <levels width="16" height="16" divisor="257"> 4 12 24 44 72 100 136 152 150 134 98 70 42 23 11 3 7 16 32 52 76 104 144 160 158 142 102 74 50 31 15 6 19 27 40 60 92 132 168 180 178 166 130 90 58 39 26 18 36 48 56 80 124 176 188 204 203 187 175 122 79 55 47 35 64 68 84 116 164 200 212 224 223 211 199 162 114 83 67 63 88 96 112 156 192 216 232 240 239 231 214 190 154 111 95 87 108 120 148 184 208 228 244 252 251 243 226 206 182 147 119 107 128 140 172 196 219 235 247 256 255 246 234 218 194 171 139 127 126 138 170 195 220 236 248 253 254 245 233 217 193 169 137 125 106 118 146 183 207 227 242 249 250 241 225 205 181 145 117 105 86 94 110 155 191 215 229 238 237 230 213 189 153 109 93 85 62 66 82 115 163 198 210 221 222 209 197 161 113 81 65 61 34 46 54 78 123 174 186 202 201 185 173 121 77 53 45 33 20 28 37 59 91 131 167 179 177 165 129 89 57 38 25 17 8 13 29 51 75 103 143 159 157 141 101 73 49 30 14 5 1 9 21 43 71 99 135 151 149 133 97 69 41 22 10 2 </levels> </threshold> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - Halftones - Orthogonally Expanding Circle Patterns Added by Glenn Randers-Pehrson, 4 Nov 2010, ImageMagick 6.6.5-6 Rather than producing a diamond 50% threshold pattern, these continue to generate larger (overlapping) circles. They are more like a true halftone pattern formed by covering a surface with either pure white or pure black circular dots. WARNING: true halftone patterns only use true circles even in areas of highly varying intensity. Threshold dither patterns can generate distorted circles in such areas. --> <threshold map="c5x5b" alias="c5x5"> <description>Circles 5x5 (black)</description> <levels width="5" height="5" divisor="26"> 1 21 16 15 4 5 17 20 19 14 6 21 25 24 12 7 18 22 23 11 2 8 9 10 3 </levels> </threshold> <threshold map="c5x5w"> <description>Circles 5x5 (white)</description> <levels width="5" height="5" divisor="26"> 25 21 10 11 22 20 9 6 7 12 19 5 1 2 13 18 8 4 3 14 24 17 16 15 23 </levels> </threshold> <threshold map="c6x6b" alias="c6x6"> <description>Circles 6x6 (black)</description> <levels width="6" height="6" divisor="37"> 1 5 14 13 12 4 6 22 28 27 21 11 15 29 35 34 26 20 16 30 36 33 25 19 7 23 31 32 24 10 2 8 17 18 9 3 </levels> </threshold> <threshold map="c6x6w"> <description>Circles 6x6 (white)</description> <levels width="6" height="6" divisor="37"> 36 32 23 24 25 33 31 15 9 10 16 26 22 8 2 3 11 17 21 7 1 4 12 18 30 14 6 5 13 27 35 29 20 19 28 34 </levels> </threshold> <threshold map="c7x7b" alias="c7x7"> <description>Circles 7x7 (black)</description> <levels width="7" height="7" divisor="50"> 3 9 18 28 17 8 2 10 24 33 39 32 23 7 19 34 44 48 43 31 16 25 40 45 49 47 38 27 20 35 41 46 42 29 15 11 21 36 37 28 22 6 4 12 13 26 14 5 1 </levels> </threshold> <threshold map="c7x7w"> <description>Circles 7x7 (white)</description> <levels width="7" height="7" divisor="50"> 47 41 32 22 33 42 48 40 26 17 11 18 27 43 31 16 6 2 7 19 34 25 10 5 1 3 12 23 30 15 9 4 8 20 35 39 29 14 13 21 28 44 46 38 37 24 36 45 49 </levels> </threshold> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - Special Purpose Dithers --> </thresholds>