GF4 is a program to display two-dimensional data, such as time series data, and to perform mathematical operations on the data or between two related data sets. The program aims to make data exploration easy and enjoyable.
The program's interface is modeled after hand-held calculators of the "reverse polish notation" (RPN) style. This kind of calculator was made famous by Hewlett-Packard, starting with their HP-35 and HP-45 calculators. GF4 works with waveforms in place of the numbers manipulated by those hand calculators.
Thus, a waveform can be scaled, squared, have its logarithm taken, integrated and differentiated, be normalized and rectified, and so on. A discrete Fast Fourier Transform is provided that is not limited to powers of two in data length. Data can be trimmed or padded. Curve fitting and smoothing of several varieties can be done. Two waveforms can be added, subtracted, multiplied, and divided (where possible), correlated or convolved together, among others.
A certain number of basic waveforms can be generated, including a delta function, step, ramp, sine and damped sine, Gaussian PDF and CDF distributions, and more. Altogether there are nearly 80 different operations available.
Like RPN calculators, GF4 operations are organized around a stack of data sets. Unlike those calculators, the various stack levels can be accessed directly as well.
GF4 is complementary to programs like CodraFT, though there is some degree of overlap.
GF4 is written in Python 3, and makes use of MatPlotLib, NumPy, Scipy, and some other standard libraries.
GF4 is available from a Github repository at https://github.com/tbpassin/gf4-project.
The current release is the 1.1 branch; the most recent changes are in the devel branch.
User documentation (still in progress) is at http://tompassin.net/gf4/docs/GF4_Users_Guide.html.
A QuickStart section of the User Guide is at http://tompassin.net/gf4/docs/quickstart.html.
There is a blog at http://tompassin.net/gf4/blogsite.
Please direct correspondence to email@example.com.