Skip to main content

Remove echosounder noise by identifying the ocean floor and entrained air at the ocean surface.

Reason this release was yanked:

Bad requirements specification

Project description

Latest Release

Latest PyPI release

License

AGPLv3 License

Documentation

Documentation

Build Status

Documentation Status GHA Status pre-commit.ci status

Code style

black pre-commit enabled

Citation

DOI

Echofilter is an application for segmenting an echogram. It takes as its input an Echoview .EV file, and produces as its output several lines and regions:

  • entrained air (turbulence) line

  • seafloor line

  • surface line

  • nearfield line

  • passive data regions

  • (unreliable) bad data regions for entirely removed periods of time, in the form of boxes covering the entire vertical depth

  • (unreliable) bad data regions for localised anomalies, in the form of polygonal contour patches

Echofilter uses a machine learning model to complete this task. The machine learning model was trained on upfacing stationary and downfacing mobile data provided by Fundy Ocean Research Centre for Energy (FORCE). The training and evaluation data is available for download. Queries regarding dataset access should be directed to FORCE, info@fundyforce.ca.

The experimental methodology and results can be found in our companion paper, published in Frontiers in Marine Science.

Full documentation of how to use echofilter can be viewed at readthedocs.

If you encounter a specific problem please open a new issue.

Usage

After installing, the model can be applied at the command prompt with:

echofilter PATH PATH2 ...

Any number of paths can be specified. Each path can either be a path to a single csv file to process (exported using the Echoview application), or a directory containing csv files. If a directory is given, all csv files within nested subfolders of the directory will be processed.

All optional parameters can be seen by running echofilter with the help argument.

echofilter --help

For more details, see the Usage Guide, and the command line interface (CLI) reference documentation.

Installation

Installing as a stand-alone executable

For your convenience, we provide a copy of Echofilter compiled as a stand-alone executable for Windows. To install this, download and unzip the echofilter-executable-M.N.P.zip file from the latest release in the releases tab. For example: echofilter-executable-1.1.0.zip

For more details, see the step-by-step instructions in the Usage Guide.

Note: The precompiled executable has only CPU support, and does not support running on GPU.

Installing in Python

Alternatively, the echofilter package can be installed for Python 3.6 or 3.7 using pip as follows.

First, install torch.

Either with CPU-only capabilities:

pip install torch==1.4.0+cpu torchvision==0.5.0+cpu -f https://download.pytorch.org/whl/torch_stable.html

Or with CUDA GPU support as well:

pip install torch==1.4.0 torchvision==0.5.0 -f https://download.pytorch.org/whl/torch_stable.html

Then install the rest of the requirements.

pip install -r frozen_requirements.txt
pip install echofilter

Citing Echofilter

If you use Echofilter for your research, we would be grateful if you could cite our paper on echofilter in any resulting publications:

SC Lowe, LP McGarry, J Douglas, J Newport, S Oore, C Whidden, DJ Hasselman (2022). Echofilter: A Deep Learning Segmention Model Improves the Automation, Standardization, and Timeliness for Post-Processing Echosounder Data in Tidal Energy Streams. Front. Mar. Sci., 9, 1–21. doi: 10.3389/fmars.2022.867857.

For your convenience, we provide a copy of this citation in bibtex format.

You can browse papers which utilise Echofilter here.

License

Copyright (C) 2020-2022 Scott C. Lowe and Offshore Energy Research Association (OERA)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3.

This program 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 Affero General Public License for more details.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

echofilter-1.1.0.tar.gz (160.2 kB view details)

Uploaded Source

Built Distribution

echofilter-1.1.0-py2.py3-none-any.whl (175.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file echofilter-1.1.0.tar.gz.

File metadata

  • Download URL: echofilter-1.1.0.tar.gz
  • Upload date:
  • Size: 160.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.15

File hashes

Hashes for echofilter-1.1.0.tar.gz
Algorithm Hash digest
SHA256 dfddb7e474b4295665bb719075e4ef77fa196a095acc7d6781af2c0a801f8dd1
MD5 930b8193d6e6c1082fefc0f7f64f9788
BLAKE2b-256 af3f3f12f2d29828d7208709be4e9b2aacf974ab87fa38717482104ae1ab2a4d

See more details on using hashes here.

File details

Details for the file echofilter-1.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: echofilter-1.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 175.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.15

File hashes

Hashes for echofilter-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cfc9b48a713656cd2122719b9e7884e2d11d46e19c4e406a2f3b054ba6d19970
MD5 6baf67c3665abe5c56757c95c3a7ab91
BLAKE2b-256 365439b7fccd8fe650a7d060328440f7eb95b3f9b9e6d1b6592d1ff29790b430

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page