Remove boundary values from a table

TABLE_UNBORDER is a C++ program which removes boundary values from a table.

To understand what's going on, assume that we begin with a set of (scalar) values on an M by N grid; we illustrate with M = 5 and N = 7:

        11  12  13  14  15  16  17
        21  22  23  24  25  26  27
        31  32  33  34  35  36  37
        41  42  43  44  45  46  47
        51  52  53  54  55  56  57

Suppose, for some reason, that we only want to consider the data in the "interior" of the grid; that is, we want the M-2 by N-2 array created by removing the first and last rows and columns. For our example, this would be:

        22  23  24  25  26
        32  33  34  35  36
        42  43  44  45  46

The TABLE_UNBORDER program is designed to do this, using the command line.

Now we are probably going to be dealing with much larger sets of data, stored in a file. So we have to figure out the rules for doing that.

Input file format: The initial data, which is "really" an M by N array, is to be thought of as a vector of length M * N, created by listing the first column, the second column, and so on to the last column. This data is stored in a file using the TABLE format. Our example data would be:

        # Comments are OK in a file if preceded by the comment character!
We will presume this file is called "u.txt".

(Pie in the Sky): In a future version of this program, the data at each node will be allowed to be vector-valued. That's one reason we are forcing the data currently to be listed with just a single value per line in the file!


table_unborder u.txt v.txt 5 7
reads the file u.txt containing a matrix of 5 rows and 7 columns, and removes the "border" values, writing the result to v.txt.
will prompt interactively for the four missing arguments.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


TABLE_UNBORDER is available in a C++ version and a FORTRAN90 version.

Related Data and Programs:

TABLE, a data format which is used for the input and output of TABLE_UNBORDER.

TABLE_BORDER, a C++ program which can be used to add a border (of zero values) to a table file.

TABLE_DELAUNAY, a C++ program which reads a file of 2d point coordinates and computes the Delaunay triangulation.

TABLE_IO, a C++ library which can read or write a TABLE file.

TABLE_LATINIZE, a C++ program which can read a TABLE file and write out a "latinized" version.

TABLE_QUALITY, a C++ program which can read a TABLE file and print out measures of the quality of dispersion of the points.

TABLE_VORONOI, a C++ program which can read a TABLE file describing a set of 2D points, and print out information describing the Voronoi diagram of those points.

Source Code:

Examples and Tests:

Our test files are the results of the command:

table_unborder u_01.txt v_01.txt 7 5
Note that the program will automatically repeat the command on a numerical sequence of input files! Test files you may copy include:

List of Routines:

You can go up one level to the C++ source codes.

Last revised on 12 November 2006.