OpenICC Google Summer of Code 2012 results

Participation of the OpenICC group in the Google Summer of Code 2012 program was this year a great success. All projects reached their respective goals. Here a small summary:

Colour Management for Krita Printing
Joseph Simon worked on adaption and integration of his last years implementation for colour managed printing into Krita/Linux. The workflow is based on ICC profile injection into PDF through the means of a OutputIntent.

KWin Colour Correction
Casian Andrei’s KWin changes for ICC style colour correction in the GPU are reviewed upstream and his new code to the KolorManager code base waits just for approval. The concept follows the X Color Management spec. In contrast to the elder CompICC implementation is the KWin result highly modular and thus very flexible.

Simple Toolkit Abstraction
Nitin Chadas SimpleUI project for rendering a subset of XForms was written from
ground up and provides now backends for FLTK, Gtk and Qt. It needs a bit
of polishing to become useable.

Thanks to Google for providing the colour management and graphics community again a great chance to code and learn the open source way.

LibreGraphicsMeeting Videos

In begin of May there was the 7th LibreGraphicsMeeting in Vienna and Oyranos participated also this year in this meeting of nearly all free/open source graphic software. Oyranos had two talks there and I already blogged the impressions. Now the most of the videos from the talks are online.

The playlist with all talks which was recorded can be found here.

ICC profile graphs

During the recent days I improved the file dialog preview of ICC Examin. As a result I created a new Oyranos tool called oyranos-profile-graph, which can be found in git. It provides a simple icon and can potentially be used in tools like Synnefo or KolorManager‘s info tab.

There exist some graphing tools like ppmcie to generate a nice triangle inside a CIE*xy horse shoe.

CIE*xy graph from ppmcie

But as ICC Examin sticks on CIE*Lab, I think it is more appropriate to use the CIE*a*b projection instead. Both are available by oyranos-profile-graph. The graphical output of the tool is really simple, beside using Cairo for antialiased curves. Below are the 2D graphs for sRGB.icc LStar-RGB.icc ProPhoto-RGB.icc ISOcoated_v2_bas.ICC ISOuncoatedyellowish_bas.ICC profiles. The first graph is CIE*ab and the second shows the same saturation lines in CIE*xy.

Linux Color Management Hackfest idea

Sirko brought up the idea to organise a hackfest together with developers of applications for Linux desktops and experts interested in colour management. The idea behind that event was to bring interested developers together, support them in implementing color management in their software and move forward that topic across desktops and distributions.

During the recent LGM we found a chance to involve Richard Hughes and planed together about what we like to do during the hackfest. We spotted three main areas of interest: desktop applications including window managers, web browsers and printing. These topics are already worked on, but in a scattered way.

As example, Gwenview is a really great application for managing pictures. But it has no color management implemented yet. Color management in KWin is worked on during the GSoC this year, but in the opposite color management in the compositing manager mutter on the GNOME side is far away as can be read here. Not many web browsers support color management and if they who do, it is often incomplete. The SVG v2 standard will for example introduce additional color management features compared to SVG v1. So it is now the right time to get these implemented in order to be well prepared. For the KDE printing stack there is also a GSoC project this year, but also the Linux Foundation has a working group for this topic.

So, by meeting in person in one place, we want to get something done and build a good understanding of the role of each participating group for a working end to end colour management.

The hackfest will very likely happen in Brno in the Czech Republic at the Red Hat offices. A good time appears later this year 16th till 19th November. Now we like to collect more ideas, speak to people and sort financial issues.

LGM 2012 Impressions

The Technikum Wien provided a nice place and great support for the LibreGraphicsMeeting. Many thanks to them. LGM happened together with the Linuxwochen Wien and developers and users could talk about graphics and arts themes. Additionally to the one presentation track over all days, we had BoF’s and workshops. Some of us took the chance to present to a non LGM audience and meet people there too.

The LGM talks covered lots of OpenCL projects. That means modern GPU computing power is available to open source graphics components in a much broader way. As the use of OpenCL is supported by the Mesa software implementation, there is some kind of guarantee, that OpenCL programs will run on elder hardware. That means OpenCL can be used without the need for developers to provide a fallback mechanism, which simplifies adoption.

The colour management talks provided lively discussions around many topics like printing, displaying and open hardware. We discussed as well the impact of introducing colour management in frameworks like GEGL. As mizmo showed interest, I explained the most basic terms of ICC rendering intents in a small BoF using ICC Examin. Animtim compiled and installed Oyranos from sources and wrote already a small tutorial on how to build Oyranos on kubuntu-12.04.

Markus Raab with Elektra on LGM 2012 Vienna

Markus Raab presenting Elektra on LGM 2012 Vienna

The presentation of Markus Raab about the Elektra configuration gave to me some impressive insights into the concepts and flexibility of that small framework. The really cool thing about this library is it can abstract a lot of details and provide additional features, which can be added on run time like DBus support. He announced a new release of Elektra as version 0.8.0 during the event.

The metalab was for most people from countries without a similar open hardware/open source collaboration zone a impressive visit. We all enjoyed to could stay there for some hours and felt, this place is much in the spirit of most LGM contributors.

Nathan Willis @ LGM 2012 Vienna

During Nathan Willis workshop about the Create wiki, we discussed to start a email list for create users. That list is supposed to provide help and talk about experiences with graphics applications and help from users for users.

Sirko (alias gnokii) and Tobias (alias houz) played diplomat and managed to channel information in a way that Richard Hughes and I could finally meet in a productive atmosphere and continued talking about technical issues. At the end we found a mod to work again together on standards inside the OpenICC collaboration project. I am pretty happy with that change. So, thanks to all parties who helped with that.

Café Hawelka Vienna

Tatica, Pete, Sirko and I walked around on the last day in Vienna and relaxed in the café above.

OpenICC Google Summer of Code 2012 projects

OpenICC obtained three project slots for the Google Summer of Code 2012
stipends. That means three students can work again this year full time over
three summer months on colour management projects. Thanks to Google for
organising and sponsoring the program.

Here are in short the projects:

Joseph Simon will continue to work on PDF colour management for the
KDE/Linux printing stack. To have a real world project he choose to implement
Colour Management for Krita Printing.

Casian Andrej will work on ICC KWin colour correction using the X Color
Management spec. That way KWin gets a clear path toward consistent colour
output on the desktop.

Nitin Chada will work on different toolkit dependent renderers for a
XForms subset inside the Simple Toolkit Abstraction project. That standalone project shall enable modules to present
options inside dialogs or embedded in host applications.

Lets have a successful coding summer and deserve the trust Google putted in
the OpenICC organisation and with that in the participating students.

CLT 2012 Impressions

Chemnitzer Linux-Tage was this year again a great event. The mainly german speaking visitors enjoyed a well organised fair of mixed open source community and business booths, talks and workshops.

On the Oyranos project booth discussed old friends various colour management topics and concepts. We felt that colour management terms and concepts inside the open source community are behind the awareness of other comparable graphic techniques like for instance font rendering. The more I find it amazing, that there is a core of users, which try hard to understand ICC techniques.

One topic with neighboring openSUSE people was of course the strong rose awareness around colour management during the recent discussions on the KDE core-devel list. What I found encouraging is, many people inside the KDE community see it important to collaborate. And so I think we in the OpenICC community should accelerate on our formal recommendation efforts for sharing colour data and configurations. An other related point was made, that it would be not helpful to stall projects in a too long wait for constructive discussions to come to live. I tried this sometimes and see now that balance between discussion and start for actual work could be improved. Good to get so many feedback about OpenICC core stuff in great face to face discussions.

With openSUSE’es Tom I discussed his improvements on the new open build service (OBS) search page layout, which is a great ongoing work. But much to my surprise he could point me to a nice and long wanted OBS feature, which I now integrated into the Oyranos download pages. That is, OBS provides embeddable download instructions for each distribution package of a project. These easy instructions show end users, how to install the desired software including all dependencies from OBS. Thanks for this valuable hint, which makes our colour management packages in OBS much more accessible to our users.

Looking around I found the mageia distribution interesting and would find it great to see this distribution integrated into OBS once a successful version 2 comes out this spring. But of course there are other interesting distributions out there to integrate into OBS. One advantage of OBS for me as a maintainer is as well, that I can test my packages prior to release in one go.

On the FFmpeg booth we discussed the idea that 3D lookup textures are a very simple way of exchanging colour transforms. I will surely look deeper into this and want to find a useful format to exchange 3D shader data for OpenGL textures. In CompICC a 16-bit PPM image helped for debugging. Lets see if we can find a more common and useful format to reuse.

LGM 2012 talks

As mentioned in a post before, the Libre Graphics Meeting will be held in Vienna from 2th until 5th of May this 2012. I have now submitted my talks and will hopefully know in some days if they are accepted.

OyranosColour Management a la Greek: will give a overview about some technical concepts for platform independent color management systems.
Evolving Concepts for Colour Management: will summarise the ongoing ideas and discussions on the freedesktop working group OpenICC.

Like in the years before, there is a chance to meet with students of the upcoming Google Summer of Code projects.

Sirko submitted Taxi DB - Call A Cab To Bring The Colors: which describes the idea behind the ICC profile database and hopefully we getting some feedback and ideas, on how to make sure, that the quality of the profiles will be high.

Markus Raab has submitted a talk about Elektra, which is used as DB API by Oyranos. I hope that will show new lively developments in Elektra ;-)

I am sure the self-styled competitor will also be around and give an talk about his view on color management.

If we can get to useful work on specs on a OpenICC round table for the sake of cross desktop compatibility, then even better.

Gustav likes to attend the Libre Graphics Meeting, but he needs some support to get there. We should help him, so that he can meet Boudewijn Rempt and some others from Krita, who can help him to find his way to the KDE community. But he needs some money for travelling. And there are still some other requests for generosity I mentioned before.

Tupi Libre Graphics Meeting Tatica
Click here to lend your support to: Libre Graphics Meeting Presentation and make a donation at www.pledgie.com ! Click here to lend your support to: Libre Graphics Meeting 2012 Vienna and make a donation at www.pledgie.com ! Click here to lend your support to: Tatica travels to LGM and make a donation at www.pledgie.com !

Libre Graphics Meeting (LGM) is coming along nicely and will surely become again a cool event for the FLOSS community. LGM is this year co-located with the Linuxwochen Vienna and their Call for Papers is still open until 1st of April.

ICC Examin-0.51 released

ICC Examin Version 0.51 is a feature release. The package newly explores into window and OpenGL colour correction and contains bug fixes.

Changes overview:

  • new on the fly large gamut intermediate ICC profile
  • new let a colour server colour correct OpenGL
  • new Oyranos colour corrects report window on CPU
  • fix regression in file observation
  • require Oyranos 0.4.0

About:
ICC Examin is a small utility (unix name: iccexamin) for the purpose of watching the internals of ICC v2 and v4 profiles, measurement data (CGATS), colour samples (named colour profiles), gamut visualisations (vrml) and video card gamma tables (Xorg/XFree86/osX).

ChangeLog Version 0.51
http://www.oyranos.org/scm?p=icc_examin.git;a=shortlog;h=refs/tags/0.51

Thanks:
Thanks to all contributors and bug reporters.

git git://www.oyranos.org/git/icc_examin
git sha1: 90c55f1a141f17c9cdd1b1e9ae0723306351cc5e
package: http://downloads.sourceforge.net/project/oyranos/ICC Examin/ICC Examin 0.50/icc_examin-0.51.tar.bz2
size: 579532 Byte
sha1sum: 88b951879f304add2670630bd3d0632a0dd39ff7 icc_examin-0.51.tar.bz2
md5sum: e2db40c31596ba2d08cd2612de496289 icc_examin-0.51.tar.bz2
Linux RPM: http://download.opensuse.org/repositories/multimedia:/color_management/