TABLE_UNBORDER
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!
        #
        11
        21
        31
        41
        51
        12
        22
        ...
        27
        37
        47
        57
      
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!

Usage:

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.
table_unborder
will prompt interactively for the four missing arguments.

Licensing:

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

Languages:

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.