
    tj5                         d 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)a  
vtkImageImportFromArray: a NumPy front-end to vtkImageImport

Load a python array into a vtk image.
To use this class, you must have NumPy installed (http://numpy.scipy.org/)

Methods:

  SetArray()  -- set the numpy array to load
  Update()    -- generate the output
  GetOutput() -- get the image as vtkImageData
  GetOutputPort() -- connect to VTK pipeline

Methods from vtkImageImport:
(if you don't set these, sensible defaults will be used)

  SetDataExtent()
  SetDataSpacing()
  SetDataOrigin()
    )vtkImageImport)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eeeee	e
ee
ed
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 Zd Zd Zd Zy)vtkImageImportFromArrayc                 >    t               | _        d| _        d | _        y NF)r    _vtkImageImportFromArray__import3_vtkImageImportFromArray__ConvertIntToUnsignedShort_vtkImageImportFromArray__Arrayselfs    T/DATA/.local/lib/python3.12/site-packages/vtkmodules/util/vtkImageImportFromArray.py__init__z vtkImageImportFromArray.__init__#   s    &(+0(    )
bBhHiIfdFD            c                     || _         y Nr   )r   yesnos     r   SetConvertIntToUnsignedShortz4vtkImageImportFromArray.SetConvertIntToUnsignedShort@   
    +0(r   c                     | j                   S r)   r*   r   s    r   GetConvertIntToUnsignedShortz4vtkImageImportFromArray.GetConvertIntToUnsignedShortC   s    ///r   c                     d| _         y )NTr*   r   s    r   ConvertIntToUnsignedShortOnz3vtkImageImportFromArray.ConvertIntToUnsignedShortOnF   s
    +/(r   c                     d| _         y r   r*   r   s    r   ConvertIntToUnsignedShortOffz4vtkImageImportFromArray.ConvertIntToUnsignedShortOffI   r-   r   c                 8    | j                   j                          y r)   )r   Updater   s    r   r5   zvtkImageImportFromArray.UpdateL   s    r   c                 6    | j                   j                         S r)   )r   GetOutputPortr   s    r   r7   z%vtkImageImportFromArray.GetOutputPortP       }}**,,r   c                 6    | j                   j                         S r)   )r   	GetOutputr   s    r   r:   z!vtkImageImportFromArray.GetOutputT   s    }}&&((r   c           
         || _         d}|j                  }t        |      dk(  rd}nRt        |      dk(  r	dd|d   f}n;t        |      dk(  rd|d   |d   f}n!t        |      dk(  r|d   }|d   |d   |d   f}|j                  j                  }| j
                  |   }d}|dk(  s|dk(  r|dz  }d}| j                  r|d	k(  r|j                  d
      }t        }t        |j                        | j                  |   z  |z  }| j                  j                  ||       | j                  j                  |       | j                  j                  |       | j                  j                         }| j                  j!                  |d   |d   |d   z   dz
  |d   |d   |d   z   dz
  |d   |d   |d   z   dz
         | j                  j#                  |d   |d   |d   z   dz
  |d   |d   |d   z   dz
  |d   |d   |d   z   dz
         y )Nr$   r   )r$   r$   r$   r%   r&      r"   r#   r   r   )r   shapelendtypechar"_vtkImageImportFromArray__typeDictr   astyper   flat"_vtkImageImportFromArray__sizeDictr   CopyImportVoidPointerSetDataScalarTypeSetNumberOfScalarComponentsGetDataExtentSetDataExtentSetWholeExtent)	r   imArraynumComponentsdimtypecodear_typecomplexComponentssizeextents	            r   SetArrayz vtkImageImportFromArray.SetArrayX   s"   mms8q=CX]aQ.CX]c!fc!f%CX]FMq6#a&Q(C==%%//(+Ox3)A-M !,,SnnS)G(G7<< !99:KK++GT:''011-@,,.##F1IfQiA.>q.@$*1IfQiA.>q.@$*1IfQiA.>q.@	B 	$$VAYvayQ/?/A%+AYvayQ/?/A%+AYvayQ/?/A	Cr   c                     | j                   S r)   )r   r   s    r   GetArrayz vtkImageImportFromArray.GetArray   s    ||r   c                 :    | j                   j                  |       y r)   )r   rI   )r   rR   s     r   rI   z%vtkImageImportFromArray.SetDataExtent       ##F+r   c                 6    | j                   j                         S r)   )r   rH   r   s    r   rH   z%vtkImageImportFromArray.GetDataExtent   r8   r   c                 :    | j                   j                  |       y r)   )r   SetDataSpacing)r   spacings     r   rZ   z&vtkImageImportFromArray.SetDataSpacing   s    $$W-r   c                 6    | j                   j                         S r)   )r   GetDataSpacingr   s    r   r]   z&vtkImageImportFromArray.GetDataSpacing   s    }}++--r   c                 :    | j                   j                  |       y r)   )r   SetDataOrigin)r   origins     r   r_   z%vtkImageImportFromArray.SetDataOrigin   rW   r   c                 6    | j                   j                         S r)   )r   GetDataOriginr   s    r   rb   z%vtkImageImportFromArray.GetDataOrigin   r8   r   N)__name__
__module____qualname__r   r   r   r   r   r   r	   r   r   rA   rD   r,   r/   r1   r3   r5   r7   r:   rS   rU   rI   rH   rZ   r]   r_   rb    r   r   r   r   "   s     &'(&  
J #1$QQ%a1#AQa"J1001-)%CN
,-..,-r   r   N)__doc__vtkmodules.vtkIOImager   vtkmodules.vtkCommonCorer   r   r   r   r   r	   r
   r   r   r   r   rf   r   r   <module>rj      s9   * 1 4 6 . 7 , 5 - 6 . /r- r-r   