Skip to main content

Tools for distributed acoustic sensing and modelling.

Project description

Lightguide

Tools for distributed acoustic sensing and modelling.

PyPI PyPI - Python Version pre-commit Code style: black CI

Lightguide is a package for handling, filtering and modelling distributed acoustic sensing (DAS) data. The package interfaces handling and processing routines of DAS data to the Pyrocko framework. Through Pyrocko's I/O engine :rocket: lightguide supports handling the following DAS data formats:

  • Silixa iDAS (TDMS data)
  • ASN OptoDAS
  • MiniSEED

Numerical forward modelling of various dislocation sources in layered and homogeneous half-space towards DAS strain and strain-rate is employed through Pyrocko-Green's function package.

The framework is still in Beta. Expect changes throughout all functions.

Installation

Install the compiled Python wheels from PyPI:

pip install lightguide

Usage

Adaptive frequency filter

The adaptive frequency filter (AFK) can be used to suppress incoherent noise in DAS data sets.

from lightguide import filters
from lightguide.utils import download_numpy, ExampleData


das_data = download_numpy(ExampleData.VSPData)

filtered_data = filters.afk_filter(
    das_data, window_size=32, overlap=15, exponent=0.8, normalize_power=False)

Open In Colab

The filtering performance of the AFK filter, applied to an earthquake recording at an ICDP borehole observatory in Germany. The data was recorded on a Silixa iDAS v2. For more details see https://doi.org/10.5880/GFZ.2.1.2022.006.

AFK Filter Performance

The figures show the performance of the AFK filter applied to noisy DAS data. (a) Raw data. (b) The filtered wave field using the AFK filter with exponent = 0.6, 0.8, 1.0, 32 x 32 sample window size and 15 samples overlap. (c) The normalized residual between raw and filtered data. (d) Normalized raw (black) waveform and waveforms filtered (colored) by different filter exponents, the shaded area marks the signal duration. (e) Power spectra of signal shown in (d; shaded duration), the green area covers the noise band used for estimating the reduction in spectral amplitude in dB. The data are neither tapered nor band-pass filtered, the images in (a-c) are not anti-aliased.

Citation

Lightguide can be cited as:

Marius Paul Isken, Sebastian Heimann, Christopher Wollin, Hannes Bathke, & Torsten Dahm. (2022). Lightguide - Seismological Tools for DAS data. Zenodo. https://doi.org/10.5281/zenodo.6580579

DOI

Details of the adaptive frequency filter are published here:

Marius Paul Isken, Hannes Vasyura-Bathke, Torsten Dahm, Sebastian Heimann, De-noising distributed acoustic sensing data using an adaptive frequency-wavenumber filter, Geophysical Journal International, 2022;, ggac229, https://doi.org/10.1093/gji/ggac229

DOI

Packaging

To package lightguit requires Rust and the maturin build tool. maturin can be installed from PyPI or packaged as well. This is the simplest and recommended way of installing from source:

# Install rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install maturin and build
pip install maturin
maturin build

Development

Local development through pip or maturin.

cd lightguide
pip3 install .[dev]

or

cd lightguide
maturin develop

The project utilizes pre-commit for clean commits, install the hooks via:

pre-commit install

License

Contribution and merge requests by the community are welcome!

Lightguide was written by Marius Paul Isken and is licensed under the GNU GENERAL PUBLIC LICENSE v3.

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

lightguide-0.4.0.tar.gz (13.5 MB view details)

Uploaded Source

Built Distributions

lightguide-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

lightguide-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

lightguide-0.4.0-cp311-none-win_amd64.whl (231.6 kB view details)

Uploaded CPython 3.11 Windows x86-64

lightguide-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

lightguide-0.4.0-cp310-none-win_amd64.whl (231.6 kB view details)

Uploaded CPython 3.10 Windows x86-64

lightguide-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

lightguide-0.4.0-cp39-none-win_amd64.whl (231.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

lightguide-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

lightguide-0.4.0-cp38-none-win_amd64.whl (231.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

lightguide-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

File details

Details for the file lightguide-0.4.0.tar.gz.

File metadata

  • Download URL: lightguide-0.4.0.tar.gz
  • Upload date:
  • Size: 13.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.17

File hashes

Hashes for lightguide-0.4.0.tar.gz
Algorithm Hash digest
SHA256 37d5280b6db16a96d684f7ae23b1e69ce66f3ac2ec9a8c7b6702a1cc7bf01126
MD5 89ef503e93d632929e4c1e64badbfdf9
BLAKE2b-256 8b9d16d36fd97a205dcc74b54efe5268f983c0e20d5434320da35b2b371ec5d2

See more details on using hashes here.

File details

Details for the file lightguide-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lightguide-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41ba55a75e63c215b1d5ff8402e84bdcda675605520b888d1af8654371220166
MD5 087891b88bf43ca96a7eb6a53b313b77
BLAKE2b-256 33fcfcfda69f45aa43edef672254a50c236936570ccb1f332877a943bd8556ca

See more details on using hashes here.

File details

Details for the file lightguide-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lightguide-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c37ea1d92599eff3ed32e6992f876c6f7acb1dc1db75aac946c396bae4a9a5e9
MD5 6300a55dd51f7be72e960be56c623039
BLAKE2b-256 62874cbcdcc80b679c9cec9eada34f6b73b1a1c403163e2789a5b05f5e4b1c70

See more details on using hashes here.

File details

Details for the file lightguide-0.4.0-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for lightguide-0.4.0-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 ccc0a8aa88c9e91ae0816dfcde8719a34465b37636dcfa5224d0e3a08e098e1d
MD5 9d7a58f8ddaf538e7675867da0ddcf12
BLAKE2b-256 cad70188dbc72502f479e7645653e3c7e7bdf73e7cd86edd93367f6168d475d3

See more details on using hashes here.

File details

Details for the file lightguide-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lightguide-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76a81792f0ac1848abd848cea73b340228a9c57bf1000ab651f9a1eb77e39694
MD5 0da56c4f0a3da7f2f194fd65e52f3dc6
BLAKE2b-256 24d0b37c8848c8af2626580a00e7c5e117352dbae855f535abe2f19c6eb03731

See more details on using hashes here.

File details

Details for the file lightguide-0.4.0-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for lightguide-0.4.0-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 324bed7c8cb2787a2ebe261fabaafcb03c93848f392dbe0d77be1d6fd8ca2abf
MD5 fc83ed69950736268d3530fcd458c523
BLAKE2b-256 0a152a17c6a5efdf0a080edfa961724c14f40c5e9feb6a23bd414d559fb4c244

See more details on using hashes here.

File details

Details for the file lightguide-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lightguide-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6afa3e92df2898752c4d7c3f68dd9cc4293d21f8f2c91e1ad47293c861235430
MD5 c24a339f4d3963bee3551c3db445281b
BLAKE2b-256 b0366deb2a6d332e49f68b372a4fcc375fc7ae9a6f94a5b40a1fc7be444ac5a2

See more details on using hashes here.

File details

Details for the file lightguide-0.4.0-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for lightguide-0.4.0-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 2a281cd8713f392cc58cd68abfc684e836b81ae9b03ee068d135f9c7f15bfb47
MD5 a875c56662239d89aa8a5128377e29ab
BLAKE2b-256 159aa003dc6678f7eb1764ce7a3471565439338aeacfa7c51ad896d5b5f2da5e

See more details on using hashes here.

File details

Details for the file lightguide-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lightguide-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0358d264a141bd23f366fa24b11b0aaf80a3de20527384dbfffd58eba9b542c2
MD5 40a5938d3ca9616974469863bd8dbbc4
BLAKE2b-256 9095f05fbb2ae9f24c5d083f599eb15441a81e7788ffe0d37508c9ab219fd0b9

See more details on using hashes here.

File details

Details for the file lightguide-0.4.0-cp38-none-win_amd64.whl.

File metadata

File hashes

Hashes for lightguide-0.4.0-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 abd64f46c26dc87dbda9f2707350ac9ecd3ecdb011c870d3416b38f5b4d4b29e
MD5 da4adaa324c32a32768e271b41b61fab
BLAKE2b-256 dfd03ad128573329a8b5374ce68036757be5db197ab6c99ada92895cd1e97c88

See more details on using hashes here.

File details

Details for the file lightguide-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lightguide-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af5bb97c3fa447a5869f21dda77f0a8433346a85300037ddfb1c7e9e478daabb
MD5 e835887d4cd349a1aa4350049951a414
BLAKE2b-256 6a3ab2ea443300313d1ad1aa74209cc157fb21e0342e0fee93d12fcea75a6fb7

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