a
    "Df                     @   s"   d dl ZddlmZ d	ddZdS )
    N   )resizeFlinearcenterc                 C   s  | j dd |dd kr<|r8| tj|dd tdfS | S t|| jkr^t|| j d g }tj|| jd}|r||ddddf< | j dd \}}d|d  | d|d  |  }	}
t	|	|
}t
t|| t
t||  }}t| |||d} d\}}| j dd \}}|dd \}}|d	krX||k r@|| d }||k r|| d }nR|d
krld}d}n>|dkr||k r|| }||k r|| }ntd|| |||| ||| f< |rtj|dd td}d|||| ||| f< ||fS |S dS )aP  Centerize image for specified image size

    Parameters
    ----------
    src: numpy.ndarray
        Image to centerize
    shape: tuple of int
        Image shape (height, width) or (height, width, channel)
    cval: int or float or numpy.ndarray
        Color to be filled in the blank.
    return_mask: numpy.ndarray
        Mask for centerized image.
    interpolation: str
        Interpolation method (default: 'linear').
    loc: str
        Location of image ('center', 'lt', 'rb'). (default: 'center')

    Returns
    -------
    dst: numpy.ndarray
        Centerized image.

    N   )dtypeg      ?r   r   )heightwidthinterpolation)r   r   r   ltrbzUnsupported loc: {}T)shapenpZonesboollenndimlistzerosr   minintroundr   
ValueErrorformat)srcr   cvalZreturn_maskr
   locdstZsrc_hZsrc_wZscale_hZscale_wZscaleZdst_hZdst_wphpwhwmask r"   ]/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/imgviz/centerize.py	centerize   sJ    "
"







r$   )NFr   r   )numpyr   r   r$   r"   r"   r"   r#   <module>   s       