Active1 year, 11 months ago
Segy Detective
Mac symbol for sd reader. I am working on a project which needs to deal with large seismic data of SEGY format (from several GB to TB). This data represents the 3D underground structure.
Data structure is like:
What I want to ask is, in order to read and deal with the data fast, do I have to convert the data into another form? Or it's better to read from the original SEGY file? And is there any existing C package to do that?
Brian Tompsett - 汤莱恩SEG-Y Reader can read most files that adhere loosely to the original SEG-Y specification or the SEG-Y rev. 1 format specification, including. Be sure to set the file type to “3D SEGY files”. You may examine 3D SEG-Y files, but exporting to either Geosoft voxel. SEGY file is a SEG Y Data File. The SEG Y file format is one of several standards developed by the Society of Exploration Geophysicists for storing geophysical data. It is an open standard, and is controlled by the SEG Technical Standards Committee, a non-profit organization.
4,4671414 gold badges4040 silver badges108108 bronze badges
Gordon VanderbiltGordon Vanderbilt
4 Answers
![Segy Segy](/uploads/1/2/6/0/126070615/682609411.png)
When dealing of data of that size, you may not want to convert it into another form unless you have to - though some software does do just that. I found a list of free geophysics software on Wikipedia that look promising; many are open source and read/write SEGY files.
Adobe Acrobat Reader For Mac
Since you are a newbie to programming, you may want to consider if the Python library segpy suits your needs rather than a C/C++ option.
Daniel WaechterDaniel Waechter1,51411 gold badge1414 silver badges1919 bronze badges
- If you need to access it multiple times and
- if you need to access it randomly and
- if you need to access it fast
then load it to a database once.
Do not reinvent the wheel.
E-reader For Mac
alkalk61.1k88 gold badges7171 silver badges184184 bronze badges
Several GB is rathe medium, if we are toking about poststack.You may use segy and convert on the fly, you may invent your own format. It depends whot you needed to do. Without changing segy format it's enough to createing indexes to traces. If segy is saved as inlines - it's faster access throug inlines, although crossline access is not very bad. If it is 3d seismic, the best way to have the same quick access to all inlines/crosslines is to have own format - based od beans, e.g 8x8 traces - loading all beans and selecting tarces access time may be very quick - 2-3 secends. Or you may use SSD disk, or 2,5x RAM as your SEGY.To quickly access timeslices you have 2 ways - 3D beans or second file stored as timeslices (the quickes way). I did same kind of that 10 years ago - access time to 12 GB SEGY was acceptable - 2-3 seconds in all 3 directions.SEGY in database? Wow .. ;)
Segy Viewer Ihs
jerryjerry
The answer depends upon the type of data you need to extract from the SEG-Y file.
If you need to extract only the headers (Text header, Binary header, Extended Textual File headers and Trace headers) then they can be easily extracted from the SEG-Y file by opening the file as binary and extracting relevant information from the respective locations as mentioned in the data exchange formats (rev2). The extraction might depend upon the type of data (Post-stack or Pre-stack). Also some headers might require conversions from one format to another (e.g Text Headers are mostly encoded in EBCDIC format). The complete details about the byte locations and encoding formats can be read from the above documentation
The extraction of trace data is a bit tricky and depends upon various factors like the encoding, whether the no. of trace samples is mentioned in the trace headers, etc. A careful reading of the documentation and getting to know about the type of SEG data you are working on will surely make this task a lot easier.
Since you are working with the extracted data, I would recommend to use already existing libraries (segpy: one of the best python library I came across). There are also numerous free available SEG-Y readers, a very nice list has already been mentioned by Daniel Waechter; you can choose any one of them that suits your requirements and the type file format supported.
I recently tried to do something same using C++ (Although it has only been tested on post-stack data). The project can be found here.
Segy Viewer For Mac
AnkushAnkush