pfsoutexr - Write images or frames in OpenEXR format
pfsoutexr [--compression <method>] [--keep-xyz] (<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, color channels
XYZ however are specially handled (see option keep-xyz).
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 lumi-
nance 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
By default, color channels XYZ from pfs stream are converted to RGB color space and
HALF format, which is a standard format for color data in OpenEXR. Since Half for-
mat is 16-bit and floating points values used in pfs stream are 32-bit, this con-
version causes loss of precision. When keep-xyz option is specified, color channels
XYZ are stored as they are without any conversion (32-bit float XYZ channels). Note
however, that most OpenEXR applications can recognize only RGB Half format images
and can not handle 32-bit XYZ.
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
--keep-xyz 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 can rescale data to the range that is valid for 16-bit HALF
float format when --fix-halfmax switch is specified. If this switch is missing, a
warning message is displayed. Scale factor used for rescaling is stored in OpenEXR
file as OpenEXR standard attribute WhiteLuminance, so that pfsinexr can later
restore the absolute values.
pfsin memorial.hdr | pfsoutexr memorial.exr
Converts from one HDR format to another
pfsout(1) pfsoutppm(1) pfsinexr(1)
pfsinexr and pfsoutexr can not take stdin / stdout as an input/output (dash '-' instead of
Please report bugs and comments on implementation to the discussion group