pfsoutimgmagick man page

pfsoutimgmagick — Write images or frames using Image Magick library


pfsoutimgmagick [--linear] [--quality <val>] [--bit-depth] [--frames <range>]) <file> [<file>...]


This command can write images or frames in the multitude of image formats supported by the ImageMagick library. This includes but is not limited to: BMP, JPG, PNG, GIF, EPS, TIFF, DPX. See the manual page of ImageMagick for the full list of available formats.

pfsoutimgmagick reads images or frames in pfs format from the Standard Input and writes them under the specified file name(s).

The input of pfsinimgmagick must be within 0-1 range. If LUMINANCE tag set is set to RELATIVE or ABSOLUTE, the linear values will be gamma corrected, assuming sRGB color space. Use --linear switch to disable gamma correction.

The images are stored using the bit-depth for which the ImageMagick library was compiled (default is 16 bit). Note that some formats (for example JPEG) do not support encoding more than 8 bits per color channel. To use higher bit-depths, store images in the PNG format.

This command stores 'ALPHA' channel if it is present in the pfs stream.

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.

--quality <val>, -q <val>

Set JPEG/PNG compression level from 1 to 100. Default 75.

--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 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).


pfsoutimgmagick can not write frames to the standard output.

Please report bugs and comments on implementation to  the discussion group

See Also

pfsout(1) ImageMagick(1)