Articles & tutorials on color management and photography using free/libre software
Articles and tutorials on color management and photography
Most of the articles and tutorials on this website are about practical color management in the digital darkroom. In addition, you'll find articles on other digital darkroom topics, in particular raw processing and digital asset management, plus the occasional write-up about specific image editing software.
Recent and featured articles
- User's Guide to High Bit Depth GIMP 2.9
High bit depth GIMP 2.9 still has a lot of hard-coded sRGB parameters. If you edit images in other RGB working spaces such as AdobeRGB1998 or ProPhotoRGB, all the operations that use these parameters produce incorrect results. This user's guide tells you which editing operations to avoid when editing in wider gamut RGB working spaces and provides workarounds for dealing with issues created by the presence of hard-coded sRGB parameters in the code base.
- The Sad State of High Bit Depth GIMP Color Management
Fixing high bit depth GIMP color management before the release of GIMP 2.10 would be relatively simple. But progress is hampered by the fatally flawed (and thankfully not yet fully implemented) babl/GEGL "unbounded sRGB architecture". This "architecture" is based on the absurd premise that slider operations should always produce the same results on colorimetrically the same colors.
- Models for image editing: Display-referred and scene-referred
This article explains the similarities and differences between display-referred and scene-referred image editing. Even though the two models serve very different image editing goals, both models work with bounded RGB data. Display-referred RGB data is bounded by Color, which is to say by both Luminance and Chromaticity. Scene-referred RGB data is bounded only by Chromaticity.
- How to Make a Better Custom Camera Input Profile that's also an RGB Working Space
This article shows how to use ArgyllCMS and a target chart to make a better general purpose custom camera input profile that is color balanced and normalized. The resulting camera input profile is well behaved and so can also be used as an RGB working space for editing your interpolated raw files.
- From sRGB color space to sRGB profile: how to calculate the ICC sRGB profile primaries from the sRGB color space specifications
This article provides a step-by-step worked example of performing a Bradford chromatic adaptation to calculate the D50-adapted ICC sRGB profile red, green, and blue primaries from the unadapted red, green, blue, and white xyz values given in the sRGB color space specifications.
- A Review of FLOSS Raw Processors, Part 1 (revised and updated)
Part 1 of a review of free and open source raw processors compares seven free and open source raw processors — dcraw, darktable, the digiKam raw processor, Photivo, Rawstudio, RawTherapee, and UFRaw — "by the specs", without looking at actual interpolated output. This review only considers features relevant to radiometrically correct raw processing and not other features such as image enhancing algorithms or digital asset management.
- What do Clipped Colors from ICC Profile Conversions really look like?
You've been told that converting an image from one color space to another can result in clipped colors. But how, why, and where does the clipping actually happen? This article shows you a real-world example of clipped colors in the image itself, in the image color gamut as seen from inside the CieLAB reference color space, and in the image's individual red, blue, and green channels.
- Unbounded sRGB as a universal color space for image editing is a really bad idea
Unbounded sRGB can be used to encode and display any RGB color. Nonetheless, unbounded sRGB is not suitable for use as a universal, "one size fits all" color space for image editing. Many editing operations are chromaticity dependent, giving different results in different RGB working spaces. Choosing the right working space for the task at hand is the photographer's first, and critically important, technical and artistic decision.
- Completely Painless Programmer's Guide to XYZ, RGB, ICC, xyY, and TRCs
This tutorial was written in the hope that it might be of use to technically savvy people who know a whole lot about the code and the mathematics that goes into making an image editing program, but perhaps not so much about color spaces and ICC profiles. It also serves as a pretty good high-level overview of color science for non-coders.
- Will the Real sRGB Profile Please Stand Up?
There's only one sRGB profile, right? Wrong! I compared 15 widely used sRGB matrix profiles distributed by/with a variety of profile vendors and imaging software, and found quite a bit of variation from one sRGB profile to the next. In this article I explore the differences between the sRGB profiles variants and point out the practical digital darkroom consequences.
- Profiling Your Monitor — popular confusions, hopefully cleared
Big changes are taking place in open source color management, including whether, how, and what happens when a system monitor profile is set. The monitor profile your editing software uses determines what you see on your screen. So now is a very good time to learn more about monitor profiles.
If you are not really sure what the difference is between calibrating and profiling a monitor; if you've heard the words "vcgt tag" but don't know what it means; or if you'd like to know what a system monitor profile is, this article is a place to start.
- Linear Gamma vs Higher Gamma RGB Color Spaces: Gaussian Blur and Normal Blend Mode
For radiometrically correct results, RGB color mixing should always be done in a linear gamma RGB color space. When you blur or use the normal blend mode to mix colors in the regular sRGB color space, the resulting color is darker than it should be and sometimes acquires a noticeable color cast.
This article is the first of a planned series of articles on editing in a linear gamma color space. Upcoming articles will examine channel mixing, converting a color image to black and white, applying curves, and using different blend modes.
- Survey of Free and Open Source ICC RGB Working Space Profiles
This survey assesses the current state (as of January 2014) of free and open source ("floss") ICC RGB working space profiles by evaluating available floss versions of the four most widely used image editing profiles: AdobeRGB-compatible, ProPhotoRGB, WideGamutRGB, and sRGB.
The fact that makers and vendors of ICC profiles don't all use the correct white point values when making RGB working space profiles seems very odd because the correct values are given in the profile's color space specifications and the color space specifications are readily available.
- What Makes a Color Space Well Behaved?
Standard RGB working spaces are suitable for image editing because they are well behaved. The color spaces defined by camera, printer, and monitor profiles are almost never well-behaved. So what makes a color space well behaved? And why are so many readily available RGB working space profiles not completely well behaved?
All the articles and tutorials
Articles & Tutorials on Color Management and Photography has links to all the color management and photography articles on this website.
The philosophy behind the articles
Many times, articles on color management assume that all the reader really wants to know is which buttons to push. On this website the first assumption is that you want to understand enough about color management to make your own intelligent decisions.
The second assumption on this website is that you run Linux and use free/libre software. Most articles on the internet that discuss color management assume that you run a proprietary OS and use PhotoShop.
Fortunately the principles of color management are the same regardless of which operating system and which software you use. If you use a proprietary OS and you want to try any of the concrete examples provided in the articles, most free/libre imaging software also runs on Windows and Apple. The only difficulty you might encounter is with some of the command line examples, as the exact syntax does vary slightly from OS to OS.
I have no particular philosophical quarrel with proprietary editing software. But I do object to the idea that the artist's own work should be locked into a proprietary file format such as PhotoShop's PSD. Adobe's move to the cloud has made this issue of who controls access to the artist's work crucially important. The Creative Cloud license agreement itself is onerous and one-sided. Once the artist stops paying the subscription fee, she loses access to the software that unlocks the proprietary PSD format.
My About page has a little bit of information about why I switched to using Linux and started the Nine Degrees Below website, and the Gallery has a few of my photographs.
If you have questions or comments about any of the articles on this website, I'd love to hear from you (even if you run one of those other operating systems 😉). You can reach me at ellestone (at) ninedegreesbelow (dot) com.