MPSImageCopyToMatrix(3)

NAME
MPSImageCopyToMatrix

SYNOPSIS

#import <MPSImageCopy.h>

Inherits MPSKernel.

  Instance Methods
(nonnull instancetype) - initWithDevice:dataLayout:
(nullable instancetype) - initWithCoder:device:
(void) - encodeToCommandBuffer:sourceImage:destinationMatrix:
(void) - encodeBatchToCommandBuffer:sourceImages:destinationMatrix:

  Properties
MTLOrigin destinationMatrixOrigin
NSUInteger destinationMatrixBatchIndex
MPSDataLayout dataLayout

  Additional Inherited Members

Detailed Description

MPSImageCopy.h MetalPerformanceShaders.framework

Copyright:
    Copyright (c) 2017 Apple Inc. All rights reserved. MetalPerformanceShaders histogram filters

The MPSImageCopyToMatrix copies image data to a MPSMatrix. The image data is stored in a row of a matrix. The dataLayout specifies the order in which the feature channels in the MPSImage get stored in the matrix. If MPSImage stores a batch of images, the images are copied into multiple rows, one row per image.

The number of elements in a row in the matrix must be >= image width * image height * number of featureChannels in the image.

Method Documentation

  - (void) encodeBatchToCommandBuffer: (nonnull id< MTLCommandBuffer >) commandBuffer(nonnull MPSImageBatch *) sourceImages(nonnull MPSMatrix *) destinationMatrix
Encode a kernel that copies a MPSImageBatch to a MPSMatrix into a command buffer using a MTLComputeCommandEncoder. The kernel copies feature channels from sourceImage to the buffer associated with destinationMatrix. The kernel will not begin to execute until after the command buffer has been enqueued and committed. Each image will be copied to its own row in the matrix, starting with row destinationMatrixOrigin.x.

NOTE: The destinationMatrix.dataType must match the feature channel data type in sourceImage. NOTE: All the images in the source batch should be of the same size and have numberOfImages = 1.

Parameters:
    commandBuffer A valid MTLCommandBuffer.
    sourceImages A valid MPSImageBatch describing the images to copy from.
    destinationMatrix A valid MPSMatrix or MPSTemporaryMatrix object describing the matrix to copy to.

  - (void) encodeToCommandBuffer: (nonnull id< MTLCommandBuffer >) commandBuffer(nonnull MPSImage *) sourceImage(nonnull MPSMatrix *) destinationMatrix
Encode a kernel that copies a MPSImage to a MPSMatrix into a command buffer using a MTLComputeCommandEncoder. The kernel copies feature channels from sourceImage to the buffer associated with destinationMatrix. The kernel will not begin to execute until after the command buffer has been enqueued and committed.

NOTE: The destinationMatrix.dataType must match the feature channel data type in sourceImage.

Parameters:
    commandBuffer A valid MTLCommandBuffer.
    sourceImage A valid MPSImage describing the image to copy from.
    destinationMatrix A valid MPSMatrix or MPSTemporaryMatrix object describing the matrix to copy to.

  - (nullable instancetype) initWithCoder: (NSCoder *__nonnull) aDecoder(nonnull id< MTLDevice >) device
NSSecureCoding compatability While the standard NSSecureCoding/NSCoding method -initWithCoder: should work, since the file can't know which device your data is allocated on, we have to guess and may guess incorrectly. To avoid that problem, use initWithCoder:device instead.

Parameters:
    aDecoder The NSCoder subclass with your serialized MPSKernel
    device The MTLDevice on which to make the MPSKernel

Returns:
    A new MPSKernel object, or nil if failure.

Reimplemented from MPSKernel.

  - (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device(MPSDataLayout) dataLayout
Initialize a MPSMatrixCopy object on a device

Parameters:
    device The device the kernel will run on
    dataLayout The data layout

Returns:
    A valid MPSMatrixCopy object or nil, if failure.

Property Documentation

  - dataLayout [read], [nonatomic], [assign]
The data layout to use Returns the data layout. When copying from a MPSImage to a MPSMatrix, this describes the order in which the image values are stored in the buffer associated with the MPSMatrix. Default: MPSDataLayoutFeatureChannelsxHeightxWidth

  - destinationMatrixBatchIndex [read], [write], [nonatomic], [assign]
The index of the destination matrix in the batch. This property is modifiable and defaults to 0 at initialization time.

  - destinationMatrixOrigin [read], [write], [nonatomic], [assign]
The origin, relative to [0, 0] in the destination matrix, at which to start writing results. This property is modifiable and defaults to [0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel. The z value must be 0.

Author

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