MPSImageHistogram(3) MetalPerformanceShaders.framework MPSImageHistogram(3)
NAME
MPSImageHistogram
SYNOPSIS
#import <MPSImageHistogram.h>
Inherits MPSKernel.
Instance Methods
(nonnull instancetype) - initWithDevice:histogramInfo:
(nullable instancetype) - initWithCoder:device:
(void) - encodeToCommandBuffer:sourceTexture:histogram:histogramOffset:
(size_t) - histogramSizeForSourceFormat:
Properties
MTLRegion clipRectSource
BOOL zeroHistogram
vector_float4 minPixelThresholdValue
MPSImageHistogramInfo histogramInfo
Additional Inherited Members
Detailed Description
The MPSImageHistogram computes the histogram of an image.
Method Documentation
- (void) encodeToCommandBuffer: (nonnull id< MTLCommandBuffer >)
commandBuffer(nonnull id< MTLTexture >) source(nonnull id< MTLBuffer >)
histogram(NSUInteger) histogramOffset
Encode the filter to a command buffer using a MTLComputeCommandEncoder.
The filter will not begin to execute until after the command buffer has
been enqueued and committed.
Parameters:
commandBuffer A valid MTLCommandBuffer.
source A valid MTLTexture containing the source image for the
filter
histogram A valid MTLBuffer to receive the histogram results.
histogramOffset Byte offset into histogram buffer at which to write
the histogram results. Must be a multiple of 32 bytes. The
histogram results / channel are stored together. The number of
channels for which histogram results are stored is determined by
the number of channels in the image. If
histogramInfo.histogramForAlpha is false and the source image is
RGBA then only histogram results for RGB channels are stored.
The histogram results are stored in the histogram buffer as follows:
o histogram results for the R channel for all bins followed by
o histogram results for the G channel for all bins followed by
o histogram results for the B channel for all bins followed by
o histogram results for the A channel for all bins
- (size_t) histogramSizeForSourceFormat: (MTLPixelFormat) sourceFormat
The amount of space in the output MTLBuffer the histogram will take up.
This convenience function calculates the minimum amount of space needed
in the output histogram for the results. The MTLBuffer should be at
least this length, longer if histogramOffset is non-zero.
Parameters:
sourceFormat The MTLPixelFormat of the source image. This is the
source parameter of -encodeToCommandBuffer:
sourceTexture:histogram:histogramOffset
Returns:
The number of bytes needed to store the result histograms.
- (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(const MPSImageHistogramInfo *__nonnull) histogramInfo
Specifies information to compute the histogram for channels of an
image.
Parameters:
device The device the filter will run on
histogramInfo Pointer to the MPSHistogramInfo struct
Returns:
A valid MPSImageHistogram object or nil, if failure.
Property Documentation
- clipRectSource [read], [write], [nonatomic], [assign]
The source rectangle to use when reading data. A MTLRegion that
indicates which part of the source to read. If the clipRectSource does
not lie completely within the source image, the intersection of the
image bounds and clipRectSource will be used. The clipRectSource
replaces the MPSUnaryImageKernel offset parameter for this filter. The
latter is ignored. Default: MPSRectNoClip, use the entire source
texture.
- histogramInfo [read], [nonatomic], [assign]
Return a structure describing the histogram content Returns a
MPSImageHistogramInfo structure describing the format of the histogram.
- minPixelThresholdValue [read], [write], [nonatomic], [assign]
The minimum pixel threshold value The histogram entries will be
incremented only if pixel value is >= minPixelThresholdValue. The
minPixelThresholdValue is a floating-point value. For unsigned
normalized textures, the minPixelThresholdValue should be a value
between 0.0f and 1.0f (for eg. MTLPixelFormatRGBA8Unorm). For signed
normalized textures, the minPixelThresholdValue should be a value
between -1.0f and 1.0f (for eg. MTLPixelFormatRGBA8Snorm). Default:
vector_float4(0.0f).
- zeroHistogram [read], [write], [nonatomic], [assign]
Zero-initalize the histogram results Indicates that the memory region
in which the histogram results are to be written in the histogram
buffer are to be zero-initialized or not. Default: YES.
Author
Generated automatically by Doxygen for
MetalPerformanceShaders.framework from the source code.
Version MetalPerformanceShaders-Thu2Jul 13 2017 MPSImageHistogram(3)
Mac OS X 10.13.1 - Generated Tue Nov 7 07:18:58 CST 2017