a
    "Df                     @   sL   d dl Z d dlZd dlZddlmZ G dd deZdddejfddZdS )	    N   )	normalizec                   @   s@   e Zd ZdZdddZedd Zedd	 Zej	fd
dZ
dS )	Depth2RGBa  Convert depth array to rgb.

    Parameters
    ----------
    min_value: float, optional
        Minimum value for colorizing.
    max_value: float, optional
        Maximum value for colorizing.
    colormap: str, optional
        Colormap, default: 'jet'.

    Njetc                 C   s   || _ || _|| _d S )N)
_min_value
_max_value	_colormap)self	min_value	max_valuecolormap r   Y/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/imgviz/depth.py__init__   s    zDepth2RGB.__init__c                 C   s   | j S )zMinimum value of depth.)r   r	   r   r   r   r
      s    zDepth2RGB.min_valuec                 C   s   | j S )zMaximum value of depth.)r   r   r   r   r   r   "   s    zDepth2RGB.max_valuec                 C   s   |j dksJ dt|jtjs*J dt|| j| jdd\}| _| _t|}d||< t	| j
trttdr~tj| j
 }qtj| j
}n| j
}||dddddd	f }d
||< |tjkr|d  tj}nt|tjsJ ||}|S )aV  Convert depth array to rgb.

        Parameters
        ----------
        depth: numpy.ndarray, (H, W), float
            Depth image.
        dtype: numpy.dtype
            Dtype of output image. default: np.uint8

        Returns
        -------
        rgb: numpy.ndarray, (H, W, 3), np.uint8
            Output colorized image.

           z!depth image must be 2 dimensionalzdepth dtype must be floatT)r
   r   Zreturn_minmaxr   	colormapsN   )r   r   r      )ndimnpZ
issubdtypedtypeZfloatingr   r   r   isnan
isinstancer   strhasattr
matplotlibr   cmZget_cmapuint8roundZastype)r	   depthr   
normalizedr   Zcolormap_funcZrgbr   r   r   __call__'   s,    



zDepth2RGB.__call__)NNr   )__name__
__module____qualname____doc__r   propertyr
   r   r   r   r"   r   r   r   r   r   	   s   


r   r   c                 C   s   t |||| |S )a  Convert depth to rgb.

    Parameters
    ----------
    depth: numpy.ndarray, (H, W), float
        Depth image.
    dtype: numpy.dtype
        Dtype of output image. default: np.uint8
    min_value: float, optional
        Minimum value for colorizing.
    max_value: float, optional
        Maximum value for colorizing.
    colormap: str, optional
        Colormap, default: 'jet'.

    Returns
    -------
    rgb: numpy.ndarray, (H, W, 3), np.uint8
        Output colorized image.

    )r   )r    r
   r   r   r   r   r   r   	depth2rgbW   s    r(   )	typingr   numpyr   r   objectr   r   r(   r   r   r   r   <module>   s   P