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 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
--keep-xyz
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 format is 16-bit and floating points values used in pfs stream are 32-bit, this conversion 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.
--fix-halfmax
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
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 http://groups.google.com/group/pfstools