pfsinppm(1)
NAME
pfsinppm - Load images or frames in PBM formats
SYNOPSIS
pfsinppm (<file> [--linear] [--absolute <max_lum>] [--frames <range>] [--skip-missing]) [<file>...]
DESCRIPTION
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.
OPTIONS
- --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.
- --skip-missing
- 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.
- --linear, -l
- 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 <max_lum>, -a <max_lum>
- --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>.
EXAMPLES
- pfsinppm frame%04d.ppm --frames 0:10 | pfsview
- Read frames from files frame0000.ppm, frame0001.ppm, ..., frame0010.ppm and show them using pfsview.
BUGS
Please report bugs and comments on implementation to the discussion
group http://groups.google.com/group/pfstools