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

# lenticularHaloGenerator()

Generates a lenticular halo image.

```
class func lenticularHaloGenerator() -> any CIFilter & CILenticularHaloGenerator
```

## Return Value

The generated image.

## Discussion

This method generates a lenticular halo image. You commonly combine this effect with an image to simulate a halo generated by the spread of light on a lens.

The lenticular halo generator filter uses the following properties:

- `center`: A `vector` representing the center of the lens flare as a [`CIVector`](/documentation/CoreImage/CIVector).
- `color`: A [`CIColor`](/documentation/CoreImage/CIColor) controlling the proportion of red, green, and blue halos.
- `haloWidth`: A `float` representing the halo width as an <doc://com.apple.documentation/documentation/Foundation/NSNumber>.
- `haloRadius`: A `float` representing the halo radius as an <doc://com.apple.documentation/documentation/Foundation/NSNumber>.
- `haloOverlap`: A `float` representing the overlap of red, green, and blue halos as an <doc://com.apple.documentation/documentation/Foundation/NSNumber>. A value of 1 results in a full overlap.
- `striationStrength`: A `float` representing the brightness of the rainbow-colored halo area as an <doc://com.apple.documentation/documentation/Foundation/NSNumber>.
- `striationContrast`: A `float` representing the contrast of the rainbow-colored halo area as an <doc://com.apple.documentation/documentation/Foundation/NSNumber>.
- `time`: A `float` representing the addition of brightness to the halo as an <doc://com.apple.documentation/documentation/Foundation/NSNumber>.

The following code creates a filter that generates a lenticular halo image:

```swift
func lenticularHalo() -> CIImage {
    let lenticularHaloGenerator = CIFilter.lenticularHaloGenerator()
    lenticularHaloGenerator.center = CGPoint(x: 200, y: 200)
    lenticularHaloGenerator.color = CIColor(red: 1.2, green: 2.7, blue: 2.5)
    lenticularHaloGenerator.haloWidth = 87
    lenticularHaloGenerator.haloRadius = 70
    lenticularHaloGenerator.haloOverlap = 0.77
    lenticularHaloGenerator.striationStrength = 0.50
    lenticularHaloGenerator.striationContrast = 1.00
    lenticularHaloGenerator.time = 0.00
    return lenticularHaloGenerator.outputImage!
}
```

![An object made of colored rings gradually changing in color from the center rings made of shades of blues while the outer rings are made of darker shades of red and orange. Each ring of the halo is made of angled striations.](images/com.apple.coreimage/media-3592392@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)