Oops -- Lib/Test should be Lib/test, of course!
[python/dscho.git] / Doc / lib / libimgfile.tex
blobe74fe9e74387a97081524c2d8f970cf6960c4b0d
1 \section{Built-in Module \module{imgfile}}
2 \label{module-imgfile}
3 \bimodindex{imgfile}
5 The \module{imgfile} module allows Python programs to access SGI imglib image
6 files (also known as \file{.rgb} files). The module is far from
7 complete, but is provided anyway since the functionality that there is
8 is enough in some cases. Currently, colormap files are not supported.
10 The module defines the following variables and functions:
12 \begin{excdesc}{error}
13 This exception is raised on all errors, such as unsupported file type, etc.
14 \end{excdesc}
16 \begin{funcdesc}{getsizes}{file}
17 This function returns a tuple \code{(\var{x}, \var{y}, \var{z})} where
18 \var{x} and \var{y} are the size of the image in pixels and
19 \var{z} is the number of
20 bytes per pixel. Only 3 byte RGB pixels and 1 byte greyscale pixels
21 are currently supported.
22 \end{funcdesc}
24 \begin{funcdesc}{read}{file}
25 This function reads and decodes the image on the specified file, and
26 returns it as a Python string. The string has either 1 byte greyscale
27 pixels or 4 byte RGBA pixels. The bottom left pixel is the first in
28 the string. This format is suitable to pass to \function{gl.lrectwrite()},
29 for instance.
30 \end{funcdesc}
32 \begin{funcdesc}{readscaled}{file, x, y, filter\optional{, blur}}
33 This function is identical to read but it returns an image that is
34 scaled to the given \var{x} and \var{y} sizes. If the \var{filter} and
35 \var{blur} parameters are omitted scaling is done by
36 simply dropping or duplicating pixels, so the result will be less than
37 perfect, especially for computer-generated images.
39 Alternatively, you can specify a filter to use to smoothen the image
40 after scaling. The filter forms supported are \code{'impulse'},
41 \code{'box'}, \code{'triangle'}, \code{'quadratic'} and
42 \code{'gaussian'}. If a filter is specified \var{blur} is an optional
43 parameter specifying the blurriness of the filter. It defaults to \code{1.0}.
45 \function{readscaled()} makes no attempt to keep the aspect ratio
46 correct, so that is the users' responsibility.
47 \end{funcdesc}
49 \begin{funcdesc}{ttob}{flag}
50 This function sets a global flag which defines whether the scan lines
51 of the image are read or written from bottom to top (flag is zero,
52 compatible with SGI GL) or from top to bottom(flag is one,
53 compatible with X). The default is zero.
54 \end{funcdesc}
56 \begin{funcdesc}{write}{file, data, x, y, z}
57 This function writes the RGB or greyscale data in \var{data} to image
58 file \var{file}. \var{x} and \var{y} give the size of the image,
59 \var{z} is 1 for 1 byte greyscale images or 3 for RGB images (which are
60 stored as 4 byte values of which only the lower three bytes are used).
61 These are the formats returned by \function{gl.lrectread()}.
62 \end{funcdesc}