Ë
    Eü´j
  ã                   óF   — d Z ddlmZmZ dad„ ZdZedz   Z G d„ de«      Zy)	am  Read/Write images using SimpleITK.

Backend: `Insight Toolkit <https://itk.org/>`_

.. note::
    To use this plugin you have to install its backend::

        pip install imageio[itk]

The ItkFormat uses the ITK or SimpleITK library to support a range of
ITK-related formats. It also supports a few common formats (e.g. PNG and JPEG).

Parameters
----------
None

é   )ÚFormatÚ
has_moduleNc                  óú   — 	 dd l at        j                  at        j                  at        S # t        $ rE 	 dd lat        j                  at        j                  aY t        S # t        $ r t        d«      ‚w xY ww xY w)Né    z´itk could not be found. Please try   python -m pip install itk or   python -m pip install simpleitk or refer to   https://itkpythonpackage.readthedocs.io/ for further instructions.)
ÚitkÚ_itkÚimreadÚ_read_functionÚimwriteÚ_write_functionÚImportErrorÚ	SimpleITKÚ	ReadImageÚ
WriteImage© ó    úW/root/workspace/ytshorts/venv/lib/python3.12/site-packages/imageio/plugins/simpleitk.pyÚload_libr      sx   € ðÛäŸ™ˆÜŸ,™,ˆô$ €Køô# ò ð	Û$ä!Ÿ^™^ˆNÜ"Ÿo™o‰Oô €Køô ò 
	Üð,ó	ð 	ð
	úðús   ‚$, ¬	A:¶$A!Á!A6Á6A:)z.giplz.iplz.mhaz.mhdz.nhdrÚniaÚhdrz.nrrdz.niiz.nii.gzz.imgz.img.gzz.vtkÚhdf5ÚlsmÚmncÚmnc2Úmghr   Úpic)	z.bmpz.jpegz.jpgz.pngz.tiffz.tifz.dicomz.dcmz.gdcmc                   óp   — e Zd ZdZd„ Zd„ Z G d„ dej                  «      Z G d„ dej                  «      Zy)	Ú	ItkFormatz$See :mod:`imageio.plugins.simpleitk`c                 óz   — |j                   t        v ryt        d«      st        d«      r|j                   t        v S y ©NTzitk.ImageIOBaser   ©Ú	extensionÚITK_FORMATSr   ÚALL_FORMATS©ÚselfÚrequests     r   Ú	_can_readzItkFormat._can_read]   s<   € ð
 ×Ñ¤Ñ+ØÜÐ'Ô(¬J°{Ô,CØ×$Ñ$¬Ð3Ð3ð -Dr   c                 óz   — |j                   t        v ryt        d«      st        d«      r|j                   t        v S y r    r!   r%   s     r   Ú
_can_writezItkFormat._can_writeg   s:   € Ø×Ñ¤Ñ+ØÜÐ'Ô(¬J°{Ô,CØ×$Ñ$¬Ð3Ð3ð -Dr   c                   ó,   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zy)úItkFormat.ReaderNc                 óš   — t         s
t        «        d}|�||fz  }|�||fz  }t        | j                  j	                  «       g|¢­Ž | _        y )Nr   )r   r   r
   r'   Úget_local_filenameÚ_img)r&   Ú
pixel_typeÚfallback_onlyÚkwargsÚargss        r   Ú_openzItkFormat.Reader._openp   sR   € ÝÜ”
ØˆDØÐ%Ø˜˜Ñ%�Ø Ð,Ø˜]Ð,Ñ,�DÜ& t§|¡|×'FÑ'FÓ'HÐPÈ4ÒPˆD�Ir   c                  ó   — y)Né   r   ©r&   s    r   Ú_get_lengthzItkFormat.Reader._get_lengthz   s   € Ør   c                  ó   — y ©Nr   r7   s    r   Ú_closezItkFormat.Reader._close}   ó   € Ør   c                 óh   — |dk7  rd}t        |«      ‚t        j                  | j                  «      i fS )Nr   z.Index out of range while reading from itk file)Ú
IndexErrorr   ÚGetArrayFromImager/   ©r&   ÚindexÚ	error_msgs      r   Ú	_get_datazItkFormat.Reader._get_data€   s5   € à˜ŠzØL�	Ü  Ó+Ð+ô ×)Ñ)¨$¯)©)Ó4°bÐ8Ð8r   c                 ó   — d}t        |«      ‚©Nz5The itk plugin does not support meta data, currently.©ÚRuntimeErrorr@   s      r   Ú_get_meta_datazItkFormat.Reader._get_meta_data‰   ó   € ØOˆIÜ˜yÓ)Ð)r   )NN)Ú__name__Ú
__module__Ú__qualname__r4   r8   r;   rC   rH   r   r   r   ÚReaderr,   o   s   „ ó	Qò	ò	ò	9ó	*r   rM   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)úItkFormat.Writerc                 ó&   — t         st        «        y y r:   )r   r   r7   s    r   r4   zItkFormat.Writer._open�   s   € ÝÜ•
ð r   c                  ó   — y r:   r   r7   s    r   r;   zItkFormat.Writer._close“   r<   r   c                 óv   — t         j                  |«      }t        || j                  j	                  «       «       y r:   )r   ÚGetImageFromArrayr   r'   r.   )r&   ÚimÚmetaÚ_itk_imgs       r   Ú_append_datazItkFormat.Writer._append_data–   s)   € Ü×-Ñ-¨bÓ1ˆHÜ˜H d§l¡l×&EÑ&EÓ&GÕHr   c                 ó   — d}t        |«      ‚rE   rF   )r&   rU   rB   s      r   Úset_meta_datazItkFormat.Writer.set_meta_dataš   rI   r   N)rJ   rK   rL   r4   r;   rW   rY   r   r   r   ÚWriterrO   Ž   s   „ ò	ò	ò	Ió	*r   rZ   N)	rJ   rK   rL   Ú__doc__r(   r*   r   rM   rZ   r   r   r   r   r   Z   s/   „ Ù.ò4ò4ô*�—‘ô *ô>*�—‘õ *r   r   )	r[   Úcorer   r   r   r   r#   r$   r   r   r   r   ú<module>r]      s?   ðñ÷$ &à€òð8€ð, ð 
ñ 
€ôB*�õ B*r   