"""
This type stub file was generated by pyright.
"""

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkImageImport(__vtkmodules_vtkCommonExecutionModel.vtkImageAlgorithm):
    """
    vtkImageImport - Import data from a C array.
    
    Superclass: vtkImageAlgorithm
    
    vtkImageImport provides methods needed to import image data from a
    source independent of VTK, such as a simple C array or a third-party
    pipeline. Note that the VTK convention is for the image voxel index
    (0,0,0) to be the lower-left corner of the image, while most 2D image
    formats use the upper-left corner.  You can use vtkImageFlip to
    correct the orientation after the image has been loaded into VTK.
    Note that is also possible to import the raw data from a Python
    string instead of from a C array. The array applies on scalar point
    data only, not on cell data.
    @sa
    vtkImageExport
    """
    def CopyImportVoidPointer(self, void, p_int):
        """
        V.CopyImportVoidPointer(void, int)
        C++: void CopyImportVoidPointer(void *ptr, vtkIdType size)
        
        Import data and make an internal copy of it.  If you do not want
        VTK to copy the data, then use SetImportVoidPointer instead (do
        not use both).  Give the size of the data array in bytes.
        """
        ...
    
    def GetCallbackUserData(self):
        """
        V.GetCallbackUserData() -> void
        C++: virtual void *GetCallbackUserData()
        
        Set/Get the user data which will be passed as the first argument
        to all of the third-party pipeline callbacks.
        """
        ...
    
    def GetDataDirection(self):
        """
        V.GetDataDirection() -> (float, float, float, float, float, float,
             float, float, float)
        C++: virtual double *GetDataDirection()
        
        Set/Get the direction of the data, i.e. the 3x3 matrix to rotate
        the coordinates from index space (ijk) to physical space (xyz).
        Default: Identity Matrix (1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
        1.0)
        """
        ...
    
    def GetDataExtent(self):
        """
        V.GetDataExtent() -> (int, int, int, int, int, int)
        C++: virtual int *GetDataExtent()
        
        Get/Set the extent of the data buffer.  The dimensions of your
        data must be equal to (extent[1]-extent[0]+1) *
        (extent[3]-extent[2]+1) * (extent[5]-DataExtent[4]+1).  For
        example, for a 2D image use (0,width-1, 0,height-1, 0,0).
        """
        ...
    
    def GetDataOrigin(self):
        """
        V.GetDataOrigin() -> (float, float, float)
        C++: virtual double *GetDataOrigin()
        
        Set/Get the origin of the data, i.e. the coordinates (usually in
        mm) of voxel (0,0,0).  Default: (0.0, 0.0, 0.0).
        """
        ...
    
    def GetDataScalarType(self):
        """
        V.GetDataScalarType() -> int
        C++: virtual int GetDataScalarType()
        
        Set/Get the data type of pixels in the imported data.  This is
        used as the scalar type of the Output.  Default: Short.
        """
        ...
    
    def GetDataScalarTypeAsString(self):
        """
        V.GetDataScalarTypeAsString() -> string
        C++: const char *GetDataScalarTypeAsString()
        
        Set/Get the data type of pixels in the imported data.  This is
        used as the scalar type of the Output.  Default: Short.
        """
        ...
    
    def GetDataSpacing(self):
        """
        V.GetDataSpacing() -> (float, float, float)
        C++: virtual double *GetDataSpacing()
        
        Set/Get the spacing (typically in mm) between image voxels.
        Default: (1.0, 1.0, 1.0).
        """
        ...
    
    def GetImportVoidPointer(self):
        """
        V.GetImportVoidPointer() -> void
        C++: void *GetImportVoidPointer()
        
        Set the pointer from which the image data is imported.  VTK will
        not make its own copy of the data, it will access the data
        directly from the supplied array.  VTK will not attempt to delete
        the data nor modify the data.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfScalarComponents(self):
        """
        V.GetNumberOfScalarComponents() -> int
        C++: virtual int GetNumberOfScalarComponents()
        
        Set/Get the number of scalar components, for RGB images this must
        be 3. Default: 1.
        """
        ...
    
    def GetScalarArrayName(self):
        """
        V.GetScalarArrayName() -> string
        C++: virtual char *GetScalarArrayName()
        
        Set/get the scalar array name for this data set. Initial value is
        "scalars".
        """
        ...
    
    def GetWholeExtent(self):
        """
        V.GetWholeExtent() -> (int, int, int, int, int, int)
        C++: virtual int *GetWholeExtent()
        
        Get/Set the whole extent of the image.  This is the largest
        possible extent.  Set the DataExtent to the extent of the image
        in the buffer pointed to by the ImportVoidPointer.
        """
        ...
    
    def InvokeExecuteDataCallbacks(self):
        """
        V.InvokeExecuteDataCallbacks()
        C++: void InvokeExecuteDataCallbacks()
        
        Invoke the appropriate callbacks
        """
        ...
    
    def InvokeExecuteInformationCallbacks(self):
        """
        V.InvokeExecuteInformationCallbacks()
        C++: void InvokeExecuteInformationCallbacks()
        
        Invoke the appropriate callbacks
        """
        ...
    
    def InvokePipelineModifiedCallbacks(self):
        """
        V.InvokePipelineModifiedCallbacks() -> int
        C++: int InvokePipelineModifiedCallbacks()
        
        Invoke the appropriate callbacks
        """
        ...
    
    def InvokeUpdateInformationCallbacks(self):
        """
        V.InvokeUpdateInformationCallbacks()
        C++: void InvokeUpdateInformationCallbacks()
        
        Invoke the appropriate callbacks
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Return 1 if this class is the same type of (or a subclass of) the
        named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Return 1 if this class type is the same type of (or a subclass
        of) the named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def LegacyCheckWholeExtent(self):
        """
        V.LegacyCheckWholeExtent()
        C++: void LegacyCheckWholeExtent()
        
        Invoke the appropriate callbacks
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkImageImport
        C++: vtkImageImport *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkImageImport
        C++: static vtkImageImport *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetCallbackUserData(self, void):
        """
        V.SetCallbackUserData(void)
        C++: virtual void SetCallbackUserData(void *_arg)
        
        Set/Get the user data which will be passed as the first argument
        to all of the third-party pipeline callbacks.
        """
        ...
    
    def SetDataDirection(self, float_tuple):
        """
        V.SetDataDirection((float, ...))
        C++: virtual void SetDataDirection(const double data[])
        
        Set/Get the direction of the data, i.e. the 3x3 matrix to rotate
        the coordinates from index space (ijk) to physical space (xyz).
        Default: Identity Matrix (1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
        1.0)
        """
        ...
    
    def SetDataExtent(self, p_int, p_int_1, p_int_2, p_int_3, p_int_4, p_int_5):
        """
        V.SetDataExtent(int, int, int, int, int, int)
        C++: virtual void SetDataExtent(int _arg1, int _arg2, int _arg3,
            int _arg4, int _arg5, int _arg6)
        V.SetDataExtent((int, int, int, int, int, int))
        C++: virtual void SetDataExtent(const int _arg[6])
        
        Get/Set the extent of the data buffer.  The dimensions of your
        data must be equal to (extent[1]-extent[0]+1) *
        (extent[3]-extent[2]+1) * (extent[5]-DataExtent[4]+1).  For
        example, for a 2D image use (0,width-1, 0,height-1, 0,0).
        """
        ...
    
    def SetDataExtentToWholeExtent(self):
        """
        V.SetDataExtentToWholeExtent()
        C++: void SetDataExtentToWholeExtent()
        
        Get/Set the extent of the data buffer.  The dimensions of your
        data must be equal to (extent[1]-extent[0]+1) *
        (extent[3]-extent[2]+1) * (extent[5]-DataExtent[4]+1).  For
        example, for a 2D image use (0,width-1, 0,height-1, 0,0).
        """
        ...
    
    def SetDataOrigin(self, p_float, p_float_1, p_float_2):
        """
        V.SetDataOrigin(float, float, float)
        C++: virtual void SetDataOrigin(double _arg1, double _arg2,
            double _arg3)
        V.SetDataOrigin((float, float, float))
        C++: virtual void SetDataOrigin(const double _arg[3])
        
        Set/Get the origin of the data, i.e. the coordinates (usually in
        mm) of voxel (0,0,0).  Default: (0.0, 0.0, 0.0).
        """
        ...
    
    def SetDataScalarType(self, p_int):
        """
        V.SetDataScalarType(int)
        C++: virtual void SetDataScalarType(int _arg)
        
        Set/Get the data type of pixels in the imported data.  This is
        used as the scalar type of the Output.  Default: Short.
        """
        ...
    
    def SetDataScalarTypeToDouble(self):
        """
        V.SetDataScalarTypeToDouble()
        C++: void SetDataScalarTypeToDouble()
        
        Set/Get the data type of pixels in the imported data.  This is
        used as the scalar type of the Output.  Default: Short.
        """
        ...
    
    def SetDataScalarTypeToFloat(self):
        """
        V.SetDataScalarTypeToFloat()
        C++: void SetDataScalarTypeToFloat()
        
        Set/Get the data type of pixels in the imported data.  This is
        used as the scalar type of the Output.  Default: Short.
        """
        ...
    
    def SetDataScalarTypeToInt(self):
        """
        V.SetDataScalarTypeToInt()
        C++: void SetDataScalarTypeToInt()
        
        Set/Get the data type of pixels in the imported data.  This is
        used as the scalar type of the Output.  Default: Short.
        """
        ...
    
    def SetDataScalarTypeToShort(self):
        """
        V.SetDataScalarTypeToShort()
        C++: void SetDataScalarTypeToShort()
        
        Set/Get the data type of pixels in the imported data.  This is
        used as the scalar type of the Output.  Default: Short.
        """
        ...
    
    def SetDataScalarTypeToUnsignedChar(self):
        """
        V.SetDataScalarTypeToUnsignedChar()
        C++: void SetDataScalarTypeToUnsignedChar()
        
        Set/Get the data type of pixels in the imported data.  This is
        used as the scalar type of the Output.  Default: Short.
        """
        ...
    
    def SetDataScalarTypeToUnsignedShort(self):
        """
        V.SetDataScalarTypeToUnsignedShort()
        C++: void SetDataScalarTypeToUnsignedShort()
        
        Set/Get the data type of pixels in the imported data.  This is
        used as the scalar type of the Output.  Default: Short.
        """
        ...
    
    def SetDataSpacing(self, p_float, p_float_1, p_float_2):
        """
        V.SetDataSpacing(float, float, float)
        C++: virtual void SetDataSpacing(double _arg1, double _arg2,
            double _arg3)
        V.SetDataSpacing((float, float, float))
        C++: virtual void SetDataSpacing(const double _arg[3])
        
        Set/Get the spacing (typically in mm) between image voxels.
        Default: (1.0, 1.0, 1.0).
        """
        ...
    
    def SetImportVoidPointer(self, void):
        """
        V.SetImportVoidPointer(void)
        C++: void SetImportVoidPointer(void *ptr)
        V.SetImportVoidPointer(void, int)
        C++: void SetImportVoidPointer(void *ptr, int save)
        
        Set the pointer from which the image data is imported.  VTK will
        not make its own copy of the data, it will access the data
        directly from the supplied array.  VTK will not attempt to delete
        the data nor modify the data.
        """
        ...
    
    def SetNumberOfScalarComponents(self, p_int):
        """
        V.SetNumberOfScalarComponents(int)
        C++: virtual void SetNumberOfScalarComponents(int _arg)
        
        Set/Get the number of scalar components, for RGB images this must
        be 3. Default: 1.
        """
        ...
    
    def SetScalarArrayName(self, string):
        """
        V.SetScalarArrayName(string)
        C++: virtual void SetScalarArrayName(const char *_arg)
        
        Set/get the scalar array name for this data set. Initial value is
        "scalars".
        """
        ...
    
    def SetWholeExtent(self, p_int, p_int_1, p_int_2, p_int_3, p_int_4, p_int_5):
        """
        V.SetWholeExtent(int, int, int, int, int, int)
        C++: virtual void SetWholeExtent(int _arg1, int _arg2, int _arg3,
            int _arg4, int _arg5, int _arg6)
        V.SetWholeExtent((int, int, int, int, int, int))
        C++: virtual void SetWholeExtent(const int _arg[6])
        
        Get/Set the whole extent of the image.  This is the largest
        possible extent.  Set the DataExtent to the extent of the image
        in the buffer pointed to by the ImportVoidPointer.
        """
        ...
    
    def __delattr__(self, *args, **kwargs):
        """ Implement delattr(self, name). """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __init__(self, *args, **kwargs) -> None:
        ...
    
    @staticmethod
    def __new__(*args, **kwargs):
        """ Create and return a new object.  See help(type) for accurate signature. """
        ...
    
    def __repr__(self, *args, **kwargs):
        """ Return repr(self). """
        ...
    
    def __setattr__(self, *args, **kwargs):
        """ Implement setattr(self, name, value). """
        ...
    
    def __str__(self, *args, **kwargs) -> str:
        """ Return str(self). """
        ...
    
    __this__ = ...
    __dict__ = ...
    __vtkname__ = ...


