         
         guard let filter = CIFilter(name: "CIBoxBlur") else { return .empty() }
         
-        filter.setValue(self, forKey: kCIInputImageKey)
-        filter.setValue(radius, forKey: kCIInputRadiusKey)
+        filter.setValue(self, forKey: "inputImage")
+        filter.setValue(radius, forKey: "inputRadius")
         
         return filter.outputImage ?? .empty()
     }

        
        guard let filter = CIFilter(name: "CIGaussianGradient") else { return .empty() }
        
        filter.setValue(CIVector(cgPoint: center), forKey: kCIInputCenterKey)
        filter.setValue(color0, forKey: "inputColor0")
        filter.setValue(color1, forKey: "inputColor1")
        filter.setValue(radius, forKey: kCIInputRadiusKey)
        
        return filter.outputImage ?? .empty()
    }

        
        guard let filter = CIFilter(name: "CILineOverlay") else { return .empty() }
        
        filter.setValue(self, forKey: "inputImage")
        filter.setValue(nrNoiseLevel, forKey: "inputNRNoiseLevel")
        filter.setValue(nrSharpness, forKey: "inputNRSharpness")
        filter.setValue(edgeIntensity, forKey: "inputEdgeIntensity")
        filter.setValue(threshold, forKey: "inputThreshold")
        filter.setValue(contrast, forKey: "inputContrast")
        
        return filter.outputImage ?? .empty()
    }
