Segy Widget Class


Introduction

A Segy widget reads a SEG-Y file and displays the seismic section described in that file so that the end-user can view and manipulate it. The application has complete control over the display of the seismic section and the end-user, using a built-in panel, can change the display attributes for the Segy widget. Resources are defined for specifying the range of traces to be displayed, the type of trace display to be used, trace normalizations, and annotation options. Traces can be accessed and annotated using the trace sequence number, trace shot sequence number (TSSN), shot point identifier (SPID), or common depth point (CDP). For CDP-organized data a secondary key of trace (CDPTR) is supported for 2-level data. The widget also provides a zoom function that creates a scaled view of a selected area. Additional data can be read from a second SEG-Y and overlaid onto the display of the primary seismic section.

The Segy widget class is a subclass of the Seismic widget class. Therefore, the resources, actions, translations, callbacks and functions defined for the Seismic widget class apply to the Segy widget class with the following exceptions:


Inherited Behavior and Resources

The Segy widget inherits behavior and resources from the Core, Primitive, CompBase, EditObject, Grid, Image and Seismic classes.

Most of the resources defined by the Seismic widget class, with the exception of XmNdataRec, are used by the Segy widget class. Please refer to the section describing the Seismic widget class for a description of the resources used by both the Seismic and Segy widget classes. You should be aware that some of the Seismic resources are redefined when they are set in the Segy class. These are listed together with the additional resources defined by the Segy widget class.

The following resources are defined by the Polyline object class:
NameTypeDefaultAccess
XmNgapKeyIncrementint100CSG
XmNoverlaySegyFilenamechar *NULLCSG
XmNprimaryAnnotationIncrementint10CSG
XmNprimaryAnnotationNamechar *"Trace"CSG
XmNprimaryKeyNamechar *"Trace"CSG
XmNsecondaryAnnotationNamechar *NULLCSG
XmNsecondaryKeyNamechar *NULLCSG
XmNsegyFilenamechar *NULLCSG
XmNsegyUseDataFormatBooleanTrueCSG
XmNsegyUseStartingTimeBooleanTrueCSG


XmNgapKeyIncrement

Specifies the spacing between gaps in terms of number of primary key changes. For example, if the primary key is traces and the gap key increment is 20, then a gap is inserted after 20 traces. This resource defaults to 100 for a Segy widget.

XmNoverlaySegyFilename

Specifies the name of a file containing SEG-Y formatted data to be displayed on top of the primary seismic section by the Segy widget.

XmNprimaryAnnotationIncrement

Specifies the increment between each of the primary annotations in terms of primary key units. This resource defaults to 10 for the Segy widget.

XmNprimaryAnnotationName

Specifies the name of the key used to draw the annotation for the primary key values. If this resource is NULL, then no primary annotation will be displayed. The supported annotation values are as follows: "Trace" annotates the trace sequence number. "TSSN" annotates the trace shot sequence number. "SPID" annotates the shot point identifier. "CDP" annotates the common depth point. "CDPTR" annotates the common depth point trace.

XmNprimaryKeyName

Specifies the name of the key used to select the data for display. This value must be one of: "Trace" (trace sequence number), "TSSN" (trace shot sequence number), "SPID" (shot point identifier), or "CDP" (common depth point) for the Segy widget class.

XmNsecondaryAnnotationName

Specifies the name of the key used to draw the secondary key annotations. If this resource is NULL, then no secondary annotation will be displayed. Any of the values listed for XmNprimaryAnnotationName may be used for this resource.

XmNsecondaryKeyName

Specifies the name of the secondary key used to select the data for display. If this resource is NULL, then the widget will not use secondary keys. If the resource value is not NULL, then "CDPTR", common depth point trace, must be specified for a Segy widget.

XmNsegyFilename

Specifies the name of a file containing SEG-Y formatted data to be displayed as a seismic section by the Segy widget.

XmNsegyUseDataFormat

When this resource is set to True, the Segy widget will parse the trace identification code (fields 29-30) in the SEG-Y binnary header and perform any necessary data conversion. Otherwise, the default (IBM Floating Point) will be used. The following trace data formats are supported:

FormatLength (bytes) Trace ID Code
IBM Floating Point (the default)41
Fixed Point42
Fixed Point23
IEEE Floating Point45


XmNsegyUseStartingTime

The Segy widget will use the trace starting time stored in the trace header of the first input trace when this resource is set to True. It is assumed that all trace start times in the SEG-Y file will be the same. If this resource is set to False, zero (0) will be used for the trace start time.