Skip to main content

Doing cool stuff with seismic data

Project description

deltaseis

License: MIT Lifecycle: experimental Formatting: ruff

The Deltares Seismic (DeltaSEIS) package is designed to handle all common formats of seismic data. This includes conventional seismic data, DAS fiber optic and simulated data. It provides selection, editing, processing, analysis, and export methods that can be applied generically to the loaded data. It is designed to connect with other Deltares developments such as iMod and DataFusionTools.

Both the Seismic and Segy_editor classes totally rely on the use of the segyio and obspy packages as well as numpy as scipy for data handling and signal processing.

Installation process

The installation uses package manager pixi, for installation options see https://pixi.sh/latest/

To install pixi on windows, in powershell type:

winget install prefix-dev.pixi

Now clone deltaseis to your local drive using:

git clone https://github.com/Deltares-research/deltaseis.git

Then navigate into that folder with:

cd deltaseis

To create a conda enviroment and install deltaseis in it type:

pixi run install

Update deltaseis

To update deltaseis with the latest version from gitlab, open a shell in the deltaseis folder and:

git pull

And the same as with installation type:

pixi run install

Tutorial

Activate the deltaseis_env in a command prompt and type

pixi run notebook

In the browser that opens up, navigate to deltaseis/tutorials and click on segy_editing.ipynb to start a tutorial on how to edit seismic data files called seg-y using the class Segy_editor

Usage

The same tutorial folder there is a .py script that has the same commands as the notebook, that you can use as a template for using the Segy_editor. In the below example we load a segy file for which we like to change the record length to 55 ms and write a copy that reflects that change:

from deltaseis import Seg_editor
seismic_edit = Segy_editor(path/to/segy_infile)
seismic_edit.set_record_lenght(55)
seismic_edit.write(path/to/segy_outfile)

The Seismic class can be called similarly but has a simple 2D data array as input and performs more advanced processing to the data and not just edits. In the below example applies a time-squared gain and a bandpass filter between 80 and 5000 Hz to the data:

seismic = Seismic(data_array)
seismic.time_squared_gain()
seismic.bandpass_filter(lowcut=80, highcut=5000)

Supported geophysics formats

  • Seismic files
    • Post-stack seismic data (.seg-y)
    • Pre-stack seismic data (seg2, segd, dat)
    • Synthetic data from SPECFEM (.semd)
    • Distributed Acoustic Sensing (DAS) files (Silixa .tdms)

Features

Todo

Roadmap

Todo

Contributing

You can contribute by testing, raising issues and making pull requests. Some general guidelines:

  • Use new branches for developing new features or bugfixes. Use prefixes such as feature/ bugfix/ experimental/ to indicate the type of branch
  • Add unit tests (and test data) for new methods and functions. We use pytest.
  • Add Numpy-style docstrings
  • Use Black formatting with default line lenght (88 characters)
  • Update requirement.txt en environment.yml files if required

License

MIT license

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

deltaseis-0.0.5.tar.gz (56.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deltaseis-0.0.5-py3-none-any.whl (61.1 kB view details)

Uploaded Python 3

File details

Details for the file deltaseis-0.0.5.tar.gz.

File metadata

  • Download URL: deltaseis-0.0.5.tar.gz
  • Upload date:
  • Size: 56.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for deltaseis-0.0.5.tar.gz
Algorithm Hash digest
SHA256 dae1bc71f156c79bf86704379b8d9748b9973a255e914370b744702ece8de01d
MD5 c6a509e85bcb4035dbf9bdec2d5e64e5
BLAKE2b-256 58ea93dc8a4e778c0dc9d56f1976e62ddc0268ae14b3f2f8f06cff59bc500afa

See more details on using hashes here.

File details

Details for the file deltaseis-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: deltaseis-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 61.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for deltaseis-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f9ce0f11683fca9dc769e854e9f0d5bcfb88417f3c3de1437a1f86b17acd0946
MD5 8a19846a69296d9510b883aa1f3db66e
BLAKE2b-256 82fd699f228706a3127fe2d22fa8bfcc51bfa75f0739b937e8c971f2609d0100

See more details on using hashes here.

Supported by

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