§
    2?Äj
  ã                   óN   — d Z ddlmZmZ dad„ ZdZedz   Z G d„ de¦  «        ZdS )	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nK# t          $ r> 	 dd lat          j        at          j	        an# t          $ r t          d¦  «        ‚w xY wY nw xY wt          S )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© ó    úJC:\Projects\Historical\venv\Lib\site-packages\imageio/plugins/simpleitk.pyÚload_libr      sŸ   € ðØÐÐÐåœˆÝœ,ˆˆøÝð ð ð ð	Ø$Ð$Ð$Ð$å!œ^ˆNÝ"œoˆOˆOøÝð 
	ð 
	ð 
	Ýð,ñ	ô 	ð 	ð
	øøøð ˆOðøøøõ" €Ks&   ‚ Ÿ
A'ªAÁA'ÁA!Á!A'Á&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                   ój   — e Zd ZdZd„ Zd„ Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        ZdS )	Ú	ItkFormatz$See :mod:`imageio.plugins.simpleitk`c                 ó~   — |j         t          v rdS t          d¦  «        st          d¦  «        r|j         t          v S d S ©NTzitk.ImageIOBaser   ©Ú	extensionÚITK_FORMATSr   ÚALL_FORMATS©ÚselfÚrequests     r   Ú	_can_readzItkFormat._can_read]   sO   € ð
 Ô¥Ð+Ð+Ø�4ÝÐ'Ñ(Ô(ð 	4­J°{Ñ,CÔ,Cð 	4ØÔ$­Ð3Ð3ð	4ð 	4r   c                 ó~   — |j         t          v rdS t          d¦  «        st          d¦  «        r|j         t          v S d S r    r!   r%   s     r   Ú
_can_writezItkFormat._can_writeg   sM   € ØÔ¥Ð+Ð+Ø�4ÝÐ'Ñ(Ô(ð 	4­J°{Ñ,CÔ,Cð 	4ØÔ$­Ð3Ð3ð	4ð 	4r   c                   ó.   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ ZdS )úItkFormat.ReaderNc                 ó¦   — t           st          ¦   «          d}|�||fz  }|�||fz  }t          | j                             ¦   «         g|¢R Ž | _        d S )Nr   )r   r   r
   r'   Úget_local_filenameÚ_img)r&   Ú
pixel_typeÚfallback_onlyÚkwargsÚargss        r   Ú_openzItkFormat.Reader._openp   sf   € Ýð Ý‘
”
�
ØˆDØÐ%Ø˜˜Ñ%�Ø Ð,Ø˜]Ð,Ñ,�DÝ& t¤|×'FÒ'FÑ'HÔ'HÐPÈ4ÐPÐPÐPˆDŒIˆIˆIr   c                 ó   — dS )Né   r   ©r&   s    r   Ú_get_lengthzItkFormat.Reader._get_lengthz   s   € Ø�1r   c                 ó   — d S ©Nr   r7   s    r   Ú_closezItkFormat.Reader._close}   ó   € ØˆDr   c                 ór   — |dk    rd}t          |¦  «        ‚t                               | 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€   s;   € à˜ŠzˆzØL�	Ý  Ñ+Ô+Ð+õ ×)Ò)¨$¬)Ñ4Ô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   sh   € € € € € ð	Qð 	Qð 	Qð 	Qð	ð 	ð 	ð	ð 	ð 	ð	9ð 	9ð 	9ð	*ð 	*ð 	*ð 	*ð 	*r   rM   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )úItkFormat.Writerc                 ó4   — t           st          ¦   «          d S d S r:   )r   r   r7   s    r   r4   zItkFormat.Writer._open�   s!   € Ýð Ý‘
”
�
�
�
ðð r   c                 ó   — d S r:   r   r7   s    r   r;   zItkFormat.Writer._close“   r<   r   c                 óˆ   — t                                |¦  «        }t          || j                             ¦   «         ¦  «         d S r:   )r   ÚGetImageFromArrayr   r'   r.   )r&   ÚimÚmetaÚ_itk_imgs       r   Ú_append_datazItkFormat.Writer._append_data–   s9   € Ý×-Ò-¨bÑ1Ô1ˆHÝ˜H d¤l×&EÒ&EÑ&GÔ&GÑHÔHÐHÐHÐ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   Ž   sS   € € € € € ð	ð 	ð 	ð	ð 	ð 	ð	Ið 	Ið 	Ið	*ð 	*ð 	*ð 	*ð 	*r   rZ   N)	rJ   rK   rL   Ú__doc__r(   r*   r   rM   rZ   r   r   r   r   r   Z   s�   € € € € € Ø.Ð.ð4ð 4ð 4ð4ð 4ð 4ð*ð *ð *ð *ð *�”ñ *ô *ð *ð>*ð *ð *ð *ð *�”ñ *ô *ð *ð *ð *r   r   )	r[   Úcorer   r   r   r   r#   r$   r   r   r   r   ú<module>r]      s“   ððð ð$ &Ð %Ð %Ð %Ð %Ð %Ð %Ð %à€ðð ð ð8€ð, ð 
ñ 
€ðB*ð B*ð B*ð B*ð B*�ñ B*ô B*ð B*ð B*ð B*r   