
    1-Ph                         d dl Z d dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZmZ d dlmZ d dlmZ d dlmZmZmZ d dlZ	 dZn# e$ r dZY nw xY wd	 Zd
 Zd Z G d d          ZdS )    N)data_dir)ImageCollection
MultiImagealphanumeric_key)reset_plugins)testing)assert_equalassert_allclosefetchTFc                  L    d} g d}t          t          |           |           d S )Nz23a)z   a)r	   r   )test_stringtest_str_results     `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/skimage/io/tests/test_collection.pytest_string_splitr      s/    K$nnO!+..@@@@@    c                  b    g d} g d}t          | t                    }t          ||           d S )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#      sS      I   i-=>>>#%566666r   c                      t          d          t          d          t          d          g} d | D             }t          |          }t          |          dk    sJ dS )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.jpgc                 X    g | ]'}t           j                            t          |          (S  )ospathjoinr   ).0pics     r   
<listcomp>z.test_imagecollection_input.<locals>.<listcomp>D   s(    ;;;srw||Hc**;;;r      Nr   r   len)picspatternimagess      r   test_imagecollection_inputr3   3   sn     	  ())  D
 <;d;;;GW%%Fv;;!r   c                   F   e Zd Z ed           ed           ed          gZedd         Zeddd         Zd Zd Zd Z	d	 Z
d
 Zej                            e d          d             Zej                            e d          d             Zd Zd Zd Zd ZdS )TestImageCollectionzdata/brick.pngzdata/color.pngzdata/moon.pngN   c                     t                       t          | j                  | _        t          | j                  | _        t          | j                  | _        d S N)r   r   r1   r2   pattern_same_shapeimages_matchedr   frames_matchedselfs    r   setup_methodz TestImageCollection.setup_methodN   sH    %dl33-d.EFF()@AAr   c                 :    t          | j                  dk    sJ d S )Nr6   )r/   r2   r<   s    r   test_lenzTestImageCollection.test_lenW   s#    4;1$$$$$$r   c                     t           j                  }t          | |          D ])}t           j        |         t          j                  sJ *t           j        d          j        |                      fd}t          j        t                    5   ||           d d d            n# 1 swxY w Y   t          j        t                    5   || dz
             d d d            d S # 1 swxY w Y   d S )Nr   c                     j         |          S r8   )r2   )nr=   s    r   
return_imgz4TestImageCollection.test_getitem.<locals>.return_img`   s    ;q>!r      )
r/   r2   range
isinstancenpndarrayr
   r   raises
IndexError)r=   numirD   s   `   r   test_getitemz TestImageCollection.test_getitemZ   s   $+tS!! 	: 	:Adk!nbj999999ASD(9:::	" 	" 	" 	" 	" ^J'' 	 	JsOOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	^J'' 	! 	!Jtax   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s$   B..B25B2C//C36C3c                    t          | j        d d                    t          u sJ t          | j        d d                    dk    sJ t          | j        d d                   dk    sJ t          | j        dd                    dk    sJ t	          | j        d         | j        d d         d                    t	          | j        d         | j        dd          d                    t	          | j        d         | j        d d d         d                    t	          | j        d         | j        d d d         d                    d S )Nr6   rE   r   )typer2   r   r/   r
   r<   s    r   test_slicingz TestImageCollection.test_slicingh   s.   DKN##66664;qqq>""a''''4;rr?##q((((4;qrr?##q((((ABQB(:;;;AABB(:;;;ADDbD(9!(<===ADDbD(9!(<=====r   c                      t           j        j        t                    sJ  fd}t	          j        t                    5   |d           d d d            d S # 1 swxY w Y   d S )Nc                      | j         _        d S r8   )r2   files)fr=   s    r   	set_filesz:TestImageCollection.test_files_property.<locals>.set_filesu   s     !DKr   newfiles)rG   r2   rU   listr   rJ   AttributeError)r=   rW   s   ` r   test_files_propertyz'TestImageCollection.test_files_propertyr   s    $++T22222	" 	" 	" 	" 	" ^N++ 	" 	"Ij!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s   AA!Azneeds pooch to download data)reasonc                     t          d          fd}t          t          d          |          }t          |          dk    sJ |d         j        dk    sJ d S )Ndata/no_time_for_that_tiny.gifc                 0    t          j        |           S )N)index)iio3imread)r`   filenames    r   readerzBTestImageCollection.test_custom_load_func_sequence.<locals>.reader   s    ;xu5555r      	load_funcr   )      r-   )r   r   rF   r/   shape)r=   rd   icrc   s      @r   test_custom_load_func_sequencez2TestImageCollection.test_custom_load_func_sequence{   st    9::	6 	6 	6 	6 	6 U2YY&9992ww"}}}}!u{k))))))r   c                     t          d          }d }t          ||d          }t          |          dk    sJ t          |d                   dk    sJ d S )Nr^   c                 r    t          j        |           }t          t          j        |d d |                    S r8   )ra   imiterrY   	itertoolsislice)rV   stepvids      r   load_fnzBTestImageCollection.test_custom_load_func_w_kwarg.<locals>.load_fn   s.    +a..C	(dD$??@@@r   r-   )rg   rr   rE   r      r.   )r=   load_patternrt   rk   s       r   test_custom_load_func_w_kwargz1TestImageCollection.test_custom_load_func_w_kwarg   sf    =>>	A 	A 	A \W1EEE2ww!||||2a5zzQr   c                     d }t          t          j                            | j                  |          }t          |d         | j        d                    d S )Nc                     | S r8   r&   )xs    r   rt   z:TestImageCollection.test_custom_load_func.<locals>.load_fn   s    Hr   rf   r   )r   r'   pathsepr)   r1   r	   )r=   rt   rk   s      r   test_custom_load_funcz)TestImageCollection.test_custom_load_func   sU    	 	 	 RZ__T\::gNNNRUDLO,,,,,r   c                     | j                                         }t          | j                   f| j        d         j        z   }t          |j        |           d S )Nr   )r:   concatenater/   r2   rj   r	   )r=   arrayexpected_shapes      r   test_concatenatez$TestImageCollection.test_concatenate   sO    #//11d1224t{1~7KKU[.11111r   c                     t          j        t                    5  | j                                         d d d            d S # 1 swxY w Y   d S r8   )r   rJ   
ValueErrorr2   r~   r<   s    r   (test_concatenate_mismatched_image_shapesz<TestImageCollection.test_concatenate_mismatched_image_shapes   s    ^J'' 	& 	&K##%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   AAAc                     t          | j        d         | j        d                    t          | j        d         | j        d                    d S )Nr   rE   )r	   r:   r;   r<   s    r   test_multiimage_imagecollectionz3TestImageCollection.test_multiimage_imagecollection   sH    T(+T-@-CDDDT(+T-@-CDDDDDr   )__name__
__module____qualname__r   r0   r1   r9   r>   r@   rN   rR   r[   pytestmarkskipif	has_poochrl   rw   r|   r   r   r   r&   r   r   r5   r5   I   sV       E"##UU+;%<%<eeO>T>TUD2A2hGcccB B B% % %! ! !> > >" " " [I.LMM
* 
* NM
* [I.LMM  NM- - -2 2 2
& & &E E E E Er   r5   )r'   rp   numpyrH   
imageio.v3v3ra   skimager   skimage.io.collectionr   r   r   
skimage.ior   skimage._sharedr   skimage._shared.testingr	   r
   r   r   r   ModuleNotFoundErrorr   r#   r3   r5   r&   r   r   <module>r      sY   				                     O O O O O O O O O O $ $ $ $ $ $ # # # # # # H H H H H H H H H H II   IIIA A A7 7 7.  ,_E _E _E _E _E _E _E _E _E _Es   A A
A