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