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 184.108.40.206, 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,
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,
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.