##// END OF EJS Templates
Changes to meteor detection and phase correction because of relocation of antenna
Changes to meteor detection and phase correction because of relocation of antenna

File last commit:

r697:7ac8878019bb
r819:c63b6bff3798
Show More
Lookup.py
62 lines | 2.8 KiB | text/x-python | PythonLexer
'''
Helper module for DynamicObject module - contains dictionaries
of data types built-in to our YAML IDL, converting backing and forth between
strings / YAML tags and python class instances.
$Id$
'''
import datetime
import numpy as np
import PrecisionTime
import DynamicObject
Binary = DynamicObject.Binary
import platform
import collections
# Implicit Types:
python_dtypes = tuple([bool,int,long,float,str,datetime.datetime,list,
set,dict,tuple,unicode])
# Numpy Data-types:
numpy_dtypes = {'dtype.bool': bool, 'dtype.int': np.int, 'dtype.int8': np.int8,
'dtype.int16': np.int16, 'dtype.int32': np.int32, 'dtype.int64': np.int64,
'dtype.uint8': np.uint8, 'dtype.uint16': np.uint16, 'dtype.uint32': np.uint32,
'dtype.uint64': np.uint64, 'dtype.float': np.float, 'dtype.float16': np.float16,
'dtype.float32': np.float32, 'dtype.float64': np.float64, 'dtype.complex': np.complex,
'dtype.complex64': np.complex64, 'dtype.complex128': np.complex128,
'dtype.byte': np.byte, 'dtype.short': np.short, 'dtype.intc': np.intc,
'dtype.longlong': np.longlong, 'dtype.intp': np.intp, 'dtype.ubyte': np.ubyte,
'dtype.ushort': np.ushort, 'dtype.uintc': np.uintc, 'dtype.uint': np.uint,
'dtype.uintc': np.uintc, 'dtype.uint': np.uint, 'dtype.ulonglong': np.ulonglong,
'dtype.uintp': np.uintp, 'dtype.half': np.half, 'dtype.single': np.single,
'dtype.double': np.double, 'dtype.longfloat': np.longfloat,
'dtype.csingle': np.csingle, 'dtype.clongfloat': np.clongfloat, 'dtype.long': np.long}
if platform.architecture()[0] != '32bit': # 64bit - certain numpy types exist
numpy_dtypes.update({'dtype.float128': np.float128, 'dtype.complex256': np.complex256})
bit32 = False
else:
bit32 = True
#else: # 32 bit - fix 32 bit integer issue.
# np.int32 = np.int
# bit32 = True
# Built-in objects:
builtin_objects = {'binary': Binary, 'nsTime': PrecisionTime.nsTime, 'psTime': PrecisionTime.psTime,
'timestamp_ns': PrecisionTime.nsTime, 'timestamp_ps': PrecisionTime.psTime,
'timestamp_nanosecond': PrecisionTime.nsTime, 'timestamp_picosecond': PrecisionTime.psTime,
'datetime': datetime.datetime, 'Binary': Binary}
builtin_objects_simple = {'nsTime': PrecisionTime.nsTime, 'psTime': PrecisionTime.psTime,
'binary': Binary, 'datetime': datetime.datetime,
'Binary': Binary}
# Inverse lookup for accessing tags given a class instance:
cls_dtypes = dict([(v,k) for (k,v) in numpy_dtypes.items()])
obj_dtypes = dict([(v,k) for (k,v) in builtin_objects_simple.items()])
# Pointer to the list of all Object classes created, as located in the Object module / class:
dynamicClasses = DynamicObject.Object.dynamicClasses