ImageReader

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 : 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

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 to the working space. When set to Automatic, the colour space is determined automatically using 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.

availableFrames

A list of the available frames for the current file sequence. Empty when the input fileName is not a file sequence.

fileValid

Whether or not the files exists and can be read into memory, value calculated per frame if an image sequence. Behaviour changes if a frame mask of ClampToFrame or Black is selected, if outside the frame mask fileValid will be set to True if the nearest frame is valid.

Note

When the file is not valid, the image will also contain a fileValid metadata value of False. This can be easier to access from downstream nodes than the fileValid plug itself.