@@ -18,19 +18,9 from xml.dom import minidom | |||||
18 |
|
18 | |||
19 |
|
19 | |||
20 | from schainpy.admin import Alarm, SchainWarning |
|
20 | from schainpy.admin import Alarm, SchainWarning | |
21 |
|
21 | from schainpy.model import * | ||
22 | ### Temporary imports!!! |
|
|||
23 | # from schainpy.model import * |
|
|||
24 | from schainpy.model.io import * |
|
|||
25 | from schainpy.model.graphics import * |
|
|||
26 | from schainpy.model.proc.jroproc_base import * |
|
|||
27 | from schainpy.model.proc.bltrproc_parameters import * |
|
|||
28 | from schainpy.model.proc.jroproc_spectra import * |
|
|||
29 | from schainpy.model.proc.jroproc_voltage import * |
|
|||
30 | from schainpy.model.proc.jroproc_parameters import * |
|
|||
31 | from schainpy.model.utils.jroutils_publish import * |
|
|||
32 | from schainpy.utils import log |
|
22 | from schainpy.utils import log | |
33 | ### |
|
23 | ||
34 |
|
24 | |||
35 | DTYPES = { |
|
25 | DTYPES = { | |
36 | 'Voltage': '.r', |
|
26 | 'Voltage': '.r', | |
@@ -683,6 +673,7 class ProcUnitConf(): | |||||
683 | ''' |
|
673 | ''' | |
684 | Instancia de unidades de procesamiento. |
|
674 | Instancia de unidades de procesamiento. | |
685 | ''' |
|
675 | ''' | |
|
676 | ||||
686 | className = eval(self.name) |
|
677 | className = eval(self.name) | |
687 | kwargs = self.getKwargs() |
|
678 | kwargs = self.getKwargs() | |
688 | procUnitObj = className(self.id, self.inputId, self.project_id, **kwargs) # necesitan saber su id y su entrada por fines de ipc |
|
679 | procUnitObj = className(self.id, self.inputId, self.project_id, **kwargs) # necesitan saber su id y su entrada por fines de ipc |
@@ -368,7 +368,7 class Voltage(JROData): | |||||
368 | # self.nChannels = 0 |
|
368 | # self.nChannels = 0 | |
369 | # self.nHeights = 0 |
|
369 | # self.nHeights = 0 | |
370 | self.nProfiles = None |
|
370 | self.nProfiles = None | |
371 | self.heightList = Non |
|
371 | self.heightList = None | |
372 | self.channelList = None |
|
372 | self.channelList = None | |
373 | # self.channelIndexList = None |
|
373 | # self.channelIndexList = None | |
374 | self.flagNoData = True |
|
374 | self.flagNoData = True | |
@@ -848,6 +848,12 class Fits(JROData): | |||||
848 |
|
848 | |||
849 | return timeInterval |
|
849 | return timeInterval | |
850 |
|
850 | |||
|
851 | def get_ippSeconds(self): | |||
|
852 | ''' | |||
|
853 | ''' | |||
|
854 | return self.ipp_sec | |||
|
855 | ||||
|
856 | ||||
851 | datatime = property(getDatatime, "I'm the 'datatime' property") |
|
857 | datatime = property(getDatatime, "I'm the 'datatime' property") | |
852 | nHeights = property(getNHeights, "I'm the 'nHeights' property.") |
|
858 | nHeights = property(getNHeights, "I'm the 'nHeights' property.") | |
853 | nChannels = property(getNChannels, "I'm the 'nChannel' property.") |
|
859 | nChannels = property(getNChannels, "I'm the 'nChannel' property.") | |
@@ -857,7 +863,7 class Fits(JROData): | |||||
857 |
|
863 | |||
858 | ltctime = property(getltctime, "I'm the 'ltctime' property") |
|
864 | ltctime = property(getltctime, "I'm the 'ltctime' property") | |
859 | timeInterval = property(getTimeInterval, "I'm the 'timeInterval' property") |
|
865 | timeInterval = property(getTimeInterval, "I'm the 'timeInterval' property") | |
860 |
|
866 | ippSeconds = property(get_ippSeconds, '') | ||
861 |
|
867 | |||
862 | class Correlation(JROData): |
|
868 | class Correlation(JROData): | |
863 |
|
869 |
@@ -9,7 +9,10 import numpy | |||||
9 |
|
9 | |||
10 | from .figure import Figure, isRealtime |
|
10 | from .figure import Figure, isRealtime | |
11 | from .plotting_codes import * |
|
11 | from .plotting_codes import * | |
|
12 | from schainpy.model.proc.jroproc_base import MPDecorator | |||
12 |
|
13 | |||
|
14 | ||||
|
15 | @MPDecorator | |||
13 | class SpectraHeisScope_(Figure): |
|
16 | class SpectraHeisScope_(Figure): | |
14 |
|
17 | |||
15 |
|
18 | |||
@@ -20,9 +23,9 class SpectraHeisScope_(Figure): | |||||
20 | HEIGHTPROF = None |
|
23 | HEIGHTPROF = None | |
21 | PREFIX = 'spc' |
|
24 | PREFIX = 'spc' | |
22 |
|
25 | |||
23 |
def __init__(self |
|
26 | def __init__(self):#, **kwargs): | |
24 |
|
27 | |||
25 |
Figure.__init__(self |
|
28 | Figure.__init__(self)#, **kwargs) | |
26 | self.isConfig = False |
|
29 | self.isConfig = False | |
27 | self.__nsubplots = 1 |
|
30 | self.__nsubplots = 1 | |
28 |
|
31 | |||
@@ -96,6 +99,9 class SpectraHeisScope_(Figure): | |||||
96 | ymax : None, |
|
99 | ymax : None, | |
97 | """ |
|
100 | """ | |
98 |
|
101 | |||
|
102 | if dataOut.flagNoData: | |||
|
103 | return dataOut | |||
|
104 | ||||
99 | if dataOut.realtime: |
|
105 | if dataOut.realtime: | |
100 | if not(isRealtime(utcdatatime = dataOut.utctime)): |
|
106 | if not(isRealtime(utcdatatime = dataOut.utctime)): | |
101 | print('Skipping this plot function') |
|
107 | print('Skipping this plot function') | |
@@ -173,6 +179,9 class SpectraHeisScope_(Figure): | |||||
173 | wr_period=wr_period, |
|
179 | wr_period=wr_period, | |
174 | thisDatetime=thisDatetime) |
|
180 | thisDatetime=thisDatetime) | |
175 |
|
181 | |||
|
182 | return dataOut | |||
|
183 | ||||
|
184 | @MPDecorator | |||
176 | class RTIfromSpectraHeis_(Figure): |
|
185 | class RTIfromSpectraHeis_(Figure): | |
177 |
|
186 | |||
178 | isConfig = None |
|
187 | isConfig = None | |
@@ -180,8 +189,8 class RTIfromSpectraHeis_(Figure): | |||||
180 |
|
189 | |||
181 | PREFIX = 'rtinoise' |
|
190 | PREFIX = 'rtinoise' | |
182 |
|
191 | |||
183 |
def __init__(self |
|
192 | def __init__(self):#, **kwargs): | |
184 |
Figure.__init__(self |
|
193 | Figure.__init__(self)#, **kwargs) | |
185 | self.timerange = 24*60*60 |
|
194 | self.timerange = 24*60*60 | |
186 | self.isConfig = False |
|
195 | self.isConfig = False | |
187 | self.__nsubplots = 1 |
|
196 | self.__nsubplots = 1 | |
@@ -231,6 +240,10 class RTIfromSpectraHeis_(Figure): | |||||
231 | server=None, folder=None, username=None, password=None, |
|
240 | server=None, folder=None, username=None, password=None, | |
232 | ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0): |
|
241 | ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0): | |
233 |
|
242 | |||
|
243 | if dataOut.flagNoData: | |||
|
244 | return dataOut | |||
|
245 | ||||
|
246 | ||||
234 | if channelList == None: |
|
247 | if channelList == None: | |
235 | channelIndexList = dataOut.channelIndexList |
|
248 | channelIndexList = dataOut.channelIndexList | |
236 | channelList = dataOut.channelList |
|
249 | channelList = dataOut.channelList | |
@@ -327,3 +340,6 class RTIfromSpectraHeis_(Figure): | |||||
327 | wr_period=wr_period, |
|
340 | wr_period=wr_period, | |
328 | thisDatetime=thisDatetime, |
|
341 | thisDatetime=thisDatetime, | |
329 | update_figfile=update_figfile) |
|
342 | update_figfile=update_figfile) | |
|
343 | ||||
|
344 | ||||
|
345 | return dataOut No newline at end of file |
@@ -20,7 +20,9 from xml.etree.ElementTree import ElementTree | |||||
20 |
|
20 | |||
21 | from .jroIO_base import isRadarFolder, isNumber |
|
21 | from .jroIO_base import isRadarFolder, isNumber | |
22 | from schainpy.model.data.jrodata import Fits |
|
22 | from schainpy.model.data.jrodata import Fits | |
23 | from schainpy.model.proc.jroproc_base import Operation, ProcessingUnit |
|
23 | from schainpy.model.proc.jroproc_base import Operation, ProcessingUnit, MPDecorator | |
|
24 | from schainpy.utils import log | |||
|
25 | ||||
24 |
|
26 | |||
25 | class PyFits(object): |
|
27 | class PyFits(object): | |
26 | name=None |
|
28 | name=None | |
@@ -281,7 +283,7 class FitsWriter(Operation): | |||||
281 | self.isConfig = True |
|
283 | self.isConfig = True | |
282 | self.putData() |
|
284 | self.putData() | |
283 |
|
285 | |||
284 |
|
286 | @MPDecorator | ||
285 | class FitsReader(ProcessingUnit): |
|
287 | class FitsReader(ProcessingUnit): | |
286 |
|
288 | |||
287 | # __TIMEZONE = time.timezone |
|
289 | # __TIMEZONE = time.timezone | |
@@ -298,8 +300,8 class FitsReader(ProcessingUnit): | |||||
298 | data = None |
|
300 | data = None | |
299 | data_header_dict = None |
|
301 | data_header_dict = None | |
300 |
|
302 | |||
301 |
def __init__(self |
|
303 | def __init__(self):#, **kwargs): | |
302 |
ProcessingUnit.__init__(self |
|
304 | ProcessingUnit.__init__(self)#, **kwargs) | |
303 | self.isConfig = False |
|
305 | self.isConfig = False | |
304 | self.ext = '.fits' |
|
306 | self.ext = '.fits' | |
305 | self.setFile = 0 |
|
307 | self.setFile = 0 | |
@@ -391,8 +393,7 class FitsReader(ProcessingUnit): | |||||
391 |
|
393 | |||
392 | self.dataOut.nCohInt = self.nCohInt |
|
394 | self.dataOut.nCohInt = self.nCohInt | |
393 | self.dataOut.nIncohInt = self.nIncohInt |
|
395 | self.dataOut.nIncohInt = self.nIncohInt | |
394 |
|
396 | self.dataOut.ipp_sec = self.ippSeconds | ||
395 | self.dataOut.ippSeconds = self.ippSeconds |
|
|||
396 |
|
397 | |||
397 | def readHeader(self): |
|
398 | def readHeader(self): | |
398 | headerObj = self.fitsObj[0] |
|
399 | headerObj = self.fitsObj[0] | |
@@ -691,18 +692,17 class FitsReader(ProcessingUnit): | |||||
691 |
|
692 | |||
692 | if self.flagNoMoreFiles: |
|
693 | if self.flagNoMoreFiles: | |
693 | self.dataOut.flagNoData = True |
|
694 | self.dataOut.flagNoData = True | |
694 |
|
|
695 | return (0, 'No more files') | |
695 | return 0 |
|
|||
696 |
|
696 | |||
697 | self.flagDiscontinuousBlock = 0 |
|
697 | self.flagDiscontinuousBlock = 0 | |
698 | self.flagIsNewBlock = 0 |
|
698 | self.flagIsNewBlock = 0 | |
699 |
|
699 | |||
700 | if not(self.readNextBlock()): |
|
700 | if not(self.readNextBlock()): | |
701 | return 0 |
|
701 | return (1, 'Error reading data') | |
702 |
|
702 | |||
703 | if self.data is None: |
|
703 | if self.data is None: | |
704 | self.dataOut.flagNoData = True |
|
704 | self.dataOut.flagNoData = True | |
705 | return 0 |
|
705 | return (0, 'No more data') | |
706 |
|
706 | |||
707 | self.dataOut.data = self.data |
|
707 | self.dataOut.data = self.data | |
708 | self.dataOut.data_header = self.data_header_dict |
|
708 | self.dataOut.data_header = self.data_header_dict | |
@@ -718,8 +718,7 class FitsReader(ProcessingUnit): | |||||
718 | # self.dataOut.channelList = self.channelList |
|
718 | # self.dataOut.channelList = self.channelList | |
719 | # self.dataOut.heightList = self.heightList |
|
719 | # self.dataOut.heightList = self.heightList | |
720 | self.dataOut.flagNoData = False |
|
720 | self.dataOut.flagNoData = False | |
721 |
|
721 | # return self.dataOut.data | ||
722 | return self.dataOut.data |
|
|||
723 |
|
722 | |||
724 | def run(self, **kwargs): |
|
723 | def run(self, **kwargs): | |
725 |
|
724 | |||
@@ -729,6 +728,7 class FitsReader(ProcessingUnit): | |||||
729 |
|
728 | |||
730 | self.getData() |
|
729 | self.getData() | |
731 |
|
730 | |||
|
731 | @MPDecorator | |||
732 | class SpectraHeisWriter(Operation): |
|
732 | class SpectraHeisWriter(Operation): | |
733 | # set = None |
|
733 | # set = None | |
734 | setFile = None |
|
734 | setFile = None | |
@@ -736,8 +736,8 class SpectraHeisWriter(Operation): | |||||
736 | doypath = None |
|
736 | doypath = None | |
737 | subfolder = None |
|
737 | subfolder = None | |
738 |
|
738 | |||
739 |
def __init__(self |
|
739 | def __init__(self):#, **kwargs): | |
740 |
Operation.__init__(self |
|
740 | Operation.__init__(self)#, **kwargs) | |
741 | self.wrObj = PyFits() |
|
741 | self.wrObj = PyFits() | |
742 | # self.dataOut = dataOut |
|
742 | # self.dataOut = dataOut | |
743 | self.nTotalBlocks=0 |
|
743 | self.nTotalBlocks=0 | |
@@ -846,3 +846,4 class SpectraHeisWriter(Operation): | |||||
846 | self.isConfig = True |
|
846 | self.isConfig = True | |
847 |
|
847 | |||
848 | self.putData() |
|
848 | self.putData() | |
|
849 | return dataOut No newline at end of file |
@@ -285,6 +285,9 def MPDecorator(BaseClass): | |||||
285 |
|
285 | |||
286 | BaseClass.run(self, **self.kwargs) |
|
286 | BaseClass.run(self, **self.kwargs) | |
287 |
|
287 | |||
|
288 | if self.dataOut.flagNoData: | |||
|
289 | continue | |||
|
290 | ||||
288 | for op, optype, opId, kwargs in self.operations: |
|
291 | for op, optype, opId, kwargs in self.operations: | |
289 | if optype == 'self': |
|
292 | if optype == 'self': | |
290 | op(**kwargs) |
|
293 | op(**kwargs) | |
@@ -316,11 +319,12 def MPDecorator(BaseClass): | |||||
316 | time.sleep(1) |
|
319 | time.sleep(1) | |
317 |
|
320 | |||
318 | def run(self): |
|
321 | def run(self): | |
319 |
|
||||
320 | if self.typeProc is "ProcUnit": |
|
322 | if self.typeProc is "ProcUnit": | |
321 |
|
323 | |||
322 | if self.inputId is not None: |
|
324 | if self.inputId is not None: | |
|
325 | ||||
323 | self.subscribe() |
|
326 | self.subscribe() | |
|
327 | ||||
324 | self.set_publisher() |
|
328 | self.set_publisher() | |
325 |
|
329 | |||
326 | if 'Reader' not in BaseClass.__name__: |
|
330 | if 'Reader' not in BaseClass.__name__: |
@@ -1,13 +1,16 | |||||
1 | import numpy |
|
1 | import numpy | |
2 |
|
2 | |||
3 | from .jroproc_base import ProcessingUnit, Operation |
|
3 | from .jroproc_base import ProcessingUnit, Operation, MPDecorator | |
4 | from schainpy.model.data.jrodata import SpectraHeis |
|
4 | from schainpy.model.data.jrodata import SpectraHeis | |
|
5 | from schainpy.utils import log | |||
5 |
|
6 | |||
|
7 | ||||
|
8 | @MPDecorator | |||
6 | class SpectraHeisProc(ProcessingUnit): |
|
9 | class SpectraHeisProc(ProcessingUnit): | |
7 |
|
10 | |||
8 |
def __init__(self |
|
11 | def __init__(self):#, **kwargs): | |
9 |
|
12 | |||
10 |
ProcessingUnit.__init__(self |
|
13 | ProcessingUnit.__init__(self)#, **kwargs) | |
11 |
|
14 | |||
12 | # self.buffer = None |
|
15 | # self.buffer = None | |
13 | # self.firstdatatime = None |
|
16 | # self.firstdatatime = None | |
@@ -145,6 +148,7 class SpectraHeisProc(ProcessingUnit): | |||||
145 |
|
148 | |||
146 | return 1 |
|
149 | return 1 | |
147 |
|
150 | |||
|
151 | ||||
148 | class IncohInt4SpectraHeis(Operation): |
|
152 | class IncohInt4SpectraHeis(Operation): | |
149 |
|
153 | |||
150 | isConfig = False |
|
154 | isConfig = False | |
@@ -163,9 +167,9 class IncohInt4SpectraHeis(Operation): | |||||
163 |
|
167 | |||
164 | n = None |
|
168 | n = None | |
165 |
|
169 | |||
166 |
def __init__(self |
|
170 | def __init__(self):#, **kwargs): | |
167 |
|
171 | |||
168 |
Operation.__init__(self |
|
172 | Operation.__init__(self)#, **kwargs) | |
169 | # self.isConfig = False |
|
173 | # self.isConfig = False | |
170 |
|
174 | |||
171 | def setup(self, n=None, timeInterval=None, overlapping=False): |
|
175 | def setup(self, n=None, timeInterval=None, overlapping=False): | |
@@ -342,3 +346,5 class IncohInt4SpectraHeis(Operation): | |||||
342 | # dataOut.timeInterval = dataOut.ippSeconds * dataOut.nIncohInt |
|
346 | # dataOut.timeInterval = dataOut.ippSeconds * dataOut.nIncohInt | |
343 | # dataOut.timeInterval = self.__timeInterval*self.n |
|
347 | # dataOut.timeInterval = self.__timeInterval*self.n | |
344 | dataOut.flagNoData = False |
|
348 | dataOut.flagNoData = False | |
|
349 | ||||
|
350 | return dataOut No newline at end of file |
General Comments 0
You need to be logged in to leave comments.
Login now