Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

agilescientific/seisplot

Repository files navigation

seisplot

A utility for plotting SEG-Y files.

Project status Release Python version License

Installation

If you don't already have a reliable Python installation, and know how to wield it, I recommend downloading and installing Anaconda.

Get this repo with git or by downloading the ZIP file, and enter that directory.

Make and enter a virtual environment:

conda env create -n seisplot -f environment.yml
conda activate seisplot

If you prefer to use obspy instead of segyio for SEG-Y reading, you can then do:

conda install -c conda-forge obspy

Quick start

You can see what the thing does with:

./seisplot.py --demo

Running

Edit config.yml to meet your requirements.

Run the script from the command line, for example:

./seisplot.py </path/to/infile.sgy>

This will use the settings in config.yml to make a PNG file in the same location, and with the same basic filename.

The input filename can be any POSIX path specifier, so *.sgy will find all files with that extension. to recursively descend in to directories, use ** like so: data/**/*.sgy. To match multiple file extensions, try *.[s,S]*[g,G][y,Y] or {*.segy}{*.sgy} (exact results may depend on your platform).

To use a specific config file with another name or location add the --config option. To specify the output filetype — use PDF or SVG for fully scalable vector graphics instead of a raster — add the --out parameter:

./seisplot.py </path/to/infile.segy> --config myconfig.yml --out </path/to/result.pdf>

With --out you can specify an output file and seisplot will honour the filetype if the matplotlib backend you are using supports it. If you specify a directory, all the outout files will go there, using the SEG-Y file's name as the main part of the filename (for example, 31-08.sgy will give you 31-08.png in the output directory.

As in all things, stains are optional.

Example

https://www.dropbox.com/s/7au3nlm7vrbwvf6/31_81_PR.jpg?raw=1

Recently added features

  • Uses segyio by default; obspy is still an option.
  • The ability to plot from 3D seismic, including a dual inline/crossline plot, and a timeslice.
  • An intersection line on dual inline/crossline displays for 3Ds.
  • You can specify min and max time for the plot(s).
  • Optional gridlines on the seismic plot.
  • A colourbar for variable density plots.
  • A highlight colour, applied to the histogram, spectrum, titles, and intersection lines.

Credits

Made with love and silliness by Evan and Matt at Agile