
    +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dS )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dS )vtkImageImportFromArrayc                 H    t                      | _        d| _        d | _        d S NF)r    _vtkImageImportFromArray__import3_vtkImageImportFromArray__ConvertIntToUnsignedShort_vtkImageImportFromArray__Arrayselfs    a/DATA/AppData/hermes/venv/lib/python3.11/site-packages/vtkmodules/util/vtkImageImportFromArray.py__init__z vtkImageImportFromArray.__init__#   s"    &((+0(    )
bBhHiIfdFD            c                     || _         d S Nr   )r   yesnos     r   SetConvertIntToUnsignedShortz4vtkImageImportFromArray.SetConvertIntToUnsignedShort@       +0(((r   c                     | j         S r)   r*   r   s    r   GetConvertIntToUnsignedShortz4vtkImageImportFromArray.GetConvertIntToUnsignedShortC   s    //r   c                     d| _         d S )NTr*   r   s    r   ConvertIntToUnsignedShortOnz3vtkImageImportFromArray.ConvertIntToUnsignedShortOnF   s    +/(((r   c                     d| _         d S r   r*   r   s    r   ConvertIntToUnsignedShortOffz4vtkImageImportFromArray.ConvertIntToUnsignedShortOffI   r-   r   c                 8    | j                                          d S r)   )r   Updater   s    r   r5   zvtkImageImportFromArray.UpdateL   s    r   c                 4    | j                                         S r)   )r   GetOutputPortr   s    r   r7   z%vtkImageImportFromArray.GetOutputPortP       }**,,,r   c                 4    | j                                         S r)   )r   	GetOutputr   s    r   r:   z!vtkImageImportFromArray.GetOutputT   s    }&&(((r   c           
         || _         d}|j        }t          |          dk    rd}nvt          |          dk    rdd|d         f}nWt          |          dk    rd|d         |d         f}n2t          |          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|                    d
          }t          }t          |j	                  | j
        |         z  |z  }| j                            ||           | j                            |           | j                            |           | j                                        }| j                            |d         |d         |d         z   dz
  |d         |d         |d         z   dz
  |d         |d         |d         z   dz
             | j                            |d         |d         |d         z   dz
  |d         |d         |d         z   dz
  |d         |d         |d         z   dz
             d S )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   sf   ms88q==CCXX]]aQ.CCXX]]c!fc!f%CCXX]]FMq6#a&Q(C=%/(+OOx3)A-M !, 	)SnnS))G(G7<  !99:KK++GT:::''00011-@@@,,..##F1IfQiA.>q.@$*1IfQiA.>q.@$*1IfQiA.>q.@	B 	B 	B 	$$VAYvayQ/?/A%+AYvayQ/?/A%+AYvayQ/?/A	C 	C 	C 	C 	Cr   c                     | j         S r)   )r   r   s    r   GetArrayz vtkImageImportFromArray.GetArray   s
    |r   c                 :    | j                             |           d S r)   )r   rI   )r   rR   s     r   rI   z%vtkImageImportFromArray.SetDataExtent       ##F+++++r   c                 4    | j                                         S r)   )r   rH   r   s    r   rH   z%vtkImageImportFromArray.GetDataExtent   r8   r   c                 :    | j                             |           d S r)   )r   SetDataSpacing)r   spacings     r   rZ   z&vtkImageImportFromArray.SetDataSpacing   s    $$W-----r   c                 4    | j                                         S r)   )r   GetDataSpacingr   s    r   r]   z&vtkImageImportFromArray.GetDataSpacing   s    }++---r   c                 :    | j                             |           d S r)   )r   SetDataOrigin)r   origins     r   r_   z%vtkImageImportFromArray.SetDataOrigin   rW   r   c                 4    | 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   "   se          &'(&  
 
J #1$QQ%a1#AQa"J1 1 10 0 00 0 01 1 1  - - -) ) )%C %C %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      s   * 1 0 0 0 0 0 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 . . . . . . / / / / / /r- r- r- r- r- r- r- r- r- r-r   