---
title: MPSUnaryImageKernel
framework: metalperformanceshaders
role: symbol
role_heading: Class
path: metalperformanceshaders/mpsunaryimagekernel
---

# MPSUnaryImageKernel

A kernel that consumes one texture and produces one texture.

## Declaration

```swift
class MPSUnaryImageKernel
```

## Mentioned in

The MPSKernel Class

## Overview

Overview MPSUnaryImageKernel defines shared behavior for most image processing kernels (filters) such as edging modes, clipping, and tiling support for image operations that consumes a single source textures. It is not meant to be used directly, but provides API abstraction and in some cases may allow some level of polymorphic manipulation of image kernel objects.

## Topics

### Initializers

- [init(coder:device:)](metalperformanceshaders/mpsunaryimagekernel/init(coder:device:).md)
- [init(device:)](metalperformanceshaders/mpsunaryimagekernel/init(device:).md)

### Methods

- [encode(commandBuffer:inPlaceTexture:fallbackCopyAllocator:)](metalperformanceshaders/mpsunaryimagekernel/encode(commandbuffer:inplacetexture:fallbackcopyallocator:).md)
- [MPSCopyAllocator](metalperformanceshaders/mpscopyallocator.md)
- [encode(commandBuffer:sourceImage:destinationImage:)](metalperformanceshaders/mpsunaryimagekernel/encode(commandbuffer:sourceimage:destinationimage:).md)
- [encode(commandBuffer:sourceTexture:destinationTexture:)](metalperformanceshaders/mpsunaryimagekernel/encode(commandbuffer:sourcetexture:destinationtexture:).md)
- [sourceRegion(destinationSize:)](metalperformanceshaders/mpsunaryimagekernel/sourceregion(destinationsize:).md)

### Properties

- [offset](metalperformanceshaders/mpsunaryimagekernel/offset.md)
- [MPSOffset](metalperformanceshaders/mpsoffset.md)
- [clipRect](metalperformanceshaders/mpsunaryimagekernel/cliprect.md)
- [MPSRegion](metalperformanceshaders/mpsregion.md)
- [edgeMode](metalperformanceshaders/mpsunaryimagekernel/edgemode.md)
- [MPSImageEdgeMode](metalperformanceshaders/mpsimageedgemode.md)

## Relationships

### Inherits From

- [MPSKernel](metalperformanceshaders/mpskernel.md)

### Inherited By

- [MPSImageAreaMax](metalperformanceshaders/mpsimageareamax.md)
- [MPSImageBox](metalperformanceshaders/mpsimagebox.md)
- [MPSImageCanny](metalperformanceshaders/mpsimagecanny.md)
- [MPSImageConversion](metalperformanceshaders/mpsimageconversion.md)
- [MPSImageConvolution](metalperformanceshaders/mpsimageconvolution.md)
- [MPSImageDilate](metalperformanceshaders/mpsimagedilate.md)
- [MPSImageEuclideanDistanceTransform](metalperformanceshaders/mpsimageeuclideandistancetransform.md)
- [MPSImageGaussianBlur](metalperformanceshaders/mpsimagegaussianblur.md)
- [MPSImageHistogramEqualization](metalperformanceshaders/mpsimagehistogramequalization.md)
- [MPSImageHistogramSpecification](metalperformanceshaders/mpsimagehistogramspecification.md)
- [MPSImageIntegral](metalperformanceshaders/mpsimageintegral.md)
- [MPSImageIntegralOfSquares](metalperformanceshaders/mpsimageintegralofsquares.md)
- [MPSImageLaplacian](metalperformanceshaders/mpsimagelaplacian.md)
- [MPSImageMedian](metalperformanceshaders/mpsimagemedian.md)
- [MPSImagePyramid](metalperformanceshaders/mpsimagepyramid.md)
- [MPSImageReduceUnary](metalperformanceshaders/mpsimagereduceunary.md)
- [MPSImageScale](metalperformanceshaders/mpsimagescale.md)
- [MPSImageSobel](metalperformanceshaders/mpsimagesobel.md)
- [MPSImageStatisticsMean](metalperformanceshaders/mpsimagestatisticsmean.md)
- [MPSImageStatisticsMeanAndVariance](metalperformanceshaders/mpsimagestatisticsmeanandvariance.md)
- [MPSImageStatisticsMinAndMax](metalperformanceshaders/mpsimagestatisticsminandmax.md)
- [MPSImageThresholdBinary](metalperformanceshaders/mpsimagethresholdbinary.md)
- [MPSImageThresholdBinaryInverse](metalperformanceshaders/mpsimagethresholdbinaryinverse.md)
- [MPSImageThresholdToZero](metalperformanceshaders/mpsimagethresholdtozero.md)
- [MPSImageThresholdToZeroInverse](metalperformanceshaders/mpsimagethresholdtozeroinverse.md)
- [MPSImageThresholdTruncate](metalperformanceshaders/mpsimagethresholdtruncate.md)
- [MPSImageTranspose](metalperformanceshaders/mpsimagetranspose.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Image Filter Base Classes

- [MPSBinaryImageKernel](metalperformanceshaders/mpsbinaryimagekernel.md)
