         
         guard let filter = CIFilter(name: "CIDepthOfField") else { return .empty() }
         
-        filter.setValue(self, forKey: kCIInputImageKey)
+        filter.setValue(self, forKey: "inputImage")
         filter.setValue(CIVector(cgPoint: point0), forKey: "inputPoint0")
         filter.setValue(CIVector(cgPoint: point1), forKey: "inputPoint1")
-        filter.setValue(saturation, forKey: kCIInputSaturationKey)
+        filter.setValue(saturation, forKey: "inputSaturation")
         filter.setValue(unsharpMaskRadius, forKey: "inputUnsharpMaskRadius")
         filter.setValue(unsharpMaskIntensity, forKey: "inputUnsharpMaskIntensity")
-        filter.setValue(radius, forKey: kCIInputRadiusKey)
+        filter.setValue(radius, forKey: "inputRadius")
         
         return filter.outputImage ?? .empty()
     }

        
        guard let filter = CIFilter(name: "CIHexagonalPixellate") else { return .empty() }
        
        filter.setValue(self, forKey: kCIInputImageKey)
        filter.setValue(CIVector(cgPoint: center), forKey: kCIInputCenterKey)
        filter.setValue(scale, forKey: kCIInputScaleKey)
        
        return filter.outputImage ?? .empty()
    }

        
        guard let filter = CIFilter(name: "CIPerspectiveTransformWithExtent") else { return .empty() }
        
        filter.setValue(self, forKey: "inputImage")
        filter.setValue(CIVector(cgRect: extent), forKey: "inputExtent")
        filter.setValue(CIVector(cgPoint: topLeft), forKey: "inputTopLeft")
        filter.setValue(CIVector(cgPoint: topRight), forKey: "inputTopRight")
        filter.setValue(CIVector(cgPoint: bottomRight), forKey: "inputBottomRight")
