# encoding: utf-8
# module vtkmodules.vtkIOImage
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkIOImage.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel


from .vtkImageReader2 import vtkImageReader2

class vtkNIFTIImageReader(vtkImageReader2):
    """
    vtkNIFTIImageReader - Read NIfTI-1 and NIfTI-2 medical image files
    
    Superclass: vtkImageReader2
    
    This class reads NIFTI files, either in .nii format or as separate
    .img and .hdr files.  If two files are used, then they can be passed
    by using SetFileNames() instead of SetFileName().  Files ending in
    .gz are decompressed on-the-fly while they are being read.  Files
    with complex numbers or vector dimensions will be read as
    multi-component images.  If a NIFTI file has a time dimension, then
    by default only the first image in the time series will be read, but
    the TimeAsVector flag can be set to read the time steps as vector
    components.  Files in Analyze 7.5 format are also supported by this
    reader.@par Thanks: This class was contributed to VTK by the Calgary
    Image Processing and Analysis Centre (CIPAC).
    @sa
    vtkNIFTIImageWriter, vtkNIFTIImageHeader
    """
    def CanReadFile(self, filename): # real signature unknown; restored from __doc__
        """
        CanReadFile(self, filename:str) -> int
        C++: int CanReadFile(const char *filename) override;
        
        Return true if this reader can read the given file.
        """
        return 0

    def GetDescriptiveName(self): # real signature unknown; restored from __doc__
        """
        GetDescriptiveName(self) -> str
        C++: const char *GetDescriptiveName() override;
        
        Return a descriptive name that might be useful in a GUI.
        """
        return ""

    def GetFileExtensions(self): # real signature unknown; restored from __doc__
        """
        GetFileExtensions(self) -> str
        C++: const char *GetFileExtensions() override;
        
        Valid extensions for this file type.
        """
        return ""

    def GetNIFTIHeader(self): # real signature unknown; restored from __doc__
        """
        GetNIFTIHeader(self) -> vtkNIFTIImageHeader
        C++: vtkNIFTIImageHeader *GetNIFTIHeader()
        
        Get the raw header information from the NIfTI file.
        """
        return vtkNIFTIImageHeader

    def GetNumberOfGenerationsFromBase(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBase(self, type:str) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given 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.
        """
        return 0

    def GetNumberOfGenerationsFromBaseType(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBaseType(type:str) -> 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.
        """
        return 0

    def GetPlanarRGB(self): # real signature unknown; restored from __doc__
        """
        GetPlanarRGB(self) -> bool
        C++: virtual bool GetPlanarRGB()
        
        Read planar RGB (separate R, G, and B planes), rather than packed
        RGB. The NIFTI format should always use packed RGB.  The Analyze
        format, however, was used to store both planar RGB and packed RGB
        depending on the software, without any indication in the header
        about which convention was being used.  Use this if you have a
        planar RGB file.
        """
        return False

    def GetQFac(self): # real signature unknown; restored from __doc__
        """
        GetQFac(self) -> float
        C++: double GetQFac()
        
        QFac gives the slice order in the NIFTI file versus the VTK
        image. If QFac is -1, then the VTK slice index K is related to
        the NIFTI slice index k by the equation K = (num_slices - k - 1).
         VTK requires the slices to be ordered so that the voxel indices
        (I,J,K) provide a right-handed coordinate system, whereas NIFTI
        does not.  Instead, NIFTI stores a factor called "qfac" in the
        header to signal when the (i,j,k) indices form a left-handed
        coordinate system.  QFac will only ever have values of +1 or -1.
        """
        return 0.0

    def GetQFormMatrix(self): # real signature unknown; restored from __doc__
        """
        GetQFormMatrix(self) -> vtkMatrix4x4
        C++: vtkMatrix4x4 *GetQFormMatrix()
        
        Get a matrix that gives the "qform" orientation and offset for
        the data. If no qform matrix was stored in the file, the return
        value is nullptr. This matrix will transform VTK data coordinates
        into the NIFTI oriented data coordinates, where +X points right,
        +Y points anterior (toward the front), and +Z points superior
        (toward the head). The qform matrix will always have a positive
        determinant. The offset that is stored in the matrix gives the
        position of the first pixel in the first slice of the VTK image
        data.  Note that if QFac is -1, then the first slice in the VTK
        image data is the last slice in the NIFTI file, and the Z offset
        will automatically be adjusted to compensate for this.
        """
        pass

    def GetRescaleIntercept(self): # real signature unknown; restored from __doc__
        """
        GetRescaleIntercept(self) -> float
        C++: double GetRescaleIntercept()
        """
        return 0.0

    def GetRescaleSlope(self): # real signature unknown; restored from __doc__
        """
        GetRescaleSlope(self) -> float
        C++: double GetRescaleSlope()
        
        Get the slope and intercept for rescaling the scalar values.
        These values allow calibration of the data to real values. Use
        the equation v = u*RescaleSlope + RescaleIntercept. This directly
        returns the values stored in the scl_slope and scl_inter fields
        in the NIFTI header.
        """
        return 0.0

    def GetSFormMatrix(self): # real signature unknown; restored from __doc__
        """
        GetSFormMatrix(self) -> vtkMatrix4x4
        C++: vtkMatrix4x4 *GetSFormMatrix()
        
        Get a matrix that gives the "sform" orientation and offset for
        the data. If no sform matrix was stored in the file, the return
        value is nullptr. Like the qform matrix, this matrix will
        transform VTK data coordinates into a NIFTI coordinate system. 
        Unlike the qform matrix, the sform matrix can contain scaling
        information and can even (rarely) have a negative determinant,
        i.e. a flip.  This matrix is modified slightly as compared to the
        sform matrix stored in the NIFTI header: the pixdim pixel spacing
        is factored out.  Also, if QFac is -1, then the VTK slices are in
        reverse order as compared to the NIFTI slices, hence as compared
        to the sform matrix stored in the header, the third column of
        this matrix is multiplied by -1 and the Z offset is shifted to
        compensate for the fact that the last slice has become the first.
        """
        pass

    def GetTimeAsVector(self): # real signature unknown; restored from __doc__
        """
        GetTimeAsVector(self) -> bool
        C++: virtual bool GetTimeAsVector()
        
        Read the time dimension as scalar components (default: Off). If
        this is on, then each time point will be stored as a component in
        the image data.  If the file has both a time dimension and a
        vector dimension, then the number of components will be the
        product of these two dimensions, i.e. the components will store a
        sequence of vectors.
        """
        return False

    def GetTimeDimension(self): # real signature unknown; restored from __doc__
        """
        GetTimeDimension(self) -> int
        C++: int GetTimeDimension()
        
        Get the time dimension that was stored in the NIFTI header.
        """
        return 0

    def GetTimeSpacing(self): # real signature unknown; restored from __doc__
        """
        GetTimeSpacing(self) -> float
        C++: double GetTimeSpacing()
        """
        return 0.0

    def IsA(self, type): # real signature unknown; restored from __doc__
        """
        IsA(self, type:str) -> 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.
        """
        return 0

    def IsTypeOf(self, type): # real signature unknown; restored from __doc__
        """
        IsTypeOf(type:str) -> 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.
        """
        return 0

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkNIFTIImageReader
        C++: vtkNIFTIImageReader *NewInstance()
        """
        return vtkNIFTIImageReader

    def PlanarRGBOff(self): # real signature unknown; restored from __doc__
        """
        PlanarRGBOff(self) -> None
        C++: virtual void PlanarRGBOff()
        """
        pass

    def PlanarRGBOn(self): # real signature unknown; restored from __doc__
        """
        PlanarRGBOn(self) -> None
        C++: virtual void PlanarRGBOn()
        """
        pass

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkNIFTIImageReader
        C++: static vtkNIFTIImageReader *SafeDownCast(vtkObjectBase *o)
        """
        return vtkNIFTIImageReader

    def SetPlanarRGB(self, _arg): # real signature unknown; restored from __doc__
        """
        SetPlanarRGB(self, _arg:bool) -> None
        C++: virtual void SetPlanarRGB(bool _arg)
        """
        pass

    def SetTimeAsVector(self, _arg): # real signature unknown; restored from __doc__
        """
        SetTimeAsVector(self, _arg:bool) -> None
        C++: virtual void SetTimeAsVector(bool _arg)
        """
        pass

    def TimeAsVectorOff(self): # real signature unknown; restored from __doc__
        """
        TimeAsVectorOff(self) -> None
        C++: virtual void TimeAsVectorOff()
        """
        pass

    def TimeAsVectorOn(self): # real signature unknown; restored from __doc__
        """
        TimeAsVectorOn(self) -> None
        C++: virtual void TimeAsVectorOn()
        """
        pass

    def __delattr__(self, *args, **kwargs): # real signature unknown
        """ Implement delattr(self, name). """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    def __setattr__(self, *args, **kwargs): # real signature unknown
        """ Implement setattr(self, name, value). """
        pass

    def __str__(self, *args, **kwargs): # real signature unknown
        """ Return str(self). """
        pass

    __this__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """Pointer to the C++ object."""


    __dict__ = None # (!) real value is "mappingproxy({'__vtkname__': 'vtkNIFTIImageReader', 'IsTypeOf': <method 'IsTypeOf' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'IsA': <method 'IsA' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'SafeDownCast': <method 'SafeDownCast' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'NewInstance': <method 'NewInstance' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetNumberOfGenerationsFromBaseType': <method 'GetNumberOfGenerationsFromBaseType' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetNumberOfGenerationsFromBase': <method 'GetNumberOfGenerationsFromBase' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetFileExtensions': <method 'GetFileExtensions' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetDescriptiveName': <method 'GetDescriptiveName' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'CanReadFile': <method 'CanReadFile' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetTimeAsVector': <method 'GetTimeAsVector' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'SetTimeAsVector': <method 'SetTimeAsVector' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'TimeAsVectorOn': <method 'TimeAsVectorOn' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'TimeAsVectorOff': <method 'TimeAsVectorOff' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetTimeDimension': <method 'GetTimeDimension' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetTimeSpacing': <method 'GetTimeSpacing' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetRescaleSlope': <method 'GetRescaleSlope' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetRescaleIntercept': <method 'GetRescaleIntercept' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetPlanarRGB': <method 'GetPlanarRGB' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'SetPlanarRGB': <method 'SetPlanarRGB' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'PlanarRGBOn': <method 'PlanarRGBOn' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'PlanarRGBOff': <method 'PlanarRGBOff' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetQFac': <method 'GetQFac' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetQFormMatrix': <method 'GetQFormMatrix' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetSFormMatrix': <method 'GetSFormMatrix' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, 'GetNIFTIHeader': <method 'GetNIFTIHeader' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, '__new__': <built-in method __new__ of type object at 0x00007FF8393B8360>, '__repr__': <slot wrapper '__repr__' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, '__str__': <slot wrapper '__str__' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, '__setattr__': <slot wrapper '__setattr__' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, '__delattr__': <slot wrapper '__delattr__' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, '__dict__': <attribute '__dict__' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, '__this__': <attribute '__this__' of 'vtkmodules.vtkIOImage.vtkNIFTIImageReader' objects>, '__doc__': 'vtkNIFTIImageReader - Read NIfTI-1 and NIfTI-2 medical image files\\n\\nSuperclass: vtkImageReader2\\n\\nThis class reads NIFTI files, either in .nii format or as separate\\n.img and .hdr files.  If two files are used, then they can be passed\\nby using SetFileNames() instead of SetFileName().  Files ending in\\n.gz are decompressed on-the-fly while they are being read.  Files\\nwith complex numbers or vector dimensions will be read as\\nmulti-component images.  If a NIFTI file has a time dimension, then\\nby default only the first image in the time series will be read, but\\nthe TimeAsVector flag can be set to read the time steps as vector\\ncomponents.  Files in Analyze 7.5 format are also supported by this\\nreader.@par Thanks: This class was contributed to VTK by the Calgary\\nImage Processing and Analysis Centre (CIPAC).\\n@sa\\nvtkNIFTIImageWriter, vtkNIFTIImageHeader\\n\\n'})"
    __vtkname__ = 'vtkNIFTIImageReader'


