
    9i                        S SK Jr  S SKrS SKrS SKJr  S SKJr  S SK	J
r
  S SKJrJr  Sr\R                  " SS	9S
 5       r\S 5       rS r\R&                  R)                  \(       + SS9S 5       r\R&                  R)                  \(       + SS9S 5       r\R&                  R)                  \(       + SS9S 5       r\R&                  R1                  S\R2                  S/4\R4                  S\" S5      /4\R6                  S/4\R8                  \" 5       4\R<                  \" 5       4\R>                  \" 5       4\ \S/4/5      S 5       r!g)    )contextmanagerN)has_mpl)io)manage_plugins)fetchassert_stacklevelpilT)autousec               #   j   #    [         R                  " S5        S v   [         R                  " 5         g 7f)Nr	   )r   
use_pluginreset_plugins     \/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/io/tests/test_plugin.py_use_pil_pluginr      s      MM%	s   13c               #      #    [         R                  R                  5       n  Sv   U [         l        g! U [         l        f = f7f)zDContexts where `preferred_plugins` can be modified w/o side-effects.N)r   preferred_pluginscopy)r   s    r   protect_preferred_pluginsr      s5      '88==?=+<(+<(s   A2 A?Ac                      [         R                  " [        5         [        R                  " S5        S S S 5        g ! , (       d  f       g = f)Nasd)pytestraises
ValueErrorr   r   r   r   r   test_failed_user      s(    	z	"!!%( 
#	"	"s	   ;
A	zmatplotlib not installed)reasonc                  L   [         R                  " [        5        [         R                  S   S   u  p[        R
                  R                  U [        5        [         R                  " S5        [         R                  S   S   u  p[        R
                  R                  U S5        g )Nimreadr   
matplotlib)r   r   priority_pluginplugin_storenptestingassert_equal)plugfuncs     r   test_use_priorityr'   $   st    o.,,X6q9JDJJD/2l+,,X6q9JDJJD,/r   c                  `   SSK Jn Jn  [        5          S/S/S.[        l        [        R                  " 5         S H,  n[        R                  U   S   u  p4U[        X5      :X  a  M,   e   [        R                  S   S   u  p4U[        US5      :X  d   e S S S 5        g ! , (       d  f       g = f)Nr   
pil_pluginmatplotlib_pluginr	   r   )allimshow)r   imsaver-   )	skimage.io._pluginsr*   r+   r   r   r   r   r!   getattr)r*   r+   plugin_typer%   r&   s        r   test_load_preferred_plugins_allr2   /   s    A	"	$497|n+U($$&/K'44[A!DJD7:;;;; 0 $00:1=
w0(;;;; 
%	$	$s   AB'.B
B-c                  r   SSK Jn Jn  [        5          S/[        R
                  S'   [        R                  " 5         [        R                  S   S   u  p#X0R                  :X  d   e[        R                  S   S   u  p#X1R                  :X  d   UR                  5       e S S S 5        g ! , (       d  f       g = f)Nr   r)   r	   r   r-   )r/   r*   r+   r   r   r   r   r!   r   r-   
__module__)r*   r+   r%   r&   s       r   "test_load_preferred_plugins_imreadr5   >   s    A	"	$6;W((2$$&#00:1=
(((((#00:1=
///@@/ 
%	$	$s   BB((
B6)r&   argsimageior   zdata/camera.pngavailable_pluginsc                     Sn[         R                  " [        US9 nU " U6   S S S 5        [        W5      S:X  d   e[	        USS9  g ! , (       d  f       N*= f)Nz0.*use `imageio` or other I/O packages directly.*)match   )offset)r   warnsFutureWarninglenr   )r&   r6   regexrecords       r   )test_deprecation_warnings_on_plugin_funcsrC   L   sJ     ?E	m5	1Vd 
2v;!fR( 
2	1s   A
A)"
contextlibr   numpyr"   r   "skimage._shared._dependency_checksr   skimager   
skimage.ior   skimage._shared.testingr   r   r    fixturer   r   r   markskipifr'   r2   r5   parametrizer   call_pluginplugin_infoplugin_ordertupler   find_available_pluginsr0   rC   r   r   r   <module>rS      sw   %   6  % <    = =)
 K(BC0 D0 K(BC< D< K(BC
A D
A 	$	(E*;$<=>	)%	%'"			57#		"	"EG,	2*+,))r   