
    +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dS )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dS )vtkImageExportToArrayc                 :    t                      | _        d| _        d S NF)r   _vtkImageExportToArray__export1_vtkImageExportToArray__ConvertUnsignedShortToIntselfs    _/DATA/AppData/hermes/venv/lib/python3.11/site-packages/vtkmodules/util/vtkImageExportToArray.py__init__zvtkImageExportToArray.__init__)   s    &((+0(((    bBhHiIfd            c                     || _         d S Nr   )r   yesnos     r   SetConvertUnsignedShortToIntz2vtkImageExportToArray.SetConvertUnsignedShortToIntB       +0(((r   c                     | j         S r'   r(   r   s    r   GetConvertUnsignedShortToIntz2vtkImageExportToArray.GetConvertUnsignedShortToIntE   s    //r   c                     d| _         d S )NTr(   r   s    r   ConvertUnsignedShortToIntOnz1vtkImageExportToArray.ConvertUnsignedShortToIntOnH   s    +/(((r   c                     d| _         d S r   r(   r   s    r   ConvertUnsignedShortToIntOffz2vtkImageExportToArray.ConvertUnsignedShortToIntOffK   r+   r   c                 6    | j                             |          S r'   )r   SetInputConnectionr   inputs     r   r3   z(vtkImageExportToArray.SetInputConnectionO   s    }//666r   c                 6    | j                             |          S r'   )r   SetInputDatar4   s     r   r7   z"vtkImageExportToArray.SetInputDataR   s    }))%000r   c                 4    | j                                         S r'   )r   GetInputr   s    r   r9   zvtkImageExportToArray.GetInputU   s    }%%'''r   c                 X   | j                                          | j                                         }|                                }|                                }|                                }|d         |d         z
  dz   |d         |d         z
  dz   |d         |d         z
  dz   f}|dk    r||fz   }t          j        || j        |                   }| j         	                    |           |t          k    r/| j        r(t          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9W%%% &&&4+K&'s(;(;FCCGr   c                 4    | j                                         S r'   )r   GetDataExtentr   s    r   rO   z#vtkImageExportToArray.GetDataExtentm       }**,,,r   c                 4    | j                                         S r'   )r   GetDataSpacingr   s    r   rR   z$vtkImageExportToArray.GetDataSpacingp   s    }++---r   c                 4    | 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 1 1 #3$SS%c3#CSc#J #1$QQ%a1#AQa"J1 1 10 0 00 0 01 1 17 7 71 1 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`      sI   ,                    0 0 0 0 0 0 O O O O O O 4 4 4 4 4 4 6 6 6 6 6 6 . . . . . . 7 7 7 7 7 7 , , , , , , 5 5 5 5 5 5 - - - - - - 6 6 6 6 6 6 . . . . . . / / / / / /L- L- L- L- L- L- L- L- L- L-r   