---
title: convolution9Vertical()
framework: coreimage
role: symbol
role_heading: Type Method
path: coreimage/cifilter-swift.class/convolution9vertical()
---

# convolution9Vertical()

Applies a convolution-9 vertical filter to the RGBA components of an image.

## Declaration

```swift
class func convolution9Vertical() -> any CIFilter & CIConvolution
```

## Return Value

Return Value The modified image.

## Discussion

Discussion This method applies a 1 x 9 convolution filter to the RGBA components of an image. The effect uses a 1 x 9 area surrounding an input pixel, the pixel itself, and those within a distance of 4 pixels vertically. The effect repeats this for every pixel within the image. Unlike the convolution filters, which use square matrices, this filter can only produce effects along a vertical axis. You can combine this filter with the convolution9Horizontal() to apply separable 9 x 9 convolutions. The convolution-9-vertical filter uses the following properties: note: When using a nonzero bias value, the output image has an infinite extent. You should crop the output image before attempting to render it. The following code creates a filter that detects edges in the input image: func convolution9Vertical(inputImage: CIImage) -> CIImage? {     let convolutionFilter = CIFilter.convolution9Vertical()     convolutionFilter.inputImage = inputImage     convolutionFilter.inputImage = inputImage     let weights: [CGFloat] = [1, 1, 1, 1, 1, 1, 1, 1, 1].map { $0/9.0 }     let kernel = CIVector(values: weights, count: 9)     convolutionFilter.weights = kernel     convolutionFilter.bias = 0.0     return convolutionFilter.outputImage! }

## See Also

### Filters

- [convolution3X3()](coreimage/cifilter-swift.class/convolution3x3().md)
- [convolution5X5()](coreimage/cifilter-swift.class/convolution5x5().md)
- [convolution7X7()](coreimage/cifilter-swift.class/convolution7x7().md)
- [convolution9Horizontal()](coreimage/cifilter-swift.class/convolution9horizontal().md)
- [convolutionRGB3X3()](coreimage/cifilter-swift.class/convolutionrgb3x3().md)
- [convolutionRGB5X5()](coreimage/cifilter-swift.class/convolutionrgb5x5().md)
- [convolutionRGB7X7()](coreimage/cifilter-swift.class/convolutionrgb7x7().md)
- [convolutionRGB9Horizontal()](coreimage/cifilter-swift.class/convolutionrgb9horizontal().md)
- [convolutionRGB9Vertical()](coreimage/cifilter-swift.class/convolutionrgb9vertical().md)
