
    9i	                         S SK rSSKJr  S rg)    N   )drawc                     [         R                  " U5      nUR                  u  p#[        R                  " X#U 5      u  pE[         R
                  " U [        S9nSXdU4'   U$ )aA  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/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/draw/_polygon2mask.pypolygon2maskr      sZ    z jj!G+299('+||k($O 88Kt,D-1D/	)*K    )numpyr    r   r    r   r   <module>r      s     Dr   