
    9i =                     j   S SK r S SKrS SKrS SKrS SKJr  S SKJrJ	r	J
r
JrJrJrJrJr  \R                   \R"                  /r\" \S5      (       a  \\R(                  /-  rSr S SKrSrS rS r\R4                  R7                  S	\\\R<                  \R>                  \ \RB                  \RD                  /5      \R4                  R7                  S
/ SQ5      S 5       5       r#\R4                  R7                  S	\\RH                  \RB                  \RD                  \R<                  \R>                  \RJ                  \RL                  \RN                  \RP                  \RR                  \RT                  /5      S 5       r+\R4                  R7                  S	\5      \R4                  R7                  SSS/5      S 5       5       r,\R4                  R7                  S	SS\RB                  \RZ                  " \RB                  5      /5      S 5       r.\R4                  R7                  S\RH                  \RD                  4\RD                  4\RB                  \R>                  \RN                  4\RD                  4\RB                  \RH                  4\RB                  4/5      S 5       r/\" SS9SS.S j5       r0\R6                  " S/ SQ5      S 5       r1\" SSSS9S 5       r2S  r3\" S!S"S#S$9\" S%S"S#S$9\\S4S& j5       5       r4\" S!S'S"S#S(9\" S%S)S"S#S(9\\SSS4S* j5       5       r5 " S+ S,5      r6g! \ a     GNf = f)-    N)testing)_supported_float_type_validate_interpolation_orderchange_default_valuechannel_as_last_axischeck_nDdeprecate_funcdeprecate_parameter
DEPRECATED
complex256FTc                     [        SSSS9SS j5       n [        SSSSS	9SS
 j5       n[        R                  " [        5       nU " S5      S:X  d   eU" S5      S:X  d   e S S S 5        Sn[	        WS   R
                  5      U:X  d   e[	        US   R
                  5      S:X  d   e[        R                  " SS9 nU " SS5      S:X  d   eU " SSS9S:X  d   eU R                  S:X  d   e[        R                  R                  S:  a  U R                  S:X  d   eS S S 5        [        W5      S:X  d   eg ! , (       d  f       N= f! , (       d  f       N1= f)Narg10.12)	new_valuechanged_versionr      c                 
    XU4$ Expected docstring arg0r   arg2s      `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/_shared/tests/test_utils.pyfoo&test_change_default_value.<locals>.foo!   s     4    zCustom warning message)r   r   warning_msgc                 
    XU4$ r   r   r   s      r   bar&test_change_default_value.<locals>.bar&   s     4r   )r   r   r   zThe new recommended value for arg1 is -1. Until version 0.12, the default arg1 value is 0. From version 0.12, the arg1 default value will be -1. To avoid this warning, please explicitly set arg1 value.Trecord   )r   r%   r   r   r   r   )r   r   )r   pytestwarnsFutureWarningstrmessagewarningscatch_warnings__name__sysflagsoptimize__doc__len)r   r!   r$   expected_msgrecordeds        r   test_change_default_valuer6       sb   &BG  H  ,	  
 
m	$1v"""1v""" 
%
	C  vay  !\111vay  !%==== 
	 	 	-1ayI%%%11~*** ||u$$$99!;;"6666 
. x=A5 
%	$ 
.	-s   D3:AE3
E
Ec                      [         R                  R                  S5      R                  S5      n U SS2SS24   n[        R                  " [
        5         [        US5        S S S 5        g ! , (       d  f       g = f)Ni@  )   r8   
      r%   )nprandomreshaper   raises
ValueErrorr   )zxs     r   test_check_nDrB   N   sW    
		 ((4A	"R%B,A	
	#A 
$	#	#s   A**
A8dtypeorder)	Nr   r   r   r%               c                    Uc  U [         :X  a  [        U S 5      S:X  d   eg g US:  d  US:  a/  [        R                  " [        5         [        X5        S S S 5        g U [         :X  a:  US:w  a4  [
        R                  " [        5         [        [         U5        S S S 5        g [        X5      U:X  d   eg ! , (       d  f       g = f! , (       d  f       g = f)Nr   rG   )boolr   r   r>   r?   r'   )rC   rD   s     r   !test_validate_interpolation_orderrK   U   s    
 }BG4-,UD9Q>VVUV>	eai^^J')%7 ('	$5A:]]:&)$6 '& -U:eCCC (' '&s   B3C3
C
Cc                     [        U 5      nU [        R                  [        R                  4;   a  U[        R                  :X  d   eg U[        R                  :X  d   eg N)r   r;   float16float32float64)rC   float_dtypes     r   test_supported_float_dtype_realrR   j   sG    $ (.KRZZ((bjj(((bjj(((r   allow_complexc                 "   U(       aK  [        XS9nU [        R                  :X  a  U[        R                  :X  d   eg U[        R                  :X  d   eg [        R
                  " [        5         [        XS9  S S S 5        g ! , (       d  f       g = f)N)rS   )r   r;   	complex64
complex128r   r>   r?   )rC   rS   rQ   s      r   "test_supported_float_dtype_complexrW      sa     +EOBLL ",,..."--///^^J'!%E (''s   -
B  
BfrO   c                 B    [        U 5      [        R                  :X  d   eg rM   )r   r;   rO   )rC   s    r   &test_supported_float_dtype_input_kindsrZ      s     '2::555r   zdtypes, expectedc                 (    [        U 5      nX!:X  d   eg rM   )r   )dtypesexpectedrQ   s      r   #test_supported_float_dtype_sequencer^      s     (/K"""r   )multichannel_outputchannel_axisc                8    Uc  g US:X  d   eU R                   S   $ )Nr   )shape)rA   ra   s     r   _decorated_channel_axis_sizerd      s'    2772;r   ra   )Nr   r   r%   r   c                 |    [         R                  " S5      n[        XS9nU c  Ub   eg X!R                  U    :X  d   eg )N)r%   rE   rF   r`   )r;   zerosrd   rc   )ra   rA   sizes      r   !test_decorated_channel_axis_shaperj      sA    
 	A'ED||ww|,,,,r   rA   yzYou are on your own.)deprecated_versionremoved_versionhintc                      g)zDummy function used in `test_deprecate_func`.

The decorated function must be outside the test function, otherwise it
seems that the warning does not point at the calling location.
Nr   r   r   r   _deprecated_funcrp      s    r   c                     [         R                  " [        5       n [        5         [        R
                  " U 5        S S S 5        [        W 5      S:X  d   eU S   R                  R                  S   S:X  d   eg ! , (       d  f       NB= f)Nr   r   zg`_deprecated_func` is deprecated since version x and will be removed in version y. You are on your own.)	r'   r(   r)   rp   r   assert_stacklevelr3   r+   argsr#   s    r   test_deprecate_funcrt      sr    	m	$!!&) 
% v;!!9!!!$	*   
%	$s   !A88
Bold10.10r   start_versionstop_versionold0c                 
    XX#4$ )zExpected docstring.

Parameters
----------
arg0 : int
    First unchanged parameter.
arg1 : int, optional
    Second unchanged parameter.
r   )r   rz   ru   r   s       r   _func_deprecated_paramsr|      s     t!!r   new0new_namerx   ry   new1c                     XX#XE4$ )a  Expected docstring.

Parameters
----------
arg0 : int
    First unchanged parameter.
new0 : int, optional
    First new parameter.

    .. versionadded:: 0.10
new1 : int, optional
    Second new parameter.

    .. versionadded:: 0.10
arg1 : int, optional
    Second unchanged parameter.
r   )r   rz   ru   r}   r   r   s         r   _func_replace_paramsr      s    , t4--r   c                       \ rS rSr\R
                  R                  \(       + SS9S 5       r\R
                  R                  \(       + SS9S 5       r	S r
S rS rS	 rS
 rS rS rS rS rSrg)Test_deprecate_parameter   zrequires numpydoc)reasonc                     [         R                  S:X  d   e[        R                  R                  S:  a  [         R
                  S:X  d   eg g )Nr|   r%   ar  Expected docstring.


    Parameters
    ----------
    arg0 : int
        First unchanged parameter.
    arg1 : int, optional
        Second unchanged parameter.

    Other Parameters
    ----------------
    old0 : DEPRECATED
        `old0` is deprecated.

        .. deprecated:: 0.10
    old1 : DEPRECATED
        `old1` is deprecated.

        .. deprecated:: 0.10
)r|   r.   r/   r0   r1   r2   selfs    r   test_docstring_removed_param5Test_deprecate_parameter.test_docstring_removed_param   sO     '//3LLLL99! (// "r   c                     [         R                  S:X  d   e[        R                  R                  S:  a  [         R
                  S:X  d   eg g )Nr   r%   a1  Expected docstring.


    Parameters
    ----------
    arg0 : int
        First unchanged parameter.
    new0 : int, optional
        First new parameter.

        .. versionadded:: 0.10
    new1 : int, optional
        Second new parameter.

        .. versionadded:: 0.10
    arg1 : int, optional
        Second unchanged parameter.

    Other Parameters
    ----------------
    old0 : DEPRECATED
        Deprecated in favor of `new1`.

        .. deprecated:: 0.10
    old1 : DEPRECATED
        Deprecated in favor of `new0`.

        .. deprecated:: 0.10
)r   r.   r/   r0   r1   r2   r   s    r   test_docstring_replaced_param6Test_deprecate_parameter.test_docstring_replaced_param  sM    #,,0FFFF99! %,, "r   c                    Sn[         R                  " [        US9   [        SS5      SS[        S 4:X  d   e S S S 5        [         R                  " [        US9   [        SSS5      S:X  d   e S S S 5        [         R                  " [        US9   [        SSS9SS[        S 4:X  d   e S S S 5        [         R                  " [        US9   [        SSS9S[        SS 4:X  d   e S S S 5        [
        R                  " S	S
9 n[        SSS9S[        [        S4:X  d   e S S S 5        [        W5      S:X  d   eg ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ne= f)Nz.*`old[01]` is deprecated since version 0\.10 and will be removed in 0\.12.* see the documentation of .*_func_deprecated_params`.matchr   r%   rE   )r   r%   rE   Nrz   ru   Tr#   r&   r   )r'   r(   r)   r|   r   r,   r-   r3   )r   r   r$   s      r   test_warning_removed_param3Test_deprecate_parameter.test_warning_removed_param>  sW   O 	 \\-u5*1a0Q:t4LLLL 6\\-u5*1a3FFF 6\\-u5*115	:    6 \\-u5*115	:    6 $$D1V*115!ZUV9WWWW 26{a+ 655555 65 21s;   D8E
E
E, E=8
E

E
E),
E:=
Fc                    Sn[         R                  " [        US9   [        SS5      S[        [        S SS 4:X  d   e S S S 5        [         R                  " [        US9 n[        SSS5      S[        [        SSS 4:X  d   e S S S 5        [        W5      S:X  d   eSUS   R                  R                  S   ;   d   eSUS   R                  R                  S   ;   d   e[         R                  " [        US9   [        SSS	9S[        [        S SS 4:X  d   e S S S 5        [         R                  " [        US9   [        SSS
9S[        [        SS S 4:X  d   e S S S 5        [        R                  " SS9 n[        SSSS9S[        [        SSS 4:X  d   e S S S 5        [        W5      S:X  d   eg ! , (       d  f       GNy= f! , (       d  f       GNG= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nf= f)Nz.*`old[0,1]` is deprecated since version 0\.10 and will be removed in 0\.12.* see the documentation of .*_func_replace_params`.r   r   r%   rE   z`old1` is deprecatedr   z`old0` is deprecatedr   r   Tr#   )r}   r   )
r'   r(   r)   r   r   r3   r+   rs   r,   r-   )r   r   recordsr$   s       r   test_warning_replaced_param4Test_deprecate_parameter.test_warning_replaced_paramZ  s   L 	
 \\-u5'1-2    6 \\-u5'1a05    6 7|q   %););)@)@)CCCC%););)@)@)CCCC\\-u5'27    6 \\-u5'27    6 $$D1V':?    2 6{ak 65 65 65 65 21s;   !F0"G8G9G%5 G60
F?
G
G"%
G36
Hc                     [        SSSSS9nSS jn[        R                  " [        SS9   U" U5        S S S 5        [        4S	 jnU" U5      " S
5      S
:X  d   eg ! , (       d  f       N-= f)Noldrv   r   r%   rx   ry   
stacklevelc                     X4$ rM   r   r   r   s     r   r   =Test_deprecate_parameter.test_missing_DEPRECATED.<locals>.foo  s
    9r   zExpected .* <DEPRECATED>r   c                     U $ rM   r   r   s     r   r!   =Test_deprecate_parameter.test_missing_DEPRECATED.<locals>.bar  s    Kr   r   rM   )r
   r'   r>   RuntimeErrorr   )r   decorater   r!   s       r   test_missing_DEPRECATED0Test_deprecate_parameter.test_missing_DEPRECATED  se    &f
	 ]]</IJSM K % 	 }Q1$$$ KJs   	A
A)c                 ,   [        SSSSS9[        4SS S.S jj5       n[        R                  " S	S
9 nU" S5      S:X  d   eU" SSSS9S:X  d   eU" SSS9S:X  d   eU" SSS9S:X  d   e S S S 5        [	        W5      S:X  d   eg ! , (       d  f       N = f)Nr   new0.190.21r~   r   )r   arg3c                
    XU4$ r   r   )r   r   r   r   s       r   r   ;Test_deprecate_parameter.test_new_keyword_only.<locals>.foo  s     d?"r   Tr#   r   )r   r   Nr%   )r   r   r%   )r   )r   r%   N)r   )r
   r   r,   r-   r3   )r   r   r5   s      r   test_new_keyword_only.Test_deprecate_parameter.test_new_keyword_only  s    	 	

 % 	#QT 	#

	# $$D1Xq6\)))qaa(I555qa=L000qq>Y... 2 8}!!! 21s   7B
Bc           
         Sn[         R                  " [        US9   [         R                  " [        SS9   [        SSSS9  S S S 5        S S S 5        [         R                  " [        US9   [         R                  " [        SS9   [        SSSS9  S S S 5        S S S 5        [         R                  " [        US9   [         R                  " [        SS9   [        SSSSSS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N[= f! , (       d  f       g = f)	N.*`old[0,1]` is deprecatedr   z.* avoid conflicting valuesr   r%   )rz   r   )ru   r}   )rz   ru   r}   r   )r'   r(   r)   r>   r?   r   )r   r   s     r   test_conflicting_old_and_new5Test_deprecate_parameter.test_conflicting_old_and_new  s    -\\-u5z1NO$QQQ7 P 6 \\-u5z1NO$QQQ7 P 6 \\-u5z1NO$QQQQQG P 65 PO 65
 PO 65
 PO 65sj   DC3D+D&DD&:ED7"E3
D	=D
D
D#	D&&
D47
E	E
Ec                 `   [         R                  " [        SS9   [        5         SSS5        [         R                  " [
        SS9   [         R                  " [        SS9   [        SSSS9  SSS5        SSS5        g! , (       d  f       N^= f! , (       d  f       N(= f! , (       d  f       g= f)	z8Check that normal errors for faulty calls are unchanged.z(.* required positional argument\: 'arg0'r   Nr   z&.* multiple values for argument 'old0'r   r%   r   )r'   r>   	TypeErrorr   r(   r)   r|   r   s    r   test_wrong_call_signature2Test_deprecate_parameter.test_wrong_call_signature  s    ]]H
 !"

 \\-/LM!I (115 NM
 
  NMs/   A=B B,B=
B
B	B
B-c                    [         R                  " [        SS9   [        SSSS9S 5       nS S S 5        [         R                  " [        SS9   [        SS	SSS
9S 5       nS S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)Nz'old' is not in listr   r   rv   r   rw   c                     g rM   r   )r   s    r   r   ;Test_deprecate_parameter.test_wrong_param_name.<locals>.foo  s    r   z'new' is not in listr   r~   c                     g rM   r   )r   r   r   s      r   r!   ;Test_deprecate_parameter.test_wrong_param_name.<locals>.bar  s     r   )r'   r>   r?   r
   )r   r   r!   s      r   test_wrong_param_name.Test_deprecate_parameter.test_wrong_param_name  s    ]]:-CD f6R S E ]]:-CD V& ED ED EDs   A)A:)
A7:
Bc                     [         R                  " [        5       n[        SSSS9  [        R
                  " U5        S S S 5        [        W5      S:X  d   eg ! , (       d  f       N = f)Nr   r%   )rz   ru   )r'   r(   r)   r|   r   rr   r3   )r   r   s     r   test_warning_location.Test_deprecate_parameter.test_warning_location  sL    \\-(G#AAA6%%g. ) 7|q    )(s   "A
A%c                    [        SSSS9[        4S j5       n[        R                  " [        SS9   U" SS	5        S S S 5        [        SSSS
S9[        4S j5       n[        R
                  " [        SS9 nU" SS	5        [        R                  " U5        S S S 5        g ! , (       d  f       Ni= f! , (       d  f       g = f)Nr   r   r   rw   c                     g rM   r   r   s     r   r   5Test_deprecate_parameter.test_stacklevel.<locals>.foo  s     r   zSet stacklevel manuallyr   r   r   r%   r   c                     g rM   r   r   s     r   r!   5Test_deprecate_parameter.test_stacklevel.<locals>.bar  s     r   z`old` is deprecated)	r
   r   r'   r>   r   r(   r)   r   rr   )r   r   r!   r   s       r   test_stacklevel(Test_deprecate_parameter.test_stacklevel  s    	 


 % 	


	 ]]</HI1I J 
 	

 % 	

	 \\-/DE1I%%g. FE JI FEs   
B6 B0
B-0
B>r   N)r.   
__module____qualname____firstlineno__r'   markskipifhave_numpydocr   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r   r   r   r      s    [[M)2EF G< [[M)2EF# G#J 8; z% ",H6!/r   r   )7r/   r,   numpyr;   r'   skimage._sharedr   skimage._shared.utilsr   r   r   r   r   r	   r
   r   rU   rV   complex_dtypeshasattrr   r   numpydocImportErrorr6   rB   r   parametrizerJ   intuint8uint16floatrO   rP   rK   rN   uint32uint64int8int16int32int64rR   rW   rC   rZ   r^   rd   rj   rp   rt   r|   r   r   r   r   r   <module>r      sP   
    #	 	 	 ,,.
2|r}}o%N	M
+\ dC299eRZZL "ABD CD" 










		
		
		



")#") .15$-8	F 9 2	F 3	2::rxx

?S"TU6 V6 
**bjj	!2::.
**bii	)2::6
**bjj	!2::.##
 %048  1 	^%@A
- B
- C6L	 V6GV6G'1
 
" H H
" VfFQWXVfFQWX
Dt. Y Y..L/ L/y  		s   $L( (L21L2