TABLE Files
A file format for double indexed data
These are some examples of TABLE files, which are a simple
homegrown storage format for doubly indexed data.
A TABLE file has a simple structure. There are three kinds of records:
-
COMMENT LINES begin with the character '#' and are ignored;
-
BLANK LINES are ignored, but could be used by a particular
program to indicate some intending grouping or separation of
records.
-
COORDINATE LINES each contain one set of point coordinates;
Example TABLE Files:
Example: 3 points in 2D
# Corners of a triangle
#
0.0 0.0
1.0 0.0
0.0 1.0
Example: 4 points in 3D
# Corners of a tetrahedron
#
0.0 0.0 0.0
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
Example: 3 points in 7D
# Three points in 7 dimensions.
#
0.7 0.2 0.2 0.3 0.5 0.6 0.3
1.9 1.3 1.2 2.2 2.2 2.2 9.1
0.9 0.7 1.1 0.4 0.8 2.7 0.0
Related Data and Programs:
Two special cases of this format are
TABLE File Characteristics:
-
ASCII
-
No compression
-
1 "image"
Programs to create a TABLE file:
-
CCVT_BOX
produces a TABLE file of N points in 2 dimensions, as a centroidal
Voronoi tessellation, in a box, with given point density, and
with some points projected onto the boundary.
-
CVT_DATASET, available in
a C++ version,
a FORTRAN90 version, and
a MATLAB version,
produces a TABLE file of N points in M dimensions, as a centroidal
Voronoi tessellation.
-
CVT_MOD_DATASET
produces a TABLE file of N points in M dimensions, as a centroidal
Voronoi tessellation on a unit hypercube with modular arithmetic.
-
FAURE_DATASET
produces a TABLE file of N points in M dimensions,
from a Faure sequence.
-
GRID_DATASET
produces a TABLE file of N points in M dimensions, as a regular grid.
-
HALTON_DATASET, available in
a C++ version and
a FORTRAN90 version, and
a MATLAB version,
produces a TABLE file of N points in M dimensions,
from a Halton sequence.
-
HAMMERSLEY_DATASET, available in
a C++ version and
a FORTRAN90 version, and
a MATLAB version,
produces a TABLE file of N points in M dimensions,
from a Hammersley sequence.
-
HEX_GRID_DATASET, available in
a C++ version,
a FORTRAN90 version, and
a MATLAB version,
produces a TABLE file of N points in 2 dimensions,
as a hexagonal grid of points in a rectangle.
-
IHS_DATASET
produces a TABLE file of N points in M dimensions,
from an Improved Hypercube Sampling pointset.
-
LATIN_CENTER_DATASET
produces a TABLE file of N points in M dimensions,
from a Latin hypercube pointset with centering.
-
LATIN_EDGE_DATASET
produces a TABLE file of N points in M dimensions,
from a Latin hypercube pointset with edge "centering".
-
LATIN_RANDOM_DATASET
produces a TABLE file of N points in M dimensions,
from a Latin hypercube pointset with random "centering".
-
LCVT_DATASET
produces a TABLE file of N points in M dimensions, containing
a Latin hypercube dataset derived from a centroidal
Voronoi tessellation.
-
NIEDERREITER2_DATASET
produces a TABLE file of N points in M dimensions,
from a Niederreiter sequence base 2.
-
RANDOM_DATA
can produce a set of points that are randomly sampled from a
given 2D or 3D geometric shape.
-
RBOX
will produce a random sample of points according to a given
distribution, and over a given geometric shape. The resulting
output file is ALMOST a TABLE file (you just need to delete the
two initial records that list the spatial dimension and number
of points.)
-
RSITES
will produce a set of N points in M dimensional space,
with the user allowed to specify the SEED to be passed to the
C++ RAND routine. Point coordinates are integers between 0
and 999999.
-
SOBOL_DATASET
produces a TABLE file of N points in M dimensions,
from a Sobol sequence.
-
UNIFORM_DATASET, available in
a C++ version,
a FORTRAN90 version, and
a MATLAB version,
produces a TABLE file of N points in M dimensions,
containing a uniform pseudorandom sequence.
Programs to view a TABLE file:
-
PLOT_POINTS
will read a TABLE file, allow the user to choose any two coordinates
to play the role of X and Y, and create an
Encapsulated PostScript graphics file
image of the (X,Y) projection of the points. It can also compute
and display Voronoi diagrams and Delaunay triangulations in this
two dimensional projection.
-
TABLE_BARPLOT_PPMA will read a TABLE file and create a
PPMA graphics file
representation of the data as a bar plot.
-
TABLE_HISTOGRAM will read a TABLE file and create a
historgram of the data.
-
TABLE_TOP
reads a TABLE file and creates plots of all pairs of data coordinates,
creating one
PostScript graphics file of the results.
-
TABLE_VORONOI
will read a TABLE file of N points in 2D, compute and print
information about the Voronoi diagram defined by the points.
Programs to process a TABLE file:
-
DECOMMENT
will read a TABLE file and write out a copy, from which all
the comment lines have been deleted.
-
TABLE_BORDER
will read a TABLE file representing an N1 by N2 dataset
and write out a copy, representing an (N1+2) by (N2+2) dataset,
in which the additional entries are zeros, presumably representing
boundary values along the geometric border of the N1 by N2 data.
-
TABLE_COLUMNS
will read a TABLE file and write out a copy, in which the
user can specify which columns are to be selected, in
what order they show up, and whether they are repeated.
-
TABLE_DELAUNAY
will read a TABLE file of N points in 2D, compute and print
information about the Delaunay triangulation defined by the points.
-
TABLE_DIAPHONY
will read a TABLE file and compute the diaphony, a measure
of the uniformity of the point dispersion in the unit hypercube.
-
TABLE_DISCREPANCY
will read a TABLE file and compute upper and lower bounds
for the discrepancy, a measure of the uniformity of the
point dispersion in the unit hypercube.
-
TABLE_LATINIZE, available in
a C++ version,
a FORTRAN90 version, and
a MATLAB version,
is a program which
reads a TABLE file and adjusts it so that it is a Latin hypercube.
-
TABLE_ORTHONORMALIZE
reads a set of 2D TABLE files (XY files) with numerically increasing
names, and outputs an orthonormal set of vectors that span the
same space.
-
TABLE_QUALITY, available in
a C++ version,
a FORTRAN90 version, and
a MATLAB version,
reads a TABLE file of N points in M dimensions, contained in the
unit hypercube, and produces measures of the uniform dispersion
of the points.
-
TABLE_SCALE is a FORTRAN90 program which
reads a TABLE file and outputs a copy with every
vector multiplied by a given scale vector.
-
TABLE_SHIFT is a FORTRAN90 program which
reads a TABLE file and outputs a copy with a fixed displacement
vector added to every data point.
-
TABLE_UNIFORM_NOISE is a FORTRAN90 program which
reads a TABLE file and outputs a copy with every entry modified
by the addition of scaled uniform noise.
-
TABLE_VORONOI
will read a TABLE file of N points in 2D, compute and print
information about the Voronoi diagram defined by the points.
Routines to read a TABLE file:
Routines to write a TABLE file:
Examples of TABLE files:
-
The CVT dataset collection,
tables of pointsets in M dimensions, generated by the
centroidal Voronoi tessellation technique;
-
The CVT MOD dataset collection,
tables of pointsets in M dimensions, generated by the
centroidal Voronoi tessellation technique with a special
modularized geometry that eliminates boundary effects;
-
diamond_02_00009.txt,
9 points in 2D, whose Voronoi diagram includes a diamond;
-
The FAURE dataset collection,
tables of pointsets in M dimensions, generated by the Faure
quasirandom sequence;
-
The GRID dataset collection,
tables of pointsets in M dimensions, generated by choosing
(some) points on a regular grid;
-
The HALTON dataset collection,
tables of pointsets in M dimensions, generated by the
Halton quasirandom sequence;
-
The HAMMERSLEY dataset collection,
tables of pointsets in M dimensions, generated by the
Hammersley quasirandom sequence;
-
The HEX GRID dataset collection,
tables of pointsets in M dimensions, generated by constructing
a hexagonal grid in a rectangle;
-
The Improved Hyper Square dataset collection,
tables of pointsets in M dimensions which are Latin hypercubes,
with a shuffling scheme applied to improve the distribution;
-
The LATIN CENTER dataset collection,
tables of pointsets in M dimensions which are Latin hypercubes,
with each point chosen in the center of its subsquare;
-
The LATIN EDGE dataset collection,
tables of pointsets in M dimensions which are Latin hypercubes,
with the point chosens as the corners of the subsquares;
-
The LATIN RANDOM dataset collection,
tables of pointsets in M dimensions which are Latin hypercubes,
with each point chosen randomly from a subsquare;
-
The LCVT dataset collection,
tables of pointsets in M dimensions, generated by the
"latinized" CVT technique;
-
The LCVT MOD dataset collection,
tables of pointsets in M dimensions, generated by the
"latinized" CVT technique with a MOD operation employed
to eliminate boundary effects;
-
The LHS dataset collection,
tables of pointsets in M dimensions, generated by the
Latin Hyper Square system;
-
The NIEDERREITER2 dataset collection,
tables of pointsets in M dimensions, generated by the
Niederreiter quasirandom sequence with base 2;
-
The orthogonal array collection,
tables of integer matrices, which are a generalization of
Latin squares;
-
The Romero dataset collection,
tables of pointsets in M dimensions, generated by the
"latinized" CVT technique;
-
The SAMPLE2D dataset collection,
tables of pointsets in M dimensions, generated by a variety
of techniques;
-
The SOBOL dataset collection,
tables of pointsets in M dimensions, generated by the
Sobol quasirandom sequence;
-
the SPAETH dataset,
a set of files of data for demonstrating clustering techniques.
-
the SPAETH2 dataset,
a set of files of data for demonstrating clustering techniques.
-
tetrahedron_03_00004.txt,
4 points in 3D, which form a tetrahedron;
-
The UNIFORM dataset collection,
tables of pointsets in M dimensions, generated by a
a simple uniform pseudorandom number generator;
You can go up one level to
the DATA page.
Last revised on 23 January 2006.