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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkImageShrink3D(__vtkmodules_vtkCommonExecutionModel.vtkThreadedImageAlgorithm):
    """
    vtkImageShrink3D - Subsamples an image.
    
    Superclass: vtkThreadedImageAlgorithm
    
    vtkImageShrink3D shrinks an image by sub sampling on a uniform grid
    (integer multiples).
    """
    def AveragingOff(self):
        """
        V.AveragingOff()
        C++: virtual void AveragingOff()
        
        Choose Mean, Minimum, Maximum, Median or sub sampling. The
        neighborhood operations are not centered on the sampled pixel.
        This may cause a half pixel shift in your output image. You can
        changed "Shift" to get around this. vtkImageGaussianSmooth or
        vtkImageMean with strides.
        """
        ...
    
    def AveragingOn(self):
        """
        V.AveragingOn()
        C++: virtual void AveragingOn()
        
        Choose Mean, Minimum, Maximum, Median or sub sampling. The
        neighborhood operations are not centered on the sampled pixel.
        This may cause a half pixel shift in your output image. You can
        changed "Shift" to get around this. vtkImageGaussianSmooth or
        vtkImageMean with strides.
        """
        ...
    
    def GetAveraging(self):
        """
        V.GetAveraging() -> int
        C++: vtkTypeBool GetAveraging()
        
        Choose Mean, Minimum, Maximum, Median or sub sampling. The
        neighborhood operations are not centered on the sampled pixel.
        This may cause a half pixel shift in your output image. You can
        changed "Shift" to get around this. vtkImageGaussianSmooth or
        vtkImageMean with strides.
        """
        ...
    
    def GetMaximum(self):
        """
        V.GetMaximum() -> int
        C++: virtual vtkTypeBool GetMaximum()
        """
        ...
    
    def GetMean(self):
        """
        V.GetMean() -> int
        C++: virtual vtkTypeBool GetMean()
        """
        ...
    
    def GetMedian(self):
        """
        V.GetMedian() -> int
        C++: virtual vtkTypeBool GetMedian()
        """
        ...
    
    def GetMinimum(self):
        """
        V.GetMinimum() -> int
        C++: virtual vtkTypeBool GetMinimum()
        """
        ...
    
    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 GetShift(self):
        """
        V.GetShift() -> (int, int, int)
        C++: virtual int *GetShift()
        
        Set/Get the pixel to use as origin.
        """
        ...
    
    def GetShrinkFactors(self):
        """
        V.GetShrinkFactors() -> (int, int, int)
        C++: virtual int *GetShrinkFactors()
        
        Set/Get the shrink factors
        """
        ...
    
    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 MaximumOff(self):
        """
        V.MaximumOff()
        C++: virtual void MaximumOff()
        """
        ...
    
    def MaximumOn(self):
        """
        V.MaximumOn()
        C++: virtual void MaximumOn()
        """
        ...
    
    def MeanOff(self):
        """
        V.MeanOff()
        C++: virtual void MeanOff()
        """
        ...
    
    def MeanOn(self):
        """
        V.MeanOn()
        C++: virtual void MeanOn()
        """
        ...
    
    def MedianOff(self):
        """
        V.MedianOff()
        C++: virtual void MedianOff()
        """
        ...
    
    def MedianOn(self):
        """
        V.MedianOn()
        C++: virtual void MedianOn()
        """
        ...
    
    def MinimumOff(self):
        """
        V.MinimumOff()
        C++: virtual void MinimumOff()
        """
        ...
    
    def MinimumOn(self):
        """
        V.MinimumOn()
        C++: virtual void MinimumOn()
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkImageShrink3D
        C++: vtkImageShrink3D *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkImageShrink3D
        C++: static vtkImageShrink3D *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetAveraging(self, p_int):
        """
        V.SetAveraging(int)
        C++: void SetAveraging(vtkTypeBool)
        
        Choose Mean, Minimum, Maximum, Median or sub sampling. The
        neighborhood operations are not centered on the sampled pixel.
        This may cause a half pixel shift in your output image. You can
        changed "Shift" to get around this. vtkImageGaussianSmooth or
        vtkImageMean with strides.
        """
        ...
    
    def SetMaximum(self, p_int):
        """
        V.SetMaximum(int)
        C++: void SetMaximum(vtkTypeBool)
        """
        ...
    
    def SetMean(self, p_int):
        """
        V.SetMean(int)
        C++: void SetMean(vtkTypeBool)
        """
        ...
    
    def SetMedian(self, p_int):
        """
        V.SetMedian(int)
        C++: void SetMedian(vtkTypeBool)
        """
        ...
    
    def SetMinimum(self, p_int):
        """
        V.SetMinimum(int)
        C++: void SetMinimum(vtkTypeBool)
        """
        ...
    
    def SetShift(self, p_int, p_int_1, p_int_2):
        """
        V.SetShift(int, int, int)
        C++: virtual void SetShift(int _arg1, int _arg2, int _arg3)
        V.SetShift((int, int, int))
        C++: virtual void SetShift(const int _arg[3])
        
        Set/Get the pixel to use as origin.
        """
        ...
    
    def SetShrinkFactors(self, p_int, p_int_1, p_int_2):
        """
        V.SetShrinkFactors(int, int, int)
        C++: virtual void SetShrinkFactors(int _arg1, int _arg2,
            int _arg3)
        V.SetShrinkFactors((int, int, int))
        C++: virtual void SetShrinkFactors(const int _arg[3])
        
        Set/Get the shrink factors
        """
        ...
    
    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__ = ...


