+
    ÂHàjƒ  ã                  óP   € ^ RI Ht R0t^ RIt^ RIHt ^RIHt  ! R R4      t]t	R# )é    )ÚannotationsÚmathN)Úcached_property)ÚImagec                  óì   € ] tR t^!tRR R llt]R R l4       t]R R l4       t]R R	 l4       t]R
 R l4       t	]R R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       tRtR# )ÚStatNc               ó$   € V ^8„  d   QhRRRRRR/# )é   Úimage_or_listzImage.Image | list[int]ÚmaskzImage.Image | NoneÚreturnÚNone© )Úformats   "Ú�/home/ubuntu/.hermes/installs/5f0a1ff4045d044e/environments/50f6b671e3f94b538e344231dfcb664f/venv/lib/python3.14/site-packages/PIL/ImageStat.pyÚ__annotate__ÚStat.__annotate__"   s$   € ÷ 5ñ 5Ø4ð5Ø<Nð5à	ñ5ó    c                ó.  € \        V\        P                  4      '       d   VP                  V4      V n        M*\        V\        4      '       d   Wn        MRp\        V4      h\	        \        \        V P                  4      R,          4      4      V n        R# )a¢  
Calculate statistics for the given image. If a mask is included,
only the regions covered by that mask are included in the
statistics. You can also pass in a previously calculated histogram.

:param image: A PIL image, or a precalculated histogram.

    .. note::

        For a PIL image, calculations rely on the
        :py:meth:`~PIL.Image.Image.histogram` method. The pixel counts are
        grouped into 256 bins, even if the image has more than 8 bits per
        channel. So ``I`` and ``F`` mode images have a maximum ``mean``,
        ``median`` and ``rms`` of 255, and cannot have an ``extrema`` maximum
        of more than 255.

:param mask: An optional mask.
z$first argument must be image or listé   N)	Ú
isinstancer   Ú	histogramÚhÚlistÚ	TypeErrorÚrangeÚlenÚbands)Úselfr   r   Úmsgs   &&& r   Ú__init__ÚStat.__init__"   sf   € ô* �m¤U§[¡[×1Ò1Ø"×,Ñ,¨TÓ2ˆD�FÜ˜¤t×,Ò,Ø"�Fà8ˆCÜ˜C“.Ð Üœ%¤ D§F¡F£¨sÕ 2Ó3Ó4ˆŽ
r   c               ó   € V ^8„  d   QhRR/# )r
   r   zlist[tuple[int, int]]r   )r   s   "r   r   r   A   s   € ÷ Hñ HÐ.ñ Hr   c                óœ   € R R lp\        ^ \        V P                  4      R4       Uu. uF  q!! V P                  VR 4      NK  	  up# u upi )a%  
Min/max values for each band in the image.

.. note::
    This relies on the :py:meth:`~PIL.Image.Image.histogram` method, and
    simply returns the low and high bins used. This is correct for
    images with 8 bits per channel, but fails for other modes such as
    ``I`` or ``F``. Instead, use :py:meth:`~PIL.Image.Image.getextrema` to
    return per-band extrema for the image. This is more correct and
    efficient because, for non-8-bit modes, the histogram method uses
    :py:meth:`~PIL.Image.Image.getextrema` to determine the bins used.
c               ó    € V ^8„  d   QhRRRR/# )r
   r   ú	list[int]r   ztuple[int, int]r   )r   s   "r   r   Ú"Stat.extrema.<locals>.__annotate__O   s   € ÷ 
	$ñ 
	$˜ið 
	$¨Oñ 
	$r   c                ó¦   € ^ÿ^ r!\        R4       F  pW,          '       g   K  Tp M	  \        ^ÿRR4       F  pW,          '       g   K  Tp W3# 	  W3# )éÿ   r   éÿÿÿÿ)r   )r   Úres_minÚres_maxÚis   &   r   ÚminmaxÚStat.extrema.<locals>.minmaxO   s^   € Ø" A�WÜ˜3–Z�Ø—<–<Ø�GÙñ  ô ˜3  BÖ'�Ø—<–<Ø�GØØÐ#Ð#ñ	 (ð Ð#Ð#r   r   N)r   r   r   )r   r.   r-   s   &  r   ÚextremaÚStat.extrema@   sC   € õ
	$ô -2°!´S¸¿¹³[À#Ô,FÓGÑ,F q��t—v‘v˜a˜b�zÖ"Ñ,FÑGÐGùÒGs   ©A	c               ó   € V ^8„  d   QhRR/# ©r
   r   r&   r   )r   s   "r   r   r   ^   s   € ÷ Nñ N�yñ Nr   c           	     ó¤   € \        ^ \        V P                  4      R4       Uu. uF!  p\        V P                  WR,            4      NK#  	  up# u upi )z2Total number of pixels for each band in the image.r   )r   r   r   Úsum©r   r-   s   & r   ÚcountÚ
Stat.count]   sA   € ô 38¸¼3¸t¿v¹v»;ÈÔ2LÓMÑ2L¨Q”�D—F‘F˜1 3�wÐ'Ö(Ñ2LÑMÐMùÒMs   £'Ac               ó   € V ^8„  d   QhRR/# r3   r   )r   s   "r   r   r   c   s   € ÷ 	ñ 	�Yñ 	r   c                óî   € . p\        ^ \        V P                  4      R4       FN  p^ p\        R4       F)  pW4V P                  W$,           ,          ,          ,          pK+  	  VP                  V4       KP  	  V# )z-Sum of all pixels for each band in the image.r   ©r   r   r   Úappend)r   Úvr-   Ú	layer_sumÚjs   &    r   r5   ÚStat.sumb   sa   € ð ˆÜ�qœ#˜dŸf™f›+ sÖ+ˆAØˆIÜ˜3–Z�Ø §¡¨­¥Õ.Õ.’	ñ  à�H‰H�YÖñ	 ,ð
 ˆr   c               ó   € V ^8„  d   QhRR/# r3   r   )r   s   "r   r   r   o   s   € ÷ 	ñ 	�iñ 	r   c                óü   € . p\        ^ \        V P                  4      R4       FU  p^ p\        R4       F0  pW4^,          V P                  W$,           ,          ,          ,          pK2  	  VP                  V4       KW  	  V# )z5Squared sum of all pixels for each band in the image.r   r;   )r   r=   r-   Úsum2r?   s   &    r   rC   Ú	Stat.sum2n   sd   € ð ˆÜ�qœ#˜dŸf™f›+ sÖ+ˆAØˆDÜ˜3–Z�Ø˜A� §¡¨­¥Õ.Õ.’ñ  à�H‰H�TŽNñ	 ,ð
 ˆr   c               ó   € V ^8„  d   QhRR/# ©r
   r   zlist[float]r   )r   s   "r   r   r   {   s   € ÷ Yñ Y�kñ Yr   c                óÊ   € V P                    Uu. uFH  qP                  V,          '       d,   V P                  V,          V P                  V,          ,          M^ NKJ  	  up# u upi )zAAverage (arithmetic mean) pixel level for each band in the image.)r   r7   r5   r6   s   & r   ÚmeanÚ	Stat.meanz   sF   € ð NRÏZÊZÓXÉZÈ¯z©z¸!¯}¬}�—‘˜•˜dŸj™j¨�mÖ+À!ÒCÉZÑXÐXùÒXs   �AA c               ó   € V ^8„  d   QhRR/# r3   r   )r   s   "r   r   r   €   s   € ÷ ñ ˜	ñ r   c                ó  € . pV P                    Fr  p^ pV P                  V,          ^,          pVR,          p\        R4       F*  pW0P                  WV,           ,          ,           pW48”  g   K*   M	  VP	                  X4       Kt  	  V# )z.Median pixel level for each band in the image.r   )r   r7   r   r   r<   )r   r=   r-   ÚsÚhalfÚbr?   s   &      r   ÚmedianÚStat.median   ss   € ð ˆØ—”ˆAØˆAØ—:‘:˜a•= AÕ%ˆDØ�C•ˆAÜ˜3–Z�ØŸ™˜q�u�Õ%�Ø–8Ùñ  ð �H‰H�QŽKñ ð ˆr   c               ó   € V ^8„  d   QhRR/# rF   r   )r   s   "r   r   r   �   s   € ÷ 
ñ 
�[ñ 
r   c                óô   € V P                    Uu. uF]  pV P                  V,          '       d@   \        P                  ! V P                  V,          V P                  V,          ,          4      M^ NK_  	  up# u upi )z2RMS (root-mean-square) for each band in the image.)r   r7   r   ÚsqrtrC   r6   s   & r   ÚrmsÚStat.rms�   s\   € ð
 —Z’Zó
á�ð 8<·z±zÀ!·}´}ŒD�IŠI�d—i‘i •l T§Z¡Z°¥]Õ2Ô3È!ÒKÙñ
ð 	
ùò 
s   �A5­AA5c               ó   € V ^8„  d   QhRR/# rF   r   )r   s   "r   r   r   ˜   s   € ÷ 	
ñ 	
�[ñ 	
r   c                ó:  € V P                    Uu. uF€  pV P                  V,          '       dc   V P                  V,          V P                  V,          ^,          V P                  V,          ,          ,
          V P                  V,          ,          M^ NK‚  	  up# u upi )z$Variance for each band in the image.)r   r7   rC   r5   r6   s   & r   ÚvarÚStat.var—   s}   € ð —Z’Zó
ñ  �ð —:‘:˜a—=”=ð —‘˜1• §¡¨!¥°Õ!1°T·Z±ZÀµ]Õ BÕBÀdÇjÁjÐQRÅmÖSàòñ  ñ
ð 	
ùò 
s   �B­A(Bc               ó   € V ^8„  d   QhRR/# rF   r   )r   s   "r   r   r   ¤   s   € ÷ <ñ <˜ñ <r   c                óŽ   € V P                    Uu. uF*  p\        P                  ! V P                  V,          4      NK,  	  up# u upi )z.Standard deviation for each band in the image.)r   r   rS   rX   r6   s   & r   ÚstddevÚStat.stddev£   s1   € ð 15·
²
Ó;±
¨1”—	’	˜$Ÿ(™( 1�+Ö&±
Ñ;Ð;ùÒ;s   �0A)r   r   )N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r!   r   r0   r7   r5   rC   rH   rO   rT   rX   r\   Ú__static_attributes__r   r   r   r   r   !   sÁ   † ÷5ð< ôHó ðHð8 ôNó ðNð ô	ó ð	ð ô	ó ð	ð ôYó ðYð ôó ðð ô
ó ð
ð ô	
ó ð	
ð ô<ó ô<r   r   )
Ú
__future__r   Ú__lazy_modules__r   Ú	functoolsr   Ú r   r   ÚGlobalr   r   r   Ú<module>rh      s/   ðõ. #à�8Ð ã Ý %å ÷E<ñ E<ðP 
‚r   