File: //home/arjun/projects/env/lib/python3.10/site-packages/PIL/__pycache__/ImageStat.cpython-310.pyc
o
weT � @ s. d dl Z d dlZd dlZG dd� d�ZeZdS )� Nc @ sf e Zd Zddd�Zdd� Zdd� Zdd � Zd
d� Zdd
� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dS )�StatNc C sn z|r
|� |�| _n|� � | _W n ty || _Y nw t| jt�s)d}t|��ttt| j�d ��| _d S )Nz$first argument must be image or list� ) � histogram�h�AttributeError�
isinstance�list� TypeError�range�len�bands)�self�
image_or_list�mask�msg� r �F/home/arjun/projects/env/lib/python3.10/site-packages/PIL/ImageStat.py�__init__ s
�
�z
Stat.__init__c C s8 |dd� dkrt |��t| d| �� }t| ||� |S )zCalculate missing attributeN� �_get)r �getattr�setattr)r
�id�vr r r �__getattr__+ s
zStat.__getattr__c C s@ dd� }g }t dt| j�d�D ]}|�|| j|d� �� q|S )z-Get min/max values for each band in the imagec S s: d}d}t d�D ]}| | rt||�}t||�}q||fS )N� r r )r
�min�max)r �n�x�ir r r �minmax7 s
�z Stat._getextrema.<locals>.minmaxr r N�r
r r �append)r
r! r r r r r �_getextrema4 s
zStat._getextremac
C sB g }t dt| j�d�D ]}|�t�tj| j||d � �� q|S )z(Get total number of pixels in each layerr r )r
r r r# � functools�reduce�operator�add�r
r r r r r � _getcountE s $zStat._getcountc C sR g }t dt| j�d�D ]}d}t d�D ]
}||| j|| 7 }q|�|� q|S )z#Get sum of all pixels in each layerr r � r"