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

Enable All - All views generate output images.

main - Only the main view generates output images.

left - Only the left view generates output images.

right - Only the right 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.The other options are:

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
Generation

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.