mirror of
https://github.com/wassname/segpy.git
synced 2026-06-27 20:22:56 +08:00
61 lines
1.3 KiB
Python
61 lines
1.3 KiB
Python
DATA_SAMPLE_FORMAT = {1: 'ibm',
|
|
2: 'l',
|
|
3: 'h',
|
|
5: 'f',
|
|
8: 'b'}
|
|
|
|
# A mapping from SEG Y data types to format characters used by the struct module,
|
|
# known a 'ctypes'
|
|
CTYPES = {'l': 'l',
|
|
'long': 'l',
|
|
'int32': 'l',
|
|
|
|
'L': 'L',
|
|
'ulong': 'L',
|
|
'uint32': 'L',
|
|
|
|
'h': 'h',
|
|
'short': 'h',
|
|
'int16': 'h',
|
|
|
|
'H': 'H',
|
|
'ushort': 'H',
|
|
'uint16': 'H',
|
|
|
|
'c': 'b',
|
|
'char': 'b',
|
|
'b': 'b',
|
|
|
|
'B': 'B',
|
|
'uchar': 'B',
|
|
|
|
'f': 'f',
|
|
'float': 'f',
|
|
|
|
'ibm': 'ibm'}
|
|
|
|
|
|
# TODO This is redundant with data in the SH_def below
|
|
CTYPE_DESCRIPTION = {'ibm': 'IBM float',
|
|
'l': '32 bit signed integer',
|
|
'L': '32 bit unsigned integer',
|
|
'h': '16 bit signed integer',
|
|
'H': '16 bit unsigned integer',
|
|
'f': 'IEEE float32',
|
|
'b': '8 bit signed char',
|
|
'B': '8 bit unsigned char'}
|
|
|
|
|
|
SIZES = dict(l=4,
|
|
L=4,
|
|
h=2,
|
|
H=2,
|
|
b=1,
|
|
B=1,
|
|
f=4,
|
|
ibm=4)
|
|
|
|
|
|
def size_in_bytes(ctype):
|
|
return SIZES[ctype]
|