MCPcopy Index your code
hub / github.com/DAS4Whales/DAS4Whales

github.com/DAS4Whales/DAS4Whales @0.2.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.2.2 ↗ · + Follow
376 symbols 1,092 edges 56 files 211 documented · 56%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DAS4Whales Logo

DAS4Whales

DOI Open In Colab License

Continuous Integration docs

Documentation

The full documentation of the DAS4Whales package is available at das4whales.readthedocs.io

About DAS4Whales

Python package to analyze Distributed Acoustic Sensing (DAS) data for marine bioacoustics

Authors: - Léa Bouffaut, Ph.D.
K. Lisa Yang Center for Conservation Bioacoustics, Cornell Lab of Ornithology, Cornell University. Ithaca (NY), USA

Contact | Webpage | Twitter

  • Quentin Goestchel, Ph.D.
    William Wilcock Lab - Ocean Data Lab, School of Oceanography, University of Washington. Seattle (WA), USA

Contact | Webpage

Please cite this package as:   
Léa Bouffaut (2023). DAS4Whales: A Python package to analyze Distributed Acoustic Sensing (DAS) data for marine bioacoustics (v0.1.0). Zenodo. https://doi.org/10.5281/zenodo.7760187

Background

Distributed acoustic sensing or DAS, offers exciting new opportunities to eavesdrop on whales by converting existing fiber optic cables into dense listening arrays of strain sensors. It exploits the physics of Raleigh backscattering following the introduction of an interrogating pulse in the fiber, converting time-delays (or phase changes) of the backscattered pulses into strain measurements, analogous to acoustic pressure. DAS is also known as Distributed Fiber Optic Sensing (DFOS), coherent backscattering, Phase Optical Time Domain Reflectometry ($\Phi$-OTDR).

For a complete DAS technical overview see:

Hartog, A. H. (2017). An Introduction to Distributed Optical Fibre Sensors (1st ed.). CRC Press. https://doi.org/10.1201/9781315119014

For the specific application of DAS for whale bioacoustics (we will use the same terminology) see:

Bouffaut, L., Taweesintananon, K., Kriesell, H. J., Rørstadbotnen, R. A., Potter, J. R., Landrø, M., Johansen, S. E., Brenne, J. K., Haukanes, A., Schjelderup, O., & Storvik, F. (2022). Eavesdropping at the Speed of Light: Distributed Acoustic Sensing of Baleen Whales in the Arctic. Frontiers in Marine Science, 9, 901348. https://doi.org/10.3389/fmars.2022.901348

How-to use the das4whales package

This Jupyter notebook available in Colab provides an illustration of the current functionalities of the DAS4Whales python package, available on this GitHub repository. For now, the package enables basic manipulations and visualizations of DAS data such as:

  • reading the metadata and loading DAS strain data from a hdf5 file -- functionalities available in the module das4whales.data_handle,
  • high-pass, band-pass and frequency-wavenumber (f-k) filtering -- functionalities available in the module das4whales.dsp,
  • spatio-temporal (t-x plot), spatio-spectral (f-x plot) and single channel spectro-temporal (spectrogram) representations -- functionalities available in the module das4whales.plot,
  • single channel sound playbacks -- functionality available in this notebook

All functions have built-in documentation accessible through the pythonic help(das4whales.module.function) and on the DAS4Whales documentation.

DAS data

If you don't have DAS data, we've got you covered! This notebook is set to automatically download a file from the RAPID: Distributed Acoustic Sensing on the OOI’s Regional Cabled Array experiment in Oregon, which is available in open access. The data we'll look at was recorded using an OptaSense interrogator and is saved in the hdf5 format. To learn more about this experiment see:

Wilcock, W., & Ocean Observatories Initiative. (2023). Rapid: A Community Test of Distributed Acoustic Sensing on the Ocean Observatories Initiative Regional Cabled Array [Data set]. Ocean Observatories Initiative. https://doi.org/10.58046/5J60-FJ89

A final word

Please, report any bugs or issues you may have using this package and notebook either through GitHub Issues or directly by email. This is our first Python package, and we are always keen on learning how to make our work more inclusive, accessible and modular. New contributors are Welcome!

Core symbols most depended-on inside this repo

title
called by 28
docs/_build/html/_static/searchtools.js
load_list_of_arrays
called by 22
src/das4whales/assoc.py
text
called by 17
docs/_build/html/_static/searchtools.js
filter_peaks
called by 12
src/das4whales/assoc.py
remove_peaks
called by 12
src/das4whales/assoc.py
remove_peaks_tolerance
called by 12
src/das4whales/assoc.py
save_list_of_arrays
called by 12
src/das4whales/assoc.py
to_rad
called by 12
src/das4whales/spatial.py

Shape

Function 369
Method 4
Class 3

Languages

Python84%
TypeScript16%

Modules by API surface

src/das4whales/assoc.py27 symbols
src/das4whales/dsp.py23 symbols
src/das4whales/detect.py22 symbols
src/das4whales/loc.py21 symbols
src/das4whales/plot.py20 symbols
src/das4whales/data_handle.py18 symbols
src/das4whales/improcess.py15 symbols
docs/_build/html/_static/searchtools.js15 symbols
docs/_build/html/_static/clipboard.min.js14 symbols
tests/test_dsp.py13 symbols
devnotebooks/tracks_animate.py12 symbols
docs/_build/html/_static/scripts/furo.js11 symbols

For agents

$ claude mcp add DAS4Whales \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact