Reads image files from disk using OpenImageIO. All file types supported by OpenImageIO are supported by the ImageReader and all channel data will be converted to linear using OpenColorIO.

user

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

out

The output image generated by this node.

enabled

Turns the node on and off.

fileName

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 : bmp, dib, cin, dds, dpx, fits, hdr, rgbe, ico, iff, z, jpg, jpe, jpeg, jif, jfif, jfi, jp2, j2k, j2c, null, nul, exr, sxr, mxr, 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, socket, pic, tif, tiff, tx, env, sm, vsm, tga, tpic, term, zfile, osl, oso, oslgroup, oslbody

refreshCount

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.

missingFrameMode

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.

start

Masks frames which preceed the specified start frame. The default is to treat them based on the MissingFrameMode, but they can also be clamped to the start frame, or return a black image which matches the data window and display window of the start frame.

start.mode

The mode used detemine the mask behaviour for the start frame.

start.frame

The start frame of the masked range.

end

Masks frames which follow the specified end frame. The default is to treat them based on the MissingFrameMode, but they can also be clamped to the end frame, or return a black image which matches the data window and display window of the end frame.

end.mode

The mode used detemine the mask behaviour for the end frame.

end.frame

The end frame of the masked range.

colorSpace

The colour space of the input image, used to convert the input image to the scene linear colorspace defined by the OpenColorIO config. The default behaviour is to automatically determine the colorspace by calling the function registered with ImageReader::setDefaultColorSpaceFunction().

channelInterpretation

Controls how we create channels based on the contents of the file. Unfortunately, some software, such as Nuke, does not produce EXR files which follow the EXR specification, so the mode “Default” uses heuristics to guess what the channels mean.

“Default” mode should support most files coming from either Nuke or standards compliant software. It can’t handle every possibility in the spec though - in corner cases, it could get confused and think something comes from Nuke, and incorrectly prepend the part name to the channel name.

If you know your EXR is compliant, you can “EXR Specification” mode which disables the heuristics, and just uses the channel names directly from the file.

“Legacy” mode matches Gaffer <= 0.61 behaviour for compatibility reasons - it should not be used.