
    tjv                         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__export1_vtkImageExportToArray__ConvertUnsignedShortToIntselfs    R/DATA/.local/lib/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;ay"1$ay"1$ay"1$& A((C++c4??4#89W% &&4+K+K''s(;FCG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   