Skip to main content

Enhancing the interoperability and scalability in analyzing ocean sonar data

Project description

https://travis-ci.org/OSOceanAcoustics/echopype.svg?branch=master Documentation Status https://mybinder.org/badge_logo.svg

echopype

echopype is a package built for enhancing the interoperability and scalability in ocean sonar data processing. These data are widely used for obtaining information about the distribution and abundance of marine animals, such as fish and krill. Our ability to collect large volumes of sonar data from a variety of ocean platforms has grown significantly in the last decade. However, most of the new data remain under-utilized. echopype aims to address the root cause of this problem - the lack of interoperable data format and scalable analysis workflows that adapt well with increasing data volume - by providing open-source tools as entry points for scientists to make discovery using these new data.

See the echopype documentation for more detail.

Functionality

echopype include tools for:

  • Converting different manufacturer-specifc data files into an interoperable netCDF format.

  • Processing large volumes of sonar data in local or cloud storage by leveraging Python distributed computing libraries.

The current version supports file conversion for the .raw data files collected by the SimRad EK60 echosounder. Conversion for other types of data files, including the .01A files from AZFP echosounder, the .raw files from the SimRad broadband EK80 echosounder, and the raw beam data from ADCP (Acoustic Doppler Current Profiler) will be added in future releases.

Installation

To install echopype, do the following in your terminal:

$ pip install echopype

Using echopype

File conversion

To batch convert .raw files to the interoperable netCDF format in the terminal, do:

$ echopype_converter -s ek60 data/*.raw

This will generate corresponding .nc files with the same leading filename as the original .raw files in the same directory.

To use the EK60 data converter in a Python session, you can do:

# import as part of a submodule
from echopype.convert import ConvertEK60
data_tmp = ConvertEK60('FILENAME.raw')
data_tmp.raw2nc()

Or:

# import the full module
import echopype as ep
data_tmp = ep.convert.ConvertEK60('FILENAME.raw')
data_tmp.raw2nc()

Same as in the command line case, this will generate a FILENAME.nc in the same directory as FILENAME.raw.

The ConvertEK60 instance contains all the data unpacked from the .raw file, so it is a good idea to clear it from memory once done with conversion.

Data analysis

The data analysis functionalites of echopype is being developed actively. echopype currently supports:

  • calibration and echo-integration to obtain volume backscattering strength (Sv) from the power data collected by EK60.

  • simple noise removal by suppressing data points below an adaptively estimated noise floor [1].

  • binning and averaging to obtain mean volume backscattering strength (MVBS) from the calibrated data.

The steps of performing these analysis are summarized below:

from echopype.model import EchoData
data = EchoData('FILENAME.nc')
data.calibrate()  # Calibration and echo-integration
data.remove_noise(save=True)  # Save denoised Sv to FILENAME_Sv_clean.nc
data.get_MVBS(save=True)  # Save MVBS to FILENAME_MVBS.nc

Note that by default, method calibrate save the calibrated volume backscattering strength (Sv) to FILENAME_Sv.nc, while method remove_noise and get_MVBS by default do not generate new files. The computation results from these two methods can be accessed from data.Sv_clean and data.MVBS as xarray DataSets. All outputs are xarray DataSets with proper dimension labeling.

License

echopype is licensed under the open source Apache 2.0 license.

This project is lead by Wu-Jung Lee (@leewujung). Other contributors include:

References


Copyright (c) 2018–, Wu-Jung Lee, Applied Physics Laboratory, University of Washington.

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

echopype-0.1.21.tar.gz (6.0 MB view details)

Uploaded Source

Built Distribution

echopype-0.1.21-py3-none-any.whl (6.0 MB view details)

Uploaded Python 3

File details

Details for the file echopype-0.1.21.tar.gz.

File metadata

  • Download URL: echopype-0.1.21.tar.gz
  • Upload date:
  • Size: 6.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

File hashes

Hashes for echopype-0.1.21.tar.gz
Algorithm Hash digest
SHA256 d711d4ac6c94e84e1488e01bb80abaca412f6bf58d4b86d7f46bf4985d29a728
MD5 fcfd1a861cec69bc0e6a75de27dbabf1
BLAKE2b-256 6c9ef9cea708a3b2e32f3483dfca5709d70b7ab6bc9e0935ff3a65a000c66178

See more details on using hashes here.

File details

Details for the file echopype-0.1.21-py3-none-any.whl.

File metadata

  • Download URL: echopype-0.1.21-py3-none-any.whl
  • Upload date:
  • Size: 6.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

File hashes

Hashes for echopype-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 475e940161fd005e82bb6a9de11206bdcb5ef2670537931febd625eb7559b7e7
MD5 7000d4cb3195108964d93d9e0e8a855b
BLAKE2b-256 7b02751b614e12e8674011b03e9d47dca00e33ff94e6a20e65a4ac5c857fc62c

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