ReadOIIO node

pluginIcon

This documentation is for version 2.0 of ReadOIIO (fr.inria.openfx.ReadOIIO).

Description

Read images using OpenImageIO.

Output is always Premultiplied (alpha is associated).

The “Image Premult” parameter controls the file premultiplication state, and can be used to fix wrong file metadata (see the help for that parameter).

OpenImageIO supports reading/writing the following file formats:

BMP (*.bmp)

Cineon (*.cin)

Direct Draw Surface (*.dds)

DPX (*.dpx)

Field3D (*.f3d)

FITS (*.fits)

GIF (*.gif)

HDR/RGBE (*.hdr)

HEIC/HEIF (*.heic *.heif)

ICO (*.ico)

IFF (*.iff)

JPEG (*.jpg *.jpe *.jpeg *.jif *.jfif *.jfi)

JPEG-2000 (*.jp2 *.j2k)

OpenEXR (*.exr)

PNG / Portable Network Graphics (*.png)

PNM / Netpbm (*.pbm *.pgm *.ppm *.pfm)

PSD (*.psd *.pdd *.psb)

Ptex (*.ptex)

RAW digital camera files (*.crw *.cr2 *.nef *.raf *.dng and others)

RLA (*.rla)

SGI (*.sgi *.rgb *.rgba *.bw *.int *.inta)

Softimage PIC (*.pic)

Targa (*.tga *.tpic)

TIFF (*.tif *.tiff *.tx *.env *.sm *.vsm)

Webp (*.webp)

Zfile (*.zfile)

Inputs

Input Description Optional
Sync Sync Yes

Controls

Parameter / script name Type Default Function
File / filename N/A   The input image sequence/video stream file(s).
First Frame / firstFrame Integer 0 The first frame number to read from this image sequence or video file. This cannot be less than the first frame of the image sequence or video file, and cannot be greater than the last frame of the image sequence or video file. The first frame of a video file is numbered 1. If startingTime is 1 or timeOffset is 0, this is also the first output frame.
Before / before Choice Hold
What to do before the first frame of the sequence.
Hold (hold): While before the sequence, load the first frame.
Loop (loop): Repeat the sequence before the first frame
Bounce (bounce): Repeat the sequence in reverse before the first frame
Black (black): Render a black image
Error (error): Report an error
Last Frame / lastFrame Integer 0 The last frame number to read from this image sequence or video file. This cannot be less than the first frame of the image sequence or video file, and cannot be greater than the last frame of the image sequence or video file. The first frame of a video file is numbered 1. If startingTime is 1 or timeOffset is 0, this is also the last output frame.
After / after Choice Hold
What to do after the last frame of the sequence.
Hold (hold): While before the sequence, load the first frame.
Loop (loop): Repeat the sequence before the first frame
Bounce (bounce): Repeat the sequence in reverse before the first frame
Black (black): Render a black image
Error (error): Report an error
On Missing Frame / onMissingFrame Choice Error
What to do when a frame is missing from the sequence/stream.
Hold previous (previous): Try to load the previous frame in the sequence/stream, if any.
Load next (next): Try to load the next frame in the sequence/stream, if any.
Load nearest (nearest): Try to load the nearest frame in the sequence/stream, if any.
Error (error): Report an error
Black (black): Render a black image
Frame Mode / frameMode Choice Starting Time

Starting Time (startingTime): Set at what output frame the first sequence frame is output. The sequence frame designated by the firstFrame parameter is output at frame timeOffset.
Time Offset (timeOffset): Set an offset to be applied as a number of frames. The sequence frame designated by the firstFrame parameter is output at frame firstFrame+timeOffset.
Starting Time / startingTime Integer 0 At what time (on the timeline) should this sequence/video start.
Time Offset / timeOffset Integer 0 Offset applied to the sequence in time units (i.e. frames).
Proxy File / proxy N/A   Filename of the proxy images. They will be used instead of the images read from the File parameter when the proxy mode (downscaling of the images) is activated.
Proxy threshold / proxyThreshold Double x: 1 y: 1 The scale of the proxy images. By default it will be automatically computed out of the images headers when you set the proxy file(s) path. When the render scale (proxy) is set to a scale lower or equal to this value then the proxy image files will be used instead of the original images. You can change this parameter by checking the “Custom scale” checkbox so that you can change the scale at which the proxy images should be used instead of the original images.
Custom Proxy Scale / customProxyScale Boolean Off Check to enable the Proxy scale edition.
File Premult / filePremult Choice PreMultiplied
The image file being read is considered to have this premultiplication state.
To get UnPremultiplied (or “unassociated alpha”) images, set the “Output Premult” parameter to Unpremultiplied.
By default the value should be correctly be guessed by the image file, but this parameter can be edited if the metadatas inside the file are wrong.
- Opaque means that the alpha channel is considered to be 1 (one), and it is not taken into account in colorspace conversion.
- Premultiplied, red, green and blue channels are divided by the alpha channel before applying the colorspace conversion, and re-multiplied by alpha after colorspace conversion.
- UnPremultiplied, means that red, green and blue channels are not modified before applying the colorspace conversion, and are multiplied by alpha after colorspace conversion.
This is set automatically from the image file and the plugin, but can be adjusted if this information is wrong in the file metadata.
RGB images can only be Opaque, and Alpha images can only be Premultiplied (the value of this parameter doesn’t matter).
Opaque (opaque): The image is opaque and so has no premultiplication state, as if the alpha component in all pixels were set to the white point.
PreMultiplied (premult): The image is premultiplied by its alpha (also called “associated alpha”).
UnPreMultiplied (unpremult): The image is unpremultiplied (also called “unassociated alpha”).
Output Premult / outputPremult Choice PreMultiplied
The alpha premultiplication in output of this node will have this state.
Opaque (opaque): The image is opaque and so has no premultiplication state, as if the alpha component in all pixels were set to the white point.
PreMultiplied (premult): The image is premultiplied by its alpha (also called “associated alpha”).
UnPreMultiplied (unpremult): The image is unpremultiplied (also called “unassociated alpha”).
Output Components / outputComponents Choice RGBA
What type of components this effect should output when the main color plane is requested. For the Read node it will map (in number of components) the Output Layer choice to these.
RGBA
RGB
RG
Alpha
Frame rate / frameRate Double 24 By default this value is guessed from the file. You can override it by checking the Custom fps parameter. The value of this parameter is what will be visible by the effects down-stream.
Custom FPS / customFps Boolean Off If checked, you can freely force the value of the frame rate parameter. The frame-rate is just the meta-data that will be passed downstream to the graph, no retime will actually take place.
Image Info… / showMetadata Button   Shows information and metadata from the image at current time.
Auto Bright / rawAutoBright Boolean Off If checked, use libraw’s automatic increase of brightness by histogram (exposure correction).
Use Camera WB / rawUseCameraWB Boolean On If checked, and if possible, use the white balance from the camera.
Adjust Maximum Thr. / rawAdjustMaximumThr Double 0
This parameters controls auto-adjusting of maximum value based on channel_maximum[] data, calculated from real frame data. If calculated maximum is greater than adjust_maximum_thr*maximum, than maximum is set to calculated_maximum.
Default: 0. If you set this value above 0.99999, then default value will be used. If you set this value below 0.00001, then no maximum adjustment will be performed. A value of 0.75 is reasonable for still shots, but sequences should always use 0.
Adjusting maximum should not damage any picture (esp. if you use default value) and is very useful for correcting channel overflow problems (magenta clouds on landscape shots, green-blue highlights for indoor shots).
Max. value / rawUserSat Integer 0 The camera sensor saturation (maximum) value. Raw values greater or equal to this are considered saturated and are processed using the algorithm specified by the rawHighlightMode parameter. 0 means to use the default value.
Output Colorspace / rawOutputColor Choice sRGB
Output colorspace.
Raw (raw): Raw data
sRGB (srgb): sRGB
Adobe (adobergb): Adobe RGB (1998)
Wide (wide): Wide-gamut RGB color space (or Adobe Wide Gamut RGB)
ProPhoto (prophoto): Kodak ProPhoto RGB (or ROMM RGB)
XYZ (xyz): CIE XYZ
ACES (aces): AMPAS ACES
Camera Matrix / rawUseCameraMatrix Choice Default
Use/don’t use an embedded color matrix.
None (none): Do not use the embedded color matrix.
Default (default): Use embedded color profile (if present) for DNG files (always); for other files only if rawUseCameraWb is set.
Force (force): Use embedded color data (if present) regardless of white balance setting.
Highlight Mode / rawHighlightMode Choice Clip
Algorithm for restoring highlight clippings. Highlights are part of your images that are burned due to the inability of your camera to capture the highlights. Highlight recovery is applied after white balance and demosaic.
Clip (clip): Clip all highlights to white.
Unclip (unclip): Leave highlights unclipped in various shades of pink.
Blend (blend): Blend clipped and unclipped values for a gradual fade to white.
Rebuild (rebuild): Reconstruct highlights with various levels of aggressiveness.
Rebuild Level / rawHighlightRebuildLevel Integer 2 Level of aggressiveness used to rebuild highlights. rawHighlightRebuildLevel=2 (which corresponds to -H 5 in LibRaw/dcraw) is a good compromise. If that’s not good enough, use rawHighlightRebuildLevel=6, cut out the non-white highlights, and paste them into an image generated with rawHighlightRebuildLevel=0.
Exposure / rawExposure Double 1 Amount of exposure correction before de-mosaicing, from 0.25 (2-stop darken) to 8 (3-stop brighten). (Default: 1., meaning no correction.)
Demosaic / rawDemosaic Choice AHD
Force a demosaicing algorithm. Will fall back on AHD if the demosaicing algorithm is not available due to licence restrictions (AHD-Mod, AFD, VCD, Mixed, LMMSE are GPL2, AMaZE is GPL3).
None (none): No demosaicing.
Linear (linear): Linear interpolation.
VNG (vng): VNG interpolation.
PPG (ppg): PPG interpolation.
AHD (ahd): AHD interpolation.
DCB (dcb): DCB interpolation.
AHD-Mod (ahdmod): Modified AHD interpolation by Paul Lee.
AFD (afd): AFD interpolation (5-pass).
VCD (vcd): VCD interpolation.
Mixed (mixed): Mixed VCD/Modified AHD interpolation.
LMMSE (lmmse): LMMSE interpolation.
DHT (dht): DHT interpolation.
AAHD (aahd): Modified AHD interpolation by Anton Petrusevich.
Aber. / rawAber Double x: 1 y: 1 Correction of chromatic aberrations, given as a red multiplier and a blue multiplier. The default values of (1.,1.) correspond to no correction.
Output Layer / outputLayer Choice   This is the layer that will be set to the the color plane. This is relevant only for image formats that can have multiple layers: exr, tiff, psd, etc… Note that in Natron you can access other layers with a Shuffle node downstream of this node.
Edge Pixels / edgePixels Choice Auto
Specifies how pixels in the border of the region of definition are handled
Auto (auto): If the region of definition and format match exactly then repeat the border pixel otherwise use black
Edge Detect (edge): For each edge, if the region of definition and format match exactly then repeat border pixel, otherwise use black
Repeat (repeat): Repeat pixels outside the region of definition
Black (black): Add black pixels outside the region of definition
Offset Negative Display Window / offsetNegativeDispWindow Boolean On The EXR file format can have its “display window” origin at another location than (0,0). However in OpenFX, formats should have their origin at (0,0). If the left edge of the display window is not 0, either you can offset the display window so it goes to 0, or you can treat the negative portion as overscan and resize the format.
OpenImageIO Info… / libraryInfo Button   Display information about the underlying library.
OCIO Config File / ocioConfigFile N/A   OpenColorIO configuration file
File Colorspace / ocioInputSpaceIndex Choice   Input data is taken to be in this colorspace.
Output Colorspace / ocioOutputSpaceIndex Choice   Output data is taken to be in this colorspace.
key1 / key1 String  
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
value1 / value1 String  
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
key2 / key2 String  
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
value2 / value2 String  
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
key3 / key3 String  
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
value3 / value3 String  
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
key4 / key4 String  
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
value4 / value4 String  
OCIO Contexts allow you to apply specific LUTs or grades to different shots.
Here you can specify the context name (key) and its corresponding value.
Full details of how to set up contexts and add them to your config can be found in the OpenColorIO documentation:
OCIO config help… / ocioHelp Button   Help about the OpenColorIO configuration.