TABLE_SHIFT
Shift a Table Dataset


TABLE_SHIFT is a FORTRAN90 program which adjusts an M dimensional dataset of N points by adding a shift vector to each entry.

TABLE_SHIFT expects the input data file to be in the simple TABLE format.

This program was written partly to provide a visual check of the results of the CVT_MOD_DATASET program, which purports to produce a set of CVT points that "don't know about" the boundary. If that's true, then the picture should be roughly isotropic. That is, you shouldn't notice any significant difference between the pattern near or far from the boundaries. It's hard to tell from a plot of the data whether this is so, but it is possible to use this program to make 3 more copies of the data, shifted by (0,1), (1,0) and (1,1), then concatenate the original and three copies, and make a plot of the new data over [0,0] x [2,2], and see whether there are boundary effects. Such a comparison is made in the test data below.

Example:

For some reason, you need to concatenate two graphics files. For technical reasons, this will work, as long as we can increment all the indices in the second file by 100.

File 1 looks like this:

        1  2  3
        4  5  6
        7  8  9
       10 11 12
      
and File 2 looks like this:
        3  2  1
        6  5  4
        9  8  7
       12 11 10
      
but we want the values in File 2 to be increased by 100 before we merge the files. So we just say:

        table_shift file2.txt
      
and then specify a shift vector of (100,100,100) to get a transformed File 2 that looks like this:
        103  102 101
        106  105 104
        109  108 107
        112  111 110
      

Usage:

table_shift file.txt
reads the user's data file file.txt, prompts for a shift vector from the user, and then writes the shifted data to a file which will be called file.shift.txt.

Licensing:

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

Languages:

TABLE_SHIFT is available in a FORTRAN90 version.

Related Data and Programs:

FILE_INCREMENT, a MATLAB program which makes a copy of a file containing an integer array, after incrementing each entry by a given value.

TABLE_BARPLOT_PPMA, a FORTRAN90 program which reads a table file and creates a PPMA bargraph of the data.

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

TABLE_COLUMNS, a FORTRAN90 program which can extract specific columns of data from a table file.

TABLE_COLUMNS_PERMUTE, a FORTRAN90 program which permutes the columns of a table file.

TABLE_DELAUNAY, a FORTRAN90 program which computes the Delaunay triangulation of a set of points.

TABLE_HISTOGRAM, a FORTRAN90 program which can make a histogram of a set of points stored in a table file.

TABLE_IO, a FORTRAN90 library which supplies the routines used to read the TABLE file.

TABLE_LATINIZE, a FORTRAN90 program which reads a file of points and creates a "latinized" version by adjusting the data.

TABLE_MERGE, a FORTRAN90 program which reads a file of points, and removes duplicates, and points that are close to each other.

TABLE_ORTHONORMALIZE, a FORTRAN90 program which reads a file of points and orthonormalizes the columns.

TABLE_QUALITY, a FORTRAN90 program which reads a file of points and computes the quality of dispersion.

TABLE_RECORD_MATCH, a FORTRAN90 program which can be used to find close records in a table file.

TABLE_SCALE, a FORTRAN90 program which can be used to multiply the entries of a table file by a scale vector.

TABLE_STATS, a FORTRAN90 program which can read a table file and compute certain statistics.

TABLE_TET_MESH, a FORTRAN90 program which can read a table file of 3D data, and compute a tetrahedral mesh.

TABLE_TOP, a FORTRAN90 program which can read a table file of M-dimensional data and make a table of plots of all pairs of coordinates.

TABLE_UNBORDER, a FORTRAN90 program which can be used to remove the border from a table file.

TABLE_UNIFORM_NOISE, a FORTRAN90 program which can be used to add a uniform noise term to the data in a table file.

TABLE_VORONOI, a FORTRAN90 program which can be used to compute information about the Voronoi diagram of the points.

Source Code:

Examples and Tests:

CVT consists of 100 CVT points computed in a way that incurs boundary effects. Files you may copy include:

CVT MOD consists of 100 CVT points computed in a way that purports to avoid boundary effects. Files you may copy include:

FILE1 and FILE2 are simple integer files that we take to refer to indices of graphical objects. Before merging the two files, we need to add 100 to each entry in FILE2. Files you may copy include:

List of Routines:

You can go up one level to the FORTRAN90 source codes.


Last revised on 13 November 2006.