<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: 14.0.0 -",
    "macOS: 11.0.0 -",
    "tvOS: 14.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreImage",
  "identifier" : "/documentation/CoreImage/CIFilter-swift.class/bumpDistortionLinear()",
  "metadataVersion" : "0.1.0",
  "role" : "Type Method",
  "symbol" : {
    "kind" : "Type Method",
    "modules" : [
      "Core Image",
      "CoreImage"
    ],
    "preciseIdentifier" : "c:objc(cs)CIFilter(cm)bumpDistortionLinearFilter"
  },
  "title" : "bumpDistortionLinear()"
}
-->

# bumpDistortionLinear()

Linearly distorts an image with a concave or convex bump.

```
class func bumpDistortionLinear() -> any CIFilter & CIBumpDistortionLinear
```

## Return Value

The distorted image.

## Discussion

This method applies the bump distortion linear filter to an image. This effect creates a concave or convex bump to a linear portion of the image. The curvature of the bump is defined by the `scale` property. A value of 0.0 has no effect, while a positive value creates an outward curvature and a negative value creates an inward curvature.

The bump distortion linear filter uses the following properties:

- `inputImage`: An image with the type [`CIImage`](/documentation/CoreImage/CIImage).
- `radius`: A `float` representing the amount of pixels the filter uses to create the distortion as an <doc://com.apple.documentation/documentation/Foundation/NSNumber>.
- `center`: A set of coordinates marking the center of the image as a <doc://com.apple.documentation/documentation/CoreFoundation/CGPoint>.
- `scale`: A `float` representing the curvature of the bump effect as an <doc://com.apple.documentation/documentation/Foundation/NSNumber>.
- `angle`: A `float` representing the angle of the distortion, in radians, as an <doc://com.apple.documentation/documentation/Foundation/NSNumber>.

The following code creates a filter that results in a vertical bump distorting the image:

```swift
func bumpDistortionLinear(inputImage: CIImage) -> CIImage {
    let filter = CIFilter.bumpDistortionLinear()
    filter.inputImage = inputImage
    filter.center = CGPoint(x: inputImage.extent.midX, y: inputImage.extent.midY)
    filter.radius = 500
    filter.scale = 0.2
    filter.angle = .pi/2
    return filter.outputImage!
}
```

![Two images arranged horizontally. The left image contains a photograph of a modern building with light colored concrete set against a clear sky. The image on the right shows the result of applying the bump distortion linear filter. The straight lines of the building appear to curve in and out of the image.](images/com.apple.coreimage/media-4407320@2x.png)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)