1998-04-03 03:09:38 -04:00
|
|
|
\section{Built-in Module \module{imgfile}}
|
1997-07-17 13:34:52 -03:00
|
|
|
\label{module-imgfile}
|
1994-01-01 21:22:07 -04:00
|
|
|
\bimodindex{imgfile}
|
|
|
|
|
1998-04-03 03:09:38 -04:00
|
|
|
The \module{imgfile} module allows Python programs to access SGI imglib image
|
1994-01-01 21:22:07 -04:00
|
|
|
files (also known as \file{.rgb} files). The module is far from
|
|
|
|
complete, but is provided anyway since the functionality that there is
|
|
|
|
is enough in some cases. Currently, colormap files are not supported.
|
|
|
|
|
|
|
|
The module defines the following variables and functions:
|
|
|
|
|
|
|
|
\begin{excdesc}{error}
|
|
|
|
This exception is raised on all errors, such as unsupported file type, etc.
|
|
|
|
\end{excdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getsizes}{file}
|
|
|
|
This function returns a tuple \code{(\var{x}, \var{y}, \var{z})} where
|
|
|
|
\var{x} and \var{y} are the size of the image in pixels and
|
|
|
|
\var{z} is the number of
|
|
|
|
bytes per pixel. Only 3 byte RGB pixels and 1 byte greyscale pixels
|
|
|
|
are currently supported.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{read}{file}
|
|
|
|
This function reads and decodes the image on the specified file, and
|
1998-04-03 03:09:38 -04:00
|
|
|
returns it as a Python string. The string has either 1 byte greyscale
|
1994-01-01 21:22:07 -04:00
|
|
|
pixels or 4 byte RGBA pixels. The bottom left pixel is the first in
|
1998-04-03 03:09:38 -04:00
|
|
|
the string. This format is suitable to pass to \function{gl.lrectwrite()},
|
1994-01-01 21:22:07 -04:00
|
|
|
for instance.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
1998-03-17 02:33:25 -04:00
|
|
|
\begin{funcdesc}{readscaled}{file, x, y, filter\optional{, blur}}
|
1994-01-01 21:22:07 -04:00
|
|
|
This function is identical to read but it returns an image that is
|
|
|
|
scaled to the given \var{x} and \var{y} sizes. If the \var{filter} and
|
|
|
|
\var{blur} parameters are omitted scaling is done by
|
|
|
|
simply dropping or duplicating pixels, so the result will be less than
|
|
|
|
perfect, especially for computer-generated images.
|
|
|
|
|
|
|
|
Alternatively, you can specify a filter to use to smoothen the image
|
|
|
|
after scaling. The filter forms supported are \code{'impulse'},
|
|
|
|
\code{'box'}, \code{'triangle'}, \code{'quadratic'} and
|
|
|
|
\code{'gaussian'}. If a filter is specified \var{blur} is an optional
|
|
|
|
parameter specifying the blurriness of the filter. It defaults to \code{1.0}.
|
|
|
|
|
1994-08-08 09:30:22 -03:00
|
|
|
\code{readscaled} makes no
|
1994-01-01 21:22:07 -04:00
|
|
|
attempt to keep the aspect ratio correct, so that is the users'
|
|
|
|
responsibility.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{ttob}{flag}
|
|
|
|
This function sets a global flag which defines whether the scan lines
|
|
|
|
of the image are read or written from bottom to top (flag is zero,
|
|
|
|
compatible with SGI GL) or from top to bottom(flag is one,
|
|
|
|
compatible with X). The default is zero.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
1998-03-17 02:33:25 -04:00
|
|
|
\begin{funcdesc}{write}{file, data, x, y, z}
|
1994-01-01 21:22:07 -04:00
|
|
|
This function writes the RGB or greyscale data in \var{data} to image
|
|
|
|
file \var{file}. \var{x} and \var{y} give the size of the image,
|
|
|
|
\var{z} is 1 for 1 byte greyscale images or 3 for RGB images (which are
|
|
|
|
stored as 4 byte values of which only the lower three bytes are used).
|
|
|
|
These are the formats returned by \code{gl.lrectread}.
|
|
|
|
\end{funcdesc}
|