---
name: "pfsoutimgmagick"
section: "1"
platform: "linux"
package: "pfstools"
version: "2.2.0-9"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pfsoutimgmagick"
---

# pfsoutimgmagick(1)

Write images or frames using Image Magick library

## NAME

pfsoutimgmagick - Write images or frames using Image Magick library

## SYNOPSIS

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

## DESCRIPTION

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:

  **startframe:step:endframe**

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

## EXAMPLES

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

## BUGS

**pfsoutimgmagick can not write frames to the standard output.**

**Please report bugs and comments on implementation to**  **the discussion group http://groups.google.com/group/pfstools**

## SEE ALSO

[**pfsout**(1)](/pfsout/1.md) [**ImageMagick**(1)](/ImageMagick/1.md)
