+
    Ai	                     .    R t ^ RIt^ RIHt R.tRR ltR# )zb
The arraycrop module contains functions to crop values from the edges of an
n-dimensional array.
N)Integralcropc                ^  a  \         P                  ! S RR7      o \        V\        4      '       d   W..S P                  ,          pM\        V^ ,          \        4      '       ds   \        V4      ^8X  d&   V^ ,          V^ ,          ..S P                  ,          pM\        V4      ^8X  d   V.S P                  ,          pMy\        R\        V4       R24      h\        V4      ^8X  d   V^ ,          .S P                  ,          pM5\        V4      S P                  8X  d   TpM\        R\        V4       R24      h\        ;QJ d     . V 3R l\        V4       4       F  NK  	  5M! V 3R l\        V4       4       4      pV'       d#   \         P                  ! S V,          VRR7      pV# S V,          pV# )a  Crop array `ar` by `crop_width` along each dimension.

Parameters
----------
ar : array-like of rank N
    Input array.
crop_width : {sequence, int}
    Number of values to remove from the edges of each axis.
    ``((before_1, after_1),`` ... ``(before_N, after_N))`` specifies
    unique crop widths at the start and end of each axis.
    ``((before, after),) or (before, after)`` specifies
    a fixed start and end crop for every axis.
    ``(n,)`` or ``n`` for integer ``n`` is a shortcut for
    before = after = ``n`` for all axes.
copy : bool, optional
    If `True`, ensure the returned array is a contiguous copy. Normally,
    a crop operation will return a discontiguous view of the underlying
    input array.
order : {'C', 'F', 'A', 'K'}, optional
    If ``copy==True``, control the memory layout of the copy. See
    ``np.copy``.

Returns
-------
cropped : array
    The cropped array. If ``copy=False`` (default), this is a sliced
    view of the input array.
F)copyz"crop_width has an invalid length: zO
crop_width should be a sequence of N pairs, a single pair, or a single integerc              3   v   <"   T F.  w  pw  r#\        VSP                  V,          V,
          4      x  K0  	  R # 5i)N)sliceshape).0iabars   &   T/var/www/html/photoedit/myenv/lib/python3.14/site-packages/skimage/util/arraycrop.py	<genexpr>crop.<locals>.<genexpr>C   s/     O>NFQ5BHHQK!O,,>Ns   69T)orderr   )	nparray
isinstancer   ndimlen
ValueErrortuple	enumerate)r   
crop_widthr   r   cropsslicescroppeds   f&&&   r   r   r      sf   : 
"5	!B*h'')*RWW4	JqM8	,	,z?a mZ]34rww>E_!L277*E4S_4E F5 6 
 
ZA	A"'')	ZBGG	#0Z0A B1 2
 	
 UOi>NOUUOi>NOOF((2f:U> N V*N    )FK)__doc__numpyr   numbersr   __all__r    r   r   <module>r%      s   
  (<r   