# Core Image

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Core_Image
> Markdown URL: https://mediated.wiki/source/Core_Image.md
> Source: https://en.wikipedia.org/wiki/Core_Image
> Source revision: 1268046149
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Image processing technology introduced in Mac OS X 10.4

macOS graphics model Rendering QuickDraw Core OpenGL Quartz 2D Core Image Core Animation Core Video ColorSync QuickTime Metal (API) Compositing Quartz Compositor v t e

**Core Image** is a pixel-accurate, near-realtime, non-destructive image processing technology in Mac OS X. Implemented as part of the QuartzCore framework of [Mac OS X 10.4](/source/Mac_OS_X_10.4) and later, Core Image provides a plugin-based architecture for applying filters and effects within the [Quartz](/source/Quartz_(graphics_layer)) graphics rendering layer.[1] The framework was later added to iOS in [iOS 5](/source/IOS_5).[2]

## Overview

Core Image abstracts the pixel-level manipulation process required when applying a filter to an image, making it simple for applications to implement image transformation capabilities without extensive coding. In a simple implementation, Core Image applies a single *Image Filter* to the pixel data of a given source to produce the transformed image. Each Image Filter specifies a single transform or effect, either built into Core Image or loaded from a plugin called an *Image Unit*. Combined with preset or user-defined input parameters, the filter can be applied to the original pixel data without modifying it, thereby providing non-destructive image editing.[3][4]

Like [Photoshop](/source/Photoshop), Core Image can apply multiple filters to the same image source. Instead of applying a series of filters individually, Core Image assembles a dynamic *instruction pipeline* so that only one calculation needs to be applied to the pixel data to achieve a cumulative effect. Applying the pixel operations associated with multiple filters can be achieved simultaneously and without a significant increase in processing time. Regardless of the number of filters, Core Image assembles the code for this instruction pipeline with a [just-in-time compiler](/source/Just-in-time_compilation), which is executed by either the CPU or graphics card's GPU, whichever can perform the calculation faster.[5]

Filters are written in the *Core Image Kernel Language*, which shares a subset of commands with [OpenGL Shading Language (GLSL)](/source/OpenGL_Shading_Language).[6] When a compatible GPU is available, the Core Image compiler writes the instruction pipeline using GLSL, handling buffers and states transparently. Although GPU rendering is preferred[*[citation needed](https://en.wikipedia.org/wiki/Wikipedia:Citation_needed)*], the compiler can operate in a *CPU fallback* mode, generating commands suitable for the current CPU architecture instead.[7] CPU fallback uses the [vector processing](/source/Vector_processing) capabilities of the current CPU or CPUs, and it is multi-processor aware. Thus, Core Image performance depends on the GLSL capabilities of the GPU or the processing power of the CPU. With a supported GPU, most effects can be rendered in realtime or near-realtime.[8]

## History and implementation

Core Image was introduced with [Mac OS X 10.4](/source/Mac_OS_X_v10.4).[9] Early examples of its use can be found in the *ripple effect* in [Dashboard](/source/Dashboard_(Mac_OS)), and Apple's professional digital photography application, [Aperture](/source/Aperture_(photography_software)).[10] Starting with [Mac OS X 10.5](/source/Mac_OS_X_v10.5), any application that implements Image Kit can utilize Core Image.[11] [Preview](/source/Preview_(software)) and [iPhoto](/source/IPhoto) are common examples.

In 2011, Apple added Core Image to iOS in iOS 5.0.[2]

The [Xcode](/source/Xcode) Tools include [Core Image Fun House](/source/Apple_Developer_Tools#Core_Image_Fun_House) and [Quartz Composer](/source/Quartz_Composer); both utilize Core Image.

The Core Image plugin architecture was inspired by that of Core Audio.[12]

## Pixel accuracy

All pixel processing provided by an Image Unit is performed in a pre-multiplied alpha ([RGBA](/source/RGBA_color_space)) color space, storing four color channels: red, green, blue, and transparency ([alpha](/source/Alpha_channel)). Each color channel is represented by a 32-bit, [floating point](/source/Floating_point) number. This provides exceptional color depth, far greater than can be perceived by the [human eye](/source/Human_eye), as each pixel is represented by a 128-bit vector (four 32-bit color channels). For color spaces of lower bit-depth, the floating-point calculation model employed by Core Image provides exceptional performance, which is useful when processing multiple images or video frames.[3][13]

## Supported graphics processors

Any programmable GPU that supports the required OpenGL Shader ([GLSL](/source/GLSL)) commands is Core Image capable. Apple has used the following graphics cards to support Core Image GPU processing in Mac OS X 10.4 and Aperture, so the following list could be considered an example of minimum requirements:[10][14]

- ATI Mobility Radeon 9700 (Mobility Radeon 9600 is also capable)

- ATI Radeon 9550, 9600, 9650, 9600 XT, 9600 Pro, 9700 Pro, 9800 XT, and 9800 Pro

- ATI Radeon X600 XT, X600 Pro, X800 XT, X850 XT, X1600, X1900 XT

- ATI Radeon HD 2400 XT, HD 2600 Pro, and HD 2600 XT

- NVIDIA GeForce FX 5200 Ultra, FX Go 5200

- NVIDIA GeForce 6600, 6600 LE, 6800 Ultra DDL, and 6800 GT DDL

- NVIDIA GeForce 7300 GT, 7600 GT, and 7800 GT

- NVIDIA GeForce 8600M GT & 8800 GT

- NVIDIA GeForce 9400M & 9600M GT

- NVIDIA GeForce GT 120 & GT 130

- NVIDIA GeForce GTX 285

- NVIDIA Quadro FX 4500 & FX 5600

- NVIDIA Quadro FX 4800

- NVIDIA Quadro 4000

- NVIDIA GeForce 320M

- NVIDIA GeForce GT 330M

- NVIDIA GeForce GT 640M

- NVIDIA GeForce GT 650M

- NVIDIA GeForce GTX 660M

- NVIDIA GeForce GTX 675M

- NVIDIA GeForce GTX 680MX

- NVIDIA GeForce GT 750M

- NVIDIA GeForce GT 755M

- NVIDIA GeForce GTX 775M

- NVIDIA GeForce GTX 780M

- Intel [GMA 900](/source/GMA_900), [GMA 950](/source/GMA_950), or [GMA X3100](/source/GMA_X3100)

- Intel HD Graphics 3000(Sandy Bridge)

- Intel HD Graphics 4000(Ivy Bridge)

- Intel HD Graphics 5000(Haswell)

- Intel Iris 5100(Haswell)

- Intel Iris Pro 5200(Haswell)

- Intel HD Graphics 5300(Broadwell)

- Intel HD Graphics 6000(Broadwell)

- Intel Iris 6100(Broadwell)

Note that any GPU capable of handling Core Image instructions is also [Quartz Extreme](/source/Quartz_Compositor) capable. The requirements for Core Image are greater than those of Quartz Extreme.[14]

## Built-in filters

Wikipedia Logo with "Color Monochrome", "Parallelogram Tile", and "Pinch Distortion" Image Units applied

macOS includes many built-in filters, including the following ones. Mac OS X 10.4 introduced over 100 of them, and Mac OS X 10.5 added to the list.[3][15]

- Blurs, like Median, Gaussian, Motion, and Noise

- Color Adjustments & Effects, like Exposure, Gamma Adjust, and Sepia Tone

- Composition Operations, like Addition and [Multiply Blends](/source/Multiply_Blends), or Hard Light

- Distortions, like Pinch, Circle Splash, and Vortex

- Generators, like Star Shine and Lenticular Halo

- Geometry Adjustments, such as Crop, Scale, Rotate, and [Affine transformation](/source/Affine_transformation)

- Halftone, Tile, and Posterize filters

- Transitions, such as Dissolve and Ripple

## See also

- [Acorn (software)](/source/Acorn_(software))

- [Aperture](/source/Aperture_(photography_software))

- [Core Image Fun House](/source/Apple_Developer_Tools#Core_Image_Fun_House)

- [GEGL](/source/GEGL), a programming library used by [GIMP](/source/GIMP)

- [impromptu](/source/Impromptu_(programming_environment))

- [LiveQuartz](/source/LiveQuartz)

- [Pixelmator](/source/Pixelmator)

- [Quartz Composer](/source/Quartz_Composer)

- [Windows Imaging Component](/source/Windows_Imaging_Component), a Windows component with similar API design but with fewer supported image operations.

## References

1. **[^](#cite_ref-1)** ["Mac Dev Center - Introduction to Core Image Programming Guide"](https://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_intro/ci_intro.html). Retrieved September 20, 2009.

1. ^ [***a***](#cite_ref-iOS_5.0_API_Diffs_2-0) [***b***](#cite_ref-iOS_5.0_API_Diffs_2-1) ["iOS 5.0 API Diffs"](https://developer.apple.com/library/ios/#releasenotes/General/iOS50APIDiff/index.html#//apple_ref/doc/uid/TP40011042). Retrieved September 14, 2012.

1. ^ [***a***](#cite_ref-developer.apple.com_3-0) [***b***](#cite_ref-developer.apple.com_3-1) [***c***](#cite_ref-developer.apple.com_3-2) ["Apple - Developer - Developing with Core Image"](https://web.archive.org/web/20091006120044/http://developer.apple.com/macosx/coreimage.html). Archived from [the original](https://developer.apple.com/macosx/coreimage.html) on October 6, 2009. Retrieved September 20, 2009.

1. **[^](#cite_ref-4)** ["Mac Dev Center - Introduction to Core Image Programming Guide - Filter Clients and Filter Creators"](https://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_concepts/ci_concepts.html#//apple_ref/doc/uid/TP30001185-CH202-BCIHDIEG). Retrieved September 20, 2009.

1. **[^](#cite_ref-5)** ["ArsTechnica - Mac OS X 10.4 Tiger - Page 15"](https://arstechnica.com/reviews/os/macosx-10-4.ars/15). April 28, 2005. Retrieved September 20, 2009.

1. **[^](#cite_ref-6)** ["Mac Dev Center - Core Image Kernel Language Reference - Introduction"](https://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CIKernelLangRef/Introduction/Introduction.html). Retrieved September 20, 2009.

1. **[^](#cite_ref-7)** ["Mac Dev Center - Core Image Programming Guide - Core Image Concepts - Core Image and the GPU"](https://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_concepts/ci_concepts.html#//apple_ref/doc/uid/TP30001185-CH202-SW2). Retrieved September 20, 2009.

1. **[^](#cite_ref-8)** ["ArsTechnica - Mac OS X 10.4 Tiger - Page 15"](https://arstechnica.com/reviews/os/macosx-10-4.ars/15). April 28, 2005. Retrieved April 17, 2007.

1. **[^](#cite_ref-9)** ["Mac Dev Center - Core Image Programming Guide - Core Image Concepts"](https://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_concepts/ci_concepts.html#//apple_ref/doc/uid/TP30001185-CH202-TPXREF101). Retrieved September 20, 2009.

1. ^ [***a***](#cite_ref-Apple_-_Aperture_-_Tech_Specs_10-0) [***b***](#cite_ref-Apple_-_Aperture_-_Tech_Specs_10-1) ["Apple - Aperture - Tech Specs"](https://www.apple.com/aperture/specs/). Retrieved September 20, 2009.

1. **[^](#cite_ref-11)** ["Mac Dev Center - Image Kit Programming Guide - Introduction to Image Kit Programming Guide"](https://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/ImageKitProgrammingGuide/Introduction/Introduction.html). Retrieved September 20, 2009.

1. **[^](#cite_ref-FOOTNOTESingh200697_12-0)** [Singh 2006](#CITEREFSingh2006), p. 97.

1. **[^](#cite_ref-13)** ["Mac Dev Center - Core Image Programming Guide - Core Image Concepts - Color Components and Premultiplied Alpha"](https://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/CoreImaging/ci_concepts/ci_concepts.html#//apple_ref/doc/uid/TP30001185-CH202-BCIDAIEJ). Retrieved September 20, 2009.

1. ^ [***a***](#cite_ref-support.apple.com_14-0) [***b***](#cite_ref-support.apple.com_14-1) ["Mac OS X 10.4 - Requirements for Quartz Extreme and Core Image Graphics"](https://web.archive.org/web/20141109042836/http://support.apple.com/en-us/HT1582). Archived from [the original](http://support.apple.com/kb/HT1582) on November 9, 2014. Retrieved September 20, 2009.

1. **[^](#cite_ref-15)** ["Core Image Filter Reference"](https://developer.apple.com/library/archive/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html). [Archived](https://web.archive.org/web/20240519010525/https://developer.apple.com/library/archive/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html) from the original on May 19, 2024. Retrieved July 24, 2024.

### Bibliography

- Singh, Amit (June 19, 2006). [*Mac OS X Internals: A Systems Approach*](https://archive.org/details/macosxinternalss0000sing). Addison-Wesley Professional. [ISBN](/source/ISBN_(identifier)) [978-0-13-270226-3](https://en.wikipedia.org/wiki/Special:BookSources/978-0-13-270226-3).

## External links

- [Core Image Programming Guide – Mac OS X Developer Library](https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/CoreImaging/ci_intro/ci_intro.html#//apple_ref/doc/uid/TP30001185)

- [Apple Previews Mac OS X "Tiger"](https://www.apple.com/newsroom/2004/06/28Apple-Previews-Mac-OS-X-Tiger/) - announcement of Mac OS X 10.4, including Core Image

- [Filterpedia](https://github.com/FlexMonkey/Filterpedia) - open source [Swift](/source/Swift_(programming_language)) app demonstrating almost every available built-in CoreImage filter along with custom GLSL and Metal based filters by Simon Gladman.

v t e Apple Inc. History Outline Environment Marketing Supply chain Trade unions Products Hardware Mac iMac Pro MacBook Air Neo Pro Mini Studio Pro Mac models by CPU type iPod Classic Mini Nano Shuffle Touch iPhone Hardware History iPhone models iPad Mini Air Pro Accessories iPad models Other Apple SIM AirPods Pro Max AirTag Beats Pill HomePod Mini Silicon TV Vision Pro Watch Force Touch Software Operating systems iOS / iPadOS iOS history iPadOS history Apps macOS History Server Apps tvOS watchOS visionOS bridgeOS Darwin Classic Mac OS CarPlay Classroom HomeKit Core Foundation FileMaker Final Cut Pro Compressor Motion Logic Pro MainStage iLife GarageBand iMovie iPhoto Intelligence iTunes iWork Keynote Numbers Pages Mail Pixelmator Pro Photomator QuickTime Safari SceneKit Shazam Siri Swift Xcode Services Financial Card Pay Wallet Media Arcade Books Music 1 Beats Music Up Next Festival iTunes Radio App News Newsstand Podcasts TV streaming service originals MLS on Apple TV Communication FaceTime Walkie-Talkie iMessage iChat App Invites Game Center Retail App Store macOS iTunes Store Connect Store Fifth Avenue Michigan Avenue Pioneer Place Tower Theatre Support AppleCare+ AASP Certifications Genius Bar ProCare One to One Other Apple Account (formerly Apple ID) Sign in with Apple One Developer iAd TestFlight WWDC Developer Tools Developer App iCloud MobileMe Find My Fitness Photos Maps Companies Subsidiaries Anobit Apple IMC Apple Studios Beats Beddit Braeburn Capital Claris Acquisitions Anobit AuthenTec Beats Beddit BIS Records Cue EditGrid Emagic FingerWorks Intrinsity InVisage Technologies The Keyboard Company Lala Metaio NeXT Nothing Real P.A. Semi Power Computing PrimeSense Shazam Entertainment Limited Siri Texture Topsy Partnerships AIM alliance Kaleida Labs Taligent Akamai Arm DiDi Digital Ocean Eldim iFund Imagination Rockstar Consortium Design and marketing Advertising "1984" "Think different" "Get a Mac" iPod Product Red Events IDg Typography Legal issues and labour relations #AppleToo EU tax dispute Litigation 2024 US antitrust case App Store antitrust case Non-recruiting agreements Price-fixing ebooks FBI encryption dispute Epic Games Right to repair Unions Related Car project Criticism Community AppleMasters Ecosystem History Codenames Apple FileWare iOS app approvals Offices Infinite Loop campus Park University People CEOs Michael Scott Mike Markkula John Sculley Michael Spindler Gil Amelio Steve Jobs Tim Cook Board chairs Mike Markkula Steve Jobs John Sculley Arthur D. Levinson Other executives Current Katherine Adams Eddy Cue Craig Federighi Isabel Ge Mahe Greg Joswiak Sabih Khan Steve Lemay Jennifer Newstead Luca Maestri Deirdre O'Brien Kevan Parekh Phil Schiller Johny Srouji John Ternus Former Alan Dye Angela Ahrendts Fred D. Anderson John Browett Guerrino De Luca Paul Deneve Al Eisenstat Tony Fadell Scott Forstall John Giannandrea Ellen Hancock Nancy R. Heinen Jony Ive Lisa Jackson Ron Johnson David Nagel Peter Oppenheimer Mark Papermaster Dan Riccio Jon Rubinstein Bertrand Serlet Bruce Sewell Sina Tamaddon Avie Tevanian Steve Wozniak Founders Steve Jobs Steve Wozniak Ronald Wayne Italics indicate discontinued products, services, or defunct companies. Category

v t e macOS Core Foundation Core Animation Core Audio Core Data Core Graphics Core Image Core Location Core OpenGL Core Services Core Text Core Video

v t e macOS History Architecture Built-in apps Server Software Versions Mac OS X Server 1.0 Public Beta 10.0 Cheetah 10.1 Puma 10.2 Jaguar 10.3 Panther 10.4 Tiger 10.5 Leopard 10.6 Snow Leopard OS X 10.7 Lion 10.8 Mountain Lion 10.9 Mavericks 10.10 Yosemite 10.11 El Capitan macOS 10.12 Sierra 10.13 High Sierra 10.14 Mojave 10.15 Catalina 11 Big Sur 12 Monterey 13 Ventura 14 Sonoma 15 Sequoia 26 Tahoe 27 Golden Gate Predecessors Classic Mac OS NeXTSTEP Rhapsody Applications Core applications App Store Automator Calculator Calendar Contacts Control Center Dictionary FaceTime Finder Game Center Grapher Home Mail Messages News Music Notes Notification Center Podcasts Photo Booth Photos Preview QuickTime Player Reminders Safari Shortcuts Siri Stickies TextEdit Time Machine Developer Tools Xcode Instruments Former Interface Builder Dashcode Quartz Composer Utilities Boot Camp (deprecated) ColorSync Configurator Disk Utility Font Book Keychain Access Script Editor System Settings Terminal VoiceOver Former Dashboard Front Row iChat iPhoto iSync iTunes history Sherlock Technologies, user interface AirDrop AppKit Apple File System Apple menu Apple Push Notification service AppleScript Aqua Audio Units AVFoundation Bonjour Bundle CloudKit Cocoa ColorSync Command key Core Animation Core Audio Core Data Core Foundation Core Image Core OpenGL Core Text Core Video Cover Flow CUPS Darwin Dock FileVault Fonts Foundation Gatekeeper Grand Central Dispatch icns iCloud Kernel panic Keychain launchd Liquid Glass Mach-O Menu extra Metal Mission Control Night Shift OpenCL Option key Preference Pane Property list Quartz Quick Look Rosetta Smart Folders Speakable items Spotlight Stacks System Integrity Protection Uniform Type Identifier Universal binary WebKit XNU XQuartz Deprecated HFS+ Discontinued ATSUI BootX Brushed metal Carbon Classic Environment Inkwell QuickTime Spaces Xgrid Category

---
Adapted from the Wikipedia article [Core Image](https://en.wikipedia.org/wiki/Core_Image) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Core_Image?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
