Home
Name Modified Size InfoDownloads / Week
example 2016-01-12
src 2016-01-12
README 2016-01-12 5.5 kB
COPYING 2016-01-12 35.1 kB
Totals: 4 Items   40.6 kB 0
                                  ===========
                                  LSFsimple3D
                                  ===========
(Simplified least-squares filter and differentiator for 3 dimensional data sets)

This program calculates filtered and 1st X2 derivative from a discretely sampled
three-dimensional data set, based on the algorithms for least-squares filters and
differentiators that are presented in the paper "Convolution Coefficients for
Multidimensional Least-Squares Filters and Differentiators". The program first
reads the data set from a file, performs an appropriate multidimensional
transform on it, calculates the filtered and partial derivative values of the
tranposed data, and then restores the results back to the original nodal
configuration by performing reverse multidimensional transpose on them.

The program assumes that the sampled data nodes are aligned in a rectilinear
fashion, with the X1 coordinates varying the most, thereafter X2, and thereafter
X3. The spatial coordinates are stored in the 1st, the 2nd, and the 3rd column of
the data file, respectively. The sampled data are stored in the 4th column. Other
columns of the file are ignored.

These values are calculated using quad precision floating point numbers by default.

By commenting out the line "# define QUAD_PRECISION" in "config.h", however, the
computation can be perfomred with double precision floating point numbers. Some
other configuration parameters can also be tuned by editing "config.h". If a line
in the data file starts with the '#' character, or if there are empty lines,
all of them are ignored.



=================
FILES AND FOLDERS
=================

COPYING - This file contains the legal statement of the GPL license, under which the
     source codes of this program are releases.

example - This folder contains files corresponding to an example execution of the
     program. Filtered and 1st X2 derivative are calculated from a three-dimensional
     experimental data set, with a 7x7x5 sized kernel and 3x3x3 ordered polynomial.

example/CC_005x007x007_003x003x003.dat - It contains the pre-calculated convolution
     coefficient matrix which is used to perform the filtering and the differentiation.

example/TKE.dat - This is the file that contains the experimental data set. It has
     seven columns. Content of the 1~4 columns are as explained above; 5th and 6th
     columns contain the filtered and the derivative values, respectively. Therefore,
     the results corresponding to the quad precision calculations whould match with
     these values. The 7th column, which is the last column, contains a number, which,
     if smaller than 1200, indicates that the data sampled at that node is corrupt,
     and therefore it should be ignored when plotting.

example/results.dat - The result file yielded by the program (using quad-precision
     calculations).

example/results(double_precision).dat - The result file yielded by the program during
     an earlier execution, which used double-precision calculations.

README - The current file.

src - This folder contains the source code.



===========
COMPILATION
===========
For quad-precision floating point numbers:
   gcc ./src/*.c -o LSFsimple3D_quad -Wall -O2 -lquadmath

For double-precision floating point numbers:
   gcc ./src/*.c -o LSFsimple3D_dbl -Wall -O2 -lm

When compiling for quad-precision floating point numbers, some compilers may issue
some warning messages associated with 'fprintf'; e.g. following are the issued
messages on my computer. These messages can be safely ignored.

--------------------------- Warning messages -------------------------------
./src/print_results.c: In function ‘print_results’:
./src/print_results.c:50:7: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
       fprintf(ptr, "\t%1.9QE\t\t%1.9QE\t\t%1.9QE\t\t%1.9QE\t\t%1.9QE\t\t%1.9QE\n", X1[J[1]], X2[J[2]], X3[J[3]],\
       ^
./src/print_results.c:50:7: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
./src/print_results.c:50:7: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
./src/print_results.c:50:7: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
./src/print_results.c:50:7: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
./src/print_results.c:50:7: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
./src/print_results.c:50:7: warning: too many arguments for format [-Wformat-extra-args]
----------------------------------------------------------------------------



=========
COPYRIGHT
=========
Copyright 2016 Chandra Shekhar (IHI Corporation, Japan)



=======
LICENSE
=======
LSFsimple3D is free software: you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software Foundation,
either version 3 of the License, or any later version.

LSFsimple3D is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with LSFsimple3D.
If not, see <http://www.gnu.org/licenses/>.



=======
CONTACT
=======
   Email: chandraiitk(AT)yahoo(DOT)co(DOT)in
Homepage: https://sites.google.com/site/chandraacads
Source: README, updated 2016-01-12