MPSImagePyramid(3) MetalPerformanceShaders.framework MPSImagePyramid(3)

MPSImagePyramid

#import <MPSImageConvolution.h>

Inherits MPSUnaryImageKernel.

Inherited by MPSImageGaussianPyramid, and MPSImageLaplacianPyramid.


(nonnull instancetype) - initWithDevice:
(nonnull instancetype) - initWithDevice:centerWeight:
(nonnull instancetype) - initWithDevice:kernelWidth:kernelHeight:weights:
(nullable instancetype) - initWithCoder:device:


NSUInteger kernelHeight
NSUInteger kernelWidth

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.

- (nullable instancetype) initWithCoder: (NSCoder *__nonnull) aDecoder(nonnull id< MTLDevice >) device

NSSecureCoding compatability See MPSKernel::initWithCoder.

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.

Reimplemented from MPSUnaryImageKernel.

- (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 MPSUnaryImageKernel.

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

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

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

Mon Jul 9 2018 Version MetalPerformanceShaders-119.3