Files
sirh/venv/lib/python3.12/site-packages/PIL/__pycache__/ImageStat.cpython-312.pyc

67 lines
7.4 KiB
Plaintext
Raw Normal View History

2026-04-29 11:52:03 +02:00
<EFBFBD>
<00><><EFBFBD>iw<00><01>H<00>ddlmZddlZddlmZddlmZGd<06>d<07>ZeZy)<08>)<01> annotationsN)<01>cached_property<74>)<01>Imagec<01><><00>eZdZ d d d<02>Zedd<03><04>Zedd<04><04>Zedd<05><04>Zedd<06><04>Zedd<07><04>Z edd<08><04>Z
edd <09><04>Z edd
<EFBFBD><04>Z edd <0B><04>Z y)<11>StatNc<01><00>t|tj<00>r|j|<02>|_n%t|t<00>r||_n d}t |<03><00>t t t|j<00>dz<00><00>|_y)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<73>N) <09>
isinstancer<00> histogram<61>h<>list<73> TypeError<6F>range<67>len<65>bands)<04>self<6C> image_or_list<73>mask<73>msgs <20>J/home/fatima/modif/sirh/venv/lib/python3.12/site-packages/PIL/ImageStat.py<70>__init__z Stat.__init__ sb<00><00>* <16>m<EFBFBD>U<EFBFBD>[<5B>[<5B> 1<>"<22>,<2C>,<2C>T<EFBFBD>2<>D<EFBFBD>F<EFBFBD> <17> <0A>t<EFBFBD> ,<2C>"<22>D<EFBFBD>F<EFBFBD>8<>C<EFBFBD><1B>C<EFBFBD>.<2E> <20><19>%<25><03>D<EFBFBD>F<EFBFBD>F<EFBFBD> <0B>s<EFBFBD> 2<>3<>4<><04>
<EFBFBD>c<01><><00>dd<01>}tdt|j<00>d<03>D<00>cgc]}||j|d<00><00><02>c}Scc}w)au
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<01><><00>d\}}td<02>D] }||s<01> |}ntddd<04>D]}||s<01> |}||fS||fS)N)<02><>rr
r<00><><EFBFBD><EFBFBD><EFBFBD>)r)r <00>res_min<69>res_max<61>is r<00>minmaxzStat.extrema.<locals>.minmaxMso<00><00>%<25> <1C>G<EFBFBD>W<EFBFBD><1A>3<EFBFBD>Z<EFBFBD> <1A><01><1C>Q<EFBFBD><<3C><1F>G<EFBFBD><19> <1A><1B>3<EFBFBD><02>B<EFBFBD>'<27> <1A><01><1C>Q<EFBFBD><<3C><1F>G<EFBFBD><19><1A>G<EFBFBD>#<23> #<23>  <1A><1B>G<EFBFBD>#<23> #rrr
N)r <00> list[int]<5D>returnztuple[int, int])rrr )rr!r s r<00>extremaz Stat.extrema>s=<00><00>
$<24>-2<>!<21>S<EFBFBD><14><16><16>[<5B>#<23>,F<>G<>q<EFBFBD><06>t<EFBFBD>v<EFBFBD>v<EFBFBD>a<EFBFBD>b<EFBFBD>z<EFBFBD>"<22>G<>G<><47>Gs<00>Ac <01><><00>tdt|j<00>d<02>D<00>cgc]}t|j||dz<00><00><02>c}Scc}w)z2Total number of pixels for each band in the image.rr
)rrr <00>sum<75>rr s r<00>countz
Stat.count[s=<00><00>38<33><01>3<EFBFBD>t<EFBFBD>v<EFBFBD>v<EFBFBD>;<3B><03>2L<32>M<>Q<EFBFBD><03>D<EFBFBD>F<EFBFBD>F<EFBFBD>1<EFBFBD>q<EFBFBD>3<EFBFBD>w<EFBFBD>'<27>(<28>M<>M<><4D>Ms<00>"Ac<01><><00>g}tdt|j<00>d<02>D]=}d}td<02>D]}|||j||zzz }<03>|j|<03><00>?|S)z-Sum of all pixels for each band in the image.rr
<00>)rrr <00>append)r<00>vr <00> layer_sum<75>js rr&zStat.sum`so<00><00> <0F><01><16>q<EFBFBD>#<23>d<EFBFBD>f<EFBFBD>f<EFBFBD>+<2B>s<EFBFBD>+<2B> <20>A<EFBFBD><1B>I<EFBFBD><1A>3<EFBFBD>Z<EFBFBD> /<2F><01><19>Q<EFBFBD><14><16><16><01>A<EFBFBD><05><1D>.<2E>.<2E> <09> /<2F> <0A>H<EFBFBD>H<EFBFBD>Y<EFBFBD> <1F>  <20>
<11>rc <01><><00>g}tdt|j<00>d<02>D]I}d}td<02>D]&}||dzt|j||z<00>zz }<03>(|j |<03><00>K|S)z5Squared sum of all pixels for each band in the image.rr
r*<00>)rrr <00>floatr+)rr,r <00>sum2r.s rr2z Stat.sum2lsw<00><00> <0F><01><16>q<EFBFBD>#<23>d<EFBFBD>f<EFBFBD>f<EFBFBD>+<2B>s<EFBFBD>+<2B> <1B>A<EFBFBD><16>D<EFBFBD><1A>3<EFBFBD>Z<EFBFBD> 6<><01><14><11>A<EFBFBD><14><15>t<EFBFBD>v<EFBFBD>v<EFBFBD>a<EFBFBD>!<21>e<EFBFBD>}<7D>!5<>5<>5<><04> 6<> <0A>H<EFBFBD>H<EFBFBD>T<EFBFBD>N<EFBFBD>  <1B>
<11>rc<01><><00>|jD<00>cgc]2}|j|r|j||j|z nd<01><02>4c}Scc}w)zAAverage (arithmetic mean) pixel level for each band in the image.r)rr(r&r's r<00>meanz Stat.meanxsB<00><00>NR<01>Z<EFBFBD>Z<EFBFBD>X<><01>t<EFBFBD>z<EFBFBD>z<EFBFBD>!<21>}<7D><04><08><08><11> <0B>d<EFBFBD>j<EFBFBD>j<EFBFBD><11>m<EFBFBD>+<2B>!<21>C<>X<>X<><58>Xs<00>7A c<01><><00>g}|jD]X}d}|j|dz}|dz}td<03>D]}||j||zz}||kDs<01>n|j <06><00>Z|S)z.Median pixel level for each band in the image.rr0r
)rr(rr r+)rr,r <00>s<>half<6C>br.s r<00>medianz Stat.median}s<><00><00> <0F><01><15><1A><1A> <18>A<EFBFBD><11>A<EFBFBD><17>:<3A>:<3A>a<EFBFBD>=<3D>A<EFBFBD>%<25>D<EFBFBD><11>C<EFBFBD><07>A<EFBFBD><1A>3<EFBFBD>Z<EFBFBD> <1A><01><15><04><06><06>q<EFBFBD>1<EFBFBD>u<EFBFBD> <0A>%<25><01><14>t<EFBFBD>8<EFBFBD><19> <1A> <0E>H<EFBFBD>H<EFBFBD>Q<EFBFBD>K<EFBFBD> <18><11>rc<01><><00>|jD<00>cgc]E}|j|r2tj|j||j|z <00>nd<01><02>Gc}Scc}w)z2RMS (root-mean-square) for each band in the image.r)rr(<00>math<74>sqrtr2r's r<00>rmszStat.rms<6D>sU<00><00>
<1A>Z<EFBFBD>Z<EFBFBD>
<EFBFBD><11>8<<3C>z<EFBFBD>z<EFBFBD>!<21>}<7D>D<EFBFBD>I<EFBFBD>I<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD><01>l<EFBFBD>T<EFBFBD>Z<EFBFBD>Z<EFBFBD><01>]<5D>2<> 3<>!<21> K<>
<EFBFBD>
<EFBFBD><EFBFBD>
s<00>A
Ac<01><><00>|jD<00>cgc]U}|j|rB|j||j|dz|j|z z
|j|z nd<02><02>Wc}Scc}w)z$Variance for each band in the image.g@r)rr(r2r&r's r<00>varzStat.var<61>st<00><00><1A>Z<EFBFBD>Z<EFBFBD> 
<EFBFBD> <12><18>:<3A>:<3A>a<EFBFBD>=<3D><16><19><19>1<EFBFBD><1C><14><18><18>!<21><1B><03>!3<>t<EFBFBD>z<EFBFBD>z<EFBFBD>!<21>}<7D> D<>D<><04>
<EFBFBD>
<EFBFBD>ST<EFBFBD> <0A>U<><16><17>
<EFBFBD>
<EFBFBD><EFBFBD>
s<00>AA,c<01><><00>|jD<00>cgc]$}tj|j|<00><00><02>&c}Scc}w)z.Standard deviation for each band in the image.)rr;r<r?r's r<00>stddevz Stat.stddev<65>s-<00><00>15<31>
<EFBFBD>
<EFBFBD>;<3B>1<EFBFBD><04> <09> <09>$<24>(<28>(<28>1<EFBFBD>+<2B>&<26>;<3B>;<3B><>;s<00>);)N)rzImage.Image | list[int]rzImage.Image | Noner#<00>None)r#zlist[tuple[int, int]])r#r")r#z list[float])<0E>__name__<5F>
__module__<EFBFBD> __qualname__rrr$r(r&r2r4r9r=r?rA<00>rrrrs<><00><00>QU<51>5<>4<>5<><N<>5<> <0A>5<><<15>H<01><15>H<01>8<15>N<01><15>N<01><15> <11><15> <11><15> <11><15> <11><15>Y<01><15>Y<01><15> <11><15> <11><15>
<EFBFBD><15>
<EFBFBD><15> 
<EFBFBD><15> 
<EFBFBD><15><<3C><15><rr) <09>
__future__rr;<00> functoolsr<00>rr<00>GlobalrFrr<00><module>rKs'<00><01>.#<23> <0B>%<25><13>E<<3C>E<<3C>P
<0E>r