Toolkit for processing seismic data file (SEGY). You can use this toolkit to divide a large SEGY file into small ones, extract certain traces from a large SEGY file, extract the traces according to FFIDs and so on without loading the huge size data into memory. Linux and MATLAB on Windows are supported.
segymat and SeiSee are recommended for further loading data from MATLAB and visualizing.
- Linux
You can compile the source files through
$ make
in src
subfolder. Three executables gatherSplitor, shotExtractor
and traceExtractor
will be compiled out in subfolder bin
. Three parameter template files are provided in bin
folder.
- Windows with MATLAB
Run Compile.m
in mex
folder. (Don't forget to set up your C++ compiler to MinGW)
-
sgyParser.m This function parses the volume header of the SEGY file. The example can be found in example_sgyparser.m.
-
shotExtract.m This function extracts the traces according to the preset FFIDs into a new SEGY file. The example could be found in example_extract_shotID.m.
-
gatherSplit.m This function could split the large segy file into smaller ones, and each one constains certain number of gathers you set. The example is demonstrated in example_split_segy.m
-
tracesExtract.m This function extracts the traces according to the preset index range into a new SEGY file. The example could be found in example_extract_traces.m.
-
readCertainTraces.m This function directly read traces from the large SGY file. It is not recommend to use the function directly if you are unfamiliar with the structrue of SGY file. Instead I recommend you to use tracesExtract.m combined with
ReadSegy
function from segymat. The example can be found in example_readtraces.m
transferVelocitytoMat.m is an example using function readCertainTraces
to load velocity data from SGY file. The segy file can be download from SEG open data. The loaded velocity data is presented as follows.