pfsoutexr - Man Page

Write images or frames in OpenEXR format


pfsoutexr [--compression <method>] [--float32] [--clamp-halfmax] (<file> [--frames <range>])  [<file>...]


Use this command to write frames in OpenEXR format. Source pfs frames should be piped to the Standard Input. This command can write arbitrary channels to OpenEXR as 32-bit floating point numbers. However, color channels are converted to 16-bit half-float format by default unless --float32 option is specified.

All tags from pfs stream are stored in an OpenEXR file as String attributes. Tags assigned to channels are stored in the format <channel_name>:<tag_name>, so that pfsinexr can later restore tags in the appropriate channels.

The depth channel DEPTH is renamed to Z to keep compatibility with pfsinexr. If the luminance is absolute (tag LUMINANCE set to ABSOLUTE), WhiteLuminance attribute in OpenEXR file is set to 1.

Details on the format of the pattern file names, which are used for saving multiple frames, can be found in the manual page of pfsoutppm.

--compression <method>, -c <method>

Use one the the available compression methods:

NO - no compression

RLE - run length encoding

ZIPS - zlib compression, one scan line at a time

ZIP - zlib compression, in blocks of 16 scan lines

PIZ - piz-based wavelet compression (default)

PXR24 - lossy 24-bit float compression

--float32,  -3

If this option is specified, color channels are stored as 32-bit floating point numbers instead of 16-bit half-floats. In most cases half-float numbers offer sufficient precision so this the default behavior. Note that storing color channels in 32-bit format makes resulting files very large.

--clamp-halfmax,  -p

The maximum value that can be stored in OpenEXR file is limited to 65504 if 16-bit HALF float is used (color channels are stored by default in this format unless --float32 switch is specified). If the luminance data is calibrated in absolute values (cd/m^2), pixel values can easily exceed 65504. To avoid clamping large pixel values, pfsoutexr rescales data to the range that is valid for 16-bit HALF float format and the scale factor used for rescaling is stored in OpenEXR file as OpenEXR standard attribute WhiteLuminance, so that pfsinexr can later restore the absolute values. Use the option --clamp-halfmax to disable this behavior and clamp half-float values instead.


pfsin memorial.hdr | pfsoutexr memorial.exr

Converts from one HDR format to another

See Also

pfsout(1) pfsoutppm(1) pfsinexr(1)


pfsinexr and pfsoutexr can not take stdin / stdout as an input/output (dash '-' instead of file name).

Please report bugs and comments on implementation to  the discussion group

Referenced By