
    9i                         S SK r S SKrS SKrS SKJr  S SKJr  S SK	J
r
JrJr  S SKJr  S SKJr  S SKJrJrJr  S SKr SrS	 rS
 rS r " S S5      rg! \ a    Sr Nf = f)    N)data_dir)ImageCollection
MultiImagealphanumeric_key)reset_plugins)testing)assert_equalassert_allclosefetchTFc                  :    Sn / SQn[        [        U 5      U5        g )Nz23a)z   a)r	   r   )test_stringtest_str_results     `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/io/tests/test_collection.pytest_string_splitr      s    K$O!+.@    c                  F    / SQn / SQn[        U [        S9n[        X5        g )N)	f9.10.pngf9.9.png
f10.10.png	f10.9.pnge9.pnge10.pngem.png)r   r   r   r   r   r   r   )key)sortedr   r	   )	filenamesexpected_filenamessorted_filenamess      r   test_string_sortr#      s*    I i-=>#6r   c                      [        S5      [        S5      [        S5      /n U  Vs/ s H'  n[        R                  R                  [        U5      PM)     nn[        U5      n[        U5      S:X  d   egs  snf )zTest function for ImageCollection. The new behavior (implemented
in 0.16) allows the `pattern` argument to accept a list of strings
as the input.

Notes
-----
    If correct, `images` will receive three images.
zdata/coffee.pngzdata/chessboard_GRAY.pngzdata/rocket.jpg   N)r   ospathjoinr   r   len)picspicpatternimagess       r   test_imagecollection_inputr.   3   sl     	 () D
 7;;dsrww||Hc*dG;W%Fv;! <s   .A2c                   &   \ rS rSr\" S5      \" S5      \" S5      /r\SS r\SSS2   rS rS r	S	 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g)TestImageCollectionI   zdata/brick.pngzdata/color.pngzdata/moon.pngN   c                     [        5         [        U R                  5      U l        [        U R                  5      U l        [        U R                  5      U l        g N)r   r   r,   r-   pattern_same_shapeimages_matchedr   frames_matchedselfs    r   setup_method TestImageCollection.setup_methodN   s=    %dll3-d.E.EF()@)@Ar   c                 :    [        U R                  5      S:X  d   eg )Nr2   )r)   r-   r8   s    r   test_lenTestImageCollection.test_lenW   s    4;;1$$$r   c                   ^  [        T R                  5      n[        U* U5       H1  n[        T R                  U   [        R
                  5      (       a  M1   e   [        T R                  S   T R                  U*    5        U 4S jn[        R                  " [        5         U" U5        S S S 5        [        R                  " [        5         U" U* S-
  5        S S S 5        g ! , (       d  f       N>= f! , (       d  f       g = f)Nr   c                 "   > TR                   U    $ r4   )r-   )nr9   s    r   
return_img4TestImageCollection.test_getitem.<locals>.return_img`   s    ;;q>!r      )
r)   r-   range
isinstancenpndarrayr
   r   raises
IndexError)r9   numirB   s   `   r   test_getitem TestImageCollection.test_getitemZ   s    $++tS!Adkk!nbjj9999 "ASD(9:	" ^^J'sO (^^J'tax  (' ('''s    	C!C2!
C/2
D c                 N   [        U R                  S S  5      [        L d   e[        U R                  S S  5      S:X  d   e[        U R                  S S 5      S:X  d   e[        U R                  SS  5      S:X  d   e[	        U R                  S   U R                  S S S   5        [	        U R                  S   U R                  SS  S   5        [	        U R                  S   U R                  S S S2   S   5        [	        U R                  S   U R                  S S S2   S   5        g )Nr2   rD   r   )typer-   r   r)   r
   r8   s    r   test_slicing TestImageCollection.test_slicingh   s    DKKN#6664;;q>"a'''4;;r?#q(((4;;qr?#q(((ABQ(:;AAB(:;ADbD(9!(<=ADbD(9!(<=r   c                    ^  [        T R                  R                  [        5      (       d   eU 4S jn[        R
                  " [        5         U" S5        S S S 5        g ! , (       d  f       g = f)Nc                 (   > U TR                   l        g r4   )r-   files)fr9   s    r   	set_files:TestImageCollection.test_files_property.<locals>.set_filesu   s     !DKKr   newfiles)rF   r-   rV   listr   rI   AttributeError)r9   rX   s   ` r   test_files_property'TestImageCollection.test_files_propertyr   sG    $++++T2222	" ^^N+j! ,++s   	A
A-zneeds pooch to download data)reasonc                    ^ [        S5      mU4S jn[        [        S5      US9n[        U5      S:X  d   eUS   R                  S:X  d   eg )Ndata/no_time_for_that_tiny.gifc                 .   > [         R                  " TU S9$ )N)index)iio3imread)rc   filenames    r   readerBTestImageCollection.test_custom_load_func_sequence.<locals>.reader   s    ;;xu55r      	load_funcr   )      r%   )r   r   rE   r)   shape)r9   rg   icrf   s      @r   test_custom_load_func_sequence2TestImageCollection.test_custom_load_func_sequence{   sK    9:	6 U2Y&92w"}}!u{{k)))r   c                 ~    [        S5      nS n[        XSS9n[        U5      S:X  d   e[        US   5      S:X  d   eg )Nra   c                 r    [         R                  " U 5      n[        [        R                  " US S U5      5      $ r4   )rd   imiterr[   	itertoolsislice)rW   stepvids      r   load_fnBTestImageCollection.test_custom_load_func_w_kwarg.<locals>.load_fn   s+    ++a.C	((dD$?@@r   r%   )rk   rw   rD   r      )r   r   r)   )r9   load_patternry   ro   s       r   test_custom_load_func_w_kwarg1TestImageCollection.test_custom_load_func_w_kwarg   sE    =>	A \1E2w!||2a5zQr   c                     S n[        [        R                  R                  U R                  5      US9n[        US   U R                  S   5        g )Nc                     U $ r4    )xs    r   ry   :TestImageCollection.test_custom_load_func.<locals>.load_fn   s    Hr   rj   r   )r   r&   pathsepr(   r,   r	   )r9   ry   ro   s      r   test_custom_load_func)TestImageCollection.test_custom_load_func   s<    	 RZZ__T\\:gNRUDLLO,r   c                     U R                   R                  5       n[        U R                   5      4U R                  S   R                  -   n[        UR                  U5        g )Nr   )r6   concatenater)   r-   rn   r	   )r9   arrayexpected_shapes      r   test_concatenate$TestImageCollection.test_concatenate   sJ    ##//1d1124t{{1~7K7KKU[[.1r   c                     [         R                  " [        5         U R                  R	                  5         S S S 5        g ! , (       d  f       g = fr4   )r   rI   
ValueErrorr-   r   r8   s    r   (test_concatenate_mismatched_image_shapes<TestImageCollection.test_concatenate_mismatched_image_shapes   s*    ^^J'KK##% (''s	   ?
Ac                     [        U R                  S   U R                  S   5        [        U R                  S   U R                  S   5        g )Nr   rD   )r	   r6   r7   r8   s    r   test_multiimage_imagecollection3TestImageCollection.test_multiimage_imagecollection   sB    T((+T-@-@-CDT((+T-@-@-CDr   )r7   r-   r6   )__name__
__module____qualname____firstlineno__r   r*   r,   r5   r:   r=   rM   rR   r]   pytestmarkskipif	has_poochrp   r}   r   r   r   r   __static_attributes__r   r   r   r0   r0   I   s    "#U+;%<eO>TUD2AhGccB%!>" [[I.LM
* N
* [[I.LM N-2
&Er   r0   )r&   ru   numpyrG   
imageio.v3v3rd   skimager   skimage.io.collectionr   r   r   
skimage.ior   skimage._sharedr   skimage._shared.testingr	   r
   r   r   r   ModuleNotFoundErrorr   r#   r.   r0   r   r   r   <module>r      sh    	     O O $ # H H I
A7.,_E _Eo  Is   A AA