a
    "Df                     @   s   d dl Z d dlZdddZdS )    NFc           	      C   sp  | j dkrd}n| j dks"J d| jd }|du rBtj| dd}t|t}|j|fksbJ |du rxtj| dd}t|t}|j|fksJ t|	 st|	 rt
d t| jj}||k}||  |8  < ||  |7  < tj| jtd	}| j dkrt| }nt| j	dd}d
| |  |  ||  || < tj||< |rh|||fS |S dS )ax  Normalize image.

    Parameters
    ----------
    src: numpy.ndarray, (H, W) or (H, W, C), float
        Input image.
    min_value: float
        Minimum value.
    max_value: float
        Maximum value.
    return_minmax: bool
        Flag to return min_value and max_value.

    Returns
    -------
    dst: numpy.ndarray, float
        Normalized image in [0, 1].

             zsrc ndim must be 2 or 3N)r   r   )Zaxisz"some of min or max values are inf.)dtypeg      ?)ndimshapenpZnanminZ
atleast_1dZastypefloatZnanmaxisinfanywarningswarnZfinfor   epszerosisnannan)	srcZ	min_valueZ	max_valueZreturn_minmaxDr   Zissamedstr    r   ]/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/imgviz/normalize.py	normalize   s6    


 

r   )NNF)r   numpyr   r   r   r   r   r   <module>   s   