View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
SeisLab 3.01

4.4 | 22 ratings Rate this file 77 Downloads (last 30 days) File Size: 2.9 MB File ID: #15674 Version: 1.5
image thumbnail

SeisLab 3.01


Eike Rietsch (view profile)


24 Jul 2007 (Updated )

Release 10.0301 of a collection of functions for analysis/display of seismic and well-log data.

| Watch this File

File Information

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 run them under R2007b, 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. If it is lower then this release is newer.

Major changes in SeisLab 3.0:

Some functions require Matlab R2007a or higher.

Representation of seismic data and log data in single-precision or double-precision with trivial conversion from one into the other via overloaded functions "single" and "double". This means datasets can be about twice as big.

LAS-file reader rewritten; reads LAS 2.0 and 3.0 files;
the old LAS-file reader (LAS 2.0 only) is still available as "read_las2_file". It is somewhat faster.

SEG-Y file reader rewritten. For large files it is much faster than the previous one; even more so if IBM to IEEE conversion is required. The original SEG-Y reader is still available as "read_segy_file_legacy".

Display of volumes of seismic data in form of slices, contour slices, iso-surfaces ("s_volume_browser"). Slices can be static or animated. The volume-browser software is no longer included in this distribution as it is on a different update schedule. If you don't have it you can download the latest version from the Matlab File Exchange (file 13526).

Faster and more accurate seismic plots.

EXAMPLE (used to plot the attached figure):

% Read interactively selected SEG-Y file
seismic = read_segy_file;

% Make a volume plot of the data read


Adv Exp Fig, Printing Matlab Errors (R14sp3 And Later), Showcell & Cell\Disp, Line Wrap A String, and Vector Norm inspired this file.

This file inspired Well Log Interpreter.

MATLAB release MATLAB 7.4 (R2007a)
Other requirements Developed on a PC under Windows, but should work on other platforms as well.
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (35)
30 Dec 2016 khaled

khaled (view profile)

hi friends;
i am trying to work with the Seislb3.02 on the 2016a version but when runnig the presets i have this problem

Attempt to execute SCRIPT version as a function:
C:\Program Files\MATLAB\R2016a\toolbox\local\ja\version.m

Error in systemDefaults4Seislab (line 76)

Error in presets (line 9)

Comment only
22 Nov 2016 Natalie

Thank you so much for this wonderful package! I'm analyzing a 3D refraction dataset and this has made plotting data and looking at frequency so much easier than the way I had previously done it. I'm running Matlab 2016b and so far everything has been working great. Thanks again

16 Jan 2016 Fabricio Fernandez

HI, I'm trying to open the file LAS verified 3.0,( the function read_las_file(file,{'section','all'}); give error:(??? Reference to non-existent field
'curve_info'.) could any open this verified las 3.0 file ?

(MATLAB: (R2008b))


Comment only
09 Oct 2015 Eike Rietsch

Eike Rietsch (view profile)

A new version, SeisLab 3.02, is available. It fixes the obvious bugs created by the the new graphics system.

Comment only
08 Oct 2015 Lijun Zhu

s_plot.m problem fixed. The new Matlab use a different convention for gcf.m. This previously return a number but now a structure. The bug can be fixed by appending .Number to the figure_handle variable.

Comment only
18 Aug 2015 Lijun Zhu

I did some search and realize that MATLAB changed java from 2014a to 2014b. I just the buff is due to that.

Comment only
13 Aug 2015 Lijun Zhu

It seems that many seismic plot function, e.g. s_plot, s_cplot, are no longer compatible with the newest version of matlab (2015a). The specific error I got is is related to abs function. Apparently, an abs function is created for @struct class, but somehow, matlab still use the standard abs in the plot functions.

16 Apr 2015 Ismot Jahan

I have a student licence for MatLab 2014a. For my research, I need to use SeisLab. So, I downloaded SeisLab 3.01 from File Exchange. But I was unable to use any functions and examples from Seislab using MatLab 2014a.

When I run a function or example, it gives me an error "Undefined function or variable 'ddid'.". I have never used SeisLab before. Please suggest me a solution to solve the problem.

Comment only
03 Apr 2015 Peng

Peng (view profile)

seems like some function not supported on the 2014b version.

23 Feb 2015 Puguh Hiskiawan

Guest, I have problem for running this program...
How should I run this program?

17 Sep 2014 tarun

tarun (view profile)

does it still has picking amplitude of individual traces capability? I thought S_spicks command achieves it but it is no longer seems to be available in the program suite.
I would like to know how I can pick these amplitude off from the seismic wiggle trace...Can somebody help?

Comment only
15 Sep 2014 Adam

Adam (view profile)

17 Apr 2014 Paul Edigbue

Anybody that knows how to generate synthetic 3D seismic trace, just about 12 or 24 traces, show pls help me. I need matlab code that could do it for me.

Comment only
01 Apr 2014 kaiba Wong

Hi there, I was using Seislab and for no reason it starts giving me error even after I re-downloaded it. I am having with this particular function: s_log2reflectivity

after running presets.. I get this error:
Error using struct/moperation (line 37)
Operation "*" is not defined for these two arguments

Error in * (line 15)

Error in l_curve (line 41)
beta = U'*b; beta2 = norm(b)^2 - norm(beta)^2;

Error in l_depth2time (line 194)

Error in s_log2reflectivity (line 64)

if anyone has a solution for this, it will be extremely helpful. Please let me know what is wrong. I did not alter the original code. Thanks in advance.

Comment only
12 Mar 2014 peter

peter (view profile)

04 Mar 2014 anusha js

08 Feb 2013 Joseph Jennings


I need help using the l_compare function. When I attempt to compare different logs and change each log's depth so they all have the same vertical scale, I get the following error:

Error using assign_input (line 116)
There is a problem with the input arguments of function

Error in l_compare (line 95)

Error in Project3 (line 31)
l_compare({wellLog11, 'RILD',{'color','b'}, {'linewidth'

Does anyone know what I am doing wrong?

This is my code for the l_compare function:

l_compare({wellLog11, 'RILD',{'color','b'}, {'linewidth' 1},{'depths',4500,5000}},...
{wellLog13, 'RILD',{'color','b'}, {'linewidth' 1},{'depths',4500,5000}}, ...
{wellLog7, 'RILD', {'color','b'}, {'linewidth' 1},{'depths',4500,5000}}, ...
{wellLog18d, 'RILD', {'color','b'}, {'linewidth' 1},{'depths',4500,5000}}, ...
{wellLog15, 'RILD', {'color','b'}, {'linewidth' 1},{'depths',4500,5000}});

Thanks in advance.

05 Jun 2012 Nam Nicholas

25 Apr 2012 wang

wang (view profile)

10 Jan 2012 Dave

Dave (view profile)

13 Dec 2011 Pit D

Pit D (view profile)

18 Jul 2011 Vaughn

Vaughn (view profile)

I notice among the "list_of_seismic_functions" one call "s_insert_deviated_synthetic". But there's no corresponding m-file. Will this function be available soon?

08 Dec 2010 Jorge Reveron

I have a problem with memblock function when I try to read a 3D segy file. The problem is that memblock uses the commamnd:


but textscan function requires how first argument a fid from file that it should be read.
Can I use an alternative function to scan 'feature(''memstats'')'?


Comment only
26 Mar 2010 Ravi

Ravi (view profile)

Excellent! As promised it is faster than the previous versions. I checked reading a 566 MB segy file and found that it is 2 times faster than the previous code on a HP- Z600 workstation with 4 GB RAM.
Thanks a lot for such a nice contribution!

26 Feb 2010 xiao gh

how can i get SEG-Y data?
I get the website (,but I can't find the place to download SEG-Y data.
Is somebody give some help?
thanks a lot!

Comment only
19 Jan 2010 Todd Bredbeck

Very useful set of tools, especially the IO capabilities.

05 Jan 2010 Novrianto

12 Mar 2009 William

Can this toolbox import 3D SEG-Y data? The graphic suggests yes, but I cannot figure out how to do this. An example would be most helpful.

Comment only
14 Aug 2008 Ravi Srivastava

Overall toolbox is excellent, except that its hard to use for big data set.
I would appreciate if some one could let me know proper example of l_trend_removal.m

04 Mar 2008 li zhihui


Comment only
28 Feb 2008 Matthew Reilly

11 Dec 2007 Xu Shanhui


20 Aug 2007 Bian Aifei

30 Jul 2007 Wen-Tao Ma

26 Jul 2007 Sonny Winardhi

14 Jan 2008

Completely rewritten function "s_spectrum" with more options to display amplitude spectra and phase spectra.

The usual collection of bug fixes, added options and error trapping for existing functions.

17 Jan 2008

The previously uploaded file had a wrong Distribution ID.

28 Jan 2008

Bug fix in function "s_spectrum".

04 Jul 2009 1.1

Replaced the GNU Lesser General Public License by the BSD License as required by The MathWorks.

08 Jul 2009 1.2

Replaced the GNU Lesser General Public License by the BSD License as required by The MathWorks.

20 Jul 2009 1.3

Removed the last vestiges of the GNU license and added the manual, that had gone AWOL.

23 Feb 2010 1.4

Fixed a number of bugs (e.g. a bug in "write_segy_file" that showed up under Linux).
Added new option to "s_wplot".
Simplified parameter input.
More scripts with examples.
Updated and expanded manual.

01 Mar 2010 1.5

Fixed typo in a function statement

Contact us