Utility node which reads image files from disk using OpenImageIO. All file types supported by OpenImageIO are supported by the OpenImageIOReader.


Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.


The output image generated by this node.


Turns the node on and off.


The name of the file to be read. File sequences with arbitrary padding may be specified using the ‘#’ character as a placeholder for the frame numbers. If this file sequence format is used, then missingFrameMode will be activated.

Supported file extensions : exr, sxr, mxr, tif, tiff, tx, env, sm, vsm, jpg, jpe, jpeg, jif, jfif, jfi, bmp, dib, cin, dds, dpx, fits, hdr, rgbe, ico, iff, z, jp2, j2k, j2c, null, nul, png, ppm, pgm, pbm, pnm, pfm, psd, pdd, psb, bay, bmq, cr2, crw, cs1, dc2, dcr, dng, erf, fff, k25, kdc, mdc, mos, mrw, nef, orf, pef, pxn, raf, raw, rdc, sr2, srf, x3f, arw, 3fr, cine, ia, kc2, mef, nrw, qtk, rw2, sti, rwl, srw, drf, dsc, ptx, cap, iiq, rwz, cr3, rla, sgi, rgb, rgba, bw, int, inta, pic, tga, tpic, term, webp, zfile, osl, oso, oslgroup, oslbody


May be incremented to force a reload if the file has changed on disk - otherwise old contents may still be loaded via Gaffer’s cache.


Determines how missing frames are handled when the input fileName is a file sequence (uses the ‘#’ character). The default behaviour is to throw an exception, but it can also hold the last valid frame in the sequence, or return a black image which matches the data window and display window of the previous valid frame in the sequence.


An output of the available frames for the given file sequence. Returns an empty vector when the input fileName is not a file sequence, even if it has a file-sequence-like structure.


Whether or not the files exists and can be read into memory, value calculated per frame if an image sequence. MissingFrameMode does not change the behaviour of this plug.


Documented in ImageReader, where it is exposed to users.