Ë
    îì�i
  ã                   ó   — d gZ dd„Zy)Úslice_along_axesNc           	      óX  ‡ — |s‰ S |€@t        t        ‰ j                  «      «      }t        |«      t        |«      k  r-t	        d«      ‚t        |«      t        |«      k7  rt	        d«      ‚t        |«      t        t        |«      «      k7  rt	        d«      ‚t        ˆ fd„|D «       «      st	        d|› d‰ j                  › d�«      ‚t        d«      g‰ j                  z  }t        ||«      D ]‘  \  \  }}}|d	k  r|‰ j                  |   z  }|d	k  r|‰ j                  |   z  }||kD  rt	        d
|› d|› d�«      ‚|d	k  s|‰ j                  |   kD  rt	        d
|› d|› d‰ j                  › �«      ‚t        ||«      ||<   Œ“ ‰ t        |«         }|r|j                  �|j                  «       }|S )ay  Slice an image along given axes.

    Parameters
    ----------
    image : ndarray
        Input image.
    slices : list of 2-tuple (a, b) where a < b.
        For each axis in `axes`, a corresponding 2-tuple
        ``(min_val, max_val)`` to slice with (as with Python slices,
        ``max_val`` is non-inclusive).
    axes : int or tuple, optional
        Axes corresponding to the limits given in `slices`. If None,
        axes are in ascending order, up to the length of `slices`.
    copy : bool, optional
        If True, ensure that the output is not a view of `image`.

    Returns
    -------
    out : ndarray
        The region of `image` corresponding to the given slices and axes.

    Examples
    --------
    >>> from skimage import data
    >>> img = data.camera()
    >>> img.shape
    (512, 512)
    >>> cropped_img = slice_along_axes(img, [(0, 100)])
    >>> cropped_img.shape
    (100, 512)
    >>> cropped_img = slice_along_axes(img, [(0, 100), (0, 100)])
    >>> cropped_img.shape
    (100, 100)
    >>> cropped_img = slice_along_axes(img, [(0, 100), (0, 75)], axes=[1, 0])
    >>> cropped_img.shape
    (75, 100)
    Nz!More `slices` than available axesz*`axes` and `slices` must have equal lengthz`axes` must be uniquec              3   óJ   •K  — | ]  }|d k\  xr |‰j                   k  –— Œ y­w)é    N)Úndim)Ú.0ÚaÚimages     €úƒ/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/lib/python3.12/site-packages/skimage/util/_slice_along_axes.pyú	<genexpr>z#slice_along_axes.<locals>.<genexpr>:   s%   øè ø€ Ò7¨Qˆq�A‰vÒ(˜!˜eŸj™j™.Ó(Ñ7ùs   ƒ #zaxes z out of range; image has only z dimensionsr   zInvalid slice (z, z'): must be ordered `(min_val, max_val)`z) for image with dimensions )ÚlistÚranger   ÚlenÚ
ValueErrorÚsetÚallÚsliceÚzipÚshapeÚtupleÚbaseÚcopy)	r	   ÚslicesÚaxesr   Ú_slicesr   ÚbÚaxÚimage_slices	   `        r
   r   r      sÈ  ø€ ñP Øˆà€|Ü”E˜%Ÿ*™*Ó%Ó&ˆÜˆt‹9”s˜6“{Ò"ÜÐ@ÓAÐAä	ˆT‹”c˜&“kÒ	!ÜÐEÓFÐFä
ˆ4ƒy”Cœ˜D›	“NÒ"ÜÐ0Ó1Ð1äÓ7°$Ô7Ô7ÜØ�D�6Ð7¸E¿J¹J¸<À{ÐSó
ð 	
ô
 	ˆd‹ðà�
‰
ñ€Gô ˜& $Ó'ò "‰
‰ˆˆA�ØˆqŠ5Ø�—‘˜R‘Ñ ˆAØˆqŠ5Ø�—‘˜R‘Ñ ˆAØˆqŠ5ÜØ! !  B q cÐ)PÐQóð ð ˆqŠ5�A˜Ÿ™ B™Ò'ÜØ! !  B q cÐ)EÀeÇkÁkÀ]ÐSóð ô ˜A˜q“kˆ�Šð"ð œ˜g›Ñ'€Ká�× Ñ Ð,Ø!×&Ñ&Ó(ˆàÐó    )NF)Ú__all__r   © r   r
   ú<module>r!      s   ðØÐ
€ôRr   