Skip to content

Instantly share code, notes, and snippets.

@JoshuaSullivan
Last active March 19, 2024 15:17
Show Gist options
  • Save JoshuaSullivan/b0e39f9009e44063b366cdc46773601e to your computer and use it in GitHub Desktop.
Save JoshuaSullivan/b0e39f9009e44063b366cdc46773601e to your computer and use it in GitHub Desktop.
An enumeration of iOS 13 Core Image filters.

Core Image Filters

iOS 13 has 218 filters.

New Filters in iOS 13

  • CIDocumentEnhancer
  • CIGaborGradients
  • CIKeystoneCorrectionCombined
  • CIKeystoneCorrectionHorizontal
  • CIKeystoneCorrectionVertical
  • CIKMeans
  • CIMorphologyRectangleMaximum
  • CIMorphologyRectangleMinimum
  • CIPaletteCentroid
  • CIPalettize
  • CIPerspectiveRotate

Accordion Fold Transition (CIAccordionFoldTransition)

Transitions from one image to another of a differing dimensions by unfolding.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTargetImage - CIImage (Image) - The target image for a transition.
  • inputBottomHeight - NSNumber (Distance)
  • inputNumberOfFolds - NSNumber (Scalar)
  • inputFoldShadowAmount - NSNumber (Scalar)
  • inputTime - NSNumber (Time) - The duration of the effect.

Outputs

  • outputImage

Addition (CIAdditionCompositing)

Adds color components to achieve a brightening effect. This filter is typically used to add highlights and lens flare effects.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Affine Clamp (CIAffineClamp)

Performs an affine transformation on a source image and then clamps the pixels at the edge of the transformed image, extending them outwards. This filter performs similarly to the “Affine Transform” filter except that it produces an image with infinite extent. You can use this filter when you need to blur an image but you want to avoid a soft, black fringe along the edges.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTransform - NSValue - The transform to apply to the image.

Outputs

  • outputImage

Affine Tile (CIAffineTile)

Applies an affine transformation to an image and then tiles the transformed image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTransform - NSValue - The transform to apply to the image.

Outputs

  • outputImage

Affine Transform (CIAffineTransform)

Applies an affine transformation to an image. You can scale, translate, or rotate the input image. You can also apply a combination of these operations.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTransform - NSValue (Transform) - A transform to apply to the image.

Outputs

  • outputImage

Area Average (CIAreaAverage)

Calculates the average color for the specified area in an image, returning the result in a pixel.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputExtent - CIVector (Rectangle) - A rectangle that specifies the subregion of the image that you want to process.

Outputs

  • outputImage
  • outputImageNonMPS

Area Histogram (CIAreaHistogram)

Calculates histograms of the R, G, B, and A channels of the specified area of an image. The output image is a one pixel tall image containing the histogram data for all four channels.

Inputs

  • inputImage - CIImage (Image) - The image whose histogram you want to calculate.
  • inputExtent - CIVector (Rectangle) - A rectangle that, after intersection with the image extent, specifies the subregion of the image that you want to process.
  • inputScale - NSNumber (Scalar) - The scale value to use for the histogram values. If the scale is 1.0, then the bins in the resulting image will add up to 1.0.
  • inputCount - NSNumber (Scalar) - The number of bins for the histogram. This value will determine the width of the output image.

Outputs

  • outputData
  • outputImage
  • outputImageNonMPS

Area Maximum (CIAreaMaximum)

Calculates the maximum component values for the specified area in an image, returning the result in a pixel.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputExtent - CIVector (Rectangle) - A rectangle that specifies the subregion of the image that you want to process.

Outputs

  • outputImage

Area Maximum Alpha (CIAreaMaximumAlpha)

Finds and returns the pixel with the maximum alpha value.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputExtent - CIVector (Rectangle) - A rectangle that specifies the subregion of the image that you want to process.

Outputs

  • outputImage

Area Minimum (CIAreaMinimum)

Calculates the minimum component values for the specified area in an image, returning the result in a pixel.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputExtent - CIVector (Rectangle) - A rectangle that specifies the subregion of the image that you want to process.

Outputs

  • outputImage

Area Minimum Alpha (CIAreaMinimumAlpha)

Finds and returns the pixel with the minimum alpha value.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputExtent - CIVector (Rectangle) - A rectangle that specifies the subregion of the image that you want to process.

Outputs

  • outputImage

Area Min and Max (CIAreaMinMax)

Calculates the per-component minimum and maximum value for the specified area in an image. The result is returned in a 2x1 image where the component minimum values are stored in the pixel on the left.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputExtent - CIVector (Rectangle) - A rectangle that specifies the subregion of the image that you want to process.

Outputs

  • outputImage
  • outputImageNonMPS

Area Min and Max Red (CIAreaMinMaxRed)

Calculates the minimum and maximum red component value for the specified area in an image. The result is returned in the red and green channels of a one pixel image.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputExtent - CIVector (Rectangle) - A rectangle that specifies the subregion of the image that you want to process.

Outputs

  • outputImage

Attributed Text Image Generator (CIAttributedTextImageGenerator)

Generate an image attributed string.

Inputs

  • inputText - NSAttributedString
  • inputScaleFactor - NSNumber (Scalar)

Outputs

  • outputImage

Aztec Code Generator (CIAztecCodeGenerator)

Generate an Aztec barcode image for message data.

Inputs

  • inputMessage - NSData - The message to encode in the Aztec Barcode
  • inputCorrectionLevel - NSNumber - Aztec error correction value between 5 and 95
  • inputLayers - NSNumber - Aztec layers value between 1 and 32. Set to nil for automatic.
  • inputCompactStyle - NSNumber - Force a compact style Aztec code to @YES or @NO. Set to nil for automatic.

Outputs

  • outputImage
  • outputCGImage

Barcode Generator (CIBarcodeGenerator)

Generate a barcode image from a CIBarcodeDescriptor.

Inputs

  • inputBarcodeDescriptor - CIBarcodeDescriptor - The CIBarcodeDescription object to generate an image for.

Outputs

  • outputImage
  • outputCGImageForDataMatrixCodeDescriptor
  • outputCGImageForQRCodeDescriptor
  • outputCGImageForAztecCodeDescriptor
  • outputCGImageForPDF417CodeDescriptor
  • outputCGImage

Bars Swipe Transition (CIBarsSwipeTransition)

Transitions from one image to another by swiping rectangular portions of the foreground image to disclose the target image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTargetImage - CIImage (Image) - The target image for a transition.
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the bars.
  • inputWidth - NSNumber (Distance) - The width of each bar.
  • inputBarOffset - NSNumber (Scalar) - The offset of one bar with respect to another
  • inputTime - NSNumber (Time) - The parametric time of the transition. This value drives the transition from start (at time 0) to end (at time 1).

Outputs

  • outputImage

Bicubic Scale Transform (CIBicubicScaleTransform)

Produces a high-quality, scaled version of a source image. The parameters of B and C for this filter determine the sharpness or softness of the resampling. The most commonly used B and C values are 0.0 and 0.75, respectively.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputScale - NSNumber (Scalar) - The scaling factor to use on the image. Values less than 1.0 scale down the images. Values greater than 1.0 scale up the image.
  • inputAspectRatio - NSNumber (Scalar) - The additional horizontal scaling factor to use on the image.
  • inputB - NSNumber (Scalar) - Specifies the value of B to use for the cubic resampling function.
  • inputC - NSNumber (Scalar) - Specifies the value of C to use for the cubic resampling function.

Outputs

  • outputImage

Blend With Alpha Mask (CIBlendWithAlphaMask)

Uses values from a grayscale mask to interpolate between an image and the background. When a mask alpha value is 0.0, the result is the background. When the mask alpha value is 1.0, the result is the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.
  • inputMaskImage - CIImage (Image) - A masking image.

Outputs

  • outputImage

Blend With Blue Mask (CIBlendWithBlueMask)

Uses values from a mask image to interpolate between an image and the background. When a mask blue value is 0.0, the result is the background. When the mask blue value is 1.0, the result is the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.
  • inputMaskImage - CIImage (Image) - A masking image.

Outputs

  • outputImage

Blend With Mask (CIBlendWithMask)

Uses values from a grayscale mask to interpolate between an image and the background. When a mask green value is 0.0, the result is the background. When the mask green value is 1.0, the result is the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as a foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.
  • inputMaskImage - CIImage (Image) - A grayscale mask. When a mask value is 0.0, the result is the background. When the mask value is 1.0, the result is the image.

Outputs

  • outputImage

Blend With Red Mask (CIBlendWithRedMask)

Uses values from a mask image to interpolate between an image and the background. When a mask red value is 0.0, the result is the background. When the mask red value is 1.0, the result is the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.
  • inputMaskImage - CIImage (Image) - A masking image.

Outputs

  • outputImage

Bloom (CIBloom)

Softens edges and applies a pleasant glow to an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the effect. The larger the radius, the greater the effect.
  • inputIntensity - NSNumber (Scalar) - The intensity of the effect. A value of 0.0 is no effect. A value of 1.0 is the maximum effect.

Outputs

  • outputImage

Bokeh Blur (CIBokehBlur)

Smooths an image using a disc-shaped convolution kernel.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the blur. The larger the radius, the blurrier the result.
  • inputRingAmount - NSNumber (Scalar) - The amount of extra emphasis at the ring of the bokeh.
  • inputRingSize - NSNumber (Scalar) - The size of extra emphasis at the ring of the bokeh
  • inputSoftness - NSNumber (Scalar)

Outputs

  • outputImage

Box Blur (CIBoxBlur)

Smooths or sharpens an image using a box-shaped convolution kernel.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the blur. The larger the radius, the blurrier the result.

Outputs

  • outputImage

Bump Distortion (CIBumpDistortion)

Creates a concave or convex bump that originates at a specified point in the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the distortion. The larger the radius, the wider the extent of the distortion.
  • inputScale - NSNumber (Scalar) - The scale of the effect determines the curvature of the bump. A value of 0.0 has no effect. Positive values create an outward bump; negative values create an inward bump.

Outputs

  • outputImage

Bump Distortion Linear (CIBumpDistortionLinear)

Creates a bump that originates from a linear portion of the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the distortion. The larger the radius, the wider the extent of the distortion.
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the line around which the distortion occurs.
  • inputScale - NSNumber (Scalar) - The scale of the effect.

Outputs

  • outputImage

Lens Correction for AVC (CICameraCalibrationLensCorrection)

Geometrically distorts an image by altering the magnification based on the radial distance from the optical center to the farthest radius.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputAVCameraCalibrationData - AVCameraCalibrationData - AVCameraCalibrationData for the correction. Will be set from the inputImage if available and can be overridden here.
  • inputUseInverseLookUpTable - NSNumber - Boolean value used to select the Look Up Table from the AVCameraCalibrationData

Outputs

  • outputImage

Checkerboard (CICheckerboardGenerator)

Generates a pattern of squares of alternating colors. You can specify the size, colors, and the sharpness of the pattern.

Inputs

  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputColor0 - CIColor - A color to use for the first set of squares.
  • inputColor1 - CIColor - A color to use for the second set of squares.
  • inputWidth - NSNumber (Distance) - The width of the squares in the pattern.
  • inputSharpness - NSNumber (Scalar) - The sharpness of the edges in pattern. The smaller the value, the more blurry the pattern. Values range from 0.0 to 1.0.

Outputs

  • outputImage

Circle Splash Distortion (CICircleSplashDistortion)

Distorts the pixels starting at the circumference of a circle and emanating outward.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the distortion. The larger the radius, the wider the extent of the distortion.

Outputs

  • outputImage

Circular Screen (CICircularScreen)

Simulates a circular-shaped halftone screen.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the circular screen pattern
  • inputWidth - NSNumber (Distance) - The distance between each circle in the pattern.
  • inputSharpness - NSNumber (Scalar) - The sharpness of the circles. The larger the value, the sharper the circles.

Outputs

  • outputImage

Circular Wrap Distortion (CICircularWrap)

Wraps an image around a transparent circle. The distortion of the image increases with the distance from the center of the circle.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the distortion. The larger the radius, the wider the extent of the distortion.
  • inputAngle - NSNumber (Angle) - The angle of the effect.

Outputs

  • outputImage

Clamp (CIClamp)

Clamps an image so the pixels with the specified extent are left unchanged but those at the boundary of the extent are extended outwards. This filter produces an image with infinite extent. You can use this filter when you need to blur an image but you want to avoid a soft, black fringe along the edges.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputExtent - CIVector (Rectangle) - A rectangle that defines the extent of the effect.

Outputs

  • outputImage

CMYK Halftone (CICMYKHalftone)

Creates a color, halftoned rendition of the source image, using cyan, magenta, yellow, and black inks over a white page.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the halftone pattern
  • inputWidth - NSNumber (Distance) - The distance between dots in the pattern.
  • inputAngle - NSNumber (Angle) - The angle of the pattern.
  • inputSharpness - NSNumber (Distance) - The sharpness of the pattern. The larger the value, the sharper the pattern.
  • inputGCR - NSNumber (Scalar) - The gray component replacement value. The value can vary from 0.0 (none) to 1.0.
  • inputUCR - NSNumber (Scalar) - The under color removal value. The value can vary from 0.0 to 1.0.

Outputs

  • outputImage

Code 128 Barcode Generator (CICode128BarcodeGenerator)

Generate a Code 128 barcode image for message data.

Inputs

  • inputMessage - NSData - The message to encode in the Code 128 Barcode
  • inputQuietSpace - NSNumber (Scalar) - The number of empty white pixels that should surround the barcode.
  • inputBarcodeHeight - NSNumber (Scalar) - The height of the generated barcode in pixels.

Outputs

  • outputImage
  • outputCGImage

Color Blend Mode (CIColorBlendMode)

Uses the luminance values of the background with the hue and saturation values of the source image. This mode preserves the gray levels in the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Color Burn Blend Mode (CIColorBurnBlendMode)

Darkens the background image samples to reflect the source image samples. Source image sample values that specify white do not produce a change.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Color Clamp (CIColorClamp)

Clamp color to a certain range.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputMinComponents - CIVector - Lower clamping values
  • inputMaxComponents - CIVector - Higher clamping values

Outputs

  • outputImage

Color Controls (CIColorControls)

Adjusts saturation, brightness, and contrast values.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputSaturation - NSNumber (Scalar) - The amount of saturation to apply. The larger the value, the more saturated the result.
  • inputBrightness - NSNumber (Scalar) - The amount of brightness to apply. The larger the value, the brighter the result.
  • inputContrast - NSNumber (Scalar) - The amount of contrast to apply. The larger the value, the more contrast in the resulting image.

Outputs

  • outputImage

Color Cross Polynomial (CIColorCrossPolynomial)

Adjusts the color of an image with polynomials.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRedCoefficients - CIVector - Polynomial coefficients for red channel
  • inputGreenCoefficients - CIVector - Polynomial coefficients for green channel
  • inputBlueCoefficients - CIVector - Polynomial coefficients for blue channel

Outputs

  • outputImage

Color Cube (CIColorCube)

Uses a three-dimensional color table to transform the source image pixels.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCubeDimension - NSNumber (Count)
  • inputCubeData - NSData - Data containing a 3-dimensional color table of floating-point premultiplied RGBA values. The cells are organized in a standard ordering. The columns and rows of the data are indexed by red and green, respectively. Each data plane is followed by the next higher plane in the data, with planes indexed by blue.

Outputs

  • outputImage

Color Cubes Mixed With Mask (CIColorCubesMixedWithMask)

Uses two three-dimensional color tables in a specified colorspace to transform the source image pixels. The mask image is used as an interpolant to mix the output of the two cubes.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputMaskImage - CIImage (Image) - A masking image.
  • inputCubeDimension - NSNumber (Count)
  • inputCube0Data - NSData - Data containing a 3-dimensional color table of floating-point premultiplied RGBA values. The cells are organized in a standard ordering. The columns and rows of the data are indexed by red and green, respectively. Each data plane is followed by the next higher plane in the data, with planes indexed by blue.
  • inputCube1Data - NSData - Data containing a 3-dimensional color table of floating-point premultiplied RGBA values. The cells are organized in a standard ordering. The columns and rows of the data are indexed by red and green, respectively. Each data plane is followed by the next higher plane in the data, with planes indexed by blue.
  • inputColorSpace - NSObject

Outputs

  • outputImage

Color Cube with ColorSpace (CIColorCubeWithColorSpace)

Uses a three-dimensional color table in a specified colorspace to transform the source image pixels.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCubeDimension - NSNumber (Count)
  • inputCubeData - NSData - Data containing a 3-dimensional color table of floating-point premultiplied RGBA values. The cells are organized in a standard ordering. The columns and rows of the data are indexed by red and green, respectively. Each data plane is followed by the next higher plane in the data, with planes indexed by blue.
  • inputColorSpace - NSObject

Outputs

  • outputImage

Color Curves (CIColorCurves)

Uses a three-channel one-dimensional color table to transform the source image pixels. The color table must be composed of floating-point RGB values.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCurvesData - NSData
  • inputCurvesDomain - CIVector
  • inputColorSpace - NSObject

Outputs

  • outputImage

Color Dodge Blend Mode (CIColorDodgeBlendMode)

Brightens the background image samples to reflect the source image samples. Source image sample values that specify black do not produce a change.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Color Invert (CIColorInvert)

Inverts the colors in an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Color Map (CIColorMap)

Performs a nonlinear transformation of source color values using mapping values provided in a table.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputGradientImage - CIImage (Gradient) - The image data from this image transforms the source image values.

Outputs

  • outputImage

Color Matrix (CIColorMatrix)

Multiplies source color values and adds a bias factor to each color component.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRVector - CIVector - The amount of red to multiply the source color values by.
  • inputGVector - CIVector - The amount of green to multiply the source color values by.
  • inputBVector - CIVector - The amount of blue to multiply the source color values by.
  • inputAVector - CIVector - The amount of alpha to multiply the source color values by.
  • inputBiasVector - CIVector - A vector that’s added to each color component.

Outputs

  • outputImage

Color Monochrome (CIColorMonochrome)

Remaps colors so they fall within shades of a single color.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputColor - CIColor (OpaqueColor) - The monochrome color to apply to the image.
  • inputIntensity - NSNumber (Scalar) - The intensity of the monochrome effect. A value of 1.0 creates a monochrome image using the supplied color. A value of 0.0 has no effect on the image.

Outputs

  • outputImage

Color Polynomial (CIColorPolynomial)

Adjusts the color of an image with polynomials.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRedCoefficients - CIVector - Polynomial coefficients for red channel
  • inputGreenCoefficients - CIVector - Polynomial coefficients for green channel
  • inputBlueCoefficients - CIVector - Polynomial coefficients for blue channel
  • inputAlphaCoefficients - CIVector - Polynomial coefficients for alpha channel

Outputs

  • outputImage

Color Posterize (CIColorPosterize)

Remaps red, green, and blue color components to the number of brightness values you specify for each color component. This filter flattens colors to achieve a look similar to that of a silk-screened poster.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputLevels - NSNumber (Scalar) - The number of brightness levels to use for each color component. Lower values result in a more extreme poster effect.

Outputs

  • outputImage

Column Average (CIColumnAverage)

Calculates the average color for each column of the specified area in an image, returning the result in a 1D image.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputExtent - CIVector (Rectangle) - A rectangle that specifies the subregion of the image that you want to process.

Outputs

  • outputImage

Comic Effect (CIComicEffect)

Simulates a comic book drawing by outlining edges and applying a color halftone effect.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Constant Color (CIConstantColorGenerator)

Generates a solid color. You typically use the output of this filter as the input to another filter.

Inputs

  • inputColor - CIColor (Color) - The color to generate.

Outputs

  • outputImage

3 by 3 convolution (CIConvolution3X3)

Convolution with 3 by 3 matrix

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputWeights - CIVector
  • inputBias - NSNumber

Outputs

  • outputImage

5 by 5 convolution (CIConvolution5X5)

Convolution with 5 by 5 matrix

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputWeights - CIVector
  • inputBias - NSNumber

Outputs

  • outputImage

7 by 7 convolution (CIConvolution7X7)

Convolution with 7 by 7 matrix

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputWeights - CIVector
  • inputBias - NSNumber

Outputs

  • outputImage

Horizontal 9 Convolution (CIConvolution9Horizontal)

Horizontal Convolution with 9 values

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputWeights - CIVector
  • inputBias - NSNumber

Outputs

  • outputImage

Vertical 9 Convolution (CIConvolution9Vertical)

Vertical Convolution with 9 values

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputWeights - CIVector
  • inputBias - NSNumber

Outputs

  • outputImage

Copy Machine (CICopyMachineTransition)

Transitions from one image to another by simulating the effect of a copy machine.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTargetImage - CIImage (Image) - The target image for a transition.
  • inputExtent - CIVector (Rectangle) - A rectangle that defines the extent of the effect.
  • inputColor - CIColor (OpaqueColor) - The color of the copier light.
  • inputTime - NSNumber (Time) - The parametric time of the transition. This value drives the transition from start (at time 0) to end (at time 1).
  • inputAngle - NSNumber (Angle) - The angle of the copier light.
  • inputWidth - NSNumber (Distance) - The width of the copier light.
  • inputOpacity - NSNumber (Scalar) - The opacity of the copier light. A value of 0.0 is transparent. A value of 1.0 is opaque.

Outputs

  • outputImage

CoreML Model Filter (CICoreMLModelFilter)

Generates output image by applying input CoreML model to the input image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputModel - MLModel - The CoreML model to be used for applying effect on the image.
  • inputHeadIndex - NSNumber (Integer) - A number to specify which output of a multi-head CoreML model should be used for applying effect on the image.
  • inputSoftmaxNormalization - NSNumber (Boolean) - A boolean value to specify that Softmax normalization should be applied to the output of the model.

Outputs

  • outputImage

Crop (CICrop)

Applies a crop to an image. The size and shape of the cropped image depend on the rectangle you specify.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRectangle - CIVector (Rectangle) - The rectangle that specifies the crop to apply to the image.

Outputs

  • outputImage

Crystallize (CICrystallize)

Creates polygon-shaped color blocks by aggregating source pixel-color values.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the effect. The larger the radius, the larger the resulting crystals.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.

Outputs

  • outputImage

Darken Blend Mode (CIDarkenBlendMode)

Creates composite image samples by choosing the darker samples (from either the source image or the background). The result is that the background image samples are replaced by any source image samples that are darker. Otherwise, the background image samples are left unchanged.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Depth Blur Effect (CIDepthBlurEffect)

Applies a variable radius disc blur to an image where areas in the background are softened more than those in the foreground.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputDisparityImage - CIImage
  • inputMatteImage - CIImage - A matting image.
  • inputHairImage - CIImage - A matting image.
  • inputAperture - NSNumber (Scalar)
  • inputLeftEyePositions - CIVector (Position)
  • inputRightEyePositions - CIVector (Position)
  • inputChinPositions - CIVector (Position)
  • inputNosePositions - CIVector (Position)
  • inputFocusRect - CIVector (Rectangle)
  • inputLumaNoiseScale - NSNumber (Scalar)
  • inputScaleFactor - NSNumber (Scalar)
  • inputCalibrationData - AVCameraCalibrationData
  • inputAuxDataMetadata - CGImageMetadataRef
  • inputShape - NSString

Outputs

  • outputImage

Depth of Field (CIDepthOfField)

Simulates miniaturization effect created by Tilt & Shift lens by performing depth of field effects.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputPoint0 - CIVector (Position)
  • inputPoint1 - CIVector (Position)
  • inputSaturation - NSNumber (Scalar) - The amount to adjust the saturation.
  • inputUnsharpMaskRadius - NSNumber (Scalar)
  • inputUnsharpMaskIntensity - NSNumber (Scalar)
  • inputRadius - NSNumber (Scalar) - The distance from the center of the effect.

Outputs

  • outputImage

Depth To Disparity (CIDepthToDisparity)

Convert a depth data image to disparity data.

Inputs

  • inputImage - CIImage (Image) - The input depth data image to convert to disparity data.

Outputs

  • outputImage

Difference Blend Mode (CIDifferenceBlendMode)

Subtracts either the source image sample color from the background image sample color, or the reverse, depending on which sample has the greater brightness value. Source image sample values that are black produce no change; white inverts the background color values.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Disc Blur (CIDiscBlur)

Smooths an image using a disc-shaped convolution kernel.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the blur. The larger the radius, the blurrier the result.

Outputs

  • outputImage

Disintegrate With Mask (CIDisintegrateWithMaskTransition)

Transitions from one image to another using the shape defined by a mask.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTargetImage - CIImage (Image) - The target image for a transition.
  • inputMaskImage - CIImage (Image) - An image that defines the shape to use when disintegrating from the source to the target image.
  • inputTime - NSNumber (Time) - The parametric time of the transition. This value drives the transition from start (at time 0) to end (at time 1).
  • inputShadowRadius - NSNumber (Distance) - The radius of the shadow created by the mask.
  • inputShadowDensity - NSNumber (Scalar) - The density of the shadow created by the mask.
  • inputShadowOffset - CIVector (Offset) - The offset of the shadow created by the mask.

Outputs

  • outputImage

Disparity To Depth (CIDisparityToDepth)

Convert a disparity data image to depth data.

Inputs

  • inputImage - CIImage (Image) - The input disparity data image to convert to depth data.

Outputs

  • outputImage

Displacement Distortion (CIDisplacementDistortion)

Applies the grayscale values of the second image to the first image. The output image has a texture defined by the grayscale values.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputDisplacementImage - CIImage - An image whose grayscale values will be applied to the source image.
  • inputScale - NSNumber (Distance) - The amount of texturing of the resulting image. The larger the value, the greater the texturing.

Outputs

  • outputImage

Dissolve (CIDissolveTransition)

Uses a dissolve to transition from one image to another.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTargetImage - CIImage (Image) - The target image for a transition.
  • inputTime - NSNumber (Time) - The parametric time of the transition. This value drives the transition from start (at time 0) to end (at time 1).

Outputs

  • outputImage

Dither (CIDither)

Apply dithering to an image. This operation is usually performed in a perceptual color space.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputIntensity - NSNumber (Scalar) - The intensity of the effect.

Outputs

  • outputImage

Divide Blend Mode (CIDivideBlendMode)

Divides the background image sample color from the source image sample color.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Document Enhancer (CIDocumentEnhancer) - New Filter!

Enhance a document image by removing unwanted shadows, whitening the background, and enhancing contrast.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputAmount - NSNumber (Scalar) - The amount of enhancement.

Outputs

  • outputImage

Dot Screen (CIDotScreen)

Simulates the dot patterns of a halftone screen.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the dot screen pattern
  • inputAngle - NSNumber (Angle) - The angle of the pattern.
  • inputWidth - NSNumber (Distance) - The distance between dots in the pattern.
  • inputSharpness - NSNumber (Scalar) - The sharpness of the pattern. The larger the value, the sharper the pattern.

Outputs

  • outputImage

Droste (CIDroste)

Performs M.C. Escher Droste style deformation

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputInsetPoint0 - CIVector (Position)
  • inputInsetPoint1 - CIVector (Position)
  • inputStrands - NSNumber (Scalar)
  • inputPeriodicity - NSNumber (Scalar)
  • inputRotation - NSNumber (Angle)
  • inputZoom - NSNumber (Scalar)

Outputs

  • outputImage

Edge Preserve Upsample Filter (CIEdgePreserveUpsampleFilter)

Upsamples a small image to the size of the input image using the luminance of the input image as a guide to preserve detail.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputSmallImage - CIImage
  • inputSpatialSigma - NSNumber (Scalar)
  • inputLumaSigma - NSNumber (Scalar)

Outputs

  • outputImage

Edges (CIEdges)

Finds all edges in an image and displays them in color.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputIntensity - NSNumber (Scalar) - The intensity of the edges. The larger the value, the higher the intensity.

Outputs

  • outputImage

Edge Work (CIEdgeWork)

Produces a stylized black-and-white rendition of an image that looks similar to a woodblock cutout.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The thickness of the edges. The larger the value, the thicker the edges.

Outputs

  • outputImage

Eightfold Reflected Tile (CIEightfoldReflectedTile)

Produces a tiled image from a source image by applying an 8-way reflected symmetry.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the tiled pattern.
  • inputWidth - NSNumber (Distance) - The width of a tile.

Outputs

  • outputImage

Exclusion Blend Mode (CIExclusionBlendMode)

Produces an effect similar to that produced by the “Difference Blend Mode” filter but with lower contrast. Source image sample values that are black do not produce a change; white inverts the background color values.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Exposure Adjust (CIExposureAdjust)

Adjusts the exposure setting for an image similar to the way you control exposure for a camera when you change the F-stop.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputEV - NSNumber (Scalar) - The amount to adjust the exposure of the image by. The larger the value, the brighter the exposure.

Outputs

  • outputImage

False Color (CIFalseColor)

Maps luminance to a color ramp of two colors. False color is often used to process astronomical and other scientific data, such as ultraviolet and x-ray images.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputColor0 - CIColor (Color) - The first color to use for the color ramp.
  • inputColor1 - CIColor (Color) - The second color to use for the color ramp.

Outputs

  • outputImage

Flash (CIFlashTransition)

Transitions from one image to another by creating a flash. The flash originates from a point you specify. Small at first, it rapidly expands until the image frame is completely filled with the flash color. As the color fades, the target image begins to appear.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTargetImage - CIImage (Image) - The target image for a transition.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputExtent - CIVector (Rectangle) - The extent of the flash.
  • inputColor - CIColor (Color) - The color of the light rays emanating from the flash.
  • inputTime - NSNumber (Time) - The parametric time of the transition. This value drives the transition from start (at time 0) to end (at time 1).
  • inputMaxStriationRadius - NSNumber (Scalar) - The radius of the light rays emanating from the flash.
  • inputStriationStrength - NSNumber (Scalar) - The strength of the light rays emanating from the flash.
  • inputStriationContrast - NSNumber (Scalar) - The contrast of the light rays emanating from the flash.
  • inputFadeThreshold - NSNumber (Scalar) - The amount of fade between the flash and the target image. The higher the value, the more flash time and the less fade time.

Outputs

  • outputImage

Fourfold Reflected Tile (CIFourfoldReflectedTile)

Produces a tiled image from a source image by applying a 4-way reflected symmetry.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the tiled pattern.
  • inputWidth - NSNumber (Distance) - The width of a tile.
  • inputAcuteAngle - NSNumber (Angle) - The primary angle for the repeating reflected tile. Small values create thin diamond tiles, and higher values create fatter reflected tiles.

Outputs

  • outputImage

Fourfold Rotated Tile (CIFourfoldRotatedTile)

Produces a tiled image from a source image by rotating the source at increments of 90 degrees.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the tiled pattern.
  • inputWidth - NSNumber (Distance) - The width of a tile.

Outputs

  • outputImage

Fourfold Translated Tile (CIFourfoldTranslatedTile)

Produces a tiled image from a source image by applying 4 translation operations.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the tiled pattern.
  • inputWidth - NSNumber (Distance) - The width of a tile.
  • inputAcuteAngle - NSNumber (Angle) - The primary angle for the repeating translated tile. Small values create thin diamond tiles, and higher values create fatter translated tiles.

Outputs

  • outputImage

Gabor Gradients (CIGaborGradients) - New Filter!

Applies multichannel 5 by 5 Gabor gradient filter to an image. The resulting image has maximum horizontal gradient in the red channel and the maximum vertical gradient in the green channel. The gradiant values can be positive or negative.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Gamma Adjust (CIGammaAdjust)

Adjusts midtone brightness. This filter is typically used to compensate for nonlinear effects of displays. Adjusting the gamma effectively changes the slope of the transition between black and white.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputPower - NSNumber (Scalar) - A gamma value to use to correct image brightness. The larger the value, the darker the result.

Outputs

  • outputImage

Gaussian Blur (CIGaussianBlur)

Spreads source pixels by an amount specified by a Gaussian distribution.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Scalar) - The radius determines how many pixels are used to create the blur. The larger the radius, the blurrier the result.

Outputs

  • outputImage

Gaussian Gradient (CIGaussianGradient)

Generates a gradient that varies from one color to another using a Gaussian distribution.

Inputs

  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputColor0 - CIColor (Color) - The first color to use in the gradient.
  • inputColor1 - CIColor (Color) - The second color to use in the gradient.
  • inputRadius - NSNumber (Distance) - The radius of the Gaussian distribution.

Outputs

  • outputImage

Glass Distortion (CIGlassDistortion)

Distorts an image by applying a glass-like texture. The raised portions of the output image are the result of applying a texture map.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTexture - CIImage (Image) - A texture to apply to the source image.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputScale - NSNumber (Distance) - The amount of texturing of the resulting image. The larger the value, the greater the texturing.

Outputs

  • outputImage

Glass Lozenge (CIGlassLozenge)

Creates a lozenge-shaped lens and distorts the portion of the image over which the lens is placed.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputPoint0 - CIVector (Position) - The x and y position that defines the center of the circle at one end of the lozenge.
  • inputPoint1 - CIVector (Position) - The x and y position that defines the center of the circle at the other end of the lozenge.
  • inputRadius - NSNumber (Distance) - The radius of the lozenge. The larger the radius, the wider the extent of the distortion.
  • inputRefraction - NSNumber (Scalar) - The refraction of the glass.

Outputs

  • outputImage

Glide Reflected Tile (CIGlideReflectedTile)

Produces a tiled image from a source image by translating and smearing the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the tiled pattern.
  • inputWidth - NSNumber (Distance) - The width of a tile.

Outputs

  • outputImage

Gloom (CIGloom)

Dulls the highlights of an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the effect. The larger the radius, the greater the effect.
  • inputIntensity - NSNumber (Scalar) - The intensity of the effect. A value of 0.0 is no effect. A value of 1.0 is the maximum effect.

Outputs

  • outputImage

Guided Filter (CIGuidedFilter)

Upsamples a small image to the size of the guide image using the content of the guide to preserve detail.

Inputs

  • inputImage - CIImage (Image) - A small image to upsample.
  • inputGuideImage - CIImage - A larger image to use as a guide.
  • inputRadius - NSNumber (Scalar) - The distance from the center of the effect.
  • inputEpsilon - NSNumber (Scalar)

Outputs

  • outputImage

Hard Light Blend Mode (CIHardLightBlendMode)

Either multiplies or screens colors, depending on the source image sample color. If the source image sample color is lighter than 50% gray, the background is lightened, similar to screening. If the source image sample color is darker than 50% gray, the background is darkened, similar to multiplying. If the source image sample color is equal to 50% gray, the source image is not changed. Image samples that are equal to pure black or pure white result in pure black or white. The overall effect is similar to what you would achieve by shining a harsh spotlight on the source image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Hatched Screen (CIHatchedScreen)

Simulates the hatched pattern of a halftone screen.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the hatched screen pattern
  • inputAngle - NSNumber (Angle) - The angle of the pattern.
  • inputWidth - NSNumber (Distance) - The distance between lines in the pattern.
  • inputSharpness - NSNumber (Scalar) - The amount of sharpening to apply.

Outputs

  • outputImage

Height Field From Mask (CIHeightFieldFromMask)

Produces a continuous three-dimensional, loft-shaped height field from a grayscale mask. The white values of the mask define those pixels that are inside the height field while the black values define those pixels that are outside. The field varies smoothly and continuously inside the mask, reaching the value 0 at the edge of the mask. You can use this filter with the Shaded Material filter to produce extremely realistic shaded objects.

Inputs

  • inputImage - CIImage (Image) - The white values of the mask define those pixels that are inside the height field while the black values define those pixels that are outside. The field varies smoothly and continuously inside the mask, reaching the value 0 at the edge of the mask.
  • inputRadius - NSNumber (Distance) - The distance from the edge of the mask for the smooth transition is proportional to the input radius. Larger values make the transition smoother and more pronounced. Smaller values make the transition approximate a fillet radius.

Outputs

  • outputImage

Hexagonal Pixelate (CIHexagonalPixellate)

Displays an image as colored hexagons whose color is an average of the pixels they replace.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputScale - NSNumber (Distance) - The scale determines the size of the hexagons. Larger values result in larger hexagons.

Outputs

  • outputImage

Highlight and Shadow Adjust (CIHighlightShadowAdjust)

Adjust the tonal mapping of an image while preserving spatial detail

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Scalar) - Shadow Highlight Radius
  • inputShadowAmount - NSNumber (Scalar) - The amount of adjustment to the shadows of the image.
  • inputHighlightAmount - NSNumber (Scalar) - The amount of adjustment to the highlights of the image.

Outputs

  • outputImage

Histogram Display (CIHistogramDisplayFilter)

Generates a displayable histogram image from the output of the “Area Histogram” filter.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputHeight - NSNumber (Scalar) - The height of the displayable histogram image.
  • inputHighLimit - NSNumber (Scalar) - The fraction of the right portion of the histogram image to make lighter.
  • inputLowLimit - NSNumber (Scalar) - The fraction of the left portion of the histogram image to make darker

Outputs

  • outputImage

Hole Distortion (CIHoleDistortion)

Creates a circular area that pushes the image pixels outward, distorting those pixels closest to the circle the most.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the distortion. The larger the radius, the wider the extent of the distortion.

Outputs

  • outputImage

Hue Adjust (CIHueAdjust)

Changes the overall hue, or tint, of the source pixels.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputAngle - NSNumber (Angle) - An angle (in radians) to use to correct the hue of an image.

Outputs

  • outputImage

Hue Blend Mode (CIHueBlendMode)

Uses the luminance and saturation values of the background with the hue of the source image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Hue/Saturation/Value Gradient (CIHueSaturationValueGradient)

Generates a color wheel that shows hues and saturations for a specified value.

Inputs

  • inputValue - NSNumber (Scalar)
  • inputRadius - NSNumber (Distance) - The distance from the center of the effect.
  • inputSoftness - NSNumber (Scalar)
  • inputDither - NSNumber (Scalar)
  • inputColorSpace - NSObject - The CGColorSpaceRef that the color wheel should be generated in.

Outputs

  • outputImage

Kaleidoscope (CIKaleidoscope)

Produces a kaleidoscopic image from a source image by applying 12-way symmetry.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCount - NSNumber (Scalar) - The number of reflections in the pattern.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputAngle - NSNumber (Angle) - The angle of reflection.

Outputs

  • outputImage

Combined Keystone Correction (CIKeystoneCorrectionCombined) - New Filter!

Apply keystone correction to an image with combined horizontal and vertical guides

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputFocalLength - NSNumber (Scalar) - 35mm equivalent focal length of the input image.
  • inputTopLeft - CIVector (Position) - The top left coordinate of the guide.
  • inputTopRight - CIVector (Position) - The top right coordinate of the guide.
  • inputBottomRight - CIVector (Position) - The bottom right coordinate of the guide.
  • inputBottomLeft - CIVector (Position) - The bottom left coordinate of the guide.

Outputs

  • outputImage
  • outputRotationFilter
  • outputTransform

Horizontal Keystone Correction (CIKeystoneCorrectionHorizontal) - New Filter!

Apple horizontal keystone correction to an image with guides

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputFocalLength - NSNumber (Scalar) - 35mm equivalent focal length of the input image.
  • inputTopLeft - CIVector (Position) - The top left coordinate of the guide.
  • inputTopRight - CIVector (Position) - The top right coordinate of the guide.
  • inputBottomRight - CIVector (Position) - The bottom right coordinate of the guide.
  • inputBottomLeft - CIVector (Position) - The bottom left coordinate of the guide.

Outputs

  • outputImage
  • outputRotationFilter
  • outputTransform

Vertical Keystone Correction (CIKeystoneCorrectionVertical) - New Filter!

Apple vertical keystone correction to an image with guides

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputFocalLength - NSNumber (Scalar) - 35mm equivalent focal length of the input image.
  • inputTopLeft - CIVector (Position) - The top left coordinate of the guide.
  • inputTopRight - CIVector (Position) - The top right coordinate of the guide.
  • inputBottomRight - CIVector (Position) - The bottom right coordinate of the guide.
  • inputBottomLeft - CIVector (Position) - The bottom left coordinate of the guide.

Outputs

  • outputImage
  • outputRotationFilter
  • outputTransform

KMeans (CIKMeans) - New Filter!

Create a palette of the most common colors found in the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputExtent - CIVector (Rectangle) - A rectangle that defines the extent of the effect.
  • inputMeans - CIImage - Specifies the color seeds to use for k-means clustering, either passed as an image or an array of colors.
  • inputCount - NSNumber (Count) - Specifies how many k-means color clusters should be used.
  • inputPasses - NSNumber (Count) - Specifies how many k-means passes should be performed.
  • inputPerceptual - NSNumber (Boolean) - Specifies whether the k-means color palette should be computed in a perceptual color space.

Outputs

  • outputImage

Lab ∆E (CILabDeltaE)

Produces an image with the Lab ∆E difference values between two images. The result image will contain ∆E 1994 values between 0.0 and 100.0 where 2.0 is considered a just noticeable difference.

Inputs

  • inputImage - CIImage (Image) - The first input image for comparison.
  • inputImage2 - CIImage - The second input image for comparison.

Outputs

  • outputImage

Lanczos Scale Transform (CILanczosScaleTransform)

Produces a high-quality, scaled version of a source image. You typically use this filter to scale down an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputScale - NSNumber (Scalar) - The scaling factor to use on the image. Values less than 1.0 scale down the images. Values greater than 1.0 scale up the image.
  • inputAspectRatio - NSNumber (Scalar) - The additional horizontal scaling factor to use on the image.

Outputs

  • outputImage
  • outputImageNewScaleX:scaleY:
  • outputImageOldScaleX:scaleY:

Lenticular Halo (CILenticularHaloGenerator)

Simulates a halo that is generated by the diffraction associated with the spread of a lens. This filter is typically applied to another image to simulate lens flares and similar effects.

Inputs

  • inputCenter - CIVector (Position) - The x and y position to use as the center of the halo.
  • inputColor - CIColor - A color.
  • inputHaloRadius - NSNumber (Distance) - The radius of the halo.
  • inputHaloWidth - NSNumber (Distance) - The width of the halo, from its inner radius to its outer radius.
  • inputHaloOverlap - NSNumber (Scalar)
  • inputStriationStrength - NSNumber (Scalar) - The intensity of the halo colors. Larger values are more intense.
  • inputStriationContrast - NSNumber (Scalar) - The contrast of the halo colors. Larger values are higher contrast.
  • inputTime - NSNumber (Scalar) - The duration of the effect.

Outputs

  • outputImage

Lighten Blend Mode (CILightenBlendMode)

Creates composite image samples by choosing the lighter samples (either from the source image or the background). The result is that the background image samples are replaced by any source image samples that are lighter. Otherwise, the background image samples are left unchanged.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Light Tunnel Distortion (CILightTunnel)

Light tunnel distortion.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputCenter - CIVector (Position) - Center of the light tunnel.
  • inputRotation - NSNumber (Angle) - Rotation angle of the light tunnel.
  • inputRadius - NSNumber (Distance) - Center radius of the light tunnel.

Outputs

  • outputImage

Linear Burn Blend Mode (CILinearBurnBlendMode)

Inverts the unpremultiplied source and background image sample color, inverts the sum, and then blends the result with the background according to the PDF basic compositing formula. Source image values that are white produce no change. Source image values that are black invert the background color values.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Linear Dodge Blend Mode (CILinearDodgeBlendMode)

Unpremultiplies the source and background image sample colors, adds them, and then blends the result with the background according to the PDF basic compositing formula. Source image values that are black produces output that is the same as the background. Source image values that are non-black brighten the background color values.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Linear Gradient (CILinearGradient)

Generates a gradient that varies along a linear axis between two defined endpoints.

Inputs

  • inputPoint0 - CIVector (Position) - The starting position of the gradient -- where the first color begins.
  • inputPoint1 - CIVector (Position) - The ending position of the gradient -- where the second color begins.
  • inputColor0 - CIColor (Color) - The first color to use in the gradient.
  • inputColor1 - CIColor (Color) - The second color to use in the gradient.

Outputs

  • outputImage

Linear to sRGB Tone Curve (CILinearToSRGBToneCurve)

Converts an image in linear space to sRGB space.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Line Overlay (CILineOverlay)

Creates a sketch that outlines the edges of an image in black, leaving the non-outlined portions of the image transparent. The result has alpha and is rendered in black, so it won’t look like much until you render it over another image using source over compositing.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputNRNoiseLevel - NSNumber (Scalar) - The noise level of the image (used with camera data) that gets removed before tracing the edges of the image. Increasing the noise level helps to clean up the traced edges of the image.
  • inputNRSharpness - NSNumber (Scalar) - The amount of sharpening done when removing noise in the image before tracing the edges of the image. This improves the edge acquisition.
  • inputEdgeIntensity - NSNumber (Scalar) - The accentuation factor of the Sobel gradient information when tracing the edges of the image. Higher values find more edges, although typically a low value (such as 1.0) is used.
  • inputThreshold - NSNumber (Scalar) - This value determines edge visibility. Larger values thin out the edges.
  • inputContrast - NSNumber (Scalar) - The amount of anti-aliasing to use on the edges produced by this filter. Higher values produce higher contrast edges (they are less anti-aliased).

Outputs

  • outputImage

Line Screen (CILineScreen)

Simulates the line pattern of a halftone screen.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the line screen pattern
  • inputAngle - NSNumber (Angle) - The angle of the pattern.
  • inputWidth - NSNumber (Distance) - The distance between lines in the pattern.
  • inputSharpness - NSNumber (Scalar) - The sharpness of the pattern. The larger the value, the sharper the pattern.

Outputs

  • outputImage

Luminosity Blend Mode (CILuminosityBlendMode)

Uses the hue and saturation of the background with the luminance of the source image. This mode creates an effect that is inverse to the effect created by the “Color Blend Mode” filter.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Masked Variable Blur (CIMaskedVariableBlur)

Blurs an image according to the brightness levels in a mask image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputMask - CIImage
  • inputRadius - NSNumber (Scalar) - The distance from the center of the effect.

Outputs

  • outputImage

Mask to Alpha (CIMaskToAlpha)

Converts a grayscale image to a white image that is masked by alpha. The white values from the source image produce the inside of the mask; the black values become completely transparent.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Maximum Component (CIMaximumComponent)

Converts an image to grayscale using the maximum of the three color components.

Inputs

  • inputImage - CIImage (Image) - The image to process.

Outputs

  • outputImage

Maximum (CIMaximumCompositing)

Computes the maximum value, by color component, of two input images and creates an output image using the maximum values. This is similar to dodging.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Median (CIMedianFilter)

Computes the median value for a group of neighboring pixels and replaces each pixel value with the median. The effect is to reduce noise.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Mesh Generator (CIMeshGenerator)

Generates a mesh from an array of line segments.

Inputs

  • inputWidth - NSNumber (Distance) - The width of the effect.
  • inputColor - CIColor - A color.
  • inputMesh - NSArray - An array of line segments stored as an array of CIVectors each containing a start point and end point.

Outputs

  • outputImage

Minimum Component (CIMinimumComponent)

Converts an image to grayscale using the minimum of the three color components.

Inputs

  • inputImage - CIImage (Image) - The image to process.

Outputs

  • outputImage

Minimum (CIMinimumCompositing)

Computes the minimum value, by color component, of two input images and creates an output image using the minimum values. This is similar to burning.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Mix (CIMix)

Uses an amount parameter to interpolate between an image and a background image. When value is 0.0 or less, the result is the background image. When the value is 1.0 or more, the result is the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as a foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.
  • inputAmount - NSNumber (Scalar) - The amount of the effect.

Outputs

  • outputImage

Mod (CIModTransition)

Transitions from one image to another by revealing the target image through irregularly shaped holes.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTargetImage - CIImage (Image) - The target image for a transition.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputTime - NSNumber (Time) - The parametric time of the transition. This value drives the transition from start (at time 0) to end (at time 1).
  • inputAngle - NSNumber (Angle) - The angle of the mod hole pattern.
  • inputRadius - NSNumber (Distance) - The radius of the undistorted holes in the pattern.
  • inputCompression - NSNumber (Distance) - The amount of stretching applied to the mod hole pattern. Holes in the center are not distorted as much as those at the edge of the image.

Outputs

  • outputImage

Morphology Gradient (CIMorphologyGradient)

Finds the edges of an image by returning the difference between the morphological minimum and maximum operations to the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The desired radius of the circular morphological operation to the image.

Outputs

  • outputImage

Morphology Maximum (CIMorphologyMaximum)

Lightens areas of an image by applying a circular morphological maximum operation to the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The desired radius of the circular morphological operation to the image.

Outputs

  • outputImage

Morphology Minimum (CIMorphologyMinimum)

Darkens areas of an image by applying a circular morphological maximum operation to the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The desired radius of the circular morphological operation to the image.

Outputs

  • outputImage

Morphology Rectangle Maximum (CIMorphologyRectangleMaximum) - New Filter!

Lightens areas of an image by applying a rectangular morphological maximum operation to the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputWidth - NSNumber (Integer) - The width in pixels of the morphological operation. The value will be rounded to the nearest odd integer.
  • inputHeight - NSNumber (Integer) - The height in pixels of the morphological operation. The value will be rounded to the nearest odd integer.

Outputs

  • outputImage

Morphology Rectangle Minimum (CIMorphologyRectangleMinimum) - New Filter!

Darkens areas of an image by applying a rectangular morphological maximum operation to the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputWidth - NSNumber (Integer) - The width in pixels of the morphological operation. The value will be rounded to the nearest odd integer.
  • inputHeight - NSNumber (Integer) - The height in pixels of the morphological operation. The value will be rounded to the nearest odd integer.

Outputs

  • outputImage

Motion Blur (CIMotionBlur)

Blurs an image to simulate the effect of using a camera that moves a specified angle and distance while capturing the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the blur. The larger the radius, the blurrier the result.
  • inputAngle - NSNumber (Angle) - The angle of the motion determines which direction the blur smears.

Outputs

  • outputImage

Multiply Blend Mode (CIMultiplyBlendMode)

Multiplies the source image samples with the background image samples. This results in colors that are at least as dark as either of the two contributing sample colors.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Multiply (CIMultiplyCompositing)

Multiplies the color component of two input images and creates an output image using the multiplied values. This filter is typically used to add a spotlight or similar lighting effect to an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Nine Part Stretched (CINinePartStretched)

Distorts an image by stretching an image based on two input breakpoints

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBreakpoint0 - CIVector (Position) - Lower left corner of image to retain before stretching begins.
  • inputBreakpoint1 - CIVector (Position) - Upper right corner of image to retain after stretching ends.
  • inputGrowAmount - CIVector (Offset)

Outputs

  • outputImage

Nine Part Tiled (CINinePartTiled)

Distorts an image by tiling an image based on two input breakpoints

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBreakpoint0 - CIVector (Position) - Lower left corner of image to retain before tiling begins.
  • inputBreakpoint1 - CIVector (Position) - Upper right corner of image to retain after tiling ends.
  • inputGrowAmount - CIVector (Offset)
  • inputFlipYTiles - NSNumber (Boolean) - Indicates that Y-Axis flip should occur.

Outputs

  • outputImage

Noise Reduction (CINoiseReduction)

Reduces noise using a threshold value to define what is considered noise. Small changes in luminance below that value are considered noise and get a noise reduction treatment, which is a local blur. Changes above the threshold value are considered edges, so they are sharpened.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputNoiseLevel - NSNumber (Scalar) - The amount of noise reduction. The larger the value, the more noise reduction.
  • inputSharpness - NSNumber (Scalar) - The sharpness of the final image. The larger the value, the sharper the result.

Outputs

  • outputImage

Op Tile (CIOpTile)

Segments an image, applying any specified scaling and rotation, and then assembles the image again to give an op art appearance.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputScale - NSNumber (Scalar) - The scale determines the number of tiles in the effect.
  • inputAngle - NSNumber (Angle) - The angle of a tile.
  • inputWidth - NSNumber (Distance) - The width of a tile.

Outputs

  • outputImage

Overlay Blend Mode (CIOverlayBlendMode)

Either multiplies or screens the source image samples with the background image samples, depending on the background color. The result is to overlay the existing image samples while preserving the highlights and shadows of the background. The background color mixes with the source image to reflect the lightness or darkness of the background.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Page Curl (CIPageCurlTransition)

Transitions from one image to another by simulating a curling page, revealing the new image as the page curls.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTargetImage - CIImage (Image) - The target image for a transition.
  • inputBacksideImage - CIImage - The image that appears on the back of the source image, as the page curls to reveal the target image.
  • inputShadingImage - CIImage (Image) - An image that looks like a shaded sphere enclosed in a square image.
  • inputExtent - CIVector (Rectangle) - The extent of the effect.
  • inputTime - NSNumber (Time) - The parametric time of the transition. This value drives the transition from start (at time 0) to end (at time 1).
  • inputAngle - NSNumber (Angle) - The angle of the curling page.
  • inputRadius - NSNumber (Distance) - The radius of the curl.

Outputs

  • outputImage

Page Curl With Shadow (CIPageCurlWithShadowTransition)

Transitions from one image to another by simulating a curling page, revealing the new image as the page curls.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTargetImage - CIImage (Image) - The target image for a transition.
  • inputBacksideImage - CIImage - The image that appears on the back of the source image, as the page curls to reveal the target image.
  • inputExtent - CIVector (Rectangle) - The extent of the effect.
  • inputTime - NSNumber (Time) - The parametric time of the transition. This value drives the transition from start (at time 0) to end (at time 1).
  • inputAngle - NSNumber (Angle) - The angle of the curling page.
  • inputRadius - NSNumber (Distance) - The radius of the curl.
  • inputShadowSize - NSNumber (Distance) - The maximum size in pixels of the shadow.
  • inputShadowAmount - NSNumber (Distance) - The strength of the shadow.
  • inputShadowExtent - CIVector (Rectangle) - The rectagular portion of input image that will cast a shadow.

Outputs

  • outputImage

Palette Centroid (CIPaletteCentroid) - New Filter!

Calculate the mean (x,y) image coordinates of a color palette.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputPaletteImage - CIImage - The input color palette, obtained using “CIKMeans“ filter.
  • inputPerceptual - NSNumber (Boolean) - Specifies whether the color palette should be applied in a perceptual color space.

Outputs

  • outputImage

Palettize (CIPalettize) - New Filter!

Paint an image from a color palette obtained using “CIKMeans“.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputPaletteImage - CIImage - The input color palette, obtained using “CIKMeans“ filter.
  • inputPerceptual - NSNumber (Boolean) - Specifies whether the color palette should be applied in a perceptual color space.

Outputs

  • outputImage

Parallelogram Tile (CIParallelogramTile)

Warps an image by reflecting it in a parallelogram, and then tiles the result.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the tiled pattern.
  • inputAcuteAngle - NSNumber (Angle) - The primary angle for the repeating parallelogram tile. Small values create thin diamond tiles, and higher values create fatter parallelogram tiles.
  • inputWidth - NSNumber (Distance) - The width of a tile.

Outputs

  • outputImage

PDF417 Barcode Generator (CIPDF417BarcodeGenerator)

Generate a PDF417 barcode image for message data.

Inputs

  • inputMessage - NSData - The message to encode in the PDF417 Barcode
  • inputMinWidth - NSNumber - The minimum width of the generated barcode in pixels.
  • inputMaxWidth - NSNumber - The maximum width of the generated barcode in pixels.
  • inputMinHeight - NSNumber - The minimum height of the generated barcode in pixels.
  • inputMaxHeight - NSNumber - The maximum height of the generated barcode in pixels.
  • inputDataColumns - NSNumber - The number of data columns in the generated barcode
  • inputRows - NSNumber - The number of rows in the generated barcode
  • inputPreferredAspectRatio - NSNumber - The preferred aspect ratio of the generated barcode
  • inputCompactionMode - NSNumber - The compaction mode of the generated barcode.
  • inputCompactStyle - NSNumber - Force a compact style Aztec code to @YES or @NO. Set to nil for automatic.
  • inputCorrectionLevel - NSNumber - The correction level ratio of the generated barcode
  • inputAlwaysSpecifyCompaction - NSNumber - Force compaction style to @YES or @NO. Set to nil for automatic.

Outputs

  • outputImage
  • outputCGImage

Perspective Correction (CIPerspectiveCorrection)

Apply a perspective correction to an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTopLeft - CIVector (Position) - The top left coordinate to be perspective corrected.
  • inputTopRight - CIVector (Position) - The top right coordinate to be perspective corrected.
  • inputBottomRight - CIVector (Position) - The bottom right coordinate to be perspective corrected.
  • inputBottomLeft - CIVector (Position) - The bottom left coordinate to be perspective corrected.
  • inputCrop - NSNumber (Boolean)

Outputs

  • outputImage

Perspective Rotate (CIPerspectiveRotate) - New Filter!

Apply a homogenous rotation transform to an image.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputFocalLength - NSNumber (Scalar) - 35mm equivalent focal length of the input image.
  • inputPitch - NSNumber (Angle) - Pitch angle in radians.
  • inputYaw - NSNumber (Angle) - Yaw angle in radians.
  • inputRoll - NSNumber (Angle) - Roll angle in radians.

Outputs

  • outputImage
  • outputTransform

Perspective Tile (CIPerspectiveTile)

Applies a perspective transform to an image and then tiles the result.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTopLeft - CIVector (Position) - The top left coordinate of a tile.
  • inputTopRight - CIVector (Position) - The top right coordinate of a tile.
  • inputBottomRight - CIVector (Position) - The bottom right coordinate of a tile.
  • inputBottomLeft - CIVector (Position) - The bottom left coordinate of a tile.

Outputs

  • outputImage

Perspective Transform (CIPerspectiveTransform)

Alters the geometry of an image to simulate the observer changing viewing position. You can use the perspective filter to skew an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTopLeft - CIVector (Position) - The top left coordinate to map the image to.
  • inputTopRight - CIVector (Position) - The top right coordinate to map the image to.
  • inputBottomRight - CIVector (Position) - The bottom right coordinate to map the image to.
  • inputBottomLeft - CIVector (Position) - The bottom left coordinate to map the image to.

Outputs

  • outputImage

Perspective Transform with Extent (CIPerspectiveTransformWithExtent)

Alters the geometry of an image to simulate the observer changing viewing position. You can use the perspective filter to skew an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputExtent - CIVector (Rectangle) - A rectangle that defines the extent of the effect.
  • inputTopLeft - CIVector (Position)
  • inputTopRight - CIVector (Position)
  • inputBottomRight - CIVector (Position)
  • inputBottomLeft - CIVector (Position)

Outputs

  • outputImage

Photo Effect Chrome (CIPhotoEffectChrome)

Apply a ‘Chrome’ style effect to an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Photo Effect Fade (CIPhotoEffectFade)

Apply a ‘Fade’ style effect to an image

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Photo Effect Instant (CIPhotoEffectInstant)

Apply a ‘Instant’ style effect to an image

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Photo Effect Mono (CIPhotoEffectMono)

Apply a ‘Mono’ style effect to an image

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Photo Effect Noir (CIPhotoEffectNoir)

Apply a ‘Noir’ style effect to an image

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Photo Effect Process (CIPhotoEffectProcess)

Apply a ‘Process’ style effect to an image

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Photo Effect Tonal (CIPhotoEffectTonal)

Apply a ‘Tonal’ style effect to an image

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Photo Effect Transfer (CIPhotoEffectTransfer)

Apply a ‘Transfer’ style effect to an image

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Pinch Distortion (CIPinchDistortion)

Creates a rectangular-shaped area that pinches source pixels inward, distorting those pixels closest to the rectangle the most.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the distortion. The larger the radius, the wider the extent of the distortion.
  • inputScale - NSNumber (Scalar) - The amount of pinching. A value of 0.0 has no effect. A value of 1.0 is the maximum pinch.

Outputs

  • outputImage

Pin Light Blend Mode (CIPinLightBlendMode)

Unpremultiplies the source and background image sample color, combines them according to the relative difference, and then blends the result with the background according to the PDF basic compositing formula. Source image values that are brighter than the destination will produce an output that is lighter than the destination. Source image values that are darker than the destination will produce an output that is darker than the destination.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Pixelate (CIPixellate)

Makes an image blocky.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputScale - NSNumber (Distance) - The scale determines the size of the squares. Larger values result in larger squares.

Outputs

  • outputImage

Pointillize (CIPointillize)

Renders the source image in a pointillistic style.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The radius of the circles in the resulting pattern.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect

Outputs

  • outputImage

QR Code Generator (CIQRCodeGenerator)

Generate a QR Code image for message data.

Inputs

  • inputMessage - NSData - The message to encode in the QR Code
  • inputCorrectionLevel - NSString - QR Code correction level L, M, Q, or H.

Outputs

  • outputImage
  • outputCGImage

Radial Gradient (CIRadialGradient)

Generates a gradient that varies radially between two circles having the same center. It is valid for one of the two circles to have a radius of 0.

Inputs

  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputRadius0 - NSNumber (Distance) - The radius of the starting circle to use in the gradient.
  • inputRadius1 - NSNumber (Distance) - The radius of the ending circle to use in the gradient.
  • inputColor0 - CIColor (Color) - The first color to use in the gradient.
  • inputColor1 - CIColor (Color) - The second color to use in the gradient.

Outputs

  • outputImage

Random Generator (CIRandomGenerator)

Generates an image of infinite extent whose pixel values are made up of four independent, uniformly-distributed random numbers in the 0 to 1 range.

Inputs

Outputs

  • outputImage

Ripple (CIRippleTransition)

Transitions from one image to another by creating a circular wave that expands from the center point, revealing the new image in the wake of the wave.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTargetImage - CIImage (Image) - The target image for a transition.
  • inputShadingImage - CIImage (Image) - An image that looks like a shaded sphere enclosed in a square image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputExtent - CIVector (Rectangle) - A rectangle that defines the extent of the effect.
  • inputTime - NSNumber (Time) - The parametric time of the transition. This value drives the transition from start (at time 0) to end (at time 1).
  • inputWidth - NSNumber (Distance) - The width of the ripple.
  • inputScale - NSNumber (Scalar) - A value that determines whether the ripple starts as a bulge (higher value) or a dimple (lower value).

Outputs

  • outputImage

Row Average (CIRowAverage)

Calculates the average color for each row of the specified area in an image, returning the result in a 1D image.

Inputs

  • inputImage - CIImage (Image) - The image to process.
  • inputExtent - CIVector (Rectangle) - A rectangle that specifies the subregion of the image that you want to process.

Outputs

  • outputImage

Saliency Map Filter (CISaliencyMapFilter)

Generates output image as a saliency map of the input image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Sample Nearest (CISampleNearest)

Produces an image that forces the image sampling to ‘nearest’ mode instead of the default ‘linear’ mode. This filter can be used to alter the behavior of filters that alter the geometry of an image. The output of this filter should be passed as the input to the geometry filter. For example, passing the output of this filter to CIAffineTransform can be used to produce a pixelated upsampled image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Saturation Blend Mode (CISaturationBlendMode)

Uses the luminance and hue values of the background with the saturation of the source image. Areas of the background that have no saturation (that is, pure gray areas) do not produce a change.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Screen Blend Mode (CIScreenBlendMode)

Multiplies the inverse of the source image samples with the inverse of the background image samples. This results in colors that are at least as light as either of the two contributing sample colors.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Sepia Tone (CISepiaTone)

Maps the colors of an image to various shades of brown.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputIntensity - NSNumber (Scalar) - The intensity of the sepia effect. A value of 1.0 creates a monochrome sepia image. A value of 0.0 has no effect on the image.

Outputs

  • outputImage

Shaded Material (CIShadedMaterial)

Produces a shaded image from a height field. The height field is defined to have greater heights with lighter shades, and lesser heights (lower areas) with darker shades. You can combine this filter with the ”Height Field From Mask” filter to produce quick shadings of masks, such as text.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputShadingImage - CIImage (Image) - The image to use as the height field. The resulting image has greater heights with lighter shades, and lesser heights (lower areas) with darker shades.
  • inputScale - NSNumber (Distance) - The scale of the effect. The higher the value, the more dramatic the effect.

Outputs

  • outputImage

Sharpen Luminance (CISharpenLuminance)

Increases image detail by sharpening. It operates on the luminance of the image; the chrominance of the pixels remains unaffected.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputSharpness - NSNumber (Scalar) - The amount of sharpening to apply. Larger values are sharper.
  • inputRadius - NSNumber (Scalar) - The distance from the center of the effect.

Outputs

  • outputImage

Sixfold Reflected Tile (CISixfoldReflectedTile)

Produces a tiled image from a source image by applying a 6-way reflected symmetry.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the tiled pattern.
  • inputWidth - NSNumber (Distance) - The width of a tile.

Outputs

  • outputImage

Sixfold Rotated Tile (CISixfoldRotatedTile)

Produces a tiled image from a source image by rotating the source at increments of 60 degrees.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the tiled pattern.
  • inputWidth - NSNumber (Distance) - The width of a tile.

Outputs

  • outputImage

Smooth Linear Gradient (CISmoothLinearGradient)

Generates a gradient that varies along a linear axis between two defined endpoints.

Inputs

  • inputPoint0 - CIVector (Position) - The starting position of the gradient -- where the first color begins.
  • inputPoint1 - CIVector (Position) - The ending position of the gradient -- where the second color begins.
  • inputColor0 - CIColor (Color) - The first color to use in the gradient.
  • inputColor1 - CIColor (Color) - The second color to use in the gradient.

Outputs

  • outputImage

Soft Light Blend Mode (CISoftLightBlendMode)

Either darkens or lightens colors, depending on the source image sample color. If the source image sample color is lighter than 50% gray, the background is lightened, similar to dodging. If the source image sample color is darker than 50% gray, the background is darkened, similar to burning. If the source image sample color is equal to 50% gray, the background is not changed. Image samples that are equal to pure black or pure white produce darker or lighter areas, but do not result in pure black or white. The overall effect is similar to what you would achieve by shining a diffuse spotlight on the source image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Source Atop (CISourceAtopCompositing)

Places the source image over the background image, then uses the luminance of the background image to determine what to show. The composite shows the background image and only those portions of the source image that are over visible parts of the background.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Source In (CISourceInCompositing)

Uses the second image to define what to leave in the source image, effectively cropping the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Source Out (CISourceOutCompositing)

Uses the second image to define what to take out of the first image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Source Over (CISourceOverCompositing)

Places the second image over the first.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Spot Color (CISpotColor)

Replaces one or more color ranges with spot colors.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenterColor1 - CIColor - The center value of the first color range to replace.
  • inputReplacementColor1 - CIColor - A replacement color for the first color range.
  • inputCloseness1 - NSNumber (Scalar) - A value that indicates how close the first color must match before it is replaced.
  • inputContrast1 - NSNumber (Scalar) - The contrast of the first replacement color.
  • inputCenterColor2 - CIColor - The center value of the second color range to replace.
  • inputReplacementColor2 - CIColor - A replacement color for the second color range.
  • inputCloseness2 - NSNumber (Scalar) - A value that indicates how close the second color must match before it is replaced.
  • inputContrast2 - NSNumber (Scalar) - The contrast of the second replacement color.
  • inputCenterColor3 - CIColor - The center value of the third color range to replace.
  • inputReplacementColor3 - CIColor - A replacement color for the third color range.
  • inputCloseness3 - NSNumber (Scalar) - A value that indicates how close the third color must match before it is replaced.
  • inputContrast3 - NSNumber (Scalar) - The contrast of the third replacement color.

Outputs

  • outputImage

Spot Light (CISpotLight)

Applies a directional spotlight effect to an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputLightPosition - CIVector (Position3) - The x and y position of the spotlight.
  • inputLightPointsAt - CIVector (Position3) - The x and y position that the spotlight points at.
  • inputBrightness - NSNumber (Distance) - The brightness of the spotlight.
  • inputConcentration - NSNumber (Scalar) - The spotlight size. The smaller the value, the more tightly focused the light beam.
  • inputColor - CIColor (OpaqueColor) - The color of the spotlight.

Outputs

  • outputImage

sRGB Tone Curve to Linear (CISRGBToneCurveToLinear)

Converts an image in sRGB space to linear space.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Star Shine (CIStarShineGenerator)

Generates a starburst pattern. The output image is typically used as input to another filter

Inputs

  • inputCenter - CIVector (Position) - The x and y position to use as the center of the star.
  • inputColor - CIColor - The color to use for the outer shell of the circular star.
  • inputRadius - NSNumber (Distance) - The radius of the star.
  • inputCrossScale - NSNumber (Scalar) - The size of the cross pattern.
  • inputCrossAngle - NSNumber (Angle) - The angle of the cross pattern.
  • inputCrossOpacity - NSNumber (Scalar) - The opacity of the cross pattern.
  • inputCrossWidth - NSNumber (Distance) - The width of the cross pattern.
  • inputEpsilon - NSNumber (Scalar) - The length of the cross spikes.

Outputs

  • outputImage

Straighten (CIStraightenFilter)

Rotates a source image by the specified angle in radians. The image is then scaled and cropped so that the rotated image fits the extent of the input image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputAngle - NSNumber (Angle) - An angle in radians.

Outputs

  • outputImage

Stretch Crop (CIStretchCrop)

Distorts an image by stretching and or cropping to fit a target size.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputSize - CIVector (Position) - The size in pixels of the output image.
  • inputCropAmount - NSNumber (Scalar) - Determines if and how much cropping should be used to achieve the target size. If value is 0 then only stretching is used. If 1 then only cropping is used.
  • inputCenterStretchAmount - NSNumber (Scalar) - Determine how much the center of the image is stretched if stretching is used. If value is 0 then the center of the image maintains the original aspect ratio. If 1 then the image is stretched uniformly.

Outputs

  • outputImage

Stripes (CIStripesGenerator)

Generates a stripe pattern. You can control the color of the stripes, the spacing, and the contrast.

Inputs

  • inputCenter - CIVector (Position) - The x and y position to use as the center of the stripe pattern.
  • inputColor0 - CIColor - A color to use for the odd stripes.
  • inputColor1 - CIColor - A color to use for the even stripes.
  • inputWidth - NSNumber (Distance) - The width of a stripe.
  • inputSharpness - NSNumber (Scalar) - The sharpness of the stripe pattern. The smaller the value, the more blurry the pattern. Values range from 0.0 to 1.0.

Outputs

  • outputImage

Subtract Blend Mode (CISubtractBlendMode)

Unpremultiplies the source and background image sample colors, subtracts the source from the background, and then blends the result with the background according to the PDF basic compositing formula. Source image values that are black produces output that is the same as the background. Source image values that are non-black darken the background color values.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputBackgroundImage - CIImage (Image) - The image to use as a background image.

Outputs

  • outputImage

Sunbeams (CISunbeamsGenerator)

Generates a sun effect. You typically use the output of the sunbeams filter as input to a composite filter.

Inputs

  • inputCenter - CIVector (Position) - The x and y position to use as the center of the sunbeam pattern
  • inputColor - CIColor - The color of the sun.
  • inputSunRadius - NSNumber (Distance) - The radius of the sun.
  • inputMaxStriationRadius - NSNumber (Scalar) - The radius of the sunbeams.
  • inputStriationStrength - NSNumber (Scalar) - The intensity of the sunbeams. Higher values result in more intensity.
  • inputStriationContrast - NSNumber (Scalar) - The contrast of the sunbeams. Higher values result in more contrast.
  • inputTime - NSNumber (Scalar) - The duration of the effect.

Outputs

  • outputImage

Swipe (CISwipeTransition)

Transitions from one image to another by simulating a swiping action.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputTargetImage - CIImage (Image) - The target image for a transition.
  • inputExtent - CIVector (Rectangle) - The extent of the effect.
  • inputColor - CIColor (OpaqueColor) - The color of the swipe.
  • inputTime - NSNumber (Time) - The parametric time of the transition. This value drives the transition from start (at time 0) to end (at time 1).
  • inputAngle - NSNumber (Angle) - The angle of the swipe.
  • inputWidth - NSNumber (Distance) - The width of the swipe
  • inputOpacity - NSNumber (Scalar) - The opacity of the swipe.

Outputs

  • outputImage

Temperature and Tint (CITemperatureAndTint)

Adapt the reference white point for an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputNeutral - CIVector (Offset)
  • inputTargetNeutral - CIVector (Offset)

Outputs

  • outputImage

Text Image Generator (CITextImageGenerator)

Generate an image from a string and font information.

Inputs

  • inputText - NSString
  • inputFontName - NSString
  • inputFontSize - NSNumber (Scalar)
  • inputScaleFactor - NSNumber (Scalar)

Outputs

  • outputImage

Thermal (CIThermal)

Apply a ‘Thermal’ style effect to an image

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Tone Curve (CIToneCurve)

Adjusts tone response of the R, G, and B channels of an image. The input points are five x,y values that are interpolated using a spline curve. The curve is applied in a perceptual (gamma 2) version of the working space.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputPoint0 - CIVector (Offset)
  • inputPoint1 - CIVector (Offset)
  • inputPoint2 - CIVector (Offset)
  • inputPoint3 - CIVector (Offset)
  • inputPoint4 - CIVector (Offset)

Outputs

  • outputImage

Torus Lens Distortion (CITorusLensDistortion)

Creates a torus-shaped lens and distorts the portion of the image over which the lens is placed.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the torus.
  • inputRadius - NSNumber (Distance) - The outer radius of the torus.
  • inputWidth - NSNumber (Distance) - The width of the ring.
  • inputRefraction - NSNumber (Scalar) - The refraction of the glass.

Outputs

  • outputImage

Triangle Kaleidoscope (CITriangleKaleidoscope)

Maps a triangular portion of image to a triangular area and then generates a kaleidoscope effect.

Inputs

  • inputImage - CIImage (Image) - Input image to generate kaleidoscope effect from.
  • inputPoint - CIVector (Position) - The x and y position to use as the center of the triangular area in the input image.
  • inputSize - NSNumber (Scalar) - The size in pixels of the triangle.
  • inputRotation - NSNumber (Angle) - Rotation angle of the triangle.
  • inputDecay - NSNumber (Scalar) - The decay determines how fast the color fades from the center triangle.

Outputs

  • outputImage

Triangle Tile (CITriangleTile)

Maps a triangular portion of image to a triangular area and then tiles the result.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the tiled pattern.
  • inputWidth - NSNumber (Distance) - The width of a tile.

Outputs

  • outputImage

Twelvefold Reflected Tile (CITwelvefoldReflectedTile)

Produces a tiled image from a source image by applying a 12-way reflected symmetry.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The x and y position to use as the center of the effect
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the tiled pattern.
  • inputWidth - NSNumber (Distance) - The width of a tile.

Outputs

  • outputImage

Twirl Distortion (CITwirlDistortion)

Rotates pixels around a point to give a twirling effect. You can specify the number of rotations as well as the center and radius of the effect.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the distortion. The larger the radius, the wider the extent of the distortion.
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the twirl. Values can be positive or negative.

Outputs

  • outputImage

Unsharp Mask (CIUnsharpMask)

Increases the contrast of the edges between pixels of different colors in an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputRadius - NSNumber (Distance) - The radius around a given pixel to apply the unsharp mask. The larger the radius, the more of the image is affected.
  • inputIntensity - NSNumber (Scalar) - The intensity of the effect. The larger the value, the more contrast in the affected area.

Outputs

  • outputImage

Vibrance (CIVibrance)

Adjusts the saturation of an image while keeping pleasing skin tones.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputAmount - NSNumber (Scalar) - The amount to adjust the saturation.

Outputs

  • outputImage

Vignette (CIVignette)

Applies a vignette shading to the corners of an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputIntensity - NSNumber (Scalar) - The intensity of the effect.
  • inputRadius - NSNumber (Scalar) - The distance from the center of the effect.

Outputs

  • outputImage

Vignette Effect (CIVignetteEffect)

Applies a vignette shading to the corners of an image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputRadius - NSNumber (Distance) - The distance from the center of the effect.
  • inputIntensity - NSNumber (Scalar) - The intensity of the effect.
  • inputFalloff - NSNumber (Scalar)

Outputs

  • outputImage

Vortex Distortion (CIVortexDistortion)

Rotates pixels around a point to simulate a vortex. You can specify the number of rotations as well the center and radius of the effect.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputRadius - NSNumber (Distance) - The radius determines how many pixels are used to create the distortion. The larger the radius, the wider the extent of the distortion.
  • inputAngle - NSNumber (Angle) - The angle (in radians) of the vortex.

Outputs

  • outputImage

White Point Adjust (CIWhitePointAdjust)

Adjusts the reference white point for an image and maps all colors in the source using the new reference.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputColor - CIColor (Color) - A color to use as the white point.

Outputs

  • outputImage

X-Ray (CIXRay)

Apply a ‘XRay’ style effect to an image

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.

Outputs

  • outputImage

Zoom Blur (CIZoomBlur)

Simulates the effect of zooming the camera while capturing the image.

Inputs

  • inputImage - CIImage (Image) - The image to use as an input image. For filters that also use a background image, this is the foreground image.
  • inputCenter - CIVector (Position) - The center of the effect as x and y coordinates.
  • inputAmount - NSNumber (Distance) - The zoom-in amount. Larger values result in more zooming in.

Outputs

  • outputImage
@noahsark769
Copy link

Lovely! I've done the same thing at https://CIFilter.io - you might be interested in it!

@bdeweygit
Copy link

Thanks for this. Anybody know if the CIConvolution filters always clamp their output values between zero and one? There's some old documentation that says they do but I've noticed that if you send a pure white image through enough passes of just about any CIConvolution the image actually turns black because the outputs are adding up to the point of overflowing the underlying number type.

@frankschlegel
Copy link

@bdeweygit Could you please post a gist or StackOverflow question with details and we can discuss there? 🙂

@bdeweygit
Copy link

Stack Overflow question is here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment