ESP3 is an open-source software package for visualizing and processing fisheries acoustics data, developed by the deepwater fisheries acoustics team at NIWA (Wellington, New Zealand).
It is written in MATLAB (and contributions to the code from MATLAB users are welcome), but a compiled version is available for non-MATLAB users. See details below.
ESP3 is designed for single-beam and split-beam data. Currently supported data formats are SIMRAD (.raw) and a small number of other formats. The software allows calibration and echo-integration and a number of algorithms are coded in, including bad pings identification, automated bottom detection, single targets identification and tracking, schools identification, etc.
ESP3 is currently under active development so keep an eye on this page. More algorithms regularly show up.
You have two options:
If you have MATLAB R2022b (or more recent) and a small number of required toolboxes (Signal Processing, Image Processing, Statistics and Machine Learning, Curve Fitting), you can simply get the source code and run it within the MATLAB environment.
If you don't use MATLAB (or don't have the necessary version and toolboxes), you can download and run the stand-alone, compiled version.
More details below.
Simple. First, download and install the free Matlab Compiler Runtime. Next, download and run the installer for the ESP3 compiled version.
The project is being developped on bitbucket here
Do not use the download link in bitbucket as it will not include some of the files required to run ESP3.
The best option is to install Git and/or a Git client (we suggest Sourcetree) on your machine and then clone and check-out the repository. Learn about Git and version controlling here.
You will also need Git-LFS installed to be able to get all the required files. Once you have the repository on your machine, just launch "EchoAnalysis.m" from the "ESP3" root folder.
For the compiled version, yes. For the MATLAB version, Git will allow you to keep it updated to the latest version if you so wish.
Yes. Fork the project and do any updates and modifications you want. They'll stay on your copy without affecting the development of the main branch. And you can always integrate the latest changes made on the main branch back into your forked copy (see Git functions "sync" and "merge").
And if down the line you wish to suggest to integrate bits of your code to the main branch, you can do that too through "pull requests".
Clone away, buddy.
Copyright 2017 NIWA
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Yoann Ladroit, NIWA
Yoann.ladroit@niwa.co.nz
Pablo Escobar-Flores, NIWA
Pablo.Escobar@niwa.co.nz