o
    oi	                     @  s   d dl mZ d dlmZ d dlmZ d dlmZ eddG dd dZG d	d
 d
eZ	eddG dd dZ
G dd deZeddG dd dZdS )    )annotations)	dataclass)Enum)TensorT)frozenc                   @  s"   e Zd ZU dZded< ded< dS )	ImageSizezData class to represent image shape.

    Args:
        height: image height.
        width: image width.

    Example:
        >>> size = ImageSize(3, 4)
        >>> size.height
        3
        >>> size.width
        4

    zint | TensorheightwidthN__name__
__module____qualname____doc____annotations__ r   r   E/home/ubuntu/.local/lib/python3.10/site-packages/kornia/image/base.pyr         
 r   c                   @  s    e Zd ZdZdZdZdZdZdS )
ColorSpacez1Enum that represents the color space of an image.r            N)r   r   r   r   UNKNOWNGRAYRGBBGRr   r   r   r   r   /   s    r   c                   @  s"   e Zd ZU dZded< ded< dS )PixelFormataQ  Data class to represent the pixel format of an image.

    Args:
        color_space: color space.
        bit_depth: the number of bits per channel.

    Example:
        >>> pixel_format = PixelFormat(ColorSpace.RGB, 8)
        >>> pixel_format.color_space
        <ColorSpace.RGB: 2>
        >>> pixel_format.bit_depth
        8

    r   color_spaceint	bit_depthNr
   r   r   r   r   r   8   r   r   c                   @  s   e Zd ZdZdZdZdS )ChannelsOrderz4Enum that represents the channels order of an image.r   r   N)r   r   r   r   CHANNELS_FIRSTCHANNELS_LASTr   r   r   r   r   M   s    r   c                   @  s*   e Zd ZU dZded< ded< ded< dS )	ImageLayouta  Data class to represent the layout of an image.

    Args:
        image_size: image size.
        channels: number of channels.
        channels_order: channels order.

    Example:
        >>> layout = ImageLayout(ImageSize(3, 4), 3, ChannelsOrder.CHANNELS_LAST)
        >>> layout.image_size
        ImageSize(height=3, width=4)
        >>> layout.channels
        3
        >>> layout.channels_order
        <ChannelsOrder.CHANNELS_LAST: 1>

    r   
image_sizer   channelsr   channels_orderNr
   r   r   r   r   r"   T   s
   
 r"   N)
__future__r   dataclassesr   enumr   kornia.corer   r   r   r   r   r"   r   r   r   r   <module>   s   	