Skip to content

mithcell/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

About

Plots seismic, sorta

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%