3 }úÿ\6ã@s0ddlZddlZddlZGdd„deƒZeZdS)éNc@sfeZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dS)ÚStatNc Csly |r|j|ƒ|_n |jƒ|_Wntk r:||_YnXt|jtƒsPtdƒ‚ttt|jƒdƒƒ|_dS)Nz$first argument must be image or listé) Ú histogramÚhÚAttributeErrorÚ isinstanceÚlistÚ TypeErrorÚrangeÚlenÚbands)ÚselfZ image_or_listÚmask©rúe/private/var/folders/pf/wv4htv3x0qs2c2mp0dnn0kchsvlck3/T/pip-install-i584jbuk/Pillow/PIL/ImageStat.pyÚ__init__s  z Stat.__init__cCs8|dd…dkrt|ƒ‚t|d|ƒƒ}t|||ƒ|S)zCalculate missing attributeNéÚ_get)rÚgetattrÚsetattr)r ÚidÚvrrrÚ __getattr__+s  zStat.__getattr__cCsDdd„}g}x2tdt|jƒdƒD]}|j||j|d…ƒƒq W|S)z-Get min/max values for each band in the imagecSs>d}d}x,tdƒD] }||rt||ƒ}t||ƒ}qW||fS)Néÿrr)r ÚminÚmax)rÚnÚxÚirrrÚminmax7s z Stat._getextrema..minmaxrrN)r r rÚappend)r rrrrrrÚ _getextrema4s  zStat._getextremacCsFg}x|jD]4}|j|}|j|j||j|d||ƒq W|S)zGet variance for each layerg@)r r.r r+r-)r rrrrrrÚ_getvar‚s   *z Stat._getvarcCs.g}x$|jD]}|jtj|j|ƒƒq W|S)z%Get standard deviation for each layer)r r r3r4Úvar)r rrrrrÚ _getstddev‹s zStat._getstddev)N)Ú__name__Ú __module__Ú __qualname__rrr!r&r(r,r/r2r5r6r8rrrrrs     r)r3r$r"ÚobjectrÚGlobalrrrrÚsw