diff --git a/GUI/demogtk.py b/GUI/demogtk.py index 20a4aad..cc62fc8 100755 --- a/GUI/demogtk.py +++ b/GUI/demogtk.py @@ -68,10 +68,10 @@ class appgui: model=self.treemodel treeSTH=insert_row(model,None,'Segy Trace Header', '') - for key in segypy.STH_def.keys(): + for key in segypy.TRACE_HEADER_DEF.keys(): insert_row(model,treeSTH,key, 'An Empty Row') treeSH=insert_row(model,None,'Segy Header', 'SH') - for key in segypy.SH_def.keys(): + for key in segypy.HEADER_DEF.keys(): insert_row(model,treeSH,key, 'An Empty Row') diff --git a/GUI/gui.py b/GUI/gui.py index 70c2860..f2b6267 100644 --- a/GUI/gui.py +++ b/GUI/gui.py @@ -121,10 +121,10 @@ def update_segyheader(self): # INSERT INTO TREEMODEL self.SHtree= {"init": 1} - for key in segypy.SH_def.keys(): - SHkey=segypy.SH_def[key] + for key in segypy.HEADER_DEF.keys(): + SHkey=segypy.HEADER_DEF[key] if (SHkey.has_key('descr')): - descr = segypy.SH_def[key]['descr'][0][self.segy[1][key]] + descr = segypy.HEADER_DEF[key]['descr'][0][self.segy[1][key]] else: descr = '' insert_row(self.treemodel1,None,key,descr,self.segy[1][key]) @@ -136,11 +136,11 @@ def update_segytraceheader(self,itrace=1): # INSERT INTO TREEMODEL self.STHtree= {"init": 1} - for key in segypy.STH_def.keys(): - STHkey=segypy.STH_def[key] + for key in segypy.TRACE_HEADER_DEF.keys(): + STHkey=segypy.TRACE_HEADER_DEF[key] if (STHkey.has_key('descr')): try: - descr = segypy.STH_def[key]['descr'][0][self.segy[2][key][itrace-1]] + descr = segypy.TRACE_HEADER_DEF[key]['descr'][0][self.segy[2][key][itrace-1]] except: descr='Not Defined' else: diff --git a/header_definition.py b/header_definition.py index aa2a97d..46307cb 100644 --- a/header_definition.py +++ b/header_definition.py @@ -4,46 +4,46 @@ SEG Y Header Definition from revisions import SEGY_REVISION_0, SEGY_REVISION_1 -SH_def = {"Job": {"pos": 3200, "type": "int32", "def": 0}} -SH_def["Line"] = {"pos": 3204, "type": "int32", "def": 0} -SH_def["Reel"] = {"pos": 3208, "type": "int32", "def": 0} -SH_def["DataTracePerEnsemble"] = {"pos": 3212, "type": "int16", "def": 0} -SH_def["AuxiliaryTracePerEnsemble"] = {"pos": 3214, "type": "int16", "def": 0} -SH_def["dt"] = {"pos": 3216, "type": "uint16", "def": 1000} -SH_def["dtOrig"] = {"pos": 3218, "type": "uint16", "def": 1000} -SH_def["ns"] = {"pos": 3220, "type": "uint16", "def": 0} -SH_def["nsOrig"] = {"pos": 3222, "type": "uint16", "def": 0} -SH_def["DataSampleFormat"] = {"pos": 3224, "type": "int16", "def": 5} -SH_def["DataSampleFormat"]["descr"] = {SEGY_REVISION_0: { +HEADER_DEF = {"Job": {"pos": 3200, "type": "int32", "def": 0}} +HEADER_DEF["Line"] = {"pos": 3204, "type": "int32", "def": 0} +HEADER_DEF["Reel"] = {"pos": 3208, "type": "int32", "def": 0} +HEADER_DEF["DataTracePerEnsemble"] = {"pos": 3212, "type": "int16", "def": 0} +HEADER_DEF["AuxiliaryTracePerEnsemble"] = {"pos": 3214, "type": "int16", "def": 0} +HEADER_DEF["dt"] = {"pos": 3216, "type": "uint16", "def": 1000} +HEADER_DEF["dtOrig"] = {"pos": 3218, "type": "uint16", "def": 1000} +HEADER_DEF["ns"] = {"pos": 3220, "type": "uint16", "def": 0} +HEADER_DEF["nsOrig"] = {"pos": 3222, "type": "uint16", "def": 0} +HEADER_DEF["DataSampleFormat"] = {"pos": 3224, "type": "int16", "def": 5} +HEADER_DEF["DataSampleFormat"]["descr"] = {SEGY_REVISION_0: { 1: "IBM Float", 2: "32 bit Integer", 3: "16 bit Integer", 8: "8 bit Integer"}} -SH_def["DataSampleFormat"]["descr"][SEGY_REVISION_1] = { +HEADER_DEF["DataSampleFormat"]["descr"][SEGY_REVISION_1] = { 1: "IBM Float", 2: "32 bit Integer", 3: "16 bit Integer", 5: "IEEE", 8: "8 bit Integer"} -SH_def["DataSampleFormat"]["bps"] = {SEGY_REVISION_0: { +HEADER_DEF["DataSampleFormat"]["bps"] = {SEGY_REVISION_0: { 1: 4, 2: 4, 3: 2, 8: 1}} -SH_def["DataSampleFormat"]["bps"][SEGY_REVISION_1] = { +HEADER_DEF["DataSampleFormat"]["bps"][SEGY_REVISION_1] = { 1: 4, 2: 4, 3: 2, 5: 4, 8: 1} -SH_def["DataSampleFormat"]["datatype"] = {SEGY_REVISION_0: { +HEADER_DEF["DataSampleFormat"]["datatype"] = {SEGY_REVISION_0: { 1: 'ibm', 2: 'l', 3: 'h', 8: 'B'}} -SH_def["DataSampleFormat"]["datatype"][SEGY_REVISION_1] = { +HEADER_DEF["DataSampleFormat"]["datatype"][SEGY_REVISION_1] = { 1: 'ibm', 2: 'l', 3: 'h', @@ -51,25 +51,25 @@ SH_def["DataSampleFormat"]["datatype"][SEGY_REVISION_1] = { 5: 'f', 8: 'B'} -SH_def["EnsembleFold"] = {"pos": 3226, "type": "int16", "def": 0} -SH_def["TraceSorting"] = {"pos": 3228, "type": "int16", "def": 0} -SH_def["VerticalSumCode"] = {"pos": 3230, "type": "int16", "def": 0} -SH_def["SweepFrequencyEnd"] = {"pos": 3234, "type": "int16", "def": 0} -SH_def["SweepLength"] = {"pos": 3236, "type": "int16", "def": 0} -SH_def["SweepType"] = {"pos": 3238, "type": "int16", "def": 0} -SH_def["SweepChannel"] = {"pos": 3240, "type": "int16", "def": 0} -SH_def["SweepTaperLengthStart"] = {"pos": 3242, "type": "int16", "def": 0} -SH_def["SweepTaperLengthEnd"] = {"pos": 3244, "type": "int16", "def": 0} -SH_def["TaperType"] = {"pos": 3246, "type": "int16", "def": 0} -SH_def["CorrelatedDataTraces"] = {"pos": 3248, "type": "int16", "def": 0} -SH_def["BinaryGain"] = {"pos": 3250, "type": "int16", "def": 0} -SH_def["AmplitudeRecoveryMethod"] = {"pos": 3252, "type": "int16", "def": 0} -SH_def["MeasurementSystem"] = {"pos": 3254, "type": "int16", "def": 0} -SH_def["ImpulseSignalPolarity"] = {"pos": 3256, "type": "int16", "def": 0} -SH_def["VibratoryPolarityCode"] = {"pos": 3258, "type": "int16", "def": 0} -SH_def["Unassigned1"] = {"pos": 3260, "type": "int16", "n": 120, "def": 0} -SH_def["SegyFormatRevisionNumber"] = { +HEADER_DEF["EnsembleFold"] = {"pos": 3226, "type": "int16", "def": 0} +HEADER_DEF["TraceSorting"] = {"pos": 3228, "type": "int16", "def": 0} +HEADER_DEF["VerticalSumCode"] = {"pos": 3230, "type": "int16", "def": 0} +HEADER_DEF["SweepFrequencyEnd"] = {"pos": 3234, "type": "int16", "def": 0} +HEADER_DEF["SweepLength"] = {"pos": 3236, "type": "int16", "def": 0} +HEADER_DEF["SweepType"] = {"pos": 3238, "type": "int16", "def": 0} +HEADER_DEF["SweepChannel"] = {"pos": 3240, "type": "int16", "def": 0} +HEADER_DEF["SweepTaperLengthStart"] = {"pos": 3242, "type": "int16", "def": 0} +HEADER_DEF["SweepTaperLengthEnd"] = {"pos": 3244, "type": "int16", "def": 0} +HEADER_DEF["TaperType"] = {"pos": 3246, "type": "int16", "def": 0} +HEADER_DEF["CorrelatedDataTraces"] = {"pos": 3248, "type": "int16", "def": 0} +HEADER_DEF["BinaryGain"] = {"pos": 3250, "type": "int16", "def": 0} +HEADER_DEF["AmplitudeRecoveryMethod"] = {"pos": 3252, "type": "int16", "def": 0} +HEADER_DEF["MeasurementSystem"] = {"pos": 3254, "type": "int16", "def": 0} +HEADER_DEF["ImpulseSignalPolarity"] = {"pos": 3256, "type": "int16", "def": 0} +HEADER_DEF["VibratoryPolarityCode"] = {"pos": 3258, "type": "int16", "def": 0} +HEADER_DEF["Unassigned1"] = {"pos": 3260, "type": "int16", "n": 120, "def": 0} +HEADER_DEF["SegyFormatRevisionNumber"] = { "pos": 3500, "type": "uint16", "def": 100} -SH_def["FixedLengthTraceFlag"] = {"pos": 3502, "type": "uint16", "def": 0} -SH_def["NumberOfExtTextualHeaders"] = {"pos": 3504, "type": "uint16", "def": 0} -SH_def["Unassigned2"] = {"pos": 3506, "type": "int16", "n": 47, "def": 0} +HEADER_DEF["FixedLengthTraceFlag"] = {"pos": 3502, "type": "uint16", "def": 0} +HEADER_DEF["NumberOfExtTextualHeaders"] = {"pos": 3504, "type": "uint16", "def": 0} +HEADER_DEF["Unassigned2"] = {"pos": 3506, "type": "int16", "n": 47, "def": 0} diff --git a/segypy.py b/segypy.py index d198539..754a453 100644 --- a/segypy.py +++ b/segypy.py @@ -37,8 +37,8 @@ from numpy import zeros from numpy import arange from revisions import SEGY_REVISION_1 -from header_definition import SH_def -from trace_header_definition import STH_def +from header_definition import HEADER_DEF +from trace_header_definition import TRACE_HEADER_DEF from ibm_float import ibm2ieee2 FORMAT = '%(asctime)-15s %(levelname)s %(message)s' @@ -91,9 +91,9 @@ def get_default_segy_header(ntraces=100, ns=100): # TraceSequenceLine SH = {"Job": {"pos": 3200, "type": "int32", "def": 0}} - for key in SH_def.keys(): + for key in HEADER_DEF.keys(): - tmpkey = SH_def[key] + tmpkey = HEADER_DEF[key] if 'def' in tmpkey: val = tmpkey['def'] else: @@ -113,9 +113,9 @@ def get_default_segy_trace_headers(ntraces=100, ns=100, dt=1000): # INITIALIZE DICTIONARY STH = {"TraceSequenceLine": {"pos": 0, "type": "int32"}} - for key in STH_def.keys(): + for key in TRACE_HEADER_DEF.keys(): - tmpkey = STH_def[key] # TODO: What is going on here? + tmpkey = TRACE_HEADER_DEF[key] # TODO: What is going on here? STH[key] = zeros(ntraces) for a in range(ntraces): @@ -136,10 +136,10 @@ def read_trace_header(f, reel_header, trace_header_name='cdp', endian='>'): bps = get_byte_per_sample(reel_header) # MAKE SOME LOOKUP TABLE THAT HOLDS THE LOCATION OF HEADERS - trace_header_pos = STH_def[trace_header_name]["pos"] + trace_header_pos = TRACE_HEADER_DEF[trace_header_name]["pos"] # TODO: Be consistent between 'type' and 'format' here. - trace_header_format = STH_def[trace_header_name]["type"] + trace_header_format = TRACE_HEADER_DEF[trace_header_name]["type"] ntraces = reel_header["ntraces"] trace_header_values = zeros(ntraces) binary_reader = create_binary_reader(f, trace_header_format, endian) @@ -158,7 +158,7 @@ def read_all_trace_headers(f, reel_header): logger.debug('read_all_trace_headers : ' 'trying to get all segy trace headers') - for key in STH_def.keys(): + for key in TRACE_HEADER_DEF.keys(): trace_header = read_trace_header(f, reel_header, key) trace_headers[key] = trace_header logger.info("read_all_trace_headers : " + key) @@ -270,9 +270,9 @@ def read_reel_header(f, endian='>'): """ filename = _filename(f) reel_header = {'filename': filename} - for key in SH_def.keys(): - pos = SH_def[key]["pos"] - format = SH_def[key]["type"] + for key in HEADER_DEF.keys(): + pos = HEADER_DEF[key]["pos"] + format = HEADER_DEF[key]["type"] reel_header[key], index = read_binary_value(f, pos, format, endian) @@ -359,7 +359,7 @@ def write_segy_structure(filename, dsf = SH["DataSampleFormat"] try: # block added by A Squelch - DataDescr = SH_def["DataSampleFormat"]["descr"][revision][dsf] + DataDescr = HEADER_DEF["DataSampleFormat"]["descr"][revision][dsf] except KeyError: logging.critical(" An error has ocurred interpreting a SEGY binary" "header key") @@ -374,15 +374,15 @@ def write_segy_structure(filename, # WRITE SEGY HEADER - for key in SH_def.keys(): - pos = SH_def[key]["pos"] - format = SH_def[key]["type"] + for key in HEADER_DEF.keys(): + pos = HEADER_DEF[key]["pos"] + format = HEADER_DEF[key]["type"] value = SH[key] put_value(value, f, pos, format, endian) # SEGY TRACES - ctype = SH_def['DataSampleFormat']['datatype'][revision][dsf] - bps = SH_def['DataSampleFormat']['bps'][revision][dsf] + ctype = HEADER_DEF['DataSampleFormat']['datatype'][revision][dsf] + bps = HEADER_DEF['DataSampleFormat']['bps'][revision][dsf] sizeT = TRACE_HEADER_NUM_BYTES + SH['ns'] * bps @@ -392,9 +392,9 @@ def write_segy_structure(filename, str(itrace + 1) + '/' + str(SH['ntraces'])) # WRITE SEGY TRACE HEADER - for key in STH_def.keys(): - pos = index + STH_def[key]["pos"] - format = STH_def[key]["type"] + for key in TRACE_HEADER_DEF.keys(): + pos = index + TRACE_HEADER_DEF[key]["pos"] + format = TRACE_HEADER_DEF[key]["type"] value = STH[key][itrace] logger.debug(str(pos) + " " + str(format) + @@ -503,7 +503,7 @@ def get_byte_per_sample(SH): dsf = SH["DataSampleFormat"] try: # block added by A Squelch - bps = SH_def["DataSampleFormat"]["bps"][revision][dsf] + bps = HEADER_DEF["DataSampleFormat"]["bps"][revision][dsf] except KeyError: # TODO: This should not be a critical failure - should just convert # exception diff --git a/trace_header_definition.py b/trace_header_definition.py index 189d33e..5228588 100644 --- a/trace_header_definition.py +++ b/trace_header_definition.py @@ -1,14 +1,14 @@ from revisions import SEGY_REVISION_0, SEGY_REVISION_1 -STH_def = {"TraceSequenceLine": {"pos": 0, "type": "int32"}} -STH_def["TraceSequenceFile"] = {"pos": 4, "type": "int32"} -STH_def["FieldRecord"] = {"pos": 8, "type": "int32"} -STH_def["TraceNumber"] = {"pos": 12, "type": "int32"} -STH_def["EnergySourcePoint"] = {"pos": 16, "type": "int32"} -STH_def["cdp"] = {"pos": 20, "type": "int32"} -STH_def["cdpTrace"] = {"pos": 24, "type": "int32"} -STH_def["TraceIdentificationCode"] = {"pos": 28, "type": "uint16"} -STH_def["TraceIdentificationCode"]["descr"] = {SEGY_REVISION_0: { +TRACE_HEADER_DEF = {"TraceSequenceLine": {"pos": 0, "type": "int32"}} +TRACE_HEADER_DEF["TraceSequenceFile"] = {"pos": 4, "type": "int32"} +TRACE_HEADER_DEF["FieldRecord"] = {"pos": 8, "type": "int32"} +TRACE_HEADER_DEF["TraceNumber"] = {"pos": 12, "type": "int32"} +TRACE_HEADER_DEF["EnergySourcePoint"] = {"pos": 16, "type": "int32"} +TRACE_HEADER_DEF["cdp"] = {"pos": 20, "type": "int32"} +TRACE_HEADER_DEF["cdpTrace"] = {"pos": 24, "type": "int32"} +TRACE_HEADER_DEF["TraceIdentificationCode"] = {"pos": 28, "type": "uint16"} +TRACE_HEADER_DEF["TraceIdentificationCode"]["descr"] = {SEGY_REVISION_0: { 1: "Seismic data", 2: "Dead", 3: "Dummy", @@ -17,7 +17,7 @@ STH_def["TraceIdentificationCode"]["descr"] = {SEGY_REVISION_0: { 6: "Sweep", 7: "Timing", 8: "Water Break"}} -STH_def["TraceIdentificationCode"]["descr"][SEGY_REVISION_1] = { +TRACE_HEADER_DEF["TraceIdentificationCode"]["descr"][SEGY_REVISION_1] = { -1: "Other", 0: "Unknown", 1: "Seismic data", @@ -42,135 +42,135 @@ STH_def["TraceIdentificationCode"]["descr"][SEGY_REVISION_1] = { 20: "Vibrator estimated ground force", 21: "Vibrator reference", 22: "Time-velocity pairs"} -STH_def["NSummedTraces"] = {"pos": 30, "type": "int16"} -STH_def["NStackedTraces"] = {"pos": 32, "type": "int16"} -STH_def["DataUse"] = {"pos": 34, "type": "int16"} -STH_def["DataUse"]["descr"] = {0: { +TRACE_HEADER_DEF["NSummedTraces"] = {"pos": 30, "type": "int16"} +TRACE_HEADER_DEF["NStackedTraces"] = {"pos": 32, "type": "int16"} +TRACE_HEADER_DEF["DataUse"] = {"pos": 34, "type": "int16"} +TRACE_HEADER_DEF["DataUse"]["descr"] = {0: { 1: "Production", 2: "Test"}} -STH_def["DataUse"]["descr"][1] = STH_def["DataUse"]["descr"][0] -STH_def["offset"] = {"pos": 36, "type": "int32"} -STH_def["ReceiverGroupElevation"] = {"pos": 40, "type": "int32"} -STH_def["SourceSurfaceElevation"] = {"pos": 44, "type": "int32"} -STH_def["SourceDepth"] = {"pos": 48, "type": "int32"} -STH_def["ReceiverDatumElevation"] = {"pos": 52, "type": "int32"} -STH_def["SourceDatumElevation"] = {"pos": 56, "type": "int32"} -STH_def["SourceWaterDepth"] = {"pos": 60, "type": "int32"} -STH_def["GroupWaterDepth"] = {"pos": 64, "type": "int32"} -STH_def["ElevationScalar"] = {"pos": 68, "type": "int16"} -STH_def["SourceGroupScalar"] = {"pos": 70, "type": "int16"} -STH_def["SourceX"] = {"pos": 72, "type": "int32"} -STH_def["SourceY"] = {"pos": 76, "type": "int32"} -STH_def["GroupX"] = {"pos": 80, "type": "int32"} -STH_def["GroupY"] = {"pos": 84, "type": "int32"} -STH_def["CoordinateUnits"] = {"pos": 88, "type": "int16"} -STH_def["CoordinateUnits"]["descr"] = {SEGY_REVISION_0: { +TRACE_HEADER_DEF["DataUse"]["descr"][1] = TRACE_HEADER_DEF["DataUse"]["descr"][0] +TRACE_HEADER_DEF["offset"] = {"pos": 36, "type": "int32"} +TRACE_HEADER_DEF["ReceiverGroupElevation"] = {"pos": 40, "type": "int32"} +TRACE_HEADER_DEF["SourceSurfaceElevation"] = {"pos": 44, "type": "int32"} +TRACE_HEADER_DEF["SourceDepth"] = {"pos": 48, "type": "int32"} +TRACE_HEADER_DEF["ReceiverDatumElevation"] = {"pos": 52, "type": "int32"} +TRACE_HEADER_DEF["SourceDatumElevation"] = {"pos": 56, "type": "int32"} +TRACE_HEADER_DEF["SourceWaterDepth"] = {"pos": 60, "type": "int32"} +TRACE_HEADER_DEF["GroupWaterDepth"] = {"pos": 64, "type": "int32"} +TRACE_HEADER_DEF["ElevationScalar"] = {"pos": 68, "type": "int16"} +TRACE_HEADER_DEF["SourceGroupScalar"] = {"pos": 70, "type": "int16"} +TRACE_HEADER_DEF["SourceX"] = {"pos": 72, "type": "int32"} +TRACE_HEADER_DEF["SourceY"] = {"pos": 76, "type": "int32"} +TRACE_HEADER_DEF["GroupX"] = {"pos": 80, "type": "int32"} +TRACE_HEADER_DEF["GroupY"] = {"pos": 84, "type": "int32"} +TRACE_HEADER_DEF["CoordinateUnits"] = {"pos": 88, "type": "int16"} +TRACE_HEADER_DEF["CoordinateUnits"]["descr"] = {SEGY_REVISION_0: { 1: "Length (meters or feet)", 2: "Seconds of arc"}} -STH_def["CoordinateUnits"]["descr"][SEGY_REVISION_1] = { +TRACE_HEADER_DEF["CoordinateUnits"]["descr"][SEGY_REVISION_1] = { 1: "Length (meters or feet)", 2: "Seconds of arc", 3: "Decimal degrees", 4: "Degrees, minutes, seconds (DMS)"} -STH_def["WeatheringVelocity"] = {"pos": 90, "type": "int16"} -STH_def["SubWeatheringVelocity"] = {"pos": 92, "type": "int16"} -STH_def["SourceUpholeTime"] = {"pos": 94, "type": "int16"} -STH_def["GroupUpholeTime"] = {"pos": 96, "type": "int16"} -STH_def["SourceStaticCorrection"] = {"pos": 98, "type": "int16"} -STH_def["GroupStaticCorrection"] = {"pos": 100, "type": "int16"} -STH_def["TotalStaticApplied"] = {"pos": 102, "type": "int16"} -STH_def["LagTimeA"] = {"pos": 104, "type": "int16"} -STH_def["LagTimeB"] = {"pos": 106, "type": "int16"} -STH_def["DelayRecordingTime"] = {"pos": 108, "type": "int16"} -STH_def["MuteTimeStart"] = {"pos": 110, "type": "int16"} -STH_def["MuteTimeEND"] = {"pos": 112, "type": "int16"} -STH_def["ns"] = {"pos": 114, "type": "uint16"} -STH_def["dt"] = {"pos": 116, "type": "uint16"} -STH_def["GainType"] = {"pos": 119, "type": "int16"} -STH_def["GainType"]["descr"] = {SEGY_REVISION_0: { +TRACE_HEADER_DEF["WeatheringVelocity"] = {"pos": 90, "type": "int16"} +TRACE_HEADER_DEF["SubWeatheringVelocity"] = {"pos": 92, "type": "int16"} +TRACE_HEADER_DEF["SourceUpholeTime"] = {"pos": 94, "type": "int16"} +TRACE_HEADER_DEF["GroupUpholeTime"] = {"pos": 96, "type": "int16"} +TRACE_HEADER_DEF["SourceStaticCorrection"] = {"pos": 98, "type": "int16"} +TRACE_HEADER_DEF["GroupStaticCorrection"] = {"pos": 100, "type": "int16"} +TRACE_HEADER_DEF["TotalStaticApplied"] = {"pos": 102, "type": "int16"} +TRACE_HEADER_DEF["LagTimeA"] = {"pos": 104, "type": "int16"} +TRACE_HEADER_DEF["LagTimeB"] = {"pos": 106, "type": "int16"} +TRACE_HEADER_DEF["DelayRecordingTime"] = {"pos": 108, "type": "int16"} +TRACE_HEADER_DEF["MuteTimeStart"] = {"pos": 110, "type": "int16"} +TRACE_HEADER_DEF["MuteTimeEND"] = {"pos": 112, "type": "int16"} +TRACE_HEADER_DEF["ns"] = {"pos": 114, "type": "uint16"} +TRACE_HEADER_DEF["dt"] = {"pos": 116, "type": "uint16"} +TRACE_HEADER_DEF["GainType"] = {"pos": 119, "type": "int16"} +TRACE_HEADER_DEF["GainType"]["descr"] = {SEGY_REVISION_0: { 1: "Fixes", 2: "Binary", 3: "Floating point"}} -STH_def["GainType"]["descr"][SEGY_REVISION_1] = STH_def[ +TRACE_HEADER_DEF["GainType"]["descr"][SEGY_REVISION_1] = TRACE_HEADER_DEF[ "GainType"]["descr"][SEGY_REVISION_0] -STH_def["InstrumentGainConstant"] = {"pos": 120, "type": "int16"} -STH_def["InstrumentInitialGain"] = {"pos": 122, "type": "int16"} -STH_def["Correlated"] = {"pos": 124, "type": "int16"} -STH_def["Correlated"]["descr"] = {SEGY_REVISION_0: { +TRACE_HEADER_DEF["InstrumentGainConstant"] = {"pos": 120, "type": "int16"} +TRACE_HEADER_DEF["InstrumentInitialGain"] = {"pos": 122, "type": "int16"} +TRACE_HEADER_DEF["Correlated"] = {"pos": 124, "type": "int16"} +TRACE_HEADER_DEF["Correlated"]["descr"] = {SEGY_REVISION_0: { 1: "No", 2: "Yes"}} -STH_def["Correlated"]["descr"][SEGY_REVISION_1] = STH_def[ +TRACE_HEADER_DEF["Correlated"]["descr"][SEGY_REVISION_1] = TRACE_HEADER_DEF[ "Correlated"]["descr"][SEGY_REVISION_0] -STH_def["SweepFrequencyStart"] = {"pos": 126, "type": "int16"} -STH_def["SweepFrequencyEnd"] = {"pos": 128, "type": "int16"} -STH_def["SweepLength"] = {"pos": 130, "type": "int16"} -STH_def["SweepType"] = {"pos": 132, "type": "int16"} -STH_def["SweepType"]["descr"] = {SEGY_REVISION_0: { +TRACE_HEADER_DEF["SweepFrequencyStart"] = {"pos": 126, "type": "int16"} +TRACE_HEADER_DEF["SweepFrequencyEnd"] = {"pos": 128, "type": "int16"} +TRACE_HEADER_DEF["SweepLength"] = {"pos": 130, "type": "int16"} +TRACE_HEADER_DEF["SweepType"] = {"pos": 132, "type": "int16"} +TRACE_HEADER_DEF["SweepType"]["descr"] = {SEGY_REVISION_0: { 1: "linear", 2: "parabolic", 3: "exponential", 4: "other"}} -STH_def["SweepType"]["descr"][SEGY_REVISION_1] = STH_def[ +TRACE_HEADER_DEF["SweepType"]["descr"][SEGY_REVISION_1] = TRACE_HEADER_DEF[ "SweepType"]["descr"][SEGY_REVISION_0] -STH_def["SweepTraceTaperLengthStart"] = {"pos": 134, "type": "int16"} -STH_def["SweepTraceTaperLengthEnd"] = {"pos": 136, "type": "int16"} -STH_def["TaperType"] = {"pos": 138, "type": "int16"} -STH_def["TaperType"]["descr"] = {SEGY_REVISION_0: { +TRACE_HEADER_DEF["SweepTraceTaperLengthStart"] = {"pos": 134, "type": "int16"} +TRACE_HEADER_DEF["SweepTraceTaperLengthEnd"] = {"pos": 136, "type": "int16"} +TRACE_HEADER_DEF["TaperType"] = {"pos": 138, "type": "int16"} +TRACE_HEADER_DEF["TaperType"]["descr"] = {SEGY_REVISION_0: { 1: "linear", 2: "cos2c", 3: "other"}} -STH_def["TaperType"]["descr"][SEGY_REVISION_1] = STH_def[ +TRACE_HEADER_DEF["TaperType"]["descr"][SEGY_REVISION_1] = TRACE_HEADER_DEF[ "TaperType"]["descr"][SEGY_REVISION_0] -STH_def["AliasFilterFrequency"] = {"pos": 140, "type": "int16"} -STH_def["AliasFilterSlope"] = {"pos": 142, "type": "int16"} -STH_def["NotchFilterFrequency"] = {"pos": 144, "type": "int16"} -STH_def["NotchFilterSlope"] = {"pos": 146, "type": "int16"} -STH_def["LowCutFrequency"] = {"pos": 148, "type": "int16"} -STH_def["HighCutFrequency"] = {"pos": 150, "type": "int16"} -STH_def["LowCutSlope"] = {"pos": 152, "type": "int16"} -STH_def["HighCutSlope"] = {"pos": 154, "type": "int16"} -STH_def["YearDataRecorded"] = {"pos": 156, "type": "int16"} -STH_def["DayOfYear"] = {"pos": 158, "type": "int16"} -STH_def["HourOfDay"] = {"pos": 160, "type": "int16"} -STH_def["MinuteOfHour"] = {"pos": 162, "type": "int16"} -STH_def["SecondOfMinute"] = {"pos": 164, "type": "int16"} -STH_def["TimeBaseCode"] = {"pos": 166, "type": "int16"} -STH_def["TimeBaseCode"]["descr"] = {SEGY_REVISION_0: { +TRACE_HEADER_DEF["AliasFilterFrequency"] = {"pos": 140, "type": "int16"} +TRACE_HEADER_DEF["AliasFilterSlope"] = {"pos": 142, "type": "int16"} +TRACE_HEADER_DEF["NotchFilterFrequency"] = {"pos": 144, "type": "int16"} +TRACE_HEADER_DEF["NotchFilterSlope"] = {"pos": 146, "type": "int16"} +TRACE_HEADER_DEF["LowCutFrequency"] = {"pos": 148, "type": "int16"} +TRACE_HEADER_DEF["HighCutFrequency"] = {"pos": 150, "type": "int16"} +TRACE_HEADER_DEF["LowCutSlope"] = {"pos": 152, "type": "int16"} +TRACE_HEADER_DEF["HighCutSlope"] = {"pos": 154, "type": "int16"} +TRACE_HEADER_DEF["YearDataRecorded"] = {"pos": 156, "type": "int16"} +TRACE_HEADER_DEF["DayOfYear"] = {"pos": 158, "type": "int16"} +TRACE_HEADER_DEF["HourOfDay"] = {"pos": 160, "type": "int16"} +TRACE_HEADER_DEF["MinuteOfHour"] = {"pos": 162, "type": "int16"} +TRACE_HEADER_DEF["SecondOfMinute"] = {"pos": 164, "type": "int16"} +TRACE_HEADER_DEF["TimeBaseCode"] = {"pos": 166, "type": "int16"} +TRACE_HEADER_DEF["TimeBaseCode"]["descr"] = {SEGY_REVISION_0: { 1: "Local", 2: "GMT", 3: "Other"}} -STH_def["TimeBaseCode"]["descr"][SEGY_REVISION_1] = { +TRACE_HEADER_DEF["TimeBaseCode"]["descr"][SEGY_REVISION_1] = { 1: "Local", 2: "GMT", 3: "Other", 4: "UTC"} -STH_def["TraceWeightingFactor"] = {"pos": 168, "type": "int16"} -STH_def["GeophoneGroupNumberRoll1"] = {"pos": 170, "type": "int16"} -STH_def["GeophoneGroupNumberFirstTraceOrigField"] = { +TRACE_HEADER_DEF["TraceWeightingFactor"] = {"pos": 168, "type": "int16"} +TRACE_HEADER_DEF["GeophoneGroupNumberRoll1"] = {"pos": 170, "type": "int16"} +TRACE_HEADER_DEF["GeophoneGroupNumberFirstTraceOrigField"] = { "pos": 172, "type": "int16"} -STH_def["GeophoneGroupNumberLastTraceOrigField"] = { +TRACE_HEADER_DEF["GeophoneGroupNumberLastTraceOrigField"] = { "pos": 174, "type": "int16"} -STH_def["GapSize"] = {"pos": 176, "type": "int16"} -STH_def["OverTravel"] = {"pos": 178, "type": "int16"} -STH_def["OverTravel"]["descr"] = {SEGY_REVISION_0: { +TRACE_HEADER_DEF["GapSize"] = {"pos": 176, "type": "int16"} +TRACE_HEADER_DEF["OverTravel"] = {"pos": 178, "type": "int16"} +TRACE_HEADER_DEF["OverTravel"]["descr"] = {SEGY_REVISION_0: { 1: "down (or behind)", 2: "up (or ahead)", 3: "other"}} -STH_def["OverTravel"]["descr"][SEGY_REVISION_1] = STH_def[ +TRACE_HEADER_DEF["OverTravel"]["descr"][SEGY_REVISION_1] = TRACE_HEADER_DEF[ "OverTravel"]["descr"][SEGY_REVISION_0] -STH_def["cdpX"] = {"pos": 180, "type": "int32"} -STH_def["cdpY"] = {"pos": 184, "type": "int32"} -STH_def["Inline3D"] = {"pos": 188, "type": "int32"} -STH_def["Crossline3D"] = {"pos": 192, "type": "int32"} -STH_def["ShotPoint"] = {"pos": 192, "type": "int32"} -STH_def["ShotPointScalar"] = {"pos": 200, "type": "int16"} -STH_def["TraceValueMeasurementUnit"] = {"pos": 202, "type": "int16"} -STH_def["TraceValueMeasurementUnit"]["descr"] = {SEGY_REVISION_1: { +TRACE_HEADER_DEF["cdpX"] = {"pos": 180, "type": "int32"} +TRACE_HEADER_DEF["cdpY"] = {"pos": 184, "type": "int32"} +TRACE_HEADER_DEF["Inline3D"] = {"pos": 188, "type": "int32"} +TRACE_HEADER_DEF["Crossline3D"] = {"pos": 192, "type": "int32"} +TRACE_HEADER_DEF["ShotPoint"] = {"pos": 192, "type": "int32"} +TRACE_HEADER_DEF["ShotPointScalar"] = {"pos": 200, "type": "int16"} +TRACE_HEADER_DEF["TraceValueMeasurementUnit"] = {"pos": 202, "type": "int16"} +TRACE_HEADER_DEF["TraceValueMeasurementUnit"]["descr"] = {SEGY_REVISION_1: { -1: "Other", 0: "Unknown (should be described in Data Sample " "Measurement Units Stanza)", @@ -183,15 +183,15 @@ STH_def["TraceValueMeasurementUnit"]["descr"] = {SEGY_REVISION_1: { 7: "Meters Per Second squared (m/&s2)Other", 8: "Newton (N)", 9: "Watt (W)"}} -STH_def["TransductionConstantMantissa"] = {"pos": 204, "type": "int32"} -STH_def["TransductionConstantPower"] = {"pos": 208, "type": "int16"} -STH_def["TransductionUnit"] = {"pos": 210, "type": "int16"} -STH_def["TransductionUnit"]["descr"] = STH_def[ +TRACE_HEADER_DEF["TransductionConstantMantissa"] = {"pos": 204, "type": "int32"} +TRACE_HEADER_DEF["TransductionConstantPower"] = {"pos": 208, "type": "int16"} +TRACE_HEADER_DEF["TransductionUnit"] = {"pos": 210, "type": "int16"} +TRACE_HEADER_DEF["TransductionUnit"]["descr"] = TRACE_HEADER_DEF[ "TraceValueMeasurementUnit"]["descr"] -STH_def["TraceIdentifier"] = {"pos": 212, "type": "int16"} -STH_def["ScalarTraceHeader"] = {"pos": 214, "type": "int16"} -STH_def["SourceType"] = {"pos": 216, "type": "int16"} -STH_def["SourceType"]["descr"] = {SEGY_REVISION_1: { +TRACE_HEADER_DEF["TraceIdentifier"] = {"pos": 212, "type": "int16"} +TRACE_HEADER_DEF["ScalarTraceHeader"] = {"pos": 214, "type": "int16"} +TRACE_HEADER_DEF["SourceType"] = {"pos": 216, "type": "int16"} +TRACE_HEADER_DEF["SourceType"]["descr"] = {SEGY_REVISION_1: { -1: "Other (should be described in Source Type/Orientation stanza)", 0: "Unknown", 1: "Vibratory - Vertical orientation", @@ -204,12 +204,12 @@ STH_def["SourceType"]["descr"] = {SEGY_REVISION_1: { 8: "Distributed Impulsive - Cross-line orientation", 9: "Distributed Impulsive - In-line orientation"}} -STH_def["SourceEnergyDirectionMantissa"] = {"pos": 218, "type": "int32"} -STH_def["SourceEnergyDirectionExponent"] = {"pos": 222, "type": "int16"} -STH_def["SourceMeasurementMantissa"] = {"pos": 224, "type": "int32"} -STH_def["SourceMeasurementExponent"] = {"pos": 228, "type": "int16"} -STH_def["SourceMeasurementUnit"] = {"pos": 230, "type": "int16"} -STH_def["SourceMeasurementUnit"]["descr"] = {1: { +TRACE_HEADER_DEF["SourceEnergyDirectionMantissa"] = {"pos": 218, "type": "int32"} +TRACE_HEADER_DEF["SourceEnergyDirectionExponent"] = {"pos": 222, "type": "int16"} +TRACE_HEADER_DEF["SourceMeasurementMantissa"] = {"pos": 224, "type": "int32"} +TRACE_HEADER_DEF["SourceMeasurementExponent"] = {"pos": 228, "type": "int16"} +TRACE_HEADER_DEF["SourceMeasurementUnit"] = {"pos": 230, "type": "int16"} +TRACE_HEADER_DEF["SourceMeasurementUnit"]["descr"] = {1: { -1: "Other (should be described in Source Measurement Unit stanza)", 0: "Unknown", 1: "Joule (J)", @@ -218,5 +218,5 @@ STH_def["SourceMeasurementUnit"]["descr"] = {1: { 4: "Bar (Bar)", 5: "Newton (N)", 6: "Kilograms (kg)"}} -STH_def["UnassignedInt1"] = {"pos": 232, "type": "int32"} -STH_def["UnassignedInt2"] = {"pos": 236, "type": "int32"} +TRACE_HEADER_DEF["UnassignedInt1"] = {"pos": 232, "type": "int32"} +TRACE_HEADER_DEF["UnassignedInt2"] = {"pos": 236, "type": "int32"}