Class MPSImageNormalizedHistogram

  • All Implemented Interfaces:
    NSCoding, NSCopying, NSSecureCoding, NSObject

    public class MPSImageNormalizedHistogram
    extends MPSKernel
    MPSImageNormalizedHistogram The MPSImageNormalizedHistogram computes the normalized histogram of an image. The minimum and maximum pixel values for a given region of an image are first computed. The max(computed minimum pixel value, MPSImageHistogramInfo.minPixelValue) and the min(computed maximum pixel value, MPSImageHistogramInfo.maxPixelValue) are used to compute the normalized histogram.
    • Constructor Detail

      • MPSImageNormalizedHistogram

        protected MPSImageNormalizedHistogram​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(java.lang.Object aTarget,
                                                                                 org.moe.natj.objc.SEL aSelector,
                                                                                 java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • clipRectSource

        public MTLRegion clipRectSource()
        [@property] clipRectSource 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.
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • encodeToCommandBufferSourceTextureMinmaxTextureHistogramHistogramOffset

        public void encodeToCommandBufferSourceTextureMinmaxTextureHistogramHistogramOffset​(MTLCommandBuffer commandBuffer,
                                                                                            MTLTexture source,
                                                                                            MTLTexture minmaxTexture,
                                                                                            MTLBuffer histogram,
                                                                                            long 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
        minmaxTexture - A valid MTLTexture in which the min/max pixel values from source will be returned
        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: - histogram results for the R channel for all bins followed by - histogram results for the G channel for all bins followed by - histogram results for the B channel for all bins followed by - histogram results for the A channel for all bins
      • hash_static

        public static long hash_static()
      • histogramSizeForSourceFormat

        public long histogramSizeForSourceFormat​(long 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.
      • initWithCoderDevice

        public MPSImageNormalizedHistogram initWithCoderDevice​(NSCoder aDecoder,
                                                               java.lang.Object 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.
        Overrides:
        initWithCoderDevice in class MPSKernel
        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.
      • initWithDevice

        public MPSImageNormalizedHistogram initWithDevice​(java.lang.Object device)
        Description copied from class: MPSKernel
        Standard init with default properties per filter type
        Overrides:
        initWithDevice in class MPSKernel
        Parameters:
        device - The device that the filter will be used on. May not be NULL.
        Returns:
        a pointer to the newly initialized object. This will fail, returning nil if the device is not supported. Devices must be MTLFeatureSet_iOS_GPUFamily2_v1 or later.
      • initWithDeviceHistogramInfo

        public MPSImageNormalizedHistogram initWithDeviceHistogramInfo​(MTLDevice device,
                                                                       org.moe.natj.general.ptr.VoidPtr 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 MPSImageHistogramInfo struct
        Returns:
        A valid MPSImageNormalizedHistogram object or nil, if failure.
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • new_objc

        public static java.lang.Object new_objc()
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setClipRectSource

        public void setClipRectSource​(MTLRegion value)
        [@property] clipRectSource 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.
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • setZeroHistogram

        public void setZeroHistogram​(boolean value)
        [@property] zeroHistogram 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.
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • supportsSecureCoding

        public static boolean supportsSecureCoding()
      • _supportsSecureCoding

        public boolean _supportsSecureCoding()
        Description copied from interface: NSSecureCoding
        This property must return YES on all classes that allow secure coding. Subclasses of classes that adopt NSSecureCoding and override initWithCoder: must also override this method and return YES. The Secure Coding Guide should be consulted when writing methods that decode data.
        Specified by:
        _supportsSecureCoding in interface NSSecureCoding
        Overrides:
        _supportsSecureCoding in class MPSKernel
      • version_static

        public static long version_static()
      • zeroHistogram

        public boolean zeroHistogram()
        [@property] zeroHistogram 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.