File Exchange

image thumbnail

SeisLab 3.02

version (2.91 MB) by Eike Rietsch
Release 15.09.21 of a collection of functions for analysis/display of seismic and well-log data.


Updated 21 Sep 2015

View License

A set of about 170 functions (plus support functions called by them) for analysis and display of exploration-seismic data and well logs. These functions read and write seismic data in standard SEG-Y format, read and write well logs in LAS-format 2.0 (also read LAS-format 3.0), and perform many of the manipulations usually performed on these data types. They use standardized structures to represent seismic data and well data and thus allow simple concatenation of function calls.
The functions come with a manual in PDF format and scripts with examples. Several versions of Matlab were released during their development. Presently, I ran limited tests under them under R2015a, but I try not to use Matlab syntax introduced after R2007a. Also, SeisLab 2.01, which works with Matlab 6.1 (2001) and higher, can still be downloaded from the Matlab File Exchange (file 8827).
Generally, I make an effort to avoid functions from toolboxes; however, I am aware of at least one call to a function in the Optimization Toolbox.
In case you already have SeisLab installed you can find its distribution ID by typing "ddid" at the Matlab prompt. If you get the error message "Undefined function or variable 'ddid'." then you have the very first release of SeisLab. Otherwise, compare the distribution ID with that of this release (15.09.20). If it is lower then this release is newer.
There are no major changes from SeisLab 3.01.

Cite As

Eike Rietsch (2021). SeisLab 3.02 (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (31)


I get an error using s_phase_rotation function: - on the ds_header function. Just trying to rotate a simple ricker wavelet.
Error using ds_header (line 81)
The first input argument must be a seismic dataset or a pseudo-well structure.

Error in s_phase_rotation (line 94)
seismic=ds_header(seismic,param.add_option,param.header,phase,'degree','Phase angle');

Error in tuning (line 71)

Ying Li

David Ashirov

Travis Eckert

Drew Cheir



First, thank you very much for this very important toolbox!
I am trying to convert a .mat file to .sgy file and I get the dimensions wrong.
The oroginal dimentions were :size(matrix)= 180 sensors over 269280 samples = 48470400
First I used : seismic = s_convert(matrix,start_time,sample_interval)
and then : write_segy_file(seismic,'filename')
Then, in order to check the transfer I used : seismic = read_segy_file;
And got the dimentions : size(seismic.traces)= 1476 sensors over 46896 samples = 69218496
What could be the problem ?


I am a research scholar, I'm working on the reservoir characterization using matlab 2013b, I want to know how to use SeisLab 3.02. to manipulate well and seismic data.


at first thanks a lot for this really nice tool box!
Just wanted to mention, that had some depth-uncertainties writing a new segy. Maybe I did some basic mistake, but (if anybody else might have the same prob): the depths (in form of the new tracers-array (seisout in s_select.m (line 217)) were manipulated wrongly for me. Just flipped the bool, and the tracers array "is beeing filled" in the right direction.


Zhang CHW

Very very nice!

YanLi Liu

suggestion to Bryan Marfito:read data in SEG-Y format by SeisLab 3.0.2
Please try to use the SEG-Y data in sun format not the PC format.My problem has been solved.(Matlab 2014b)

Michael wang

Mashael AlQadeeb

Liang Xiao


Bryan Marfito

Hello Eike,

My data in SEG-Y format is not being read by SeisLab 3.0.2. It produces the following errors:

Error using myerror (line 22)
Data in unsupported format; data sample format code = 2

Error in open_segy_file4reading>check_file_headers_no4 (line 372)
myerror(['Data in unsupported format; ' ...

Error in open_segy_file4reading (line 194)

Error in read_segy_file (line 162)

We had produced the SEG-Y file by converting the .ODC files using Kogeo 2.7. We are currently using MatLab 2017b to run the SeisLab software. Please help us.

Thank you very much in advance!


Bryan Marfito

Filipe Borges

Hei Eike, thank you so much for sharing this, it is being amazingly helpful!

Just wondering with you could help with one thing: I am trying to append several seg-y files in the time axis - unfortunately, my files were provided with a split every 16 seconds. However, when I use the function s_append, I get several recordings of 16s, not a single, long one. Any suggestion?

Thanks one more time!

ehsan gharebaghi

ehsan gharebaghi

This script is not available :0,6.1,'s_ghost_response','Apply effect of source/receiver ghost on seismic dataset';
Can anyone help me please?


Dear Sir,

I am a research scholar associated with the Department of Electrical Engineering, IIT Kharagpur, India. I am writing this email with reference to the example dataset in SeisLab 3.02.

I find the seismic datasets (data.mat, data3d.mat) and well log (wlog.mat) in the folder.
I did not get any information about the well log position and depth to time conversion (ft to ms) of the well logs so that I can use both data i.e. well log and seismic data to build reservoir characterization framework.

Kindly give me some information regarding the well-log data location and time domain conversion.
I would also like to know how I can use the dataset for possible publication.

With best regards,

Soumi Chaki

Gordon Marney

Eike Rietsch

I Ran

s_ispectrum (devon)

Got theses messages

Error using num2str (line 45)
Input to num2str must be numeric.

Error in menu2pick_frequency_windows>g_closerequest4ispectrum (line 317)

Error while evaluating Figure CloseRequestFcn

Program locked and I cannot get out of plots or close Matlab

What should I do now?

Gordon Marney

jamal assad

I get the following two errors when ran examples:
Undefined command/function 'bsxfun'
Undefined command/function 'structfun'

Abd Hafidz


Looking for s_tx2taup function. Cannot find it. Thanks.

Yc Huang

really appreciate your work! when using the "s_wplot" function, how can I remove the time_lines as in the "s_cplot(data,{'time_lines',[]})" ?



Keith Edwards

{Bug report}
When copying the ebcdic/ascii header from an input file to the output file the characters get transposed. This is independent of whether you transpose the array on the call to write_segy_file. I altered the code myself to fix the problem

Keith Edwards

If I write one single extra trace header field I get an error. If I write two, then no problem. I think this may be because Matlab will treat one string as a character array while two strings are treated as 1x2 string array.

jorge parra

Comments: I am start learning how to use SeisLAB software for seismic processing.
I noticed that is no way to output text files for intermediate calculations. The only way is to get the output is in SEGY, then you have to save it on disk and then convert it to ASCII. It is a tedious process for just putting in a file what you want to use for a further analysis such as inversion.
Appreciate it if show me a way to read and output text files, that probable it can be done.
Thank you,

Yang Zhou

{Bug report ToT}
Hello, thanks for the great work.The package is of great help for my research.
Here is the report of a bug when using function 's_wplot' for wiggle display for seismic data. The
varagin property 'wiggle_color' seems not working well and one must use 'wiggle' instead if the specific wiggle is required.

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

SeisLab 3.02/S4M/Examples/

SeisLab 3.02/S4M/Geophysics_3.0/

SeisLab 3.02/S4M/Geophysics_3.0/@struct/

SeisLab 3.02/S4M/Geophysics_3.0/private/

SeisLab 3.02/S4M/Other/