ImageWrite
ImageWrite writes its incoming image to a file on disk. The ImageWrite node, unless defaults are overridden, converts images from Katana's linear colorspace to the colorspace named in the filename. Katana image processing nodes work entirely in floating point, so images are also converted from floating point to the bit depth specified in the options for the format.
ImageWrite contains controls (channels and outputFrame) to force the output regardless of what may be coming into the node. However, if the output format cannot support the settings (for example, .jpeg doesn't support an alpha channel), the extra information is discarded.
The ImageWrite node supports the following file formats: .exr, .rla, .cin, .png, .tif, .tiff, .jpg, .jpeg, .dpx, and .hist.
Connection Type |
Connection Name |
Function |
Input |
in |
The incoming image that you want written to a file on disk. |
Control (UI) |
Default Value |
Function |
passName |
comp |
Sets the name used in the directories generated for this ImageWrite node. The passName should be unique for each ImageWrite node in the scene. |
activeViews |
main |
Determines which views generate output images when hot-rendered or batch-rendered • • main - Only the main view generates output images. • left - Only the left view generates output images. •
|
singleFrame |
disabled |
When enabled, Katana only renders a single frame (for example, image_res.0001.exr) rather than an image sequence (for example, image_res.#.exr). You can specify the frame number using the frame control below. This also produces a render error when rendering on any frame other than the specified frame. |
singleFrame: enabled |
||
frame |
globals.inTime |
Sets the frame to render when singleFrame is enabled. |
inputs |
||
[identifier] |
N/A |
Defines short input identifiers. The identifier is included in the input/output input names and is used as a prefix for the output asset rep. %V is replaced with the view name. %v is replaced with the appropriate asset token. Note: Input identifiers have no effect on file names, only assets. |
mode |
file |
Sets whether to write a file or define a dependency: • file • dependency |
file |
N/A |
Sets the file path and name for the rendered image(s). Note: If mode is set to dependency, this control is hidden. |
inputs > mode: file > image |
||
proxyOnCue |
enabled |
|
channels |
Input |
Selects the channels to render: • RGBA - Render the red, green, blue, and alpha channels. If any of the color channels are missing from the input, they are filled with 0 (pure black). If the alpha channel is missing, it is filled with 1 (pure white or fully opaque). • RGB - Render the red, green, and blue channels. If any of these channels are missing from the input, they are filled with 0 (pure black). • A - Only render the alpha channel. If this channel is missing from the input, it is filled with 1 (pure white or fully opaque). • Input - Render all channels that exist in the input. If the file format does not support the input channel configuration, required but missing channels are filled with 0 (color channels) or 1 (alpha). |
rawData |
disabled |
When enabled, Katana skips the automatic colorspace conversion (that is, the conversion from its native linear floating-point format to the output colorspace). |
colorspace |
linear |
Katana converts from linear to this colorspace when writing the file to disk. The default value, auto, means Katana tries to determine the output colorspace from the file name. |
colorConvert |
enabled |
When enabled, Katana converts rendered image data from its native linear colorspace to the output colorspace specified in the file name. This is desirable in nearly every situation. A case where you would want to set this to disabled is if you know the data being rendered is in a colorspace other than linear (such as the re-projection of a log plate) and you want to name the output file log without a linear to log conversion. |
fileFormat |
exr |
Sets the file format to output: • auto - Katana tries to determine the output format from the file name. • exr • rla • cin • png • tif • tiff • jpg • jpeg • dpx • hist |
inputs > mode: file > image > fileFormat: exr |
||
exrCompression |
Wavelet |
Defines the exr compression method to use. All methods are lossless (with the exception of Pixar 24, which is lossless but restricts the pixels to 24-bit float). Wavelet is generally preferable as it offers ~2:1 compression even on grainy data. |
exrBitDepth |
16 |
Sets the floating point precision of the rendered exr file: • 16 - half float. This is recommended for all color passes. • 32 - full float. This is recommended for all ncf data arbitrary output variables (AOVs). |
exrType |
Tiled |
Sets whether the exr file is written to support: • Tiled - random tile access. • Scanline - random scanline access. |
comments |
N/A |
Optional field for any comments you want to store in the output file's comment metadata field. Currently, this is only supported on the exr file format. |
inputs > mode: file > image > fileFormat: exr > exrType: Tiled |
||
exrTileWidth |
256 |
Sets the tile width to use when writing to tiled exr files. |
exrTileHeight |
256 |
Sets the tile height to use when writing to tiled exr files. |
exrTileWorldAlign |
disabled |
When enabled (in conjunction with shrinkwrapping), the data rectangle is adjusted (top+left) so that the internal tile boundaries are aligned with world coordinates. This improves memory usage / performance for programs that process image tiles (such as Katana). Note: This does not guarantee that tiles are aligned - it merely attempts to meet this condition. |
inputs > mode: file > image > fileFormat: rla |
||
rlaBitDepth |
auto |
Sets the bit depth of the rendered file. The default value, auto, means Katana tries to determine the bit depth from the colorspace. The other options are: • 8-bit • 10-bit • 16-bit • 32-bit |
inputs > mode: file > image > fileFormat: png |
||
pngBitDepth |
auto |
Sets the bit depth of the rendered file. The default value, auto, means Katana tries to determine the bit depth from the colorspace. The other options are: • 8-bit • 16-bit |
inputs > mode: file > image > fileFormat: tif or tiff |
||
tifCompression |
LZW |
The tiff compression method to use: • None - No compression method is used. • LZW - The LZW compression method is used. This is lossless, so it is usually preferable to use it unless there is an issue with compatibility in the target reader. |
tifBitDepth |
auto |
The bit depth of the rendered file. The default value, auto, means Katana tries to determine the bit depth from the colorspace. • 8-bit • 16-bit • 32-bit |
tifPredictor |
None |
The predictor type to use when tifCompression is enabled: • None - No prediction is used. • Horizontal - Horizontal prediction is used. This can result in smaller file sizes, but may present compatibility issues for some programs, such as MAXON's Cinema4D. |
inputs > mode: file > image > fileFormat: jpg or jpeg |
||
jpgQuality |
100 |
The quality to use when generating the jpg file. Higher values generate larger file sizes, with 100 representing the best quality image and 0 representing the lowest. |
inputs > mode: file > bounds |
||
displayWindow |
input |
The frame size to write to the file: • input - Use the frame size from the input. This crops off image data outside the frame or pads the frame with black if the image bounds do not fill the frame already. • manual - Crop the output to the specified frame size, padding with black if necessary. |
dataWindow |
shrinkwrap |
The image area to write to the file: • shrinkwrap - Make sure the area is no larger than the frame size. This is the typical choice. If the format supports separate data and display windows (for example, the exr format does), the data window is clipped to the frame. • displayWindow - Write whatever area the input image data window covers (even if it exceeds the frame size). This only works with formats like exr that support a data window different from the display window. This is useful for writing out overscan images where the data extends beyond the frame. • manual - Crop the image area to the specified size, padding with black if necessary. Note: Make sure other applications you are using support the selection you make. For example, if you select displayWindow, any other applications that read the output need to be able to handle separate data and display windows. You also need to use a format (like exr) that supports the concept, otherwise the data window is still clipped to the frame. |
inputs > mode: file > bounds > overscan |
||
left |
0 |
Overscan specifies the number of pixels to pad the render request in each direction during a disk render (including batch renders). The display window is unchanged, but this expands the data window to include any extra input data that has been made available by the expanded render request. Note that if dataWindow is set to shrinkwrap, the data window is still shrunk inward to encompass only the non-zero pixels in the image. Overscan simply enlarges the area that is initially rendered and under consideration for shrinkwrapping. Overscan has no effect when dataWindow is set to manual. You must include the desired overscan amount directly in the manual data window that you set. |
bottom |
0 |
|
right |
0 |
|
top |
0 |
|
inputs > mode: file > bounds > displayWindow: manual |
||
displayWIndowResolution |
512sq |
Sets the resolution of the display window using the dropdown menu. This is a useful override if there exists different resolution names with the same resolution width and height. |
width |
512 |
Defines the display window resolution manually. |
height |
512 |
|
postScripts > Add |
||
Add Post Script |
N/A |
Allows you to add post script commands. |
farmSettings |
||
setActiveFrameRange |
disabled |
Sets how the active frame range for rendering is defined: When enabled, the activeFrameRange controls are displayed, which define the active frame range for rendering. When disabled, Katana assumes that the active frame range is the same as the range between globals.inTime and globals.outTime. These settings affect outline file generation and guarantee that even if the node is called to render, it only writes files for frames in the active range. |
farmFileName |
N/A |
Defines the farm file name and path. |
versionUp |
Auto |
Sets whether the outputs of this node are versioned up when rendered on the queue: • Auto - use the global setting specified in the outline file. • Yes - outputs version up. • No - outputs don't version up. |
threadable |
enabled |
Determines whether the queue is allowed to assign multiple cores to a frame of this render. When enabled, the queue may optionally thread the render. When disabled, the queue must use only one core. |
memory |
N/A |
Sets the memory requirement for the farm layer. Memory can be defined as m for megabyte or g for gigabyte. For example, 512m or 2g. |
excludeFromFarmOutput |
disabled |
When enabled, this node does not appear in any generated farm file (however, the node is still renderable if called directly). Enabling this control hides the forceFarmOutputGeneration control. |
forceFarmOutputGeneration |
disabled |
When enabled, this node always appears in generated farm files (regardless of whether it has any valid outputs). Note: If excludeFromFarmOutputGeneration is also enabled, the node does not appear in the generated farm file (excludeFromFarmOutputGeneration overrides forceFarmOutputGeneration). |
farmSettings > setActiveFrameRange: enabled > activeFrameRange |
||
start |
1 |
Sets the first frame in the active frame range when setActiveFrameRange is enabled. |
end |
1 |
Sets the last frame in the active frame range when setActiveFrameRange is enabled. |