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
class segpy.trace_header.Correlated

Bases: enum.IntEnum

Correlated: 1 = no, 2 = yes.

NO = 1
YES = 2
class segpy.trace_header.CorrelatedField

Bases: int

ENUM

alias of Correlated

MAXIMUM = 32767
MINIMUM = -32768
SEG_Y_TYPE = 'int16'
SIZE = 2
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

ENUM

alias of DataUse

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

ENUM

alias of SweepType

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

ENUM

alias of TaperType

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>)
correlated = CorrelatedField(name='correlated', value_type='CorrelatedField', offset=125, default=<Correlated.NO: 1>)
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>)