Class MPSImagePyramid

  • All Implemented Interfaces:
    NSCoding, NSCopying, NSSecureCoding, NSObject
    Direct Known Subclasses:
    MPSImageGaussianPyramid, MPSImageLaplacianPyramid

    public class MPSImagePyramid
    extends MPSUnaryImageKernel
    MPSImagePyramid The MPSImagePyramid is a base class for creating different kinds of pyramid images Currently supported pyramid-types are: [@ref] MPSImageGaussianPyramid The Gaussian image pyramid kernel is enqueued as a in-place operation using [@ref] MPSUnaryImageKernel::encodeToCommandBuffer:inPlaceTexture:fallbackCopyAllocator: and all mipmap levels after level=1, present in the provided image are filled using the provided filtering kernel. The fallbackCopyAllocator parameter is not used. The Gaussian image pyramid filter ignores @ref clipRect and @ref offset and fills the entire mipmap levels. [@note] Make sure your texture type is compatible with mipmapping and supports texture views (see @ref MTLTextureUsagePixelFormatView). [@note] Recall the size of the nth mipmap level: [@code] w_n = max(1, floor(w_0 / 2^n)) h_n = max(1, floor(h_0 / 2^n)), [@endcode] where w_0, h_0 are the zeroth level width and height. ie the image dimensions themselves.
    • Constructor Detail

      • MPSImagePyramid

        protected MPSImagePyramid​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(java.lang.Object aTarget,
                                                                                 org.moe.natj.objc.SEL aSelector,
                                                                                 java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • new_objc

        public static java.lang.Object new_objc()
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • initWithDevice

        public MPSImagePyramid initWithDevice​(java.lang.Object device)
        Initialize a downwards 5-tap image pyramid with the default filter kernel and device The filter kernel is the outer product of w = [ 1/16, 1/4, 3/8, 1/4, 1/16 ]^T, with itself
        Overrides:
        initWithDevice in class MPSUnaryImageKernel
        Parameters:
        device - The device the filter will run on
        Returns:
        A valid object or nil, if failure.
      • initWithDeviceCenterWeight

        public MPSImagePyramid initWithDeviceCenterWeight​(MTLDevice device,
                                                          float centerWeight)
        Initialize a downwards 5-tap image pyramid with a central weight parameter and device
        Parameters:
        device - The device the filter will run on
        centerWeight - Defines form of the filter-kernel through the outer product ww^T, where w = [ (1/4 - a/2), 1/4, a, 1/4, (1/4 - a/2) ]^T and 'a' is centerWeight.
        Returns:
        A valid object or nil, if failure.
      • initWithDeviceKernelWidthKernelHeightWeights

        public MPSImagePyramid initWithDeviceKernelWidthKernelHeightWeights​(MTLDevice device,
                                                                            long kernelWidth,
                                                                            long kernelHeight,
                                                                            org.moe.natj.general.ptr.ConstFloatPtr kernelWeights)
        Initialize a downwards n-tap pyramid with a custom filter kernel and device
        Parameters:
        device - The device the filter will run on
        kernelWidth - The width of the filtering kernel. See @ref MPSImageConvolution.
        kernelHeight - The height of the filtering kernel. See @ref MPSImageConvolution.
        kernelWeights - A pointer to an array of kernelWidth * kernelHeight values to be used as the kernel. These are in row major order. See @ref MPSImageConvolution.
        Returns:
        A valid object or nil, if failure.
      • kernelHeight

        public long kernelHeight()
        [@property] kernelHeight The height of the filter window. Must be an odd number.
      • kernelWidth

        public long kernelWidth()
        [@property] kernelWidth The width of the filter window. Must be an odd number.
      • initWithCoderDevice

        public MPSImagePyramid initWithCoderDevice​(NSCoder aDecoder,
                                                   java.lang.Object device)
        NSSecureCoding compatability See @ref MPSKernel#initWithCoder.
        Overrides:
        initWithCoderDevice in class MPSUnaryImageKernel
        Parameters:
        aDecoder - The NSCoder subclass with your serialized MPSCNNPooling
        device - The MTLDevice on which to make the MPSCNNPooling
        Returns:
        A new MPSCNNPooling object, or nil if failure.
      • supportsSecureCoding

        public static boolean supportsSecureCoding()
      • _supportsSecureCoding

        public boolean _supportsSecureCoding()
        Description copied from interface: NSSecureCoding
        This property must return YES on all classes that allow secure coding. Subclasses of classes that adopt NSSecureCoding and override initWithCoder: must also override this method and return YES. The Secure Coding Guide should be consulted when writing methods that decode data.
        Specified by:
        _supportsSecureCoding in interface NSSecureCoding
        Overrides:
        _supportsSecureCoding in class MPSUnaryImageKernel