segpy.trace_header module¶
-
class
segpy.trace_header.
CoordinateUnits
¶ Bases:
enum.IntEnum
Coordinate units: 1 = Length (meters or feet), 2 = Seconds of arc, 3 = Decimal degrees, 4 = Degrees, minutes, seconds (DMS). Note: To encode ±DDDMMSS bytes this value equals ±DDD*104 + MM*102 + SS with xy_scalar set to 1; To encode ±DDDMMSS.ss this value equals ±DDD*106 + MM*104 + SS*102 with xy_scalar set to -100.
-
DECIMAL_DEGREES
= 3¶
-
DMS
= 4¶
-
LENGTH
= 1¶
-
SECONDS_OF_ARC
= 2¶
-
UNKNOWN
= 0¶
-
-
class
segpy.trace_header.
CoordinateUnitsField
¶ Bases:
int
-
ENUM
¶ alias of
CoordinateUnits
-
MAXIMUM
= 32767¶
-
MINIMUM
= -32768¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
Bases:
enum.IntEnum
Correlated: 1 = no, 2 = yes.
Bases:
int
alias of
Correlated
-
class
segpy.trace_header.
DataUse
¶ Bases:
enum.IntEnum
Data use: 1 = Production, 2 = Test
-
PRODUCTION
= 1¶
-
TEST
= 2¶
-
-
class
segpy.trace_header.
DataUseField
¶ Bases:
int
-
MAXIMUM
= 32767¶
-
MINIMUM
= -32768¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
DayOfYearField
¶ Bases:
int
Day of year. (Julian day for GMT and UTC time basis).
Value range based on: https://seg.org/Portals/0/SEG/News%20and%20Resources/Technical%20Standards/seg_y_rev2_0-mar2017.pdf
-
MAXIMUM
= 366¶
-
MINIMUM
= 0¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
HourOfDayField
¶ Bases:
int
Hour of day. (24 hour clock).
-
MAXIMUM
= 24¶
-
MINIMUM
= 0¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
MinuteOfHourField
¶ Bases:
int
Minute of hour.
-
MAXIMUM
= 60¶
-
MINIMUM
= 0¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
OverTravel
¶ Bases:
enum.IntEnum
Over travel associated with taper at beginning or end of line. 1 = down (or behind) 2 = up (or ahead)
-
DOWN
= 1¶
-
UNKNOWN
= 0¶
-
UP
= 2¶
-
-
class
segpy.trace_header.
OverTravelField
¶ Bases:
int
-
ENUM
¶ alias of
OverTravel
-
MAXIMUM
= 32767¶
-
MINIMUM
= -32768¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
SampleUnit
¶ Bases:
enum.IntEnum
-1 = Other (should be described in Data Sample Measurement Units Stanza) 0 = Unknown, 1 = Pascal (Pa), 2 = Volts (v), 3 = Millivolts (mV), 4 = Amperes (A), 5 = Meters (m), 6 = Meters per second (m/s), 7 = Meters per second squared (m/s^2), 8 = Newton (N), 9 = Watt (W)
-
AMPERES
= 4¶
-
METERS
= 5¶
-
METERS_PER_SECOND
= 6¶
-
METERS_PER_SECOND_SQUARED
= 7¶
-
MILLIVOLTS
= 3¶
-
NEWTON
= 8¶
-
OTHER
= -1¶
-
PASCAL
= 1¶
-
UNKNOWN
= 0¶
-
VOLTS
= 2¶
-
WATT
= 9¶
-
-
class
segpy.trace_header.
SampleUnitField
¶ Bases:
int
-
ENUM
¶ alias of
SampleUnit
-
MAXIMUM
= 32767¶
-
MINIMUM
= -32768¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
ScalarFactor
¶ Bases:
enum.IntEnum
Scalar to be applied to other fields.
See specific fields (i.e. use of this class) to see the specific fields to which scalars are applied.
Scalar = 1, +10, +100, +1000, or +10,000. If positive, scalar is used as a multiplier; if negative, scalar is used as a divisor.
-
NEG_1
= -1¶
-
NEG_10
= -10¶
-
NEG_100
= -100¶
-
NEG_1000
= -1000¶
-
NEG_10000
= -10000¶
-
POS_1
= 1¶
-
POS_10
= 10¶
-
POS_100
= 100¶
-
POS_1000
= 1000¶
-
POS_10000
= 10000¶
-
UNKNOWN
= 0¶
-
-
class
segpy.trace_header.
ScalarFactorField
¶ Bases:
int
-
ENUM
¶ alias of
ScalarFactor
-
MAXIMUM
= 32767¶
-
MINIMUM
= -32768¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
SecondOfMinute
¶ Bases:
int
Second of minutes.
-
MAXIMUM
= 60¶
-
MINIMUM
= 0¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
SourceMeasurementUnit
¶ Bases:
enum.IntEnum
Source Measurement Unit. The unit used for the source measurement.
-1 = Other (should be described in Source Measurement Unit stanza), 0 = Unknown, 1 = Joule (J), 2 = Kilowatt (kW), 3 = Pascal (Pa), 4 = Bar (Bar), 4 = Bar-meter (Bar-m), 5 = Newton (N), 6 = Kilograms (kg)
-
BAR
= 4¶
-
BAR_METER
= 4¶
-
JOULE
= 1¶
-
KILOGRAMS
= 6¶
-
KILOWATT
= 2¶
-
NEWTON
= 5¶
-
OTHER
= -1¶
-
PASCAL
= 3¶
-
UNKNOWN
= 0¶
-
-
class
segpy.trace_header.
SourceMeasurementUnitField
¶ Bases:
int
-
ENUM
¶ alias of
SourceMeasurementUnit
-
MAXIMUM
= 32767¶
-
MINIMUM
= -32768¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
SourceTypeField
¶ Bases:
int
Source Type/Orientation — Defines the type and the orientation of the energy source. The terms vertical, cross-line and in-line refer to the three axes of an orthogonal coordinate system. The absolute azimuthal orientation of the coordinate system axes can be defined in the Bin Grid Definition Stanza. -1 to -n = Other (should be described in Source Type/Orientation stanza), 0 = Unknown, 1 = Vibratory - Vertical orientation, 2 = Vibratory - Cross-line orientation, 3 = Vibratory - In-line orientation, 4 = Impulsive - Vertical orientation, 5 = Impulsive - Cross-line orientation, 6 = Impulsive - In-line orientation, 7 = Distributed Impulsive - Vertical orientation, 8 = Distributed Impulsive - Cross-line orientation, 9 = Distributed Impulsive - In-line orientation
-
MAXIMUM
= 9¶
-
MINIMUM
= -32768¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
SweepType
¶ Bases:
enum.IntEnum
Sweep type: 1 = linear, 2 = parabolic, 3 = exponential 4 = other.
-
EXPONENTIAL
= 3¶
-
LINEAR
= 1¶
-
OTHER
= 4¶
-
PARABOLIC
= 2¶
-
UNKNOWN
= 0¶
-
-
class
segpy.trace_header.
SweepTypeField
¶ Bases:
int
-
MAXIMUM
= 32767¶
-
MINIMUM
= -32768¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
TaperType
¶ Bases:
enum.IntEnum
Taper type: 1 = linear, 2 = cos2, 3 = other
-
COS_SQUARED
= 2¶
-
LINEAR
= 1¶
-
OTHER
= 3¶
-
UNKNOWN
= 0¶
-
-
class
segpy.trace_header.
TaperTypeField
¶ Bases:
int
-
MAXIMUM
= 32767¶
-
MINIMUM
= -32768¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
TimeBasisCode
¶ Bases:
enum.IntEnum
Time basis code. 1 = Local, 2 = GMT (Greenwich Mean Time), 3 = Other, should be explained in a user defined stanza in the Extended Textual File Header, 4 = UTC (Coordinated Universal Time).
-
GMT
= 2¶
-
LOCAL
= 1¶
-
OTHER
= 3¶
-
UNKNOWN
= 0¶
-
UTC
= 4¶
-
-
class
segpy.trace_header.
TimeBasisCodeField
¶ Bases:
int
-
ENUM
¶ alias of
TimeBasisCode
-
MAXIMUM
= 32767¶
-
MINIMUM
= -32768¶
-
SEG_Y_TYPE
= 'int16'¶
-
SIZE
= 2¶
-
-
class
segpy.trace_header.
TraceHeaderRev0
(*args, **kwargs)¶ Bases:
segpy.header.Header
-
LENGTH_IN_BYTES
= 240¶
-
START_OFFSET_IN_BYTES
= 1¶
-
alias_filter_frequency
= AliasFilterFrequencyField(name='alias_filter_frequency', value_type='NNInt16', offset=141, default=0)¶
-
alias_filter_slope
= AliasFilterSlopeField(name='alias_filter_slope', value_type='Int16', offset=143, default=0)¶
-
coordinate_units
= CoordinateUnitsField(name='coordinate_units', value_type='CoordinateUnitsField', offset=89, default=<CoordinateUnits.UNKNOWN: 0>)¶
-
data_use
= DataUseField(name='data_use', value_type='DataUseField', offset=35, default=<DataUse.PRODUCTION: 1>)¶
-
datum_elevation_at_receiver_group
= DatumElevationAtReceiverGroupField(name='datum_elevation_at_receiver_group', value_type='NNInt32', offset=53, default=0)¶
-
datum_elevation_at_source
= DatumElevationAtSourceField(name='datum_elevation_at_source', value_type='Int32', offset=57, default=0)¶
-
day_of_year
= DayOfYearField(name='day_of_year', value_type='DayOfYearField', offset=159, default=0)¶
-
delay_recording_time
= DelayRecordingTimeField(name='delay_recording_time', value_type='Int16', offset=109, default=0)¶
-
doc_nreceiver_offset
= DocNreceiverOffsetField(name='doc_nreceiver_offset', value_type='Int32', offset=37, default=0)¶
-
elevation_scalar
= ElevationScalarField(name='elevation_scalar', value_type='ScalarFactorField', offset=69, default=<ScalarFactor.POS_1: 1>)¶
-
energy_source_point_num
= EnergySourcePointNumField(name='energy_source_point_num', value_type='Int32', offset=17, default=0)¶
-
ensemble_num
= EnsembleNumField(name='ensemble_num', value_type='Int32', offset=21, default=0)¶
-
ensemble_trace_num
= EnsembleTraceNumField(name='ensemble_trace_num', value_type='NNInt32', offset=25, default=0)¶
-
field_record_num
= FieldRecordNumField(name='field_record_num', value_type='Int32', offset=9, default=0)¶
-
file_sequence_num
= FileSequenceNumField(name='file_sequence_num', value_type='Int32', offset=5, default=0)¶
-
gain_type_of_field_instruments
= GainTypeOfFieldInstrumentsField(name='gain_type_of_field_instruments', value_type='NNInt16', offset=119, default=0)¶
-
gap_size
= GapSizeField(name='gap_size', value_type='NNInt16', offset=177, default=0)¶
-
geophone_group_num_first_trace_original_field
= GeophoneGroupNumFirstTraceOriginalFieldField(name='geophone_group_num_first_trace_original_field', value_type='Int16', offset=173, default=0)¶
-
geophone_group_num_last_trace_original_field
= GeophoneGroupNumLastTraceOriginalFieldField(name='geophone_group_num_last_trace_original_field', value_type='Int16', offset=175, default=0)¶
-
geophone_group_num_roll_switch_position_one
= GeophoneGroupNumRollSwitchPositionOneField(name='geophone_group_num_roll_switch_position_one', value_type='Int16', offset=171, default=0)¶
-
group_static_correction
= GroupStaticCorrectionField(name='group_static_correction', value_type='Int16', offset=101, default=0)¶
-
group_x
= GroupXField(name='group_x', value_type='Int32', offset=81, default=0)¶
-
group_y
= GroupYField(name='group_y', value_type='Int32', offset=85, default=0)¶
-
high_cut_frequency
= HighCutFrequencyField(name='high_cut_frequency', value_type='NNInt16', offset=151, default=0)¶
-
high_cut_slope
= HighCutSlopeField(name='high_cut_slope', value_type='Int16', offset=155, default=0)¶
-
hour_of_day
= HourOfDayField(name='hour_of_day', value_type='HourOfDayField', offset=161, default=0)¶
-
instrument_gain_constant
= InstrumentGainConstantField(name='instrument_gain_constant', value_type='Int16', offset=121, default=0)¶
-
instrument_initial_gain
= InstrumentInitialGainField(name='instrument_initial_gain', value_type='Int16', offset=123, default=0)¶
-
lag_time_a
= LagTimeAField(name='lag_time_a', value_type='Int16', offset=105, default=0)¶
-
lag_time_b
= LagTimeBField(name='lag_time_b', value_type='Int16', offset=107, default=0)¶
-
line_sequence_num
= LineSequenceNumField(name='line_sequence_num', value_type='Int32', offset=1, default=0)¶
-
low_cut_frequency
= LowCutFrequencyField(name='low_cut_frequency', value_type='NNInt16', offset=149, default=0)¶
-
low_cut_slope
= LowCutSlopeField(name='low_cut_slope', value_type='Int16', offset=153, default=0)¶
-
minute_of_hour
= MinuteOfHourField(name='minute_of_hour', value_type='MinuteOfHourField', offset=163, default=0)¶
-
mute_end_time
= MuteEndTimeField(name='mute_end_time', value_type='NNInt16', offset=113, default=0)¶
-
mute_start_time
= MuteStartTimeField(name='mute_start_time', value_type='NNInt16', offset=111, default=0)¶
-
notch_filter_frequency
= NotchFilterFrequencyField(name='notch_filter_frequency', value_type='NNInt16', offset=145, default=0)¶
-
notch_filter_slope
= NotchFilterSlopeField(name='notch_filter_slope', value_type='Int16', offset=147, default=0)¶
-
num_horizontally_stacked_traces
= NumHorizontallyStackedTracesField(name='num_horizontally_stacked_traces', value_type='NNInt16', offset=33, default=1)¶
-
num_samples
= NumSamplesField(name='num_samples', value_type='NNInt16', offset=115, default=0)¶
-
num_vertically_summed_traces
= NumVerticallySummedTracesField(name='num_vertically_summed_traces', value_type='NNInt16', offset=31, default=1)¶
-
over_travel
= OverTravelField(name='over_travel', value_type='OverTravelField', offset=179, default=<OverTravel.UNKNOWN: 0>)¶
-
receiver_group_elevation
= ReceiverGroupElevationField(name='receiver_group_elevation', value_type='Int32', offset=41, default=0)¶
-
sample_interval
= SampleIntervalField(name='sample_interval', value_type='Int16', offset=117, default=0)¶
-
second_of_minute
= SecondOfMinuteField(name='second_of_minute', value_type='SecondOfMinute', offset=165, default=0)¶
-
source_depth_below_surface
= SourceDepthBelowSurfaceField(name='source_depth_below_surface', value_type='NNInt32', offset=49, default=0)¶
-
source_static_correction
= SourceStaticCorrectionField(name='source_static_correction', value_type='Int16', offset=99, default=0)¶
-
source_x
= SourceXField(name='source_x', value_type='Int32', offset=73, default=0)¶
-
source_y
= SourceYField(name='source_y', value_type='Int32', offset=77, default=0)¶
-
subweathering_velocity
= SubweatheringVelocityField(name='subweathering_velocity', value_type='NNInt16', offset=93, default=0)¶
-
surface_elevation_at_source
= SurfaceElevationAtSourceField(name='surface_elevation_at_source', value_type='Int32', offset=45, default=0)¶
-
sweep_frequency_at_end
= SweepFrequencyAtEndField(name='sweep_frequency_at_end', value_type='NNInt16', offset=129, default=0)¶
-
sweep_frequency_at_start
= SweepFrequencyAtStartField(name='sweep_frequency_at_start', value_type='NNInt16', offset=127, default=0)¶
-
sweep_length
= SweepLengthField(name='sweep_length', value_type='NNInt16', offset=131, default=0)¶
-
sweep_trace_taper_length_at_end
= SweepTraceTaperLengthAtEndField(name='sweep_trace_taper_length_at_end', value_type='NNInt16', offset=137, default=0)¶
-
sweep_trace_taper_length_at_start
= SweepTraceTaperLengthAtStartField(name='sweep_trace_taper_length_at_start', value_type='NNInt16', offset=135, default=0)¶
-
sweep_type
= SweepTypeField(name='sweep_type', value_type='SweepTypeField', offset=133, default=<SweepType.UNKNOWN: 0>)¶
-
taper_type
= TaperTypeField(name='taper_type', value_type='TaperTypeField', offset=139, default=<TaperType.UNKNOWN: 0>)¶
-
time_basis_code
= TimeBasisCodeField(name='time_basis_code', value_type='TimeBasisCodeField', offset=167, default=<TimeBasisCode.UNKNOWN: 0>)¶
-
total_static
= TotalStaticField(name='total_static', value_type='Int16', offset=103, default=0)¶
-
trace_identification_code
= TraceIdentificationCodeField(name='trace_identification_code', value_type='Int16', offset=29, default=0)¶
-
trace_num
= TraceNumField(name='trace_num', value_type='Int32', offset=13, default=0)¶
-
trace_weighting_factor
= TraceWeightingFactorField(name='trace_weighting_factor', value_type='NNInt16', offset=169, default=0)¶
-
uphole_time_at_group
= UpholeTimeAtGroupField(name='uphole_time_at_group', value_type='NNInt16', offset=97, default=0)¶
-
uphole_time_at_source
= UpholeTimeAtSourceField(name='uphole_time_at_source', value_type='NNInt16', offset=95, default=0)¶
-
water_depth_at_group
= WaterDepthAtGroupField(name='water_depth_at_group', value_type='Int32', offset=65, default=0)¶
-
water_depth_at_source
= WaterDepthAtSourceField(name='water_depth_at_source', value_type='Int32', offset=61, default=0)¶
-
weathering_velocity
= WeatheringVelocityField(name='weathering_velocity', value_type='NNInt16', offset=91, default=0)¶
-
xy_scalar
= XyScalarField(name='xy_scalar', value_type='ScalarFactorField', offset=71, default=<ScalarFactor.POS_1: 1>)¶
-
year_recorded
= YearRecordedField(name='year_recorded', value_type='Int16', offset=157, default=0)¶
-
-
class
segpy.trace_header.
TraceHeaderRev1
(*args, **kwargs)¶ Bases:
segpy.trace_header.TraceHeaderRev0
-
cdp_x
= CdpXField(name='cdp_x', value_type='Int32', offset=181, default=0)¶
-
cdp_y
= CdpYField(name='cdp_y', value_type='Int32', offset=185, default=0)¶
-
crossline_number
= CrosslineNumberField(name='crossline_number', value_type='Int32', offset=193, default=0)¶
-
device_trace_identifier
= DeviceTraceIdentifierField(name='device_trace_identifier', value_type='Int16', offset=213, default=0)¶
-
inline_number
= InlineNumberField(name='inline_number', value_type='Int32', offset=189, default=0)¶
-
shotpoint_number
= ShotpointNumberField(name='shotpoint_number', value_type='Int32', offset=197, default=0)¶
-
shotpoint_scalar
= ShotpointScalarField(name='shotpoint_scalar', value_type='Int16', offset=201, default=0)¶
-
source_energy_direction
= SourceEnergyDirectionField(name='source_energy_direction', value_type='Int32', offset=219, default=0)¶
-
source_measurement_exponent
= SourceMeasurementExponentField(name='source_measurement_exponent', value_type='Int16', offset=229, default=0)¶
-
source_measurement_mantissa
= SourceMeasurementMantissaField(name='source_measurement_mantissa', value_type='Int32', offset=225, default=0)¶
-
source_measurement_unit
= SourceMeasurementUnitField(name='source_measurement_unit', value_type='SourceMeasurementUnitField', offset=231, default=<SourceMeasurementUnit.UNKNOWN: 0>)¶
-
source_type
= SourceTypeField(name='source_type', value_type='SourceTypeField', offset=217, default=0)¶
-
time_scalar
= TimeScalarField(name='time_scalar', value_type='ScalarFactorField', offset=215, default=<ScalarFactor.UNKNOWN: 0>)¶
-
trace_unit
= TraceUnitField(name='trace_unit', value_type='SampleUnitField', offset=203, default=<SampleUnit.UNKNOWN: 0>)¶
-
transduction_constant_exponent
= TransductionConstantExponentField(name='transduction_constant_exponent', value_type='Int16', offset=209, default=0)¶
-
transduction_constant_mantissa
= TransductionConstantMantissaField(name='transduction_constant_mantissa', value_type='Int32', offset=205, default=0)¶
-
transduction_units
= TransductionUnitsField(name='transduction_units', value_type='SampleUnitField', offset=211, default=<SampleUnit.UNKNOWN: 0>)¶
-