Visualization for GeoPhysical Data – SEG-Y Reader

SEG-Y (also referred to as SEG Y) is a file format used in the geophysical industry for recording digital seismic data. It is an open standard developed and maintained by the Society of Exploration Geophysicists (SEG).  A SEG-Y file consists of a file header followed by a number of traces. Each trace is vertical, stores X and Y coordinate, and contains a number of samples between 0 and a certain depth in the ground. Traces are organized in rows (inlines) and columns (crosslines) and are stored in the file in row-major-order. Our convention is that rows (inlines) are parallel with the X axis, columns are parallel with the Y axis and traces are parallel with the Z axis. So X-Y-Z axes store crossline-inline-depth values.

There are two kinds of SEG-Y data:

2.5 D SEG-Y Data

In this case the data only has one row (inline) and we represent the resulting surface using vtkStructuredGrid.

2.5D SEG-Y surface

3D SEG-Y Data

In this case the data has many rows and by default we represent this data as a Structured Grid (curvilinear grid).

3D SEG-Y data (link here) visualized using color mapping and a volume rendering

The X and Y coordinates stored with each trace are used to visualize the position and shape of the data in space. By default the reader produces a VTK StructuredGrid because it preserves the data orientation and shape. The reader has an option to read the data as VTK ImageData, which is useful when the data is parallelepiped that is rotated around the Z axis, as this format is memory efficient and can make data processing faster (See Figure below).

3D SEG-Y data represented as Image Data (aligned with XY axes) and Structured Grid

This reader is available in VTK and ParaView master. If you have any questions or need help with your GeoPhysical data visualization please contact

13 comments to Visualization for GeoPhysical Data – SEG-Y Reader

  1. Couldn’t open segy files with the latest release of ParaView(5.5.2 downloaded 07/08/2018) . Could not find the SEG-Y Reader in the reader’s list either. Any tips on how to do it?

  2. @Leo above it says it is available in ‘master’, looking at the tags in git v6.0.0 is prepping release with rc2, and before that 5.8.0, so I am compiling right off of the ‘master’ branch.

    1. G’day Josh,

      You seem to be quite knowledgeable on the Git stuff – How long would you estimate before the v6.0.0 release?

      I’m not confident to compile it correctly from the master branch myself and would prefer to wait for the pre-compiled installer…!

      1. 8.1.0 is the latest VTK release, 6.0.0 was in 2013 ParaView 5.5.2 has a master VTK more recent than 8.1.0.

        At the VTK level, if you are coming in via python, you should try the recent vtk python packages that you can get via pip. Otherwise, I haven’t made pre-compiled installers for a while regrettably (we have some plans for 9.x series that hopefully will come to pass). Be sure to check with your OS/distro’s package system. A number of good folks volunteer to make and publish VTK binary packages on different platforms. I would expect most to be above 6.0 at this date.


  3. Alex, Josh, and Leo, Segy-Y reader is in the ParaView nightly but not in the last stable ParaView release. Could you try the ParaView nightly.

    1. And 5.6.0.rc1 should be available on the download page shortly too. It will be nearly the same thing as the nightly binary from yesterday. The RC cycle is an particularly good time to provide feedback on ParaView features new and old.

  4. ‘Just downloaded the newest nightly (5.6.0-1301-g43d03e6368) for windows and the segy reader still does not seem to be there.

    1. Dani,
      SEG-Y is there in the ParaView 5.6.0 release. We switch to new cmake code to build ParaView – probably this is why SEG-Y is not in the nightly. We’ll put it back in.
      Thanks for the report,

  5. Hi,
    I have MATLAB code formatted in (seg2read), and I need to modify it to (seg2write); thus, I am asking for your help.

Leave a Reply