News and Meetings‎ > ‎(GSoC 2013)‎ > ‎

Ideas list

** Unfortunatly our application has been rejected **

Fair enough, we'll try again next year \o/

That said, if you're a motivated developer interested by TuttleOFX, checkout t

he below list and above all feel free to contact us on


These projects proposals are meant to be a first draft. We tried to find some interesting and challenging projects also corresponding to real user expectations. 
Suggestions, original ideas are very welcomed.
If you intend to apply, please read the Tips for students page before.

And don’t hesitate to contact us on mailing list if you want to ask specific questions and get in touch with our community.

// Rewrite “sam” command line tools in Python //

Category : Tool development

Skills : Good Python knowledge, C/C++ notions

Difficulty level : Easy

Primary mentor : Marc-Antoine (marcantoine), Fabien (fabcastan)

Backup mentors : Marie (mfe)


Sam is a set of command line tools to browse (sam ls), copy (sam cp), move (sam mv), delete (sam rm) file sequences and batch image conversions based on OFX plugins (sam do).

See Sam documentation.

These command line tools have been developed in C++ at the beginning of the project. Since then, we have developed a Python binding. As sam tools are in constant need for new options, using Python will help to simplify coding and speed up the development.

// Image Analysis and Overlay plugins //

Category : Plugin development

Skills : C++, OpenGL

Difficulty level : Medium

Primary mentor : Fabien (fabcastan), Marc-Antoine (marcantoine)

Backup mentors : Marie



The goal of this project is to add some image analyser nodes to allow Tech Check on videos : Histogram, Vectorscope, Waveforms, Parade Scope, 3D color cube and many others.

These informations need to be written in overlay in the viewer (using OpenGL) and in the rendered images (same code but with framebuffers).

About the Waveform and the RGB Parade.

About the VectorScope

About the Histogram

TuttleOFX already contains some plugins that display image analysis information in overlay:

// Colorspaces conversions //

Category : Core and plugin development

Skills : Not completely afraid by templated C++, colorspace notions

Difficulty level : Medium

Primary mentor : Marie (mfe), Fabien (fabcastan)

Backup mentors : Marc-Antoine



Images transformations are highly correlated to color transformations. TuttleOFX currently comes with Color gradation, OpenColorIO and Look Up Table nodes to handle classical post-production color pipelines.

But LUTs remains approximations and for many algorithms precise computation is a prerogative.

A templated structure based on GIL framework has already been implemented to decompose a conversion into simple steps.

The aim of this project is to implement the missing colorspace algorithms using this template. A close attention will have to be given to the computation precision and the check of the results. The documentation (including references to articles) is also an important part of this project. And so is, the comparison with standard libraries (OpenCV, VIGRA, OpenImageIO, Babl).

The performance issues aren’t priority as a first time treatment. The many existing colorspaces must be implemented before.

To get in touch with color management in Post-production, read “Cinematic Color: From Your Monitor to the Big Screen”.

// OpenCV integration (+ 3D Stereo plugins) //

Category : Core + plugin development

Skills : C++

Difficulty level : Medium

Primary mentor : Marc-Antoine (marcantoine), Fabien (fabcastan)

Backup mentors : Marie



OpenCV is a computer vision library. The first goal of this projet is to develop some sample plugins based on OpenCV like erode and dilate, morphologyEx, cvCvtColor... Priority will be given to functions that handle several bit depths.

OpenCV image processing tutorials

List of image processing functions in OpenCV

List of computational photography functions in OpenCV

List of video analysis functions in OpenCV

List of GPU-accelerated computed vision functions in OpenCV

The second goal is to develop tool plugins dedicated to 3DStereo (and also based on OpenCV) :

- stereo merge (anaglyph, side by side, time interleaved...),

- disparity map,

- ...

About computer stereo vision.

// MXF export plugin //

Category :  Plugin development

Skills : C++

Difficulty level : Medium

Primary mentor : Marc-Antoine (marcantoine)

Backup mentors : Fabien (fabcastan), Marie



The purpose of this subject is to create an MXF export plugin. Media eXchange Format is a container format for professional digital video and audio media exchange. 

Picture and sound MXFs are necessary to create DCPs (Digital Cinema Package).

The first step will be to study the different possibilities and determine if some libraries like BMX, asdcplib and libav can be used.

At last, the newly MXF export will have to be tested.