Skip to main content

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.

Release files for lightguide 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lightguide 0.4.0
File Size Uploaded
lightguide-0.4.0.tar.gz 13.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for lightguide 0.4.0
File
lightguide-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ x86-64 Details
lightguide-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.8 PyPy 3.8 7.3 Linux glibc 2.17+ x86-64 Details
lightguide-0.4.0-cp311-none-win_amd64.whl CPython 3.11 none Windows x86-64 Details
lightguide-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
lightguide-0.4.0-cp310-none-win_amd64.whl CPython 3.10 none Windows x86-64 Details
lightguide-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
lightguide-0.4.0-cp39-none-win_amd64.whl CPython 3.9 none Windows x86-64 Details
lightguide-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
lightguide-0.4.0-cp38-none-win_amd64.whl CPython 3.8 none Windows x86-64 Details
lightguide-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details

Total release size: 28.0 MB

Release files / lightguide-0.4.0.tar.gz

Download URL lightguide-0.4.0.tar.gz
Size 13.5 MB
Tags Source
SHA-256 checksum
How to use checksums
37d5280b6db16a96d684f7ae23b1e69ce66f3ac2ec9a8c7b6702a1cc7bf01126
BLAKE2b-256 checksum
How to use checksums
8b9d16d36fd97a205dcc74b54efe5268f983c0e20d5434320da35b2b371ec5d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.14.17

Release files / lightguide-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL lightguide-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.9 PyPy 3.9 7.3
SHA-256 checksum
How to use checksums
41ba55a75e63c215b1d5ff8402e84bdcda675605520b888d1af8654371220166
BLAKE2b-256 checksum
How to use checksums
33fcfcfda69f45aa43edef672254a50c236936570ccb1f332877a943bd8556ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.14.17

Release files / lightguide-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL lightguide-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.8 PyPy 3.8 7.3
SHA-256 checksum
How to use checksums
c37ea1d92599eff3ed32e6992f876c6f7acb1dc1db75aac946c396bae4a9a5e9
BLAKE2b-256 checksum
How to use checksums
62874cbcdcc80b679c9cec9eada34f6b73b1a1c403163e2789a5b05f5e4b1c70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.14.17

Release files / lightguide-0.4.0-cp311-none-win_amd64.whl

Download URL lightguide-0.4.0-cp311-none-win_amd64.whl
Size 231.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
ccc0a8aa88c9e91ae0816dfcde8719a34465b37636dcfa5224d0e3a08e098e1d
BLAKE2b-256 checksum
How to use checksums
cad70188dbc72502f479e7645653e3c7e7bdf73e7cd86edd93367f6168d475d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.14.17

Release files / lightguide-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL lightguide-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
76a81792f0ac1848abd848cea73b340228a9c57bf1000ab651f9a1eb77e39694
BLAKE2b-256 checksum
How to use checksums
24d0b37c8848c8af2626580a00e7c5e117352dbae855f535abe2f19c6eb03731
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.14.17

Release files / lightguide-0.4.0-cp310-none-win_amd64.whl

Download URL lightguide-0.4.0-cp310-none-win_amd64.whl
Size 231.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
324bed7c8cb2787a2ebe261fabaafcb03c93848f392dbe0d77be1d6fd8ca2abf
BLAKE2b-256 checksum
How to use checksums
0a152a17c6a5efdf0a080edfa961724c14f40c5e9feb6a23bd414d559fb4c244
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.14.17

Release files / lightguide-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL lightguide-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6afa3e92df2898752c4d7c3f68dd9cc4293d21f8f2c91e1ad47293c861235430
BLAKE2b-256 checksum
How to use checksums
b0366deb2a6d332e49f68b372a4fcc375fc7ae9a6f94a5b40a1fc7be444ac5a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.14.17

Release files / lightguide-0.4.0-cp39-none-win_amd64.whl

Download URL lightguide-0.4.0-cp39-none-win_amd64.whl
Size 231.6 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
2a281cd8713f392cc58cd68abfc684e836b81ae9b03ee068d135f9c7f15bfb47
BLAKE2b-256 checksum
How to use checksums
159aa003dc6678f7eb1764ce7a3471565439338aeacfa7c51ad896d5b5f2da5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.14.17

Release files / lightguide-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL lightguide-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0358d264a141bd23f366fa24b11b0aaf80a3de20527384dbfffd58eba9b542c2
BLAKE2b-256 checksum
How to use checksums
9095f05fbb2ae9f24c5d083f599eb15441a81e7788ffe0d37508c9ab219fd0b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.14.17

Release files / lightguide-0.4.0-cp38-none-win_amd64.whl

Download URL lightguide-0.4.0-cp38-none-win_amd64.whl
Size 231.6 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
abd64f46c26dc87dbda9f2707350ac9ecd3ecdb011c870d3416b38f5b4d4b29e
BLAKE2b-256 checksum
How to use checksums
dfd03ad128573329a8b5374ce68036757be5db197ab6c99ada92895cd1e97c88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.14.17

Release files / lightguide-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL lightguide-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.3 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
af5bb97c3fa447a5869f21dda77f0a8433346a85300037ddfb1c7e9e478daabb
BLAKE2b-256 checksum
How to use checksums
6a3ab2ea443300313d1ad1aa74209cc157fb21e0342e0fee93d12fcea75a6fb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.14.17

Release history Release notifications | RSS feed

This release

0.4.0 This release

11 release files

0.2.1

11 release files

0.1.0

8 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page