iOS SIMD: Single Instruction Multiple Data Includes support for digital signal processing, math and linear algebra and image processing (vImage) vImage introduced for iOS in 2011 Updated in 2013 with better Core Graphics interoperability Core Video support added in 2014
a ﬁnal image from one or more Core Image ﬁlters It’s only when a CIImage is converted to a renderable format that the ﬁlters are actually executed Core Image ﬁlters use CIImage instances as inputs and outputs
an image Equalisation: increase global contrast by making an image’s histogram uniform Calculation: returns the histogram of an image. Speciﬁcation: apply a histogram (e.g. from a source image) to a target image Contrast Stretch: Stretches the contrast range of a source image to the full range of supported values (i.e. normalises).
GPU Similar set of functionality to vImage Histogram functions including equalisation & speciﬁcation Convolution, Gaussian blur Morphology: min, max, erode and dilate Resampling: scale and transform Thresholding & Integral
setting up Metal classes: Device - interface to GPU Library - repository of functions Command Queue - queues & submits commands Function - a Metal shader Pipeline State - compiles function Command Buffer - stores encoded commands Command Encoder - encodes resources to byte code