pfsoutppm(1) Write images or frames

Other Alias

pfsouttiff, pfsoutrgbe, pfsoutexr


pfsoutppm (<file> [--srgb] [--frames <range>]) [<file>...]

pfsouttiff (<file> [--srgb] [--frames <range>]) [<file>...]

pfsoutrgbe (<file> [--frames <range>]) [<file>...]

pfsoutexr (<file> [--frames <range>]) [<file>...]


This command can be used to write pfs frames piped to standard input in one of the several recognized formats. See the manual page of pfsinppm to get a list of available formats.

To write images to standard output use a single dash '-' instead of filename.

Each file name can contain a %d pattern, which is substituted with frame numbers. The pattern has the same syntax as C printf command. For example, you can use %04d to make the frame number four digit with proceedings zeros. You can select the frames using the following options (the options must be always given after the file name):

--frames <range>
Range is given in mathlab / octave format:


Frame numbers start with startframe (default 0), are increased by step (default 1) and stop at endframe You can skip one of those values, for example 1:100 for frames 1,2,...,100 and 0:2: for frame 0,2,4,... up to the last file that exists.

--srgb, -s
Apply the sRGB non-linearity (approximately 2.2 gamma) before writing a file. This can be used instead of using pfsgamma -g 2.2 to store the result of some tone-mapping operators. The option will compress contrast to make sure that tone values are properly shown on a display. It should be only used with linearized (not gamma corrected) images that are normalized to the 0-1 range.
--bit-depth <val>, -b <val>
Enforce bit-depth (per color channel). The allowed values are from 8 to 32. If not specified, the bit depth from the pfs stream ('BITDEPTH' tag) will be used instead. If the 'BITDEPTH' tag is missing, the ImageMagick default value will be used (usually 16). The bit depth of actually stored file may be lower of that specified, if the file format does not support higher bit depths.


 pfsin memorial.tiff | pfsoutrgbe memorial.hdr
Converts from one HDR format to another
pfsin test.jpg | pfsout test.png
Convert from one image format to another.

 pfsin --linear test.jpg | pfsout --srgb test.png
The same as above, but apply inverse gamma correction after reading an image (--linear) and then apply gamma correction before writing an image (--srgb).


Writing TIFF files with pfsouttiff seems to be broken, but pfsoutimgmagick can be used instead. pfsout will attempt to use pfsoutimgmagick and fall back to pfsouttiff if pfstools were not compiled with ImageMagick.

Please report bugs and comments on implementation to the discussion group