Google Summer of Code Mentors Summit 2011

Last week end from 21th to 23th October mentors meet in San Francisco / US to share our experiences in organising and mentoring students during Google Summer of Code 2011, talk about open source projects and of course get in contact with other teams and meet in person. The Mentors Summit was well organised and it was fun to be there. It was my first time in the south of North America. So chances where good to meet new people.

The VLC and FFMPEG people where interested in colour management. I tried to give them some idea, what colour managed applications need to know about media streams. It seems, that awareness rises about colour management in the open source video community, which is wonderful.

Two members of the Scribus team where present, Peter Linell and Malex. We could discuss quite some topics around distributions. It was great to meet them both.MountainView Google Summer of Code Mentors Summit 2011

The Open Source in Visual Effects was missed be me due to a swapping of rooms. Luckily Peter knew the OpenColorIO author and we could get in contact in a small four people meeting. We discussed Linux colour management, distribution and the relation of movie picture to ICC style colour management. Jeremy Selan pointed out the very difference of HDR scene referred imagery compared to the style of HDR which is typical in ICC workflows. I could convince Jeremy to look at the ICC floating point extension and it’s two open source implementations. He was interested and might work on implementing that in OCIO too. If that happens, it would be a great step toward joining movie with still graphics workflows. In the past the issues around round tripping and HDR handling had lead to the decision of movie studios to develop own colour management systems. OCIO supports already the export of colour correction tables to ICC profiles for use in photo and paint applications, which traditionally feature ICC workflows. Once the input side through ICC profiles is implemented in OCIO the same library could be used as a CMM inside ICC and movie workflows.

Thanks to Google and its OPSO team for sponsoring and organising a great event.SF_near_port_after_GSoC_summit

Colour management results of Google Summer of Code 2011

We are pleased to announce the final results of this years OpenICC participation in the Google Summer of Code program [1]. All students could reach successfully the project goals and obtained the second part of the Google stipends.

OpenICC mentored two students directly and one student through the collaboration with the openSUSE organisation. All three worked on colour management projects, which covered in parts new ground breaking technology and maintain existing one.

Yiannis Belias worked on the “API stabilization for Oyranos Colour Management System II” project [2]. The new classes, code generator improvements and tools will walk into the Oyranos master branch in the next months. This project helps in stablising the CMS core, which covers a great foundation of functionality. After the conversion, it will be much easier to provide stable and extensible APIs.

Joseph Simon realised the XCPD project. It’s goal was to implement the idea of a robust, standards conform printing dialog, which is based on the Common Printing Dialog (CPD) projects code. The handled and manipulated PDF follows the PDF/X specification for embedding user side colour managed content and remote printer configuration [3] [4].

Sebastian Oliva implemented a ICC device profile data base, called taxi. It is intented to share vendor and user created ICC profiles across platforms in a automated fashion. The online data base is designed to cover meta data about the device driver calibration status alongside the characterisation information in the belonging ICC profiles. The DB is online [5] [6]. The project slot was provided by the openSUSE distribution project and mentored by a OpenICC member.

Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects.

Many thanks to all students for their great work, all people how helped in shaping the basic ideas and discussing the projects in detail and Google for providing the stipends and openSUSE for addtionally inviting their students to the europe openSUSE Conference.

[1] http://code.google.com/soc/
[2] https://github.com/yiannis/Oyranos
[3] https://www.gitorious.org/google-summer-of-code-2011/xcpd
[4] http://jsimon3.wordpress.com/2011/08/23/gsoc%E2%80%9911-update-%E2%80%93-final/
[5] http://icc.opensuse.org
[6] http://openicc.git.sourceforge.net/git/gitweb.cgi?p=openicc/taxi

Google Summer of Code 2011 Students

Several students proposed this year to specific colour management themes. Unfortunately not all could be accepted for the stipends, even though the quality of the proposals where generally high for the themes and response was very lifely. The mentors made their decision and picked the following three proposals and students.

Yiannis Belias will continue the last years project:
“API stabilization for Oyranos Colour Management System II” for OpenICC
We have seen good progress and quite usable code during the last year period. Still there is lots to do to integrate and finish the code transformation.

Joseph Simon will work on:
“Color Management for the Common Printing Dialog (CPD)” for OpenICC
This is a working title and might be changed based on input of the community. The idea covers a prototypical CM UI for print dialogs either using the CPD or perhaps something like the GTK print dialog.  Perhaps the biggest challenge will be to figure out what should be in the printing CM UI. It would be great to see the OpenICC list to help work out the UI design.

Sebastian Oliva will work on:
“ICC Device Profile Repository” at the openSUSE organisation
A colour database to allow clients to request or submit colour profiles for colour managed devices. The idea was proposed at openSUSE as a collaboration project in their ongoing support of colour management. It will be mentored with the help from OpenICC people.

Congratulations for the acceptance of your proposals for the Google Summer of Code stipends this year. And thanks in advance for bringing your valuable time and energy into these projects to improve open source colour management.

Google Summer of Code 2011 Student Applications open

This years Google Summer of Code program is open for student proposals. OpenICC in collaboration with openPrinting and openSUSE provide mentored projects around colour management. Own ideas from female and male students all around the world are welcome.

And still we provide guidance for all new or experienced people who like to help with and code for open source colour management projects, even without GSoC.

Net-color spec

After the successful Google Summer of Code project of Tomas Carnecky at OpenICC we have now a nice spec for late colour binding on the desktop – read server side monitor corrections. The spec is in the doc directory of Tomas’ git repository.

Tomas tould us that the propriarity nvidia linux driver has probably a bug preventing me from successfully running his work on a dual monitor system. Fortunedly he was not right at this and I was able to model after his initial work a second compiz plug-in for dual monitor colour correction of the complete desktop. Its at the moment called colour_desktop.

The snapshot below shows the plug-in with two false colour profiles. The left side monitor has a linear sRGB profile assigned and the right monitor profile has all primaries swapped:
colour managed dual monitor setup under compiz
The colour correction workload is for a unused desktop nearly zero and for a running movie slightly noticeable. Of course this server side colour management breaks all older colour managed applciations as there will a double colour correction happen, the early colour binding in the application and the late colour binding in the compiz plug-in. The spec of Tomas holds the solution inside with a atom describing colour region on the server. My colour_desktop compiz plug-in respects these regions and a small example application does both early and late colour binding in one window. The whole stuff is in Oyranos git and it will take a while until we can really distribute stuff like this. First applications should have some time to update to the new window atom under Linux. And second many API’s under Oyranos need more refinement.

The following link brings your to a more technical post.

Google student developer stipends

Google decided to accept OpenICC as a mentoring organisation for the Google Summer of Code program.
Google sponsors several hundret students a 3 months stipend for work with a mentor at different project ideas. It is especially attractive for students, and a chance to learn how to coordinate and work with open source projects.

For general information see:
http://code.google.com/soc/. OpenICC offers colour management and image processing projects in the range of easy tasks over XML/UI processing untill integrating new technology like GLSL to the Oyranos project. Own colour management related ideas can be proposed too. For details see:
http://freedesktop.org/wiki/OpenIcc/GoogleSoC2009. While students are not needed to study directly IT, programming skills are a good gift. The application period end on 3th April at 19:00 UTC. Nevertheless its recommendable to contact OpenICC earlier.

2008 Google SoC results

OpenICC participated this year again in Googles Summer of Code program with two students.Both could finish sucessfully. Their code will be very useful in the future.

Joseph Simon, who worked last year on the LProf profiler at OpenICC,
choose this year to work on the Control Panel for Colour Management
project. He created three colour management settings panels for the
KDE kontrolcenter, a system settings configurator. His work included
setting up the build environment for KDE, layouting widgets for various
settings, including the ones from Oyranos plus new device specific ones
and of course lots of debugging. Joseph discussed with the mentos many
details following his own scetches about the project.
We discussed with him on how to use device specific APIs such
as (Sane and CUPS) and Oyranos APIs and how to best structurise the
widgets. Many ideas appeared, including some which where implemented in
Oyranos by this discussions. In a result, his project code links to many
new APIs of Oyranos. So it will be time to get Oyranos and its
dependencies released too.
The OpenICC mentors could help with a lively general discussion, cmake
improvements, exploring device APIs, example code and testing.

Tomas Carnecky showed early his interesst in accelerated colour transforms
for the Compiz compositor. In preparation for the Color Management near X
project, he started discussions on the Xorg and on the OpenICC email
lists. So his project obtained relatively early many feedback. Compared
with the various difficulties he where faced with, the results are even
more impressive. His work included specifying the communication of
ICC profile informations between windows and the X server and
implementing it in a library, colour transformations on the GPU inside a
Compiz plug-in, as well as spotting bugs in various places and fixing
some by himself in Xorg. We hope his patches goes into the code base and
vendors will be willing to fix their drivers too.
project wiki page

Many thanks to all contributors and especially to the two students, who
invested their time and energy for these projects, as well to Google, who
kindly provided the program and financial framework.

The official code results can be found
here.

Two Google SoC projects for OpenICC 2008

The OpenICC team proudly received two project assignments inside Googles Summer of Code program for 2008. Many thanks to all students who showed their interest for our projects.

The KDE Control Panel for Color Management project of Joseph Simon III will be mentored by Jon Anthony Cruz. Joseph is us already know for his excellent work last year on LProf. Jon mentors the first year for OpenICC and has long year experience with Inkscape and various other projects.

Color Management near X is the theme of Tomas Carnecky. He has good experiences with streamed content, OpenGL and X. He will be mentored by me, Kai-Uwe Behrmann. Tomas will attend the LGM 2008 meeting in Wroclaw in a few days and present and discuss his proposal in more detail.

OpenICC and Google Summer of Code 2008

OpenICC is a Freedesktop project that brings together just about everyone who is interested in color for free software applications. That’s: ArgyllCMS, CinePaint, Cups, GraphicsMagick, Gimp, Gutenprint, ImageMagick, Inkscape, Krita, karbon, LittleCMS, LPROF, Scribus and Oyranos. And, of course, what’s happening here has influence on the the Linux desktops.

This year OpenICC has been selected again as one of the projects that can participate in the Google Summer of Code!

Hot topics for this year are the integration of a colour management system into low level services, like Xorg and Cairo, HDR colour management, hardware accelerated colour conversions, true multiple monitor support, again Tonemapping and a toolkit independent GUI layer for plug-ins and CMM’s. Of course we are happy about continuing and improving our existing applications, libraries and all being mentored by experienced developers.

The project ideas range from very simple “get familiar with open source” style projects to advanced topics. Given they are all cross platform, they have potential to influence colour management not only on Linux. With students entering this round we hope to get closer to a colour managed desktop with fun.

Two Google SoC projects for OpenICC

The OpenICC team proudly recieved two project assignments inside Googles Summer of Code program for 2007.
Many thanks of course to all students in showing their interesst to the suggested projects.

Shaine Joseph will be mentored by Cyrille Berger while working on a
interoperable tonemapping framework.
Joseph L. Simon III will rewrite the LProf reference file installer to
support HTC and GretagMacbeth profiling targets, mentored by Hal V. Engel.

In general, the results will help to promote colour management for the
various open source platforms. We hope by our projects to improve
interoperability with other platforms regarding graphics standards.