Ë
    ¯·gv  ã                   óÆ   — d Z ddlZddlmc mZ ddlmZ ddlmZ ddl	m
Z
 ddl	mZ ddl	mZ ddl	mZ dd	l	mZ dd
l	mZ ddl	mZ ddl	mZ ddl	mZ ddl	mZ  G d„ d«      Zy)aA  
vtkImageExportToArray - a NumPy front-end to vtkImageExport

This class converts a VTK image to a numpy array.  The output
array will always have 3 dimensions (or 4, if the image had
multiple scalar components).

To use this class, you must have numpy installed (http://numpy.scipy.org)

Methods

  SetInputConnection(vtkAlgorithmOutput) -- connect to VTK image pipeline
  SetInputData(vtkImageData) -- set an vtkImageData to export
  GetArray() -- execute pipeline and return a numpy array

Methods from vtkImageExport

  GetDataExtent()
  GetDataSpacing()
  GetDataOrigin()
é    N)ÚvtkImageExport)Ú vtkStreamingDemandDrivenPipeline)ÚVTK_SIGNED_CHAR)ÚVTK_UNSIGNED_CHAR)Ú	VTK_SHORT)ÚVTK_UNSIGNED_SHORT)ÚVTK_INT)ÚVTK_UNSIGNED_INT)ÚVTK_LONG)ÚVTK_UNSIGNED_LONG)Ú	VTK_FLOAT)Ú
VTK_DOUBLEc                   óœ   — e Zd Zd„ Zededededede	de
ded	iZed
ed
ededede	de
dediZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚvtkImageExportToArrayc                 ó0   — t        «       | _        d| _        y ©NF)r   Ú_vtkImageExportToArray__exportÚ1_vtkImageExportToArray__ConvertUnsignedShortToInt©Úselfs    úElib/python3.12/site-packages/vtkmodules/util/vtkImageExportToArray.pyÚ__init__zvtkImageExportToArray.__init__)   s   € Ü&Ó(ˆŒØ+0ˆÕ(ó    ÚbÚBÚhÚHÚiÚIÚfÚdé   é   é   é   c                 ó   — || _         y ©N©r   )r   Úyesnos     r   ÚSetConvertUnsignedShortToIntz2vtkImageExportToArray.SetConvertUnsignedShortToIntB   ó
   € Ø+0ˆÕ(r   c                 ó   — | j                   S r'   r(   r   s    r   ÚGetConvertUnsignedShortToIntz2vtkImageExportToArray.GetConvertUnsignedShortToIntE   s   € Ø×/Ñ/Ð/r   c                 ó   — d| _         y )NTr(   r   s    r   ÚConvertUnsignedShortToIntOnz1vtkImageExportToArray.ConvertUnsignedShortToIntOnH   s
   € Ø+/ˆÕ(r   c                 ó   — d| _         y r   r(   r   s    r   ÚConvertUnsignedShortToIntOffz2vtkImageExportToArray.ConvertUnsignedShortToIntOffK   r+   r   c                 ó8   — | j                   j                  |«      S r'   )r   ÚSetInputConnection©r   Úinputs     r   r3   z(vtkImageExportToArray.SetInputConnectionO   s   € Ø�}‰}×/Ñ/°Ó6Ð6r   c                 ó8   — | j                   j                  |«      S r'   )r   ÚSetInputDatar4   s     r   r7   z"vtkImageExportToArray.SetInputDataR   s   € Ø�}‰}×)Ñ)¨%Ó0Ð0r   c                 ó6   — | j                   j                  «       S r'   )r   ÚGetInputr   s    r   r9   zvtkImageExportToArray.GetInputU   s   € Ø�}‰}×%Ñ%Ó'Ð'r   c                 ó&  — | j                   j                  «        | j                   j                  «       }|j                  «       }|j	                  «       }|j                  «       }|d   |d   z
  dz   |d   |d   z
  dz   |d   |d   z
  dz   f}|dkD  r||fz   }t        j                  || j                  |   «      }| j                   j                  |«       |t        k(  r1| j                  r%t        j                  |j                  d«      d«      }|S )	Né   r$   r"   é   r#   r   r   iÿÿ  )r   ÚUpdater9   Ú	GetExtentÚGetScalarTypeÚGetNumberOfScalarComponentsÚnumpyÚzerosÚ _vtkImageExportToArray__typeDictÚExportr   r   ÚumathÚbitwise_andÚastype)r   r5   ÚextentÚtypeÚnumComponentsÚdimÚimArrays          r   ÚGetArrayzvtkImageExportToArray.GetArrayX   s  € Ø�‰×ÑÔØ—‘×&Ñ&Ó(ˆØ—‘Ó"ˆØ×"Ñ"Ó$ˆØ×9Ñ9Ó;ˆØ�a‰y˜ ™Ñ" 1Ñ$Ø�a‰y˜ ™Ñ" 1Ñ$Ø�a‰y˜ ™Ñ" 1Ñ$ð&ˆð ˜AÒØ˜Ð(Ñ(ˆCä—+‘+˜c 4§?¡?°4Ñ#8Ó9ˆØ�‰×Ñ˜WÔ%ð Ô&Ò&¨4×+KÒ+KÜ×'Ñ'¨¯©°sÓ(;¸FÓCˆGàˆr   c                 ó6   — | j                   j                  «       S r'   )r   ÚGetDataExtentr   s    r   rO   z#vtkImageExportToArray.GetDataExtentm   ó   € Ø�}‰}×*Ñ*Ó,Ð,r   c                 ó6   — | j                   j                  «       S r'   )r   ÚGetDataSpacingr   s    r   rR   z$vtkImageExportToArray.GetDataSpacingp   s   € Ø�}‰}×+Ñ+Ó-Ð-r   c                 ó6   — | j                   j                  «       S r'   )r   ÚGetDataOriginr   s    r   rT   z#vtkImageExportToArray.GetDataOrigins   rP   r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r	   r
   r   r   rC   Ú _vtkImageExportToArray__sizeDictr*   r-   r/   r1   r3   r7   r9   rM   rO   rR   rT   © r   r   r   r   (   s    „ ò1ð # 3Ø$ SØ˜SØ% cØ˜3Ø# CØ˜SØ˜cð#€Jð # 1Ø$ QØ˜QØ% aØ˜1Ø# AØ˜QØ˜að"€Jò1ò0ò0ò1ò7ò1ò(òò*-ò.ó-r   r   )Ú__doc__rA   Únumpy.core.umathÚcorerE   Úvtkmodules.vtkIOImager   Ú"vtkmodules.vtkCommonExecutionModelr   Úvtkmodules.vtkCommonCorer   r   r   r   r	   r
   r   r   r   r   r   rY   r   r   Ú<module>r`      sE   ðñó, ß  Ð  å 0Ý OÝ 4Ý 6Ý .Ý 7Ý ,Ý 5Ý -Ý 6Ý .Ý /÷L-ò L-r   