DOKK / manpages / debian 12 / pfstools / pfsinppm.1.en
pfsinppm(1) General Commands Manual pfsinppm(1)

pfsinppm - Load images or frames in PBM formats

pfsinppm (<file> [--linear] [--absolute <max_lum>] [--frames <range>] [--skip-missing]) [<file>...]

pfsinppm command loads images in PBM formats (PPM, PNM or PGM) and writes pfs stream to the standard output. The pfs stream is usually piped to another program for further processing. To detect the format automatically based on the extension, use pfsin command. For more information on PBM formats, refer to the NetPBM web page (http://netpbm.sourceforge.net/).

Note that PPM or PNM images are low dynamic range. Therefore pixel values (0-255) are scaled to 0-1 before storing them in pfs stream. Similarly, before writing low dynamic range image from pfs stream, pixel values are multiplied by 255. By default, the 'LUMINANCE' tag is set to 'DISPLAY'. The '--linear' switch can force the inverse sRGB transformation and provide linear data. In this case the 'LUMINANCE' tag is set to 'RELATIVE'. '--absolute' switch can be used to convert pixels to absolute luminance values.

To read images from standard input use a single dash '-' instead of filename. The images are read until EOF is reached.

Each file 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. See the OPTIONS section below for details.

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.

Skip up to ten frames in a row if corresponding files are missing. Otherwise the program stops reading sequence at the first file that does not exists. This switch does not apply to the first frame in a sequence. This switch can be useful if there is a rendered animation where some of the frame has not been generated.

Converts pixel values to linear luminance (XYZ), assuming the sRGB color space for the input image. The maximum pixel value (255,255,255) is mapped to Y=1. LUMINANCE tag is set to RELATIVE.

--absolute converts pixel values to an absolute linear luminance (XYZ), that is the color space, in which channel Y contains luminance given in cd/m^2. The sRGB color space is assumed for the input image. The maximum pixel value (255,255,255) is mapped to Y=<max_lum>. <max_lum> is typically set to 80 [cd/m^2] for a CRT monitor. LUMINANCE tag is set to ABSOLUTE. --absolute process images almost the same as --relative, but additionally it scales all pixels by <max_lum>.

Read frames from files frame0000.ppm, frame0001.ppm, ..., frame0010.ppm and show them using pfsview.

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

pfsin(1), pfsout(1)