MPSImagePyramid(3) MetalPerformanceShaders.framework 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:
(nullable instancetype) - initWithCoder:device:
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
- (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.
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.
Version MetalPerformanceShaders-100 Thu Feb 8 2018 MPSImagePyramid(3)