MPSImagePyramid(3)

NAME
MPSImagePyramid -

SYNOPSIS

#import <MPSImageConvolution.h>

Inherits MPSUnaryImageKernel.

Inherited by MPSImageGaussianPyramid.

  Instance Methods
(nonnull instancetype) - initWithDevice:
(nonnull instancetype) - initWithDevice:centerWeight:
(nonnull instancetype) - initWithDevice:kernelWidth:kernelHeight:weights:

  Properties
NSUInteger kernelHeight
NSUInteger kernelWidth

  Additional Inherited Members

Detailed Description

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 MTLTextureUsagePixelFormatView).

    Recall the size of the nth mipmap level:

    w_n = max(1, floor(w_0 / 2^n))
    h_n = max(1, floor(h_0 / 2^n)),

     where w_0, h_0 are the zeroth level width and height. ie the image dimensions themselves.

Method Documentation

  - (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device
Initialize a downwards 5-tap image pyramid with the default filter kernel and device

Parameters:
    device The device the filter will run on

The filter kernel is the outer product of w = [ 1/16, 1/4, 3/8, 1/4, 1/16 ]^T, with itself

Returns:
    A valid object or nil, if failure.

Reimplemented from MPSKernel.

  - (nonnull instancetype) initWithDevice: (nonnull id< 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.

  - (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device(NSUInteger) kernelWidth(NSUInteger) kernelHeight(const float *__nonnull) NS_DESIGNATED_INITIALIZER
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 MPSImageConvolution.
    kernelHeight The height of the filtering kernel. See MPSImageConvolution.
    kernelWeights A pointer to an array of kernelWidth * kernelHeight values to be used as the kernel. These are in row major order. See MPSImageConvolution.

Returns:
    A valid object or nil, if failure.

Property Documentation

  - kernelHeight [read], [nonatomic], [assign]
The height of the filter window. Must be an odd number.

  - kernelWidth [read], [nonatomic], [assign]
The width of the filter window. Must be an odd number.

Author

Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.