Skip to content

Commit a3e119e

Browse files
committed
Added three filters
Added the adaptive threshold, tilt shift, and colourFAST filter.
1 parent 31f0048 commit a3e119e

File tree

11 files changed

+371
-252
lines changed

11 files changed

+371
-252
lines changed

examples/Mac/FilterShowcase/FilterShowcase/FilterOperations.swift

Lines changed: 77 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)