For users

TuttleOFX is an open source set of image processing application and framework to convert simple files / sequences of images / movies.

This bunch of tools includes :
  • a set of command line tools called Sam,
  • some plugins like classical ResizeLutCrop... or LensDistort and Histogram Keyer.

TuttleOFX plugins are based on OpenFX standard, making them usable with the Sam command line tool but also with other applications like Nuke (The Foundry), Scratch (Assimilate), Baselight (FilmLight), Mistika (SGO).

Sam is a set of batch processing tools to manipulate image sequences and to process some OpenFX treatments.

Here are the different modules :
  • sam do
    • batch processing of image sequences, using OpenFX nodes
    • example of nodes : reader, writer, resize, crop...
  • sam ls
    • displays image sequences of a directory
    • options: files, hidden files, directories, regular expressions, recursivity...
    • All options : sam ls -h
  • sam cp, mv, rm
    • copy, move, remove image sequences
    • options : retime, sub-sequence...
    • All options : sam cp -h (or mv, rm)

Sam do : principles

TuttleOFX is based on a plugin system where each plugin is a feature: cropblurresize..It can be seen as a command line version of a compositing software in which you can chain nodes, with a directed acyclic graph.

This modular principle allows support of all OpenFX plugins, including commercial ones: Genarts, The Foundry,... In the opposite direction all TuttleOFX features proposed are available in OpenFX hosts, like Nuke, Fusion, etc.

General syntax : 
sam do plugin // plugin // plugin
It also allows very specific processes where order of computation is completly customizable. Most of the time, you'll have a reader, a writer and eventually some operation between them.

Example, convert DPX in sRGB proxies :
In Nuke (The Foundry)

sam do reader ArriAlexa.HighKey.#######.dpx // lut /path/to/CineonToSRGB_1D_10b.csp interpolation=linear // resize scale=0.5 // writer VFX66_01.#######.LogCToSRGB_1D_10b.jpg

Be assured to get the same result in all OpenFX hosts as they use exactly the same plugin binaries!

Which plugins are available?
Display installed plugins list : sam do -n
       Ex : 
> sam do -n

How does a plugin work?
Display plugin options : sam do <plugin name> -h
       Ex :  
> sam do gamma -h

TuttleOFX project []

        sam-do tuttle.gamma - OpenFX node.

        node type: ImageEffect

No plugin description.

        gammaType:               Choice     x1
        master:                  Double     x1
        invert:                  Boolean    x1

        alpha:                   Double         1
        blue:                    Double         1
        gammaType:               Choice         Global
                                        - Global
                                        - RGBA

        green:                   Double         1
        invert:                  Boolean        0
        master:                  Double         1
        red:                     Double         1

DISPLAY OPTIONS (replace the process)
  -h [ --help ]         show node help
  -v [ --version ]      display node version
  -a [ --attributes ]   show all attributes: parameters+clips
  --properties          list properties of the node
  -c [ --clips ]        list clips of the node
  -C [ --clip ] arg     display clip informations
  -p [ --parameters ]   list parameters of the node
  -P [ --param ] arg    display parameter informations

  -V [ --verbose ]      explain what is being done
  --nb-cores arg        set a fix number of CPUs

For more information