OpenIccForGoogleSoC2008

OpenIccForGoogleSoC2008 Wiki is intended to collect ideas for possible projects participating in Googles Summer of Code program. They are mentored by members of OpenIcc projects.

About the Group

OpenIcc consist of the members of the OpenICC email list. It was started by Scribus members to better support introduction of colour management into applications and discuss general issues. List contributors are application and CMS developers as well as colour management specialists and users, no matter whether commercial, open source and both. The main focus of this group is to expand the level of support for color management on open source software systems.

Contents

  1. About the Group
  2. Project Suggestions
    1. ICC support for HDR Images
    2. HDR Tonemapping
    3. ICC Examin Library
    4. Simple Toolkit Abstraction
    5. Control Panel for Colour Management
    6. Oyranos Device Settings to ICC profile layer
    7. Color Management near X
    8. Oyranos Tonemapping Integration
    9. Oyranos ICC spec Basics Implementation
    10. Extending the Oyranos Colour Conversion Framework
    11. LProf - Finalize Qt4 port
    12. LProf - Add DDC/CI and USB HID Monitor Controls for Monitor Calibration
    13. LProf - Add a Regression Analysis Based Monitor Profiling.
    14. LProf - Create a Robust Interative Video Card LUT Creation Algorithm.
  3. Alternative Ideas
  4. Requirements
    1. License
    2. Skills
    3. Developers Environment
  5. Communication

Project Suggestions

ICC support for HDR Images

Expectations

Skills

Contact

Optional

HDR Tonemapping

The project would continue the last years work.

Expectations

Skills

Contact

ICC Examin Library

Expectations

Skills

Contact

Optional

Simple Toolkit Abstraction

Expectations

Skills

Contact

Optional

Control Panel for Colour Management

Expectations

Skills

Contact

Optional

Oyranos Device Settings to ICC profile layer

Expectations

Skills

Contact

Color Management near X

Expectations

Skills

Contact

Oyranos Tonemapping Integration

HDR images needs to be displayed as consitently as any other colour content. There are few expeciences how to do this on a system level. This is a project to design and work on the behaviour of future imaging. With a sensible eye for natural colours and artistic effects you might have fun with this project.

Expectations

Skills

Contact

Optional

Oyranos ICC spec Basics Implementation

Expectations

Skills

Contact

Extending the Oyranos Colour Conversion Framework

Expectations

Skills

Contact

LProf - Finalize Qt4 port

Expectations

Skills

Contact

LProf - Add DDC/CI and USB HID Monitor Controls for Monitor Calibration

Expectations

Implement DDC/CI and/or USB HID Monitor Control support in LProf. This will need to work in a broad range of platforms including *nix/X11, Windows (2000 and later) and OS/X.

Skills

Contact

LProf - Add a Regression Analysis Based Monitor Profiling.

Expectations

This project will implement a regression analysis algorithm for monitor profiling.

Skills

Contact

LProf - Create a Robust Interative Video Card LUT Creation Algorithm.

Expectations

This project will implement a robust interative video card LUT calibration algorithm and will be integrated into the LProf UI.

Skills

Contact

Alternative Ideas

Feel free to propose and discuss your ideas.

Requirements

License

BSD, LGPL extended by allowing for static linking are preferred licenses for libraries. GPL and other open source licenses are acceptable for other projects but in most cases the project mentor will specify the license to be used for the project.

Skills

Both good project and coding skills are expected, in order to set up our complex open source projects. We know it is sometimes difficult to talk to people you do not know, especially when they are not visible like over the internet. Never the less the mentors of these OpenICC projects want an open dialog with anyone interested in working on these projects. This is an important part of open software development and it is even more important for these Google Summer of Code Projects. Please feel free to contact any of the mentors listed above at any time. The earlier a candidate contacts us the better.

Developers Environment

You are free to select whatever build environment you like as long as the project is targeted at that platform. Many of the above projects are targeted at Unix like systems and a few are fully cross platform. Our experience for cross platform projects is that some build environments are more difficult to setup than others. You will also likely find that these projects are significantly more complex than your school projects. For example, the LProf code base is now almost 100,000 lines of C and C++ code.

In order to help candidates be successful in completing their projects it is important that anyone selected is prepared to start actual project work at the project startup date. Please be prepared to have your development environment ready long before the project starts. This means that project mentors will want you to be to able to build and run the base system you are working on well before the project start date. For example, if you are working on one of the LProf projects you should be able to build and run LProf on your development machine at least a month before the project startup date. Windows build environments, in particular, have proven to be particularly difficult to setup and it is common for GSoC mentors to comment about how often the single biggest difficultly for students working on Wndows machines is getting a fully functional build environment setup.

Many open source developers use a unix like environment (IE. Linux, BSD ...) in part because setting up a working build environments is much simpler. This also means that there is a high likely hood that your mentor will not have much experience working in Windows or OS/X and may not be able to provide much assistance to help you get your builds working in those environments. So take this very seriously. On the other hand using a Unix like system like BSD/Linux/osX/Solaris can be a great learning experience for any student who has not worked on one of these in the past. Many big projects run on *nix systems deploying unix concepts and some of the projects listed above are *nix only projects that can not be worked on using a Windows machine. On request we simply expect the programmer to switch to BSD, Linux or osX. The installation should be no issue.

Communication

The OpenIcc list and the mentors for the above projects are all open for having contact with any prospective candidate. We will create a additional public list dedicated to the GSoC projects communication. IRC: freenode#openicc

If in doubt about how to proceed please contact Kai-Uwe Behrmann < ku.b@gmx.de >.