##// END OF EJS Templates
jroplotter.py updated
Miguel Valdez -
r703:b448cc54ea50
parent child
Show More
@@ -1,16 +1,22
1 1 Prerequisites:
2 2
3 Core:
3 4 -numpy 1.8.0
4 5 -scipy
5 6 -math
6 7 -matplotlib
7 8 -h5py
8 9 -ftplib
9 -paramiko and scp (optional for using SendTFilesToServer)
10 -stuffr (optional for using jroIO_hf)
11 -PyQt4 (for using GUI)
10 -paramiko (optional for SendTFilesToServer)
11 -stuffr (optional for jroIO_hf)
12 12 -pyfits (Fits data)
13 13
14 GUI:
15 -PyQt4
16 -wxPython
17 -msgpack-numpy
18 -cPickle
19
14 20 Signal Chain Installation:
15 21
16 22 1. Install numpy, matplotlib, TKAgg
@@ -3,8 +3,5 from jroplot_spectra import *
3 3 from jroplot_heispectra import *
4 4 from jroplot_correlation import *
5 5 from jroplot_parameters import *
6 try:
7 6 from jroplotter import *
8 except ImportError, e:
9 print e
10 7 No newline at end of file
@@ -72,6 +72,8 class PlotterManager(Thread):
72 72
73 73 Thread.__init__(self)
74 74
75 self.setDaemon(True)
76
75 77 self.__queue = plotter_queue
76 78
77 79 self.plotInstanceDict = {}
@@ -85,7 +87,7 class PlotterManager(Thread):
85 87 break
86 88
87 89 if self.__queue.empty():
88 sleep(0.5)
90 sleep(0.1)
89 91 continue
90 92
91 93 serial_data = self.__queue.get(True)
@@ -5,8 +5,7 Created on Jul 15, 2014
5 5 '''
6 6 from serializer import DynamicSerializer
7 7
8 PICKLE_SERIALIZER = DynamicSerializer('cPickle')
9 MSGPACK_SERIALIZER = DynamicSerializer('msgpack')
8 DEFAULT_SERIALIZER = None #'cPickle', 'msgpack', "yaml"
10 9
11 10 from schainpy.model.data.jrodata import *
12 11
@@ -75,46 +74,34 def dict2Obj(myDict):
75 74
76 75 return myObj
77 76
78 def dict2Serial(myDict, serializer='msgpack'):
77 def dict2Serial(myDict, serializer=DEFAULT_SERIALIZER):
79 78
80 if serializer == 'cPickle':
81 SERIALIZER = PICKLE_SERIALIZER
82 else:
83 SERIALIZER = MSGPACK_SERIALIZER
79 SERIALIZER = DynamicSerializer(serializer)
84 80
85 81 mySerial = SERIALIZER.dumps(myDict)
86 82
87 83 return mySerial
88 84
89 def serial2Dict(mySerial, serializer='msgpack'):
85 def serial2Dict(mySerial, serializer=DEFAULT_SERIALIZER):
90 86
91 if serializer == 'cPickle':
92 SERIALIZER = PICKLE_SERIALIZER
93 else:
94 SERIALIZER = MSGPACK_SERIALIZER
87 SERIALIZER = DynamicSerializer(serializer)
95 88
96 89 myDict = SERIALIZER.loads(mySerial)
97 90
98 91 return myDict
99 92
100 def obj2Serial(myObj, serializer='msgpack', **kwargs):
93 def obj2Serial(myObj, serializer=DEFAULT_SERIALIZER, **kwargs):
101 94
102 if serializer == 'cPickle':
103 SERIALIZER = PICKLE_SERIALIZER
104 else:
105 SERIALIZER = MSGPACK_SERIALIZER
95 SERIALIZER = DynamicSerializer(serializer)
106 96
107 97 myDict = obj2Dict(myObj, **kwargs)
108 98 mySerial = dict2Serial(myDict, serializer)
109 99
110 100 return mySerial
111 101
112 def serial2Obj(mySerial, metadataDict = {}, serializer='msgpack'):
102 def serial2Obj(mySerial, metadataDict = {}, serializer=DEFAULT_SERIALIZER):
113 103
114 if serializer == 'cPickle':
115 SERIALIZER = PICKLE_SERIALIZER
116 else:
117 SERIALIZER = MSGPACK_SERIALIZER
104 SERIALIZER = DynamicSerializer(serializer)
118 105
119 106 myDataDict = serial2Dict(mySerial, serializer)
120 107
@@ -4,13 +4,22 Created on Jul 17, 2014
4 4 @author: roj-idl71
5 5 '''
6 6
7 DEFAULT_SERIALIZER = None
8
9 try:
7 10 import cPickle
11 DEFAULT_SERIALIZER = 'cPickle'
12 except:
13 pass
14
15 try:
8 16 import msgpack_numpy
9 import jsonpickle
10 import yaml
17 DEFAULT_SERIALIZER = 'msgpack'
18 except:
19 pass
11 20
12 # import JROMsgpack
13 # import JROJsonpickle
21 # import jsonpickle
22 # import yaml
14 23
15 24 class Serializer(object):
16 25
@@ -48,42 +57,48 class msgpackSerializer(Serializer):
48 57 def loads(self, obj, **kwargs):
49 58 return self.serializer.unpackb(obj)
50 59
51 class jsonpickleSerializer(Serializer):
52
53 def __init__(self):
54
55 self.serializer = jsonpickle
56
57 def dumps(self, obj, **kwargs):
58 return self.serializer.encode(obj, **kwargs)
59
60 def loads(self, obj, **kwargs):
61 return self.serializer.decode(obj, **kwargs)
60 # class jsonpickleSerializer(Serializer):
61 #
62 # def __init__(self):
63 #
64 # self.serializer = jsonpickle
65 #
66 # def dumps(self, obj, **kwargs):
67 # return self.serializer.encode(obj, **kwargs)
68 #
69 # def loads(self, obj, **kwargs):
70 # return self.serializer.decode(obj, **kwargs)
71 #
72 # class yamlSerializer(Serializer):
73 #
74 # def __init__(self):
75 #
76 # self.serializer = yaml
77 #
78 # def dumps(self, obj, **kwargs):
79 # return self.serializer.dump(obj, **kwargs)
80 #
81 # def loads(self, obj, **kwargs):
82 # return self.serializer.load(obj, **kwargs)
62 83
63 class yamlSerializer(Serializer):
64
65 def __init__(self):
66
67 self.serializer = yaml
68
69 def dumps(self, obj, **kwargs):
70 return self.serializer.dump(obj, **kwargs)
84 class DynamicSerializer(Serializer):
71 85
72 def loads(self, obj, **kwargs):
73 return self.serializer.load(obj, **kwargs)
86 def __init__(self, module = None):
74 87
75 class DynamicSerializer(Serializer):
88 if not DEFAULT_SERIALIZER:
89 raise ImportError, "Install a python serializer like cPickle or msgpack"
76 90
77 def __init__(self, mode = 'cPickle'):
91 if not mode:
92 mode == DEFAULT_SERIALIZER
78 93
79 94 if mode == 'cPickle':
80 95 self.serializer = cPickleSerializer()
81
82 if mode == 'jsonpickle':
83 self.serializer = jsonpickleSerializer()
84
85 if mode == 'yaml':
86 self.serializer = yamlSerializer()
96 #
97 # if mode == 'jsonpickle':
98 # self.serializer = jsonpickleSerializer()
99 #
100 # if mode == 'yaml':
101 # self.serializer = yamlSerializer()
87 102
88 103 if mode == 'msgpack':
89 104 self.serializer = msgpackSerializer()
General Comments 0
You need to be logged in to leave comments. Login now