
    0-Ph	                          d dl ZddlmZ d ZdS )    N   )drawc                     t          j        |          }|j        \  }}t          j        |||           \  }}t          j        | t                    }d|||f<   |S )a  Create a binary mask from a polygon.

    Parameters
    ----------
    image_shape : tuple of size 2
        The shape of the mask.
    polygon : (N, 2) array_like
        The polygon coordinates of shape (N, 2) where N is
        the number of points. The coordinates are (row, column).

    Returns
    -------
    mask : 2-D ndarray of type 'bool'
        The binary mask that corresponds to the input polygon.

    See Also
    --------
    polygon:
        Generate coordinates of pixels inside a polygon.

    Notes
    -----
    This function does not do any border checking. Parts of the polygon that
    are outside the coordinate space defined by `image_shape` are not drawn.

    Examples
    --------
    >>> import skimage as ski
    >>> image_shape = (10, 10)
    >>> polygon = np.array([[1, 1], [2, 7], [8, 4]])
    >>> mask = ski.draw.polygon2mask(image_shape, polygon)
    >>> mask.astype(int)
    array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
           [0, 0, 1, 1, 1, 1, 1, 0, 0, 0],
           [0, 0, 0, 1, 1, 1, 1, 0, 0, 0],
           [0, 0, 0, 1, 1, 1, 0, 0, 0, 0],
           [0, 0, 0, 0, 1, 1, 0, 0, 0, 0],
           [0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])

    If vertices / points of the `polygon` are outside the coordinate space
    defined by `image_shape`, only a part (or none at all) of the polygon is
    drawn in the mask.

    >>> offset = np.array([[2, -4]])
    >>> ski.draw.polygon2mask(image_shape, polygon - offset).astype(int)
    array([[0, 0, 0, 0, 0, 0, 1, 1, 1, 1],
           [0, 0, 0, 0, 0, 0, 1, 1, 1, 1],
           [0, 0, 0, 0, 0, 0, 0, 1, 1, 1],
           [0, 0, 0, 0, 0, 0, 0, 1, 1, 1],
           [0, 0, 0, 0, 0, 0, 0, 0, 1, 1],
           [0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
    )dtypeT)npasarrayTr   polygonzerosbool)image_shaper
   vertex_row_coordsvertex_col_coordsfill_row_coordsfill_col_coordsmasks          Z/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/skimage/draw/_polygon2mask.pypolygon2maskr      sj    z j!!G+29(('+|,k( ($O_ 8Kt,,,D-1D/	)*K    )numpyr    r   r    r   r   <module>r      sA             D D D D Dr   