Potentially add Apple internal filters
frankschlegel opened this issue · 2 comments
Through a question on StackOverflow I learned that the internal filters that are part of the CIImage.autoAdjustmentFilters()
can actually be initialized independently by their name.
Digging a bit deeper I found that there are a lot of interesting internal filters, all of them belonging to the CICategoryApplePrivate
category. Here is a list retrieved by CIFilter.filterNames(inCategory: "CICategoryApplePrivate")
:
CIAppleSmithGossettScale
CIAreaMinMaxNormalize
CIAreaMinMaxRedNormalize
CIAreaRedCentroid
CIAreaRedRadialCentroid
CIASG50Percent
CIASG60Percent
CIASG66Percent
CIASG75Percent
CIASG80Percent
CICheapBilateral
CICheapBlur
CICheapMorphology
CICheatBlur
CICircleGenerator
CIColorBalance
CIColorPolynomialInverse
CIContrastEnhancer
CIDepthEffectApplyBlurMap
CIDepthEffectMakeBlurMap
CIDesaturateShadows
CIDisparityRefinement
CIDynamicFood
CIDynamicRender
CIFaceBalance
CIFocalPlane
CIGaussianBlurXY
CIHardMixBlendMode
CIHighKey
CIInpaintingFilter
CIIntegralImage
CILinearLightBlendMode
CIMattingSolver
CIMirror
CIMorphologyLaplacian
CIOpacity
CIPaperWash
CIPassThroughColorFilter
CIPassThroughGeneralAltFilter
CIPassThroughGeneralFilter
CIPassThroughIntermediateFilter
CIPassThroughSelectFrom3
CIPassThroughWarpFilter
CIPercentileRed
CIPhotoGrain
CIPlusDarkerCompositing
CIPlusLighterCompositing
CIPortraitEffectBlack
CIPortraitEffectBlackoutMono
CIPortraitEffectCommercial
CIPortraitEffectContour
CIPortraitEffectContourV2
CIPortraitEffectLight
CIPortraitEffectLightV2
CIPortraitEffectStage
CIPortraitEffectStageMono
CIPortraitEffectStageMonoV2
CIPortraitEffectStageV2
CIPortraitEffectStageWhite
CIPortraitEffectStudio
CIPortraitEffectStudioV2
CIPremultiply
CIProSharpenEdges
CIPseudoMedian
CIRectangleGenerator
CIRedEyeCorrections
CIRingBlur
CISimpleTile
CISingleChannelColorMap
CISkyAndGrassAdjust
CISmartBlackAndWhite
CISmartColorFilter
CISmartGradient
CISmartToneFilter
CISoftCubicUpsample
CIStretch
CIUnpremultiply
CIVariableBoxBlur
CIVividLightBlendMode
CIWrapMirror
CUIInnerBevelEmbossFilter
CUIInnerGlowOrShadowFilter
CUIOuterBevelEmbossFilter
CUIOuterGlowOrShadowFilter
CUIScaleClampFilter
CUIShapeEffectBlur1
Their attributes
also list their parameters, though they are not documented very well. But I think they would make a nice addition to CIFilter.io regardless.
It's an interesting idea! I'd say this makes more sense for an explanatory blog post or something, though - I assume that because these are filters are private, they're subject to change or removal at any time, so they're never safe to use in an app. Would definitely accept a PR to have a flag in the app for including these filters in the json output so you could view them more easily, though! Or even an article on a separate page on the site that goes through them
I noticed in that stackoverflow that some of these filters are actually listed, though - maybe we could append the filters returned from autoAdjustmentFilters
to the cifilter.io json or something? Those are relatively public and documented, so they probably make sense to include