SampleICC-1.6.6 + IccXML-0.9.6

SampleICC provides an open source platform independent C++ library for reading, writing, manipulating, and applying ICC profiles along with applications that make use of this library.

IccXML provides a library and tools to convert between ICC profiles and XML in both directions.

SampleICC release obtained up to the actual revision 1.6.6 various bug fixes, build system improvements and the new iccGetBPCInfo tool.

OpenICC Program FOSDEM 4 + 5 February 2012 in Brussels, Belgium

OpenICC uses 2012 a DevRoom at FOSDEM on Sunday together with Xorg people. The goal is to provide a meeting space for colour management topics.

The program is online on the OpenICC wiki. The talks will present and discuss colour management in Compositors, OpenICC, Scribus, Taxi DB, Oyranos and SVG2.

dispcalGUI supports online ICC Taxi DB

Version 0.8.1.9 of the monitor profiling front end to Argyll CMS was released on 08.12.2011 with a new option to share profiles via the ICC Profile Taxi service hosted by openSUSE. dispcalGUI is thus the first application we know of supporting the online data base (DB). The Linux package is available on openSUSE and will be in the next update to the Oyranos Colour Management Live CD.

Firefox-8.0 Colour Management

As I wrote in my recent post, Firefox has many colour management bugs and one is of special concern toward the Oyranos Colour Management LiveCD III. This bug is now reported upstream and I proposed a patch to fix. It is double color correction with X Color Management, which is in close relation to Hal V. Engels report about Firefox color management does not honor _ICC_PROFILE X11 atoms. It affects all X11 builds and inhibits automatic selection of the system ICC monitor profile. A properly detected system monitor profile in Firefox will show default sRGB colours as well as images with ICC profiles much more in line with other colour managed applications. Getting this bug fixed is a major improvement for presenting colours on the web for Linux.

But why is this bug of so strong concern especially for the Oyranos LiveCD? The CompICC desktop colour server, which is part of the CD, uses sRGB as the assumed document colour space of all non colour managed content on screen. It needs to fool all non X Color Management spec aware applications to think the monitor is exactly in sRGB as long as they do not register with the colour server. In the sense of the X Color Management spec only that content, which is registered through specific per window colour regions is honoured to be colour managed and can use the monitors device ICC profile. This way applications like Inkscape, Krita or eog stay upward compatible and continue to work. However Firefox is not able to fetch the sRGB profile due to the above mentioned bug and falls back to a otherwise clever ICC from EDID generated profile. But Firefox colour corrects under Xorg to the from EDID profile and after that already done compensation assumes CompICC the Firefox window to be in sRGB and colour corrects to the actual setup monitor profile, which might be a from EDID generated profile as well, which leads to double colour correction. The fix of this bug lets Firefox detect the correct system profile. Double colour correction can happen as well if the monitor profile is explicitly set in the client application. So use always the system profile. Setting the system profile is really the job of a CMS like Oyranos.

As I read the code, Firefox honors embedded ICC profiles in JPEGs and PNGs. Great. These bitmaps works even in bitmaps inside SVGs, which is wonderful.

In recent changes Firefox can even handle v4 ICC profiles. These profiles are created by newer ICC profilers and became in recent years pretty widespread. But v4 profiles are not supported by default in Firefox. You need to enable them manually in Firefox´ configuration tab.

The situation for pure vectors graphics in Firefox is not in the same level as with bitmaps. The HTML/CSS color_profile element is completely ignored.

Conclusion, Firefox has after the proposed patch the ability to show with its internal colour management comparable colours of bitmaps like most other colour managed applications.

How to deploy the ICC capabilities of Firefox beyond the WWW´s sRGB as a web artist? You can place JPEG and PNG bitmap images with embedded ICC profiles inside web pages. An other way is to place such images inside SVG. While the freely available SVG editor Inkscape will not show a colour corrected preview of these images, it will not touch the JPEG and PNG images, so Firefox can render them correctly by the SVG standard.

Oyranos Colour Management LiveCD III

The third version of the Oyranos Colour Management LiveCD is based on openSUSE-12.1 and will run on x86_64 compatible PC´s. I placed the ISO image yesterday after some preparations on the better accessible SourceForge site for download. The CD project starts into a instantly colour managed desktop, which is unique under Linux.

The ICC desktop colour correction is done by the CompICC colour server. The LiveCD contains the usual mixture of colour managed graphics applications. Among them is the colour management system Oyranos, the KDE Color Management panel, a profiler based on Argyll CMS and many colour management aware applications for drawing, colour analysis and desktop publishing. Due to package size changes not even all programs from the last release are covered. I am very sorry for that. Nevertheless I decided to include Firefox, as a very wide spread every days application. After fixing a bug in Firefox, the web browser is usable under CompICC and has generally improved regarding colour management. But still it has many colour management related issues.

The desktop widget contains some test images to help you verifying, your desktop is setup correctly and works inside all colour managed applications. Covered are some JPEG, PNG, TIFF and SVG images with wide gamut and swapped channel test profiles. You will surely spot problems, as not everything in Linux desktops is really polished regarding colour management. But these test data can help you in getting a sense of, what can be relied on and what not. You can easily include other applications into your test by installing from openSUSE. And please help the projects and report bugs to the according project bug trackers. This will show interest in the issues seen with colour management and helps developers spot current weaknesses, which are otherwise overseen.

The CD uses the stable version of the Compiz compositing window manager, which is the only one being able to run under KDE. While the Oyranos CMS is packaged in openSUSE, a full screen desktop colour correction is currently not possible with KDE´s KWin or any window manager other than Compiz with the CompICC plugin. One difference to the previous LiveCD is a better useable nouveau driver, which since greatly improved and can now launch into Compiz with GPU acceleration.

Quality of Default ICC Profiles

On the internet are many places to download ICC profiles, which promise to implement standards. But how reliable are these profiles and why should users and distributors care about their quality?

Why quality counts? For many users is real value in reliable colour space definitions. Most professionals and advanced amateurs know that wrongly implemented colorimetry can cause them unwanted modifications and will sum up over repeated conversions and colour space assignments until the error has rendered the colour material useless. But profile conformance to the standard, which these profiles claim to represent, is not so obvious. A profile checker can only detect conformance to the ICC standard itself, which is about the file format, but not about the quality of the encoded data.

The preferred solution for professionals is to download ICC profiles only from trusted vendors. Unfortunately for the open source community, most ICC profiles for common standards are restrictively licensed and allow no modifications. However these licenses are a reaction to people, who want to push stuff at whim and fake profile names. After all spreading low quality fakes will mostly harm users. Such faked profile made it in many open source packages. It would help the open source community, if vendors license their ICC profiles for standard conditions after the new non restrictive ICC profile license. Then faking profiles, by the reasoning of providing them under a free license, would not be needed any more.

We have some free and accurate profiles available. Over the past years colour experts have created precise profiles with a free license. Among these profiles are implementations of sRGB, AdobeRGB spec and after a license switch for LStar-RGB and many standard printing conditions. These profiles are packaged in the icc-profiles-openicc data set.

How to check ICC profiles for standards?One indirect method is comparing reference ICC profiles with alternative ones. A visual comparison is possible on Linux with the free CinéPaint and the separate ICC Examin plugin in CIE*Lab space. The above video compares visually the ROMM ICC profile, which shares its colorimetry with ProPhoto RGB, with the Scarse ProPhoto.icm. The Scarse colour value interpretation shows quite some deviation from the Adobe version. To repeat the test: open a test image and assign the ISO 22028-2 ROMM RGB profile. Then open the ICC Examin colour viewer from CinéPaint´s main menu > Image > Watch Colours 3D … The plugin should launch and show you the colour space with the image colours represented as big dots. You can change the dot size in ICC Examin with the ‘+’ and ‘-’ keys. Then assign the Scarse Kodak ProPhoto RGB to the image from main menu > Image > Assign ICC Profile … The colour dots change to the new interpretation by the lcms CMM after assigning. A unwanted deviation in the interpretation is marked by a line. That visual method of inspecting line vectors is much easier than comparing colour differences directly. Possible rendering intents for these kind of comparisons are relative colorimetric and absolute colorimetric, as these are well defined by the ICC spec. Disadvantages of the outlined method are the need of reference profiles in the first place and so far no numerical results.

An other Open Source Colorimeter

Richard Hughes, the author of colord, developed in the recent months new hardware for measuring monitor colours. The ColorHug called device shall come at a relatively low price. It shall be useable for LCD/LED monitors providing input to calibration and profiling software. The most wide spread open source colour management system, which can create ICC profiles from colour measurements, is Argyll.

ColorHugThe author Richard Hughes states on his blog entry: “Existing hardware is proprietary and 100% closed, and my hardware has a GPL bootloader, GPL firmware image and GPL hardware schematics and PCBs”. The “100%” is a wrong marketing claim as Richard Hughes should know as Argyll user. However the new device fits nicely into a row with prior open source art in colorimeter hardware like the HCFR. The HCFR is supported in Argyll since some years now. To make the new ColorHug device functional, it would be great, if the hardware author could deliver a module instantly useable in Argyll.

What would now be interesting is to know, how the new device will compare with pre existing ones, being them proprietary or open source licensed hardware. The author gave a hint about speed. But speed is only one property useable to reduce noise in dark readings. Much more interesting is colour accuracy.

What is colour accuracy and why is it so important for a colorimeter like the HCFR or the new ColorHug? Colorimeter devices suffer almost all from a difference to the ideal colour reception of human eye, especially the cheaper ones. Only spectrometers can compensate better for that effect of non perfect filters in front of the actual light sensors, but expose other disadvantages. Colorimeter devices, which perform close to human sensibility, are usual expensive. Some are even more expensive than colour spectrometers. Colorimeter manufacturers use a common trick and put a correction matrix inside the device, which shall compensate for the difference between the sensitivity of human eyes and the colorimeter. But many users complained not to be able to get good results despite. This is easily understandable, as monitors emit light with very different spectral characteristics, which do not match the used filter in the colorimeter and its matrix. One approach to get better results is to use a per monitor model compensation matrix. Fortunately Argyll has implemented compensation matrices in one of its recent releases. The requirement for this approach to work is, that the data base needs input data from users.

Scarse Profile Library Warning

Scarse is a project for profiling scanners under GPL based on Argyll code. It started in the old century and became pretty silent, with the last news dating from 2005. The project provides a nice collection of ICC profiles in the Scarse Profile Library, which is now used by some open source graphics packages. ICC profiles referring to standards are used to describe the exact colorimetry of a colour space. The ICC profiles are used to convert to and from other colour spaces in order to exchange with applications, services and customers. It is therefore crucial to meet these standards otherwise results will be incorrect right from the beginning and might render further colour work damaged.

Claudio Wilmanns revealed today a colorimetric imprecision inside the Scarse WideGamutRGB profile. Norman Koren hinted that the Scarse profiles do not pass a profile validation tool. OpenICC could never verify these profiles or how they where build and therefore did not cover any of them in its icc-profiles-openicc data set.

After these comments I like to warn of the usage and distribution of any of the Scarse Profiles for the sake of users trusting profiles of the affected packages in their workflows. We are looking for replacements for some of the most popular ones.

Affected Profiles are AdobeRGB, AppleRGB, WideGamutRGB, CIE-RGB, ECI-RGB, sRGB, KodakProPhotoRGB, ColorMatchRGB and more.

Affected Packages are libkdcraw. Some of the shared-color-profiles/Argyll ‘lcms’ generated profiles from the colord author use in parts the colorimetry of Scarse profiles. The later profiles are not included in the Argyll-1.1.0 source package. These profiles are at risk.

Disclaimer: the author, Kai-Uwe Behrmann, maintains the icc-profiles-openicc package containing ICC profiles describing colour standards.