Core Image Filter Explorer & Showcase

Overview

Filterpedia

Core Image Filter explorer

screenshot

Filterpedia is an iPad app for exploring (almost) the entire range of image filters offered by Apple's Core Image framework. It is designed as a companion app to my upcoming book, Core Image for Swift which is due for publication in February 2016.

The UI is split into two sections: the table view on the left allows the user to navigate through and select a filter, the panel on the right then displays all the parameters of the selected filter which can be adjusted using horizontal sliders.

Filterpedia is also a showcase for custom filters I'm creating that are discussed in the book. These include simple compositions of existing CIFilter, CIKernel based filters using GLSL and filters that use Metal kernel functions as their filtering engine.

Core Image for Swift is available from:

Custom Filters

Filterpedia includes many custom Core Image filters which can be used in other projects. They include:

Advanced Monochrome

screenshot

Bleach Bypass

screenshot

Carnival Mirror

screenshot

Caustic Noise

screenshot

Caustic Refraction

screenshot

Chromatic Abberation

screenshot

Circular Bokeh (with bias)

screenshot

CMYK Levels

screenshot

CMYK Registration Mismatch

screenshot

CMYK Tone Curve

screenshot

Color Directed Blur

screenshot

Color Swatch from Black Body Temperature

screenshot

Color Scalar Noise

screenshot

Compound Eye

screenshot

Concentric Sine Waves

screenshot

Contast Stretch

screenshot

Cathode Ray Tube

screenshot

Difference of Gaussians

screenshot

Eight Bit

screenshot

Flame

screenshot

Hexagonal Bokeh

screenshot

Histogram Equalization

screenshot

Histogram Specification

screenshot

Homogeneous Color Blur

screenshot

Kuwahara

screenshot

Lens Flare

screenshot

Masked Variable Circular Bokeh

screenshot

Masked Variable Hexagonal Bokeh

screenshot

Mercurialize

screenshot

Metal Perlin Noise

screenshot

Metal Pixellate

screenshot

Multiband Hue, Saturation & Brightness Controls

screenshot

Normal Map

screenshot

Polar Pixellate

screenshot

Pseudo Color

screenshot

Refracted Text

screenshot

RGB Brightness & Contrast

screenshot

RGB Compositing

screenshot

RGB Tone Curve

screenshot

Scatter

screenshot

Simple Plasma

screenshot

Simple Sky Generation

screenshot

Sky Generation

screenshot

Smooth Threshold

screenshot

Starburst

screenshot

Technicolor

screenshot

Threshold

screenshot

Threshold to Alpha

screenshot

Transverse Chromatic Aberration

screenshot

VHS Tracking Lines

screenshot

Voronoi Noise

screenshot

Comments
  • iOS 12 CIKernel Filters CRASH

    iOS 12 CIKernel Filters CRASH

    Many of the Filters Including EightBit, CRT, Bayer Dither, Lens Flare, Lens Correction etc. based on CIKernel are crashing due to new changes.

    ERROR: parameter has unexpected type 'vec4' (should be a sampler type) vec2 uv = samplerCoord(image);

    This seems to be a common error message among most crashing filters. please check.

    opened by abhi-dave 13
  • More Permissive License, Perhaps?

    More Permissive License, Perhaps?

    I don't want to presume that choosing GPL was not intentional, but are you aware that it does not allow for commercial use (distribution) unless the app you're using it in is also open-source (ref: http://softwareengineering.stackexchange.com/questions/47032/can-i-use-gpl-software-in-a-commercial-application)? Is there any chance you'd be willing to license it under something more permissive like MIT or BSD?

    opened by perlmunger 5
  • Swift 3

    Swift 3

    This code should be merged to a new branch named swift-3. @FlexMonkey Please create a new branch and I will create the PR again.

    This should not be merged in master as of now, since Xcode 8 is still in beta mode.

    opened by RishabhTayal 1
  • Add a search bar?

    Add a search bar?

    You've added so many great filters that I sometimes struggle to find a specific one. (Take that as a compliment!)

    Would you be interested in adding a search function to the filter list? I've been considering making a pull request, but wanted to check that you'd be interested in merging it, and that you're not already working on it.

    opened by ryanmasondavies 1
  • Add gitignore, tidy up project

    Add gitignore, tidy up project

    I wanted to make some changes and noticed there wasn't a gitignore, so I've added one to make contributing easier.

    I also moved coffeecup.jpg into the assets folder and renamed the asssets Xcode group to assets. Nothing major! I've tested the coffeecup.jpg move and it doesn't seem to have affected anything.

    Thank you for the great project!

    opened by ryanmasondavies 1
  • No such module 'MetalKit' / a way to run the app in the simulator

    No such module 'MetalKit' / a way to run the app in the simulator

    For us folks without iPads, it would be great to use filterpedia in the simulator. Looks like this is related to MetalKit not being supported in the simulator.

    http://stackoverflow.com/questions/24086194/how-do-you-import-metal-in-swift

    I bring this up because it may deter some people from buying your book, and I want you to sell a lot of copies of your book :-)

    opened by ivanlesko 1
  • Non Diffusion Dithering: Bugfix & Enhancements

    Non Diffusion Dithering: Bugfix & Enhancements

    Bug: (Incorrect mod used) Affected 2x2, 3x3 and 8x8 (only 4x4 work as expected)

    Enhancements: (Color Palettes extended)

    • Black 0x00 and white 0xFF using only the red component.
    • Commodore 64
    • Vic-20
    • Apple II
    • ZX Spectrum Bright
    • ZX Spectrum Dim
    • RGB
    opened by AfricanSwift 1
  • Filterpedia.AdvancedMonochrome warning on launch

    Filterpedia.AdvancedMonochrome warning on launch

    Running in iPad Air 2 iOS 9.3 simulator in Xcode 7.3 on OS X 10.11.4:

    2016-04-13 20:25:17.738 Filterpedia[5960:487581] __64+[CIFilter(CIFilterRegistryPrivate) filterWithName:setDefaults:]_block_invoke520 [constructor filterWithName:AdvancedMonochrome] returned an object of class Filterpedia.AdvancedMonochrome.
    

    Looks like CIFilter doesn't like modules in this instance. I had a quick look around the code but couldn't figure out why.

    opened by ryanmasondavies 0
  • How to implement HSV with UISlider?

    How to implement HSV with UISlider?

    I am implementing feature with red, orange, yellow, green, aqua, blue, purple color selection and one UISlider. I am not understanding how to use MultiBandHSV with UISlider properly.

    Thank you.

    opened by ChanakyaHirpara 0
  • Swift 5 & memory safe warning fixes

    Swift 5 & memory safe warning fixes

    bumped swift syntax to swift 5 fixed a case where the demo would crash if a filter was unwrapped unsafely resolved swift warnings pertaining to memory safety.

    more info on why the issue resolution was important

    opened by mredig 1
  • Updates Filterpedia to Swift 4.2 (Xcode 10.1)

    Updates Filterpedia to Swift 4.2 (Xcode 10.1)

    • update swift syntax from swift 2 to swift 4.2
    • adds support for iPhone (landscape orientation only)
    • fix some GLSL and metal relation crashes
    • update .gitignore and remove .xcuserstated from the repo
    opened by truemetal 3
  • swift 3 builds and fixed some nsnumber values for correct default slider values

    swift 3 builds and fixed some nsnumber values for correct default slider values

    Most of the edits were actually pulled from another fork I picked at random that fixed the swift 3 build issues.

    However, I noticed that a lot of filters has horrible slider ranges and default values (I believe as a result of the swift 3 conversion), so I found the issue and cast the filter values as NSNumbers and then used the "floatValue" of an NSNumber to get those min, max, and default values, instead of casting NSNumbers as Float.

    opened by mredig 0
  • Actually a feature request...

    Actually a feature request...

    Any chance of publishing this for Mac OS too?

    I'd LOVE to help - but I'm struggling myself with applying CIFilters onto live camera input on Mac OS, and I seem to miss some of the basics there.

    Otherwise - I'm very experienced in Application design and development. Please let me know if you're interested.

    opened by Motti-Shneor 0
  • Kuwahara metal vs GLSL

    Kuwahara metal vs GLSL

    In my tests, your MetalKuwaharaFilter is actually 50% slower then KuwaharaFilter however here Simon mentions Metal is supposed to be 50% faster.

    Any idea why it is like that?

    opened by truemetal 0
Core Image Filter Explorer & Showcase

Filterpedia Core Image Filter explorer Filterpedia is an iPad app for exploring (almost) the entire range of image filters offered by Apple's Core Ima

simon gladman 2.2k Dec 28, 2022
Audiodbexplorer - Audiodb explorer app with SwiftUI

AudioDBExplorer Purpose I built this sample app for a couple of reasons. To get

Carl Hinkle 0 Jan 28, 2022
Completed Project for Cross Platform Image Filter SwiftUI macOS & iOS App

Completed Project for Cross Platform Image Filter SwiftUI macOS & iOS App Follow the tutorial at alfianlosari.com Features Filter image using predefin

Alfian Losari 73 Dec 19, 2022
ClassicPhotos is a TableView App demos how to optimize image download and filter with operation queue.

ClassicPhotos ClassicPhotos is a TableView App demos how to optimize image download and filter with operation queue. With Operation and Operation Queu

Kushal Shingote 2 Dec 18, 2021
Applies filter to a selected image from the Gallery using Combine

CombinePhotoFiltering App CombinePhotoFiltering is an app that applies sepia and bloom to a selected picture from the Photos app. Highlights The app i

Mauricio Esteves 0 Nov 14, 2021
📷 A composable image editor using Core Image and Metal.

Brightroom - Composable image editor - building your own UI Classic Image Editor PhotosCrop Face detection Masking component ?? v2.0.0-alpha now open!

Muukii 2.8k Jan 3, 2023
📷 A composable image editor using Core Image and Metal.

Brightroom - Composable image editor - building your own UI Classic Image Editor PhotosCrop Face detection Masking component ?? v2.0.0-alpha now open!

Muukii 2.8k Jan 2, 2023
FlexibleImage is implemented with the hope that anyone could easily develop an app that provides features such as Camera Filter and Theme.

FlexibleImage is implemented with the hope that anyone could easily develop an app that provides features such as Camera Filter and Theme. When you wr

Jungwon An 815 Dec 30, 2022
🎮 Favorite your games filter and see the upcoming games and ! Swift + Combine = 💜 Hacktoberfest 🎃 👾

✨ Revill is App to list games and search best games ✨ Design in Swift UI + Combine ✨ The idea is develop this app in Hacktober Fest Expected To Do Des

Vinicius Mangueira 21 Dec 17, 2022
A network extension app to block a user input URI. Meant as a network extension filter proof of concept.

URIBlockNE A network extension app to block a user input URI. Meant as a network extension filter proof of concept. This is just a research effort to

Charles Edge 5 Oct 17, 2022
Snippet of code for filter a master list into smaller list.

SwiftiOS-list-manipulation This project was built to reduce list size based on qualifying criteria such as a property. In the example below; user can

Max Hendo 0 Nov 9, 2021
A SwiftUI app to filter & search runewords for Diablo II

Runewords App This small SwiftUI app have two purposes: Making a clean, fully SwiftUI app using all the latest iOS 16 / Xcode 14 features. Browse, sea

Thomas Ricouard 44 Dec 18, 2022
Showcase new features after an app update similar to Pages, Numbers and Keynote.

WhatsNew Description WhatsNew automatically displays a short description of the new features when users update your app. This is similar to what happe

Patrick Balestra 1.5k Jan 4, 2023
WhatsNewKit enables you to easily showcase your awesome new app features.

WhatsNewKit enables you to easily showcase your awesome new app features. It's designed from the ground up to be fully customized to your needs. Featu

Sven Tiigi 2.8k Jan 3, 2023
A platform to showcase your side projects/apps

A platform to discuss/showcase your side projects What is this? Inspired by this twitter thread Indie Apps Showcases is a platform for indie app devel

An Tran 25 Dec 27, 2022
SwiftUI app to search and showcase SF Symbols 🔎

SF Symbols (SwiftUI 2.0 App) Experimenting with SwiftUI 2.0 whilst creating a practical app to browse the SF Symbols via an iOS/iPadOS app. ????‍⚖️ Di

An Trinh 104 Dec 25, 2022
Create an easy to peek SwiftUI View to showcase your own data, catalog, images, or anything you'd like.

Create an easy to peek SwiftUI View to showcase your own data, catalog, images, or anything you'd like.

Peter Larson 17 Jun 27, 2022
Vector editor to showcase advanced scroll view and SwiftUI

ShapeEdit ShapeEdit is a showcase for Advanced ScrollView, inspired by WWDC sample with the same name. ShapeEdit is build in SwiftUI, with exception o

Dmytro Anokhin 34 Dec 29, 2022
A simple demo app to showcase streaming HLS with SwiftUI Videoplayer

HLS Streaming with SwiftUI Basic implementation of VideoPlayer for SwiftUI to play remote media files using HTTP Live Streaming (HLS). Multiple views

Create with Swift 17 Dec 14, 2022
A demo app to showcase pixel perfect, modern iOS development with SwiftUI and Combine on MVVM-C architecture.

Pixel_Perfect_SwiftUI A demo app to showcase pixel perfect, modern iOS development with SwiftUI and Combine on MVVM-C architecture. Tech Stack: Swift,

Burhan Aras 0 Jan 9, 2022