@@ -370,16 +370,16 @@ let filterOperations: Array<FilterOperationInterface> = [
370370 } ,
371371 filterOperationType: . singleInput
372372 ) ,
373- // FilterOperation(
374- // filter:{AdaptiveThreshold()},
375- // listName:"Adaptive threshold",
376- // titleName:"Adaptive Threshold",
377- // sliderConfiguration:.enabled(minimumValue:1.0, maximumValue:20.0, initialValue:1.0),
378- // sliderUpdateCallback: {(filter, sliderValue) in
379- // filter.blurRadiusInPixels = sliderValue
380- // },
381- // filterOperationType:.singleInput
382- // ),
373+ FilterOperation (
374+ filter: { AdaptiveThreshold ( ) } ,
375+ listName: " Adaptive threshold " ,
376+ titleName: " Adaptive Threshold " ,
377+ sliderConfiguration: . enabled( minimumValue: 1.0 , maximumValue: 20.0 , initialValue: 1.0 ) ,
378+ sliderUpdateCallback: { ( filter, sliderValue) in
379+ filter. blurRadiusInPixels = sliderValue
380+ } ,
381+ filterOperationType: . singleInput
382+ ) ,
383383// FilterOperation(
384384// filter:{AverageLuminanceThreshold()},
385385// listName:"Average luminance threshold",
@@ -595,14 +595,14 @@ let filterOperations: Array<FilterOperationInterface> = [
595595// })
596596// ),
597597// // TODO: Hough transform line detector
598- // FilterOperation(
599- // filter:{ColourFASTFeatureDetection()},
600- // listName:"ColourFAST feature detection",
601- // titleName:"ColourFAST Features",
602- // sliderConfiguration:.disabled,
603- // sliderUpdateCallback:nil,
604- // filterOperationType:.singleInput
605- // ),
598+ FilterOperation (
599+ filter: { ColourFASTFeatureDetection ( ) } ,
600+ listName: " ColourFAST feature detection " ,
601+ titleName: " ColourFAST Features " ,
602+ sliderConfiguration: . disabled,
603+ sliderUpdateCallback: nil ,
604+ filterOperationType: . singleInput
605+ ) ,
606606 FilterOperation (
607607 filter: { LowPassFilter ( ) } ,
608608 listName: " Low pass " ,
@@ -663,17 +663,17 @@ let filterOperations: Array<FilterOperationInterface> = [
663663 } ,
664664 filterOperationType: . singleInput
665665 ) ,
666- // FilterOperation(
667- // filter:{TiltShift()},
668- // listName:"Tilt shift",
669- // titleName:"Tilt Shift",
670- // sliderConfiguration:.enabled(minimumValue:0.2, maximumValue:0.8, initialValue:0.5),
671- // sliderUpdateCallback: {(filter, sliderValue) in
672- // filter.topFocusLevel = sliderValue - 0.1
673- // filter.bottomFocusLevel = sliderValue + 0.1
674- // },
675- // filterOperationType:.singleInput
676- // ),
666+ FilterOperation (
667+ filter: { TiltShift ( ) } ,
668+ listName: " Tilt shift " ,
669+ titleName: " Tilt Shift " ,
670+ sliderConfiguration: . enabled( minimumValue: 0.2 , maximumValue: 0.8 , initialValue: 0.5 ) ,
671+ sliderUpdateCallback: { ( filter, sliderValue) in
672+ filter. topFocusLevel = sliderValue - 0.1
673+ filter. bottomFocusLevel = sliderValue + 0.1
674+ } ,
675+ filterOperationType: . singleInput
676+ ) ,
677677 FilterOperation (
678678 filter: { CGAColorspaceFilter ( ) } ,
679679 listName: " CGA colorspace " ,
@@ -877,54 +877,54 @@ let filterOperations: Array<FilterOperationInterface> = [
877877 } ,
878878 filterOperationType: . singleInput
879879 ) ,
880- // FilterOperation(
881- // filter:{SphereRefraction()},
882- // listName:"Sphere refraction",
883- // titleName:"Sphere Refraction",
884- // sliderConfiguration:.enabled(minimumValue:0.0, maximumValue:1.0, initialValue:0.15),
885- // sliderUpdateCallback:{(filter, sliderValue) in
886- // filter.radius = sliderValue
887- // },
888- // filterOperationType:.custom(filterSetupFunction:{(camera, filter, outputView) in
889- // let castFilter = filter as! SphereRefraction
890- //
891- // // Provide a blurred image for a cool-looking background
892- // let gaussianBlur = GaussianBlur()
893- // gaussianBlur.blurRadiusInPixels = 5.0
894- //
895- // let blendFilter = AlphaBlend()
896- // blendFilter.mix = 1.0
897- //
898- // camera --> gaussianBlur --> blendFilter --> outputView
899- // camera --> castFilter --> blendFilter
900- //
901- // return blendFilter
902- // })
903- // ),
904- // FilterOperation(
905- // filter:{GlassSphereRefraction()},
906- // listName:"Glass sphere",
907- // titleName:"Glass Sphere",
908- // sliderConfiguration:.enabled(minimumValue:0.0, maximumValue:1.0, initialValue:0.15),
909- // sliderUpdateCallback:{(filter, sliderValue) in
910- // filter.radius = sliderValue
911- // },
912- // filterOperationType:.custom(filterSetupFunction:{(camera, filter, outputView) in
913- // let castFilter = filter as! GlassSphereRefraction
914- //
915- // // Provide a blurred image for a cool-looking background
916- // let gaussianBlur = GaussianBlur()
917- // gaussianBlur.blurRadiusInPixels = 5.0
918- //
919- // let blendFilter = AlphaBlend()
920- // blendFilter.mix = 1.0
921- //
922- // camera --> gaussianBlur --> blendFilter --> outputView
923- // camera --> castFilter --> blendFilter
924- //
925- // return blendFilter
926- // })
927- // ),
880+ FilterOperation (
881+ filter: { SphereRefraction ( ) } ,
882+ listName: " Sphere refraction " ,
883+ titleName: " Sphere Refraction " ,
884+ sliderConfiguration: . enabled( minimumValue: 0.0 , maximumValue: 1.0 , initialValue: 0.15 ) ,
885+ sliderUpdateCallback: { ( filter, sliderValue) in
886+ filter. radius = sliderValue
887+ } ,
888+ filterOperationType: . custom( filterSetupFunction: { ( camera, filter, outputView) in
889+ let castFilter = filter as! SphereRefraction
890+
891+ // Provide a blurred image for a cool-looking background
892+ let gaussianBlur = GaussianBlur ( )
893+ gaussianBlur. blurRadiusInPixels = 5.0
894+
895+ let blendFilter = AlphaBlend ( )
896+ blendFilter. mix = 1.0
897+
898+ camera --> gaussianBlur --> blendFilter --> outputView
899+ camera --> castFilter --> blendFilter
900+
901+ return blendFilter
902+ } )
903+ ) ,
904+ FilterOperation (
905+ filter: { GlassSphereRefraction ( ) } ,
906+ listName: " Glass sphere " ,
907+ titleName: " Glass Sphere " ,
908+ sliderConfiguration: . enabled( minimumValue: 0.0 , maximumValue: 1.0 , initialValue: 0.15 ) ,
909+ sliderUpdateCallback: { ( filter, sliderValue) in
910+ filter. radius = sliderValue
911+ } ,
912+ filterOperationType: . custom( filterSetupFunction: { ( camera, filter, outputView) in
913+ let castFilter = filter as! GlassSphereRefraction
914+
915+ // Provide a blurred image for a cool-looking background
916+ let gaussianBlur = GaussianBlur ( )
917+ gaussianBlur. blurRadiusInPixels = 5.0
918+
919+ let blendFilter = AlphaBlend ( )
920+ blendFilter. mix = 1.0
921+
922+ camera --> gaussianBlur --> blendFilter --> outputView
923+ camera --> castFilter --> blendFilter
924+
925+ return blendFilter
926+ } )
927+ ) ,
928928 FilterOperation (
929929 filter: { StretchDistortion ( ) } ,
930930 listName: " Stretch " ,
0 commit comments