##// END OF EJS Templates
Fix all PlotData, add SpectraMean, CrossSpectra plots, now Parameters extends Spectra fix bugs in ParametersProc
Fix all PlotData, add SpectraMean, CrossSpectra plots, now Parameters extends Spectra fix bugs in ParametersProc

File last commit:

r697:7ac8878019bb
r922:d680543828ae
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