[Openicc] GSoC & oyranos

Yiannis Belias jonnyb at hol.gr
Mon Mar 23 08:32:01 PDT 2009


Hello everyone,

I would like to apply for the Google Summer of Code with the purpose of adding tonemapping
capability to the oyranos framework.

Last year I joined the list, and asked for advice on bibliography on hdr and color management
and then got an interest in tonemapping. I haven't done any real progress yet, (just studying).

For my project I propose the following steps:

a) Split the tm operators in 2 groups. The "fast" group that can render in real time
and the "slow" group that needs ~1-30seconds.
b) Decide on an common api for tm operators and integrate a number of the "fast" ones
with the oyranos cmm backend. Then a few of the "slow" ones.
c) Create a proof of concept image viewer(qt4?) that opens an hdr image and uses
oyranos to adjust the parameters of a tm operator on the fly.
Even better, make a kipi-plugin to be used by any kde4 graphics application
that handles hdr.

Currently qtpfsgui[1] does something like that for the range of the pfstools[2] tm operators.
And CVLTonemap[3] does exactly that using gpu acceleration. [I found out about this just now]

Some words about me:
I am a student of Physics at the University of Athens, Greece and this is my last year of study.
I've been using linux for the past 10 years and have experience in programming for almost
as long. Mostly in C++, but also in php and bash(!?), although not on regular basis.
I haven't been part of an open source - or any cind of big software project.
For my physics degree project I use a c++ library for image processing
(written by me - nothing fancy, just for my own educational purposes)
to process the video from my telescope and create usable images by image registration and stacking.
You can find the results on my webpage: http://users.hol.gr/~jonnyb/video/

My commitment to university is 3 more lessons and the physics degree project
- all hopefully over around June. For the GSoC, I can start working from now.


I sent the original proposal to Kai-Uwe and he noted 2 more things:
 > As a note, I would ask you on how to integrate for the proposed OpenGL GLSL pipeline?
 > We search for someone to implement general GLSL support, which can be integrated into the 
Oyranos' CMM framework.

I have used opengl for a few simple programs, but I'm certainly not an expert...
My intel card(mesa driver) doesn't even support GLSL (yet?), so I can't test it for now.
Also, I'm not sure how this glsl meta backend will look like. Will it be a C api
that would hide the opengl calls?
Of course, if glsl support is considered a must, a latest nvidia with 1GB RAM sells for ~60E,
so I'll just get one.

 > Another task would be to interface a image IO framework like GraphicsMagic and possibly 
additional > tonemapping. Not shure if this still would be interessting for you.

As long as it brings a universal way to do tonemapping with oyranos, its fine with me :)
Actually what I had in mind for optimization, was like using the eigen2[4] library for free
vectorization, and maybe OpenMP[5] for multithreading.
  OTOH, running on GPU seems probably more apropriate for this task.


Thank's for you attention,
Yiannis Belias

[1]http://qtpfsgui.sourceforge.net/
[2]http://pfstools.sourceforge.net/
[3]http://cvtool.sourceforge.net/cvltonemap.html
[4]http://eigen.tuxfamily.org/index.php?title=Main_Page
[5]http://openmp.org/wp/

-- 
Yiannis Belias  <jonnyb at hol.gr>                    `
Homepage [http://users.hol.gr/~jonnyb/video] '              .
GNU+LINUX:                                            '           '
IN A WORLD WITHOUT FENCES WHO NEEDS GATES?      .                     *


More information about the openicc mailing list