§
    ØCŠdÌ  ã                  óv   — d dl mZ d dlZd dlmZ 	 d dlmZ n# eef$ r Y nw xY wd dl	m
Z
 d dlmZ d„ Zd	d„ZdS )
é    )ÚannotationsN)Úglob)Úimread)ÚArray)Útokenizec                ó   — | d         S )N)N.© )Úxs    ú0lib/python3.11/site-packages/dask/array/image.pyÚadd_leading_dimensionr      s   € ØˆYŒ<Ðó    c                óv  ‡‡‡‡	— ‰pt           Št          t          | ¦  «        ¦  «        }|st          d| z  ¦  «        ‚dt	          |t          t          j        j        |¦  «        ¦  «        z  Š ‰|d         ¦  «        Š	‰r ‰‰	¦  «        Š	ˆˆ	fd„t          t          |¦  «        ¦  «        D ¦   «         }‰rˆˆfd„|D ¦   «         }nˆfd„|D ¦   «         }t          t          ||¦  «        ¦  «        }dt          |¦  «        z  ft          d„ ‰	j        D ¦   «         ¦  «        z   }t          |‰|‰	j        ¦  «        S )	aP  Read a stack of images into a dask array

    Parameters
    ----------

    filename: string
        A globstring like 'myfile.*.png'
    imread: function (optional)
        Optionally provide custom imread function.
        Function should expect a filename and produce a numpy array.
        Defaults to ``skimage.io.imread``.
    preprocess: function (optional)
        Optionally provide custom function to preprocess the image.
        Function should expect a numpy array for a single image.

    Examples
    --------

    >>> from dask.array.image import imread
    >>> im = imread('2015-*-*.png')  # doctest: +SKIP
    >>> im.shape  # doctest: +SKIP
    (365, 1000, 1000, 3)

    Returns
    -------

    Dask array of all images stacked along the first dimension.
    Each separate image file will be treated as an individual chunk.
    zNo files found under name %sz	imread-%sr   c                óH   •— g | ]}‰|fd t          ‰j        ¦  «        z  z   ‘ŒS ))r   )ÚlenÚshape)Ú.0ÚiÚnameÚsamples     €€r   ú
<listcomp>zimread.<locals>.<listcomp><   s1   ø€ ÐPÐPÐP°QˆT1ˆI˜s 6¤<Ñ0Ô0Ñ0Ñ0ÐPÐPÐPr   c                ó*   •— g | ]}t           ‰‰|fff‘ŒS r	   ©r   )r   Úfnr   Ú
preprocesss     €€r   r   zimread.<locals>.<listcomp>>   s5   ø€ ð 
ð 
ð 
ØDFÕ" Z°&¸"°Ð$>Ð?ð
ð 
ð 
r   c                ó&   •— g | ]}t           ‰|ff‘ŒS r	   r   )r   r   r   s     €r   r   zimread.<locals>.<listcomp>B   s#   ø€ ÐLÐLÐL¸BÕ(¨6°2¨,Ð7ÐLÐLÐLr   )é   c              3  ó   K  — | ]}|fV — Œd S )Nr	   )r   Úds     r   ú	<genexpr>zimread.<locals>.<genexpr>E   s$   è è € Ð-IÐ-I°q¨q¨dÐ-IÐ-IÐ-IÐ-IÐ-IÐ-Ir   )Ú	sk_imreadÚsortedr   Ú
ValueErrorr   ÚmapÚosÚpathÚgetmtimeÚranger   ÚdictÚzipÚtupler   r   Údtype)
Úfilenamer   r   Ú	filenamesÚkeysÚvaluesÚdskÚchunksr   r   s
    ``     @@r   r   r      sk  øøøø€ ð< Ð •y€FÝ•t˜H‘~”~Ñ&Ô&€IØð DÝÐ7¸(ÑBÑCÔCÐCà )­Sµ´Ô1AÀ9Ñ-MÔ-MÑNÔNÑN€DàˆVI˜a”LÑ!Ô!€FØð $Ø˜FÑ#Ô#ˆàPÐPÐPÐPÐP½%ÅÀIÁÄÑ:OÔ:OÐPÑPÔP€DØð Mð
ð 
ð 
ð 
ð 
ØJSð
ñ 
ô 
ˆˆð MÐLÐLÐLÀ)ÐLÑLÔLˆÝ
s4˜Ñ Ô Ñ
!Ô
!€Cà•S˜‘^”^Ñ#Ð%­Ð-IÐ-I¸F¼LÐ-IÑ-IÔ-IÑ(IÔ(IÑI€Fåd˜F F¤LÑ1Ô1Ð1r   )NN)Ú
__future__r   r$   r   Ú
skimage.ior   r    ÚAttributeErrorÚImportErrorÚdask.array.corer   Ú	dask.baser   r   r	   r   r   ú<module>r8      sÄ   ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø Ð Ð Ð Ð Ð ð	Ø.Ð.Ð.Ð.Ð.Ð.Ð.øØ˜Ð$ð 	ð 	ð 	Ø€Dð	øøøð "Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð ðð ð ð42ð 42ð 42ð 42ð 42ð 42s   ’ ™#¢#