Preamble
The Ground Probing Radar (GPR) has become an invaluable and almost
indispensable means of exploring shallow structures for geoscientific,
engineering environmental and archaeological work. At the same time, GPR
analysis software is mostly proprietary and usually available from GPR
manufacturers or a handful of other vendors. There are very few exceptions and they all
have this or that limitation, which at times may be severe (Lucius and Powers,
2002; Grandjean and Durand (1999). Finally, a rather impressive piece of work,
the openGPR project of Matthias Schuh,
The academic community has been slow to react on this issue and the
limited freely distributed software is usually focused on very particular
problems (mainly data input / output), generally unorganized and so diversely
programmed, that if collected, it cannot form a consistent basis for the
reliable manipulation of GPR data.
An effort to create a free GPR analysis and
interpretation package that is cross-platform and expandable/ customizable to
the needs of a particular user began in 2005 with the MATLAB based matGPR
Release 1 and continued with matGPR Release 2 (2010). This was an ambiguous
project, albeit feasible because MATLAB provides an all-inclusive high level
programming environment facilitating the development of advanced software.
Release 3.5 of matGPR carries on but with changes
in the distribution policy, as will
be specified below.
At the present stage of development matGPR provides a rather broad and
functional range of tools for the analysis of zero and single-offset GPR data.
Although one can think several analysis tools to be included in future
releases, it offers a decent and in several aspects advanced means of treating
GPR data.
MATLAB is a vast computing system, with many add-on application-specific
toolboxes, priced and licensed
separately. Inasmuch as many users do not enjoy access to the full range of
MATLAB products, special provision was made for matGPR to offer in-house
solutions for those algorithms and analysis techniques that are necessary, but not supplied with the basic MATLAB
system. Thus, matGPR can be used by all those in possession of a MATLAB
license, even if they do not have access to any other toolbox.
MATLAB is a rapidly
evolving beast that has gone through many changes and is continuously acquiring
new features. Up to Release 2.2.4.3, matGPR was programmed in such a way, as to
be as much backward compatible with earlier MATLAB editions, as possible. For
instance, provisions were made for matGPR to detect the MATLAB version and,
when necessary, not to invoke from an earlier version functions and procedures
added in later versions, offering alternative, in-house solutions. As of
Release 3, however, the code will be opaque: matGPR will be generally distributed
only in p-code form. Transparent m-code will be released only
under the conditions explained below. In consequence,
matGPR will
not work with any version of MATLAB earlier than 7.5 (Release 2007b).
It should also be noted
that there have been some significant changes in MATLAB’s Graphics Engine,
effective as of Release 2015b. In consequence of these changes, users of matGPR
R3.1 may experience problems when executing the program in post-2015 MATLAB releases.
Accordingly,
it is recommended
to use matGPR R3.1 with MATLAB versions 2007b – 2015a only!
In all other aspects matGPR
will be fully functional, less the few bugs I may have overlooked, or
unforeseen changes in the programming language (which may be quite more frequent
than appreciated).
Gallery and Demonstrations
If interested in matGPR, download and read a concise description of
the program and what it can do (includes all new
features).
An illustrated
presentation of the program and its capabilities can also be
downloaded from this link.
Check here for answers to Frequently Asked Questions.
Licensing and Disclaimer
matGPR is
Copyright © of Andreas Tzanis, 2005,
2008, 2010, 2013, 2016. All rights reserved.
matGPR Releases 1 and 2 used to be free software distributed under the
provisions of the GNU General Public License. Unfortunately, this did not go as
smoothly as envisioned... it turns out, the GNU spirit is not sufficiently widespread!
Nevertheless, it is still good to share knowledge, but in a field as highly
commercialized as GPR, with more caution and vigilance... Accordingly, there have
been changes in the distribution policy:
matGPR is no longer distributed under the GNU GPL. It
is henceforth to be considered copyrighted software protected by
the international copyright legislation. There are now two versions of
MATGPR: The Classic and the compiled, Stand-Alone version.
The Classic matGPR R3 requires an installation
of MATLAB and comprises two editions:
matGPR Release 3.1 is an upgraded version of Release 3 (includes some coding improvements
and enhanced data input capabilities). Until a decision is made as to the
opposite, this version will continue to be freely distributed for education and
research.
matGPR Release 3.5 includes all
the improvements of Release 3.1, as well as a number of new processing and
analysis applications (curvature attributes, robust spline smoothing,
topographic compensation of depth-migrated data, additional batch processing
modules etc.). This edition, as well as future upgrades can be available only upon request, e.g. by e-mail. A donation toward the
continued development of matGPR is strongly
encouraged!
In order to install and use the Classic matGPR, one must agree to be bound by the terms and
conditions specified in the End User
License Agreements applicable to Release 3.1 and Release 3.5 respectively,
which are attached to the corresponding distribution bundles. The terms of
these Agreements can be summarized as follows:
1) Licensees are granted permission (license) to install
matGPR Release 3.1 in one or more computer systems.
2) Licensees are granted permission to install matGPR Release
R3.5 in a single computer system
identifiable to matGPR by its Media Access Control address (MAC address).
3) All editions of the Classic matGPR are designed to be expandable and customizable by allowing
users to attach their own menu-driven procedures and subprograms. Licensees are
granted permission to expand/customize the Classic matGPR by strictly adhering to the procedures and instructions found in Section 2.6 of
the “MATGPR Manual and Technical
Reference”, titled “Expanding
matGPR: How to write customized modules”.
4) Licenses are revocable,
non-exclusive and non-transferable. With the sole exception specified in Clause
3 above, a Licensee will not, and will not permit others to decrypt,
reverse-engineer, disassemble, otherwise modify or reduce, re-package, license,
sell, rent, lease, distribute, transmit, host, outsource or disclose matGPR under
any circumstances.
5) The Classic matGPR is provided 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. No
guarantees, or warranties, either expressed or implied, are provided regarding
the accuracy, safety, or any other quality or characteristic
of matGPR.
6) Under no circumstances shall the Author and Copyright
holder of the Classic matGPR (Licensor)
be liable for any indirect, incidental, consequential, special or exemplary
damages arising out of, or in connection to the Licensee’s use of, or inability
to use matGPR.
7) The the Author and
Copyright holder of the Classic matGPR (Licensor) reserves the right to revoke a license and terminate
the License Agreement in his sole discretion, at any time and for any or no
reason.
8) The License Agreement will terminate immediately,
without prior notice, in the event that Licensees fail to comply with any of
its provisions. Licensees may also terminate the Agreement by
deleting/uninstalling matGPR. Upon termination, Licensees shall cease all use,
uninstall matGPR and delete all copies of matGPR in their possession.
9) The Classic matGPR is provided as is and without
technical support or tutoring, except for Licensees who have made a voluntary, generous donation toward its development
(see below). Users not prepared to make a donation are kindly requested to refrain
from asking for support.
10) Reports of bugs or errors will be examined and any corrections will be communicated to the
Licensee who reported the error.
11) In publications, reference to matGPR must be given,
using one or all of the following:
a.
Tzanis, A. and
Kafetsis, G., 2004. A freeware package for the analysis and interpretation of
common-offset Ground Probing Radar data, based on general purpose computing engines,
Bulletin Geol. Soc. Greece, vol. 36, No 3, 1347-1354. Get online reprint.
b.
Tzanis, A.,
2006. MATGPR: A freeware MATLAB package for the analysis of common-offset GPR
data, Geophysical Research Abstracts, Vol. 8, 09488, 2006. View online abstract.
c. Tzanis, A., 2010. matGPR Release 2: A freeware MATLAB®
package for the analysis & interpretation of common and single offset GPR
data, FastTimes,
15 (1), 17 – 43.
Accessibility of Classic
matGPR Source Code:
1)
All editions
of the Classic matGPR Release 3 and later are distributed in opaque (encrypted) p-code form, except for a limited number of
third-party public domain functions and sub-programs that will continue to be
distributed in transparent
(human-readable) m-code form
according to the specifications of their Authors and Copyright Holders.
2)
Transparent m-code might be released for research and education after
consultation with the Author. This would generally be done on a reciprocal
basis (e.g. exchange of code, collaborative research etc.).
3)
Postgraduate
students wishing to negotiate the release of m-code are required to provide, (a) evidence of their status, e.g.
in the form of a letter by their supervisor, and, (b) a plan for the required reciprocal action. Requests by
prospective users with e-mail accounts not belonging to accredited academic
institutions will not be considered!
The Stand-Alone
matGPR does not require MATLAB and will always comprise the latest
and most updated edition of the
program (currently it is Release 3.5). At present it is available for use in a single computer system with Windows OS.
The Stand-Alone matGPR would primarily be used by non-academic users.
Accordingly, a donation toward its continued development is expected
and, ideally, would hover around a reasonable middle to high 3-digit Euro
range. For details please contact me by e-mail.
Licensed Stand-Alone users are eligible for technical support.
A lightweight version of the Stand-Alone matGPR, is
available for a 30-day trial period on request.
Obtain and install the classic matGPR R3.
If you are comfortable with the conditions above:
DOWNLOAD a copy of matGPR R3.1, or,
Submit a request
for matGPR R3.5. First you may first want to consider all the stipulations pertaining to licensing and maybe read the newly posted FAQ page. In your request, do not forget to include the Media Access Control (MAC) address of the computer in
which you plan to install matGPR, as this is how matGPR will validate your
license.
In Windows OS systems the MAC address can be obtained by executing a “getmac”
command in the “Command Prompt” (or “Command Line”) window.
In Linux/Ux OS, the MAC address can be obtained by executing an “ipconfig
–a” command.
Check here for information
on updates
and bug fixes.
The
classic matGPR R3 is distributed as
single compressed file (*.zip or *.rar). After downloading has finished, copy
to your preferred work directory and uncompress. This will unfold the matGPR
home and subdirectory structure. The program is ready to use. Start matGPR by
executing the function MATGPR_R3/matgpr.p
from the MATLAB command window. Use the manual and the on-line help to navigate
through the program and the test data provided in the directory MATGPR_R3/work/ to familiarize yourself
with it.
Consider making a donation.
Last but not least, I am sure that most of you
appreciate the amount of time, effort and resources invested in producing a
program like matGPR. If you use the Classic matGPR, (R3.1 and earlier), you might
consider making a voluntary donation toward
its continued development. If you would like to use matGPR R3.5, a donation
towards its continued development is strongly encouraged. This is
particularly relevant in case you are going to use it for profit! I am sure
that you will understand how in these times of economic turmoil, with research
grants decimated, donations can be of great assistance in keeping research
alive and ensuring the continued availability of matGPR.
Donations render users
eligible for technical support, commensurable in material and temporal extent
to the generosity of the donation.
A donation in the
2-digit Euro range will render a user eligible for short-term technical support.
A generous donation (e.g.
in the middle 3-digit Euro figure) will make a user eligible
for long-term support.
If you are not
prepared to make a donation, you are kindly requested to refrain
from asking for support.
Support will be provided when you report bugs or errors. In
this case the response will be prompt but will be limited to the specific
bug or error!
Grandjean, G. and Durand, H., 1999.
Radar Unix: a complete package for GPR data processing, Computers & Geosciences, 25 141-149.
Lucius, J.E. and Powers, M.H., 2002. GPR Data
Processing Computer Software for the PC, USGS Open-File Report 02-166.