** lid: ** A file that describes the geometry of a light field.
It is often used in the creation of light fields. Authoring scripts
often use a lid file to set up the parameters for generating the
images. The lifauth program also uses the lid file to convert the
raw images into a lif file.

** lif: ** A file format for representing a light field. It
contains both the geometry information, as well as the pixels.

**light field:** A data structure to represent the flow of
light through a region of free space. Typically, a light field consists
of one or more slabs. Each slab is parameterized by two planes.
Every ray is identified by the coordinates of its intersection with
the two planes (u-v and s-t).

**plane, u-v:** One of the two planes that is used to parameterize
a slab of a light field. Typically, we think of the u-v plane as
the set of all camera locations used to create the slab.
A u-v plane at infinity (i.e. its w coordinate is 0) corresponds
to an orthographic (i.e. all rays parallel) projection.

**plane, s-t:** One of the two planes that is used to parameterize
a slab of a light field. Typically, we think of the s-t plane as
the image plane for each camera location used to create the slab.
An s-t plane at infinity (i.e. its w coordinate is 0) corresponds
to a camera with a fixed-angle field of view.

**slab:** A slab is our basic light field unit. Each slab is
parameterized by two planes, which we call the u-v and s-t planes.

**tile:** Used in VQ compression, a small 4D hypercube of pixels.
For example, a common tile is a 2x2x2x2 hypercube, which would include
16 pixels. In VQ compression, the light field is cut up into tiles,
and the codebook consists of a list of tiles.

**vector quantization (VQ):** A method of lossy compression in which
the light field is divided into small 4D hypercubes, which we call tiles.
The compression program "trains" on a subset of these tiles, and tries
to generate an even smaller subset of tiles (called the codebook), that
can approximate every tile in the light field. Then, for each tile in
the lightfield, we store the number of the the codebook tile that most
closely matches. Thus, instead of storing all the raw data, we just
store the small codebook, and one integer per tile of the light field.