ImageRead
This node loads images from disk, using the native resolution and the frame range for the sequence. It converts all imported sequences to Katana's linear colorspace automatically, but there are options to control this. Note that Katana's image processing operations are written assuming they are working on linear images, so be careful if you change the default input colorspace conversion. All of Katana's image processing is implemented in floating point, so files are converted to float at input.
Control (UI) |
Default Value |
Function |
file |
N/A |
The image sequence to load. For more information, refer to the Asset and File Path Widget Types in the Common Parameter Widgets. |
image |
||
rawData |
disabled |
When enabled, Katana skips the automatic colorspace conversion. Note that Katana is inherently a floating-point system. Thus, if integer data is loaded (at any bit-depth), the pixels are mapped to the range of [0, 1]. |
colorspace |
auto |
Select the colorspace for the file on disk. Upon load, the image sequence is converted from this colorspace to Katana's native floating-point linear colorspace. The default value, auto, means Katana tries to determine the bit depth from the file header and the colorspace from the file name. If Katana gets this wrong or the file is not named in a standard way, you can use this control to force Katana to assume the image data is in the selected colorspace and bit depth. You can also use this control to avoid the colorspace conversion entirely by specifying lnzf or ncf, which indicate that the file is already linear. Bear in mind, however, that most image processing operations in Katana presume linear input data. The results of image processing operations in Katana are not defined, tested, or supported for non-linear image data. All operators have been implemented assuming input images are linear. Note: This option only appears when rawData is disabled. |
isProxy |
disabled |
When enabled, Katana assumes the loaded image sequence is a proxy rather than a full-resolution image. This is preferable to manually resizing the image, as it is more efficient when proxy-rendering is enabled. |
image > isProxy: enabled > fullResFrame |
||
[resolution] |
Dependent on Project Settings |
When isProxy is enabled, you can use this control to select the resolution for the full-resolution image. |
left |
timing.missingFrameBounds.left |
Sets the left position of the rectangle. |
bottom |
timing.missingFrameBounds.bottom |
Sets the bottom position of the rectangle. |
width |
timing.missingFrameBounds.width |
Sets the width of the rectangle. |
height |
timing.missingFrameBounds.height |
Sets the height of the rectangle. |
timing |
||
frame |
frame |
Sets the frame number actually read from disk prior to applying the inMode, outMode, firstFrame, and lastFrame settings. When a downstream node requests an image from an ImageRead node, ImageRead evaluates this control to determine the frame number to read from disk (by default this is the current time). The result is compared against the firstFrame and lastFrame values and, if necessary, any remapping of the actual frame number is done based on the inMode and outMode settings. You can retime or offset your input by using an expression or a curve here, but note that currently Katana only reads the nearest frame and doesn't generate in-between frames (no optical flow interpolation). The value is forced to an integer at the time it's used, so you don't need to worry about this if you don't want to. |
inMode |
Black |
Sets what to do when a frame is required at a time value prior to firstFrame: • Black • Freeze • Repeat • Mirror |
outMode |
Black |
Sets what to do when a frame is required at a time value after lastFrame: • Black - • Freeze • Repeat • Mirror |
firstFrame |
globals.inTime |
Sets the first valid frame of the sequence of images on disk. If a frame prior to firstFrame is required, its contents are determined based on inMode. If the file control has frame range values in it and this control is left at its default value, the value in the file control is obeyed. |
lastFrame |
globals.outTime |
Sets the last valid frame of the sequence of images on disk. If a frame beyond lastFrame is required, its contents are determined based on outMode. If the file control has frame range values in it and this control is left at its default value, the value in the file control is obeyed. |
lockSettings |
disabled |
When enabled, the firstFrame, lastFrame, inMode, and outMode values aren't automatically updated when a new file sequence is chosen. |
missingFrames |
Error |
Specifies what to do if a frame is not found: • Error - have the render fail with an error. • Black - replace any missing frames with black. • Nearest - replace any missing frames with the nearest frame. • Checkerboard - replace any missing frames with a checkerboard image. Note: If no frames in the image sequence are present, the render fails regardless of this control's setting. |
advanced |
||
includeInErrorChecking |
enabled |
When enabled, Katana includes this node when it automatically checks ImageRead nodes for errors. When disabled, Katana excludes this node when it automatically checks ImageRead nodes for errors. |