diff --git a/schaincli/cli.py b/schaincli/cli.py index fdf7531..9ec418f 100644 --- a/schaincli/cli.py +++ b/schaincli/cli.py @@ -14,6 +14,7 @@ from schainpy.utils import log from importlib import import_module from pydoc import locate from fuzzywuzzy import process +from schainpy.utils import paramsFinder sys.stdout = save_stdout @@ -75,47 +76,25 @@ def search(nextcommand): if nextcommand is None: log.error('There is no Operation/ProcessingUnit to search') elif nextcommand == 'procs': - module = dir(import_module('schainpy.model')) - procs = check_module(module, ProcessingUnit) - try: - procs.remove('ProcessingUnit') - except Exception as e: - pass + procs = paramsFinder.getProcs() log.success('Current ProcessingUnits are:\n\033[1m{}\033[0m'.format('\n'.join(procs))) elif nextcommand == 'operations': - module = dir(import_module('schainpy.model')) - noProcs = [x for x in module if not x.endswith('Proc')] - operations = check_module(noProcs, Operation) - try: - operations.remove('Operation') - except Exception as e: - pass + operations = paramsFinder.getOperations() log.success('Current Operations are:\n\033[1m{}\033[0m'.format('\n'.join(operations))) else: try: - module = locate('schainpy.model.{}'.format(nextcommand)) - args = module().getAllowedArgs() + args = paramsFinder.getArgs(nextcommand) log.warning('Use this feature with caution. It may not return all the allowed arguments') - try: - args.remove('self') - except Exception as e: - pass - try: - args.remove('dataOut') - except Exception as e: - pass if len(args) == 0: log.success('{} has no arguments'.format(nextcommand)) else: log.success('Showing arguments of {} are:\n\033[1m{}\033[0m'.format(nextcommand, '\n'.join(args))) except Exception as e: log.error('Module {} does not exists'.format(nextcommand)) - allModules = dir(import_module('schainpy.model')) - module = check_module(allModules, Operation) - module.extend(check_module(allModules, ProcessingUnit)) - similar = process.extractOne(nextcommand, module)[0] - log.success('Searching {} instead'.format(similar)) + allModules = paramsFinder.getAll() + similar = process.extractOne(nextcommand, allModules)[0] + log.success('Showing {} instead'.format(similar)) search(similar) diff --git a/schainpy/model/__init__.py b/schainpy/model/__init__.py index 6dea354..d343967 100644 --- a/schainpy/model/__init__.py +++ b/schainpy/model/__init__.py @@ -10,3 +10,13 @@ from io import * from proc import * from graphics import * from utils import * + +global_type_string = 'string' +global_type_integer = 'int' +global_type_floatList = 'floatList' +global_type_pairsList = 'pairsList' +global_type_boolean = 'bolean' +global_type_float = 'float' +global_type_colormap = 'colormap' +global_type_list = 'list' +global_type_float = 'float' diff --git a/schainpy/model/graphics/figure.py b/schainpy/model/graphics/figure.py index c31e9b3..85fd5bd 100644 --- a/schainpy/model/graphics/figure.py +++ b/schainpy/model/graphics/figure.py @@ -61,7 +61,7 @@ class Figure(Operation): figfile = None created = False - + parameters = {} def __init__(self, **kwargs): Operation.__init__(self, **kwargs) diff --git a/schainpy/model/graphics/jroplot_correlation.py b/schainpy/model/graphics/jroplot_correlation.py index e14bcd0..fc3471c 100644 --- a/schainpy/model/graphics/jroplot_correlation.py +++ b/schainpy/model/graphics/jroplot_correlation.py @@ -2,10 +2,37 @@ import os import datetime import numpy import copy - +from schainpy.model import * from figure import Figure, isRealtime class CorrelationPlot(Figure): + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_string, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'realtime': global_type_boolean, + } isConfig = None __nsubplots = None diff --git a/schainpy/model/graphics/jroplot_parameters.py b/schainpy/model/graphics/jroplot_parameters.py index dd1dbb1..da8e17a 100644 --- a/schainpy/model/graphics/jroplot_parameters.py +++ b/schainpy/model/graphics/jroplot_parameters.py @@ -15,6 +15,34 @@ class MomentsPlot(Figure): HEIGHTPROF = None PREFIX = 'prm' + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_string, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'realtime': global_type_boolean, + } + def __init__(self, **kwargs): Figure.__init__(self, **kwargs) self.isConfig = False @@ -577,6 +605,40 @@ class ParametersPlot(Figure): nplots = None nchan = None + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'paramIndex': global_type_integer, + 'colormap': global_type_colormap, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'timerange': global_type_float, + 'showSNR': global_type_boolean, + 'SNRthresh': global_type_float, + 'SNRmin': global_type_float, + 'SNRmax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'lastone': global_type_integer, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'show': global_type_boolean, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + def __init__(self, **kwargs): Figure.__init__(self, **kwargs) self.timerange = None @@ -784,6 +846,46 @@ class Parameters1Plot(Figure): HEIGHTPROF = None PREFIX = 'prm' + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'timerange': global_type_float, + 'parameterIndex': global_type_float, + 'onlyPositive': global_type_boolean, + 'SNRthresh': global_type_float, + 'SNR': global_type_boolean, + 'SNRmin': global_type_float, + 'SNRmax': global_type_float, + 'onlySNR': global_type_boolean, + 'DOP': global_type_boolean, + 'zlabel': global_type_string, + 'parameterName': global_type_string, + 'parameterObject': global_type_string, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'lastone': global_type_integer, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'show': global_type_string, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + def __init__(self, **kwargs): Figure.__init__(self, **kwargs) self.timerange = 2*60*60 @@ -1213,6 +1315,42 @@ class EWDriftsPlot(Figure): HEIGHTPROF = None PREFIX = 'drift' + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_string, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'zmaxVertfloat': global_type_float, + 'zminVertfloat': global_type_float, + 'zmaxZonafloat': global_type_float, + 'zminZonafloat': global_type_float, + 'timerange': global_type_float, + 'SNRthresh': global_type_float, + 'SNRmin': global_type_float, + 'SNRmax': global_type_float, + 'SNR_1': global_type_boolean, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'lastone': global_type_float, + 'figfile': global_type_string, + 'ftp': global_type_string, + 'wr_period': global_type_integer, + 'show': global_type_string, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + def __init__(self, **kwargs): Figure.__init__(self, **kwargs) self.timerange = 2*60*60 @@ -1417,6 +1555,32 @@ class PhasePlot(Figure): PREFIX = 'mphase' + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'pairsList': global_type_pairsList, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'timerange': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + def __init__(self, **kwargs): Figure.__init__(self, **kwargs) self.timerange = 24*60*60 @@ -1590,6 +1754,40 @@ class NSMeteorDetection1Plot(Figure): nChannels = None nParam = None + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'SNRmin': global_type_float, + 'SNRmax': global_type_float, + 'vmin': global_type_float, + 'vmax': global_type_float, + 'wmin': global_type_float, + 'wmax': global_type_float, + 'mode': global_type_string, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_string, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'realtime': global_type_boolean, + 'xaxis': global_type_string, + } + def __init__(self, **kwargs): Figure.__init__(self, **kwargs) self.isConfig = False @@ -1774,6 +1972,40 @@ class NSMeteorDetection2Plot(Figure): nChannels = None nParam = None + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'SNRmin': global_type_float, + 'SNRmax': global_type_float, + 'vmin': global_type_float, + 'vmax': global_type_float, + 'wmin': global_type_float, + 'wmax': global_type_float, + 'mode': global_type_string, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'realtime': global_type_boolean, + 'xaxis': global_type_string, + } + def __init__(self, **kwargs): Figure.__init__(self, **kwargs) self.isConfig = False diff --git a/schainpy/model/graphics/jroplot_spectra.py b/schainpy/model/graphics/jroplot_spectra.py index acec4b0..60d0539 100644 --- a/schainpy/model/graphics/jroplot_spectra.py +++ b/schainpy/model/graphics/jroplot_spectra.py @@ -10,6 +10,7 @@ import numpy from figure import Figure, isRealtime, isTimeInHourRange from plotting_codes import * + class SpectraPlot(Figure): isConfig = None @@ -230,6 +231,40 @@ class CrossSpectraPlot(Figure): HEIGHTPROF = None PREFIX = 'cspc' + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'pairsList': global_type_pairsList, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'coh_min': global_type_float, + 'coh_max': global_type_float, + 'phase_min': global_type_float, + 'phase_max': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'power_cmap': global_type_colormap, + 'coherence_cmap': global_type_colormap, + 'phase_cmap': global_type_colormap, + 'show': global_type_boolean, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'xaxis': global_type_string, + } + def __init__(self, **kwargs): Figure.__init__(self, **kwargs) self.isConfig = False @@ -652,6 +687,38 @@ class CoherenceMap(Figure): HEIGHTPROF = None PREFIX = 'cmap' + parameters = { + 'id': 'string', + 'wintitle': 'string', + 'pairsList': 'pairsLists', + 'showprofile': 'boolean', + 'xmin': 'float', + 'xmax': 'float', + 'ymin': 'float', + 'ymax': 'float', + 'zmin': 'float', + 'zmax': 'float', + 'timerange': 'float', + 'phase_min': 'float', + 'phase_max': 'float', + 'save': 'boolean', + 'figpath': 'string', + 'figfile': 'string', + 'ftp': 'boolean', + 'wr_period': 'int', + 'coherence_cmap': 'colormap', + 'phase_cmap': 'colormap', + 'show': 'boolean', + 'server': 'string', + 'folder': 'string', + 'username': 'string', + 'password': 'string', + 'ftp_wei': 'int', + 'exp_code': 'int', + 'sub_exp_code': 'int', + 'plot_pos': 'int', + } + def __init__(self, **kwargs): Figure.__init__(self, **kwargs) self.timerange = 2*60*60 @@ -1110,6 +1177,32 @@ class Noise(Figure): __nsubplots = None PREFIX = 'noise' + + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'timerange': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } def __init__(self, **kwargs): Figure.__init__(self, **kwargs) @@ -1310,6 +1403,34 @@ class BeaconPhase(Figure): __nsubplots = None PREFIX = 'beacon_phase' + + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'pairsList': global_type_pairsList, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'hmin': global_type_float, + 'hmax': global_type_float, + 'timerange': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } def __init__(self, **kwargs): Figure.__init__(self, **kwargs) diff --git a/schainpy/model/io/jroIO_heispectra.py b/schainpy/model/io/jroIO_heispectra.py index 06b1037..f375a24 100644 --- a/schainpy/model/io/jroIO_heispectra.py +++ b/schainpy/model/io/jroIO_heispectra.py @@ -119,7 +119,11 @@ class Metadata(object): self.parmConfObjList.append(parmConfObj) class FitsWriter(Operation): - + parameters = { + 'path': global_type_string, + 'dataBlocksPerFile': global_type_integer, + 'metadatafile': global_type_string, + } def __init__(self, **kwargs): Operation.__init__(self, **kwargs) self.isConfig = False @@ -276,9 +280,9 @@ class FitsWriter(Operation): self.setNextFile() self.writeNextBlock() - def run(self, dataOut, **kwargs): + def run(self, dataOut, path, dataBlocksPerFile=100, metadatafile=None, **kwargs): if not(self.isConfig): - self.setup(dataOut, **kwargs) + self.setup(dataOut, path, dataBlocksPerFile=dataBlocksPerFile, metadatafile=metadatafile, **kwargs) self.isConfig = True self.putData() diff --git a/schainpy/model/io/jroIO_param.py b/schainpy/model/io/jroIO_param.py index 4ed1ff8..b3a1e05 100644 --- a/schainpy/model/io/jroIO_param.py +++ b/schainpy/model/io/jroIO_param.py @@ -602,34 +602,31 @@ class ParamWriter(Operation): lastTime = None + parameters = { + 'path': global_type_string, + 'blocksPerFile':global_type_integer, + 'metadataList': global_type_list, + 'dataList': global_type_list, + 'mode': global_type_integer, + } + def __init__(self, **kwargs): Operation.__init__(self, **kwargs) self.isConfig = False return - def setup(self, dataOut, **kwargs): - - self.path = kwargs['path'] - self.setType = kwargs.get('setType', None) - - if kwargs.has_key('blocksPerFile'): - self.blocksPerFile = kwargs['blocksPerFile'] - else: - self.blocksPerFile = 10 - - self.metadataList = kwargs['metadataList'] - self.dataList = kwargs['dataList'] + def setup(self, dataOut, path=None, blocksPerFile=10, metadataList=None, dataList=None, mode=None, **kwargs): + self.path = path + self.blocksPerFile = blocksPerFile + self.metadataList = metadataList + self.dataList = dataList self.dataOut = dataOut - - if kwargs.has_key('mode'): - mode = kwargs['mode'] - - if type(mode) == int: - mode = numpy.zeros(len(self.dataList)) + mode - else: - mode = numpy.ones(len(self.dataList)) - self.mode = mode + + if self.mode is not None: + self.mode = numpy.zeros(len(self.dataList)) + mode + else: + self.mode = numpy.ones(len(self.dataList)) arrayDim = numpy.zeros((len(self.dataList),5)) @@ -1089,10 +1086,11 @@ class ParamWriter(Operation): self.fp.close() return - def run(self, dataOut, **kwargs): + def run(self, dataOut, path=None, blocksPerFile=10, metadataList=None, dataList=None, mode=None, **kwargs): if not(self.isConfig): - flagdata = self.setup(dataOut, **kwargs) + flagdata = self.setup(dataOut, path=path, blocksPerFile=blocksPerFile, + metadataList=metadataList, dataList=dataList, mode=mode, **kwargs) if not(flagdata): return diff --git a/schainpy/model/proc/jroproc_amisr.py b/schainpy/model/proc/jroproc_amisr.py index f7b235c..1e02464 100644 --- a/schainpy/model/proc/jroproc_amisr.py +++ b/schainpy/model/proc/jroproc_amisr.py @@ -41,6 +41,9 @@ class PrintInfo(Operation): class BeamSelector(Operation): profileIndex = None nProfiles = None + parameters = { + 'beam': global_type_string, + } def __init__(self): diff --git a/schainpy/model/proc/jroproc_heispectra.py b/schainpy/model/proc/jroproc_heispectra.py index e9a25fc..3679f61 100644 --- a/schainpy/model/proc/jroproc_heispectra.py +++ b/schainpy/model/proc/jroproc_heispectra.py @@ -162,6 +162,11 @@ class IncohInt4SpectraHeis(Operation): __dataReady = False n = None + parameters = { + 'n': global_type_float, + 'timeInterval': global_type_integer, + 'overlapping': global_type_boolean, + } def __init__(self, **kwargs): @@ -324,10 +329,10 @@ class IncohInt4SpectraHeis(Operation): return avgdata, avgdatatime - def run(self, dataOut, **kwargs): + def run(self, dataOut, n=None, timeInterval=None, overlapping=False, **kwargs): if not self.isConfig: - self.setup(**kwargs) + self.setup(n=n, timeInterval=timeInterval, overlapping=overlapping) self.isConfig = True avgdata, avgdatatime = self.integrate(dataOut.data_spc, dataOut.utctime) diff --git a/schainpy/model/proc/jroproc_parameters.py b/schainpy/model/proc/jroproc_parameters.py index 18f2ced..450b1ad 100644 --- a/schainpy/model/proc/jroproc_parameters.py +++ b/schainpy/model/proc/jroproc_parameters.py @@ -2220,6 +2220,13 @@ class SMDetection(Operation): return arrayParameters class CorrectSMPhases(Operation): + parameters = { + 'phaseOffsets': global_type_pairsList, + 'hmin': global_type_float, + 'hmax': global_type_float, + 'azimuth': global_type_float, + 'channelPositions': global_type_pairsList, + } def run(self, dataOut, phaseOffsets, hmin = 50, hmax = 150, azimuth = 45, channelPositions = None): diff --git a/schainpy/model/proc/jroproc_spectra.py b/schainpy/model/proc/jroproc_spectra.py index 0ba384e..3430756 100644 --- a/schainpy/model/proc/jroproc_spectra.py +++ b/schainpy/model/proc/jroproc_spectra.py @@ -742,6 +742,12 @@ class IncohInt(Operation): __timeInterval = None + parameters = { + 'n': global_type_float, + 'timeInterval': global_type_integer, + 'overlapping': global_type_boolean, + } + n = None diff --git a/schainpy/model/proc/jroproc_voltage.py b/schainpy/model/proc/jroproc_voltage.py index a10ed69..a30dfbd 100644 --- a/schainpy/model/proc/jroproc_voltage.py +++ b/schainpy/model/proc/jroproc_voltage.py @@ -334,6 +334,37 @@ class CohInt(Operation): n = None + parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'pairsList': global_type_pairsList, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'timerange': global_type_float, + 'phase_min': global_type_float, + 'phase_max': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'coherence_cmap': global_type_colormap, + 'phase_cmap': global_type_colormap, + 'show': global_type_boolean, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } def __init__(self, **kwargs): @@ -347,10 +378,9 @@ class CohInt(Operation): Inputs: - n : Number of coherent integrations - timeInterval : Time of integration. If the parameter "n" is selected this one does not work - overlapping : - + n : Number of coherent integrations + timeInterval : Time of integration. If the parameter "n" is selected this one does not work + overlapping : """ self.__initime = None @@ -549,7 +579,14 @@ class Decoder(Operation): nCode = None nBaud = None - + + parameters = { + 'code': global_type_list, + 'nCode': global_type_integer, + 'nBaud': global_type_integer, + 'mode': global_type_integer, + 'osamp': global_type_float, + } def __init__(self, **kwargs): @@ -1112,7 +1149,9 @@ class SplitProfiles(Operation): dataOut.ippSeconds /= n class CombineProfiles(Operation): - + parameters = { + 'n': global_type_integer, + } def __init__(self, **kwargs): Operation.__init__(self, **kwargs) diff --git a/schainpy/scripts/julia_mp.py b/schainpy/scripts/julia_mp.py new file mode 100644 index 0000000..2a8eaf1 --- /dev/null +++ b/schainpy/scripts/julia_mp.py @@ -0,0 +1,94 @@ +import argparse + +from schainpy.controller import Project, multiSchain + +desc = "HF_EXAMPLE" + +def fiber(cursor, skip, q, dt): + + controllerObj = Project() + + controllerObj.setup(id='191', name='test01', description=desc) + + readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', + path='/home/nanosat/data/julia', + startDate=dt, + endDate=dt, + startTime="00:00:00", + endTime="23:59:59", + online=0, + #set=1426485881, + delay=10, + walk=1, + queue=q, + cursor=cursor, + skip=skip, + #timezone=-5*3600 + ) + + # #opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') + # + procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId()) + # procUnitConfObj2.addParameter(name='nipp', value='5', format='int') + + # procUnitConfObj3 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=readUnitConfObj.getId()) + # opObj11 = procUnitConfObj3.addOperation(name='SpectralMoments', optype='other') + + # + opObj11 = procUnitConfObj2.addOperation(name='RTIPlot', optype='other') + opObj11.addParameter(name='id', value='1000', format='int') + opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str') + opObj11.addParameter(name='xmin', value='0', format='int') + opObj11.addParameter(name='xmax', value='24', format='int') + + # opObj11 = procUnitConfObj3.addOperation(name='Parameters1Plot', optype='other') + # opObj11.addParameter(name='channelList', value='0', format='intList') + # + # opObj11.addParameter(name='id', value='2000', format='int') + # # opObj11.addParameter(name='colormap', value='0', format='bool') + # opObj11.addParameter(name='onlySNR', value='1', format='bool') + # opObj11.addParameter(name='DOP', value='0', format='bool') + # opObj11.addParameter(name='showSNR', value='1', format='bool') + # opObj11.addParameter(name='SNRthresh', value='0', format='int') + # opObj11.addParameter(name='SNRmin', value='-10', format='int') + # opObj11.addParameter(name='SNRmax', value='30', format='int') + + # opObj11.addParameter(name='showSNR', value='1', format='int') + # # opObj11.addParameter(name='channelList', value='0', format='intlist') + # # opObj11.addParameter(name='xmin', value='0', format='float') + # opObj11.addParameter(name='xmin', value='0', format='float') + # opObj11.addParameter(name='xmax', value='24', format='float') + + # opObj11.addParameter(name='zmin', value='-110', format='float') + # opObj11.addParameter(name='zmax', value='-70', format='float') + # opObj11.addParameter(name='save', value='0', format='int') + # # opObj11.addParameter(name='figpath', value='/tmp/', format='str') + # + # opObj12 = procUnitConfObj2.addOperation(name='PublishData', optype='other') + # opObj12.addParameter(name='zeromq', value=1, format='int') + # opObj12.addParameter(name='server', value='tcp://10.10.10.82:7000', format='str') + + + # opObj13 = procUnitConfObj3.addOperation(name='PublishData', optype='other') + # opObj13.addParameter(name='zeromq', value=1, format='int') + # opObj13.addParameter(name='server', value="juanca", format='str') + + # opObj12.addParameter(name='delay', value=1, format='int') + + + # print "Escribiendo el archivo XML" + # controllerObj.writeXml(filename) + # print "Leyendo el archivo XML" + # controllerObj.readXml(filename) + + + # timeit.timeit('controllerObj.run()', number=2) + + controllerObj.start() + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Set number of parallel processes') + parser.add_argument('--nProcess', default=1, type=int) + args = parser.parse_args() + multiSchain(fiber, nProcess=args.nProcess, startDate='2016/08/19', endDate='2016/08/19') diff --git a/schainpy/utils/.desktop b/schainpy/utils/.desktop new file mode 100644 index 0000000..b1e940f --- /dev/null +++ b/schainpy/utils/.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Link to +Type=Link +URL=file:///home/nanosat/schain/schainpy/utils/parameters.txt +Icon=text-plain diff --git a/schainpy/utils/parameters.py b/schainpy/utils/parameters.py new file mode 100644 index 0000000..cac49d1 --- /dev/null +++ b/schainpy/utils/parameters.py @@ -0,0 +1,1177 @@ + +global_type_string = 'string' +global_type_integer = 'int' +global_type_floatList = 'floatList' +global_type_pairsList = 'pairsList' +global_type_boolean = 'bolean' +global_type_float = 'float' +global_type_colormap = 'colormap' +global_type_list = 'list' +global_type_integer_or_list = 'integer_or_list' + +#BeaconPhase +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'pairsList': global_type_pairsList, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'hmin': global_type_float, + 'hmax': global_type_float, + 'timerange': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + + +#BeamSelector +parameters = { + 'beam': global_type_string, + } + + +#CohInt +parameters = { + 'n': global_type_integer, + 'timeInterval': global_type_float, + 'overlapping': global_type_boolean, + 'byblock': global_type_boolean +} + + +#CoherenceMap +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'pairsList': global_type_pairsList, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'timerange': global_type_float, + 'phase_min': global_type_float, + 'phase_max': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'coherence_cmap': global_type_colormap, + 'phase_cmap': global_type_colormap, + 'show': global_type_boolean, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + + +#CombineProfiles +parameters = { + 'n': global_type_integer, +} + + +#CorrectSMPhases +parameters = { + 'phaseOffsets': global_type_pairsList, + 'hmin': global_type_float, + 'hmax': global_type_float, + 'azimuth': global_type_float, + 'channelPositions': global_type_pairsList, +} + + +#CorrelationPlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'realtime': global_type_boolean, + } + + +#CrossSpectraPlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'pairsList': global_type_pairsList, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'coh_min': global_type_float, + 'coh_max': global_type_float, + 'phase_min': global_type_float, + 'phase_max': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'power_cmap': global_type_colormap, + 'coherence_cmap': global_type_colormap, + 'phase_cmap': global_type_colormap, + 'show': global_type_boolean, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'xaxis': global_type_string, + } + + +#Decoder +parameters = { + 'code': global_type_list, + 'nCode': global_type_integer, + 'nBaud': global_type_integer, + 'mode': global_type_integer, + 'osamp': global_type_float, + } + + +#EWDriftsEstimation +parameters = { + 'zenith': global_type_list, + 'zenithCorrection': global_type_float, + } + + +#EWDriftsPlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'zmaxVertfloat': global_type_float, + 'zminVertfloat': global_type_float, + 'zmaxZonafloat': global_type_float, + 'zminZonafloat': global_type_float, + 'timerange': global_type_float, + 'SNRthresh': global_type_float, + 'SNRmin': global_type_float, + 'SNRmax': global_type_float, + 'SNR_1': global_type_boolean, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'lastone': global_type_float, + 'figfile': global_type_string, + 'ftp': global_type_string, + 'wr_period': global_type_integer, + 'show': global_type_string, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + + +Figure +# parameters = { +# : global_type_string, +# } + + +#FitsWriter +parameters = { + 'path': global_type_string, + 'dataBlocksPerFile': global_type_integer, + 'metadatafile': global_type_string, +} + + +#IncohInt +parameters = { + 'n': global_type_float, + 'timeInterval': global_type_integer, + 'overlapping': global_type_boolean, + } + + +#IncohInt4SpectraHeis +parameters = { + 'n': global_type_float, + 'timeInterval': global_type_integer, + 'overlapping': global_type_boolean, + } + + +#MomentsPlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_string, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'realtime': global_type_boolean, + } + + +#NSMeteorDetection1Plot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'SNRmin': global_type_float, + 'SNRmax': global_type_float, + 'vmin': global_type_float, + 'vmax': global_type_float, + 'wmin': global_type_float, + 'wmax': global_type_float, + 'mode': global_type_string, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_string, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'realtime': global_type_boolean, + 'xaxis': global_type_string, + } + + +#NSMeteorDetection2Plot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'SNRmin': global_type_float, + 'SNRmax': global_type_float, + 'vmin': global_type_float, + 'vmax': global_type_float, + 'wmin': global_type_float, + 'wmax': global_type_float, + 'mode': global_type_string, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'realtime': global_type_boolean, + 'xaxis': global_type_string, + } + + +#Noise +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'timerange': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + + +#NonSpecularMeteorDetection +parameters = { + 'mode': global_type_string, + 'SNRthresh': global_type_float, + 'phaseDerThresh': global_type_float, + 'cohThresh': global_type_float, + 'allData': global_type_boolean, + } + + +Operation +parameters = { + 'dataIn': global_type_string, + } + + +#ParamWriter +parameters = { + 'path': global_type_string, + 'blocksPerFile':global_type_integer, + 'metadataList': global_type_list, + 'dataList': global_type_list, + 'mode': global_type_integer, +} + + +#Parameters1Plot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'timerange': global_type_float, + 'parameterIndex': global_type_float, + 'onlyPositive': global_type_boolean, + 'SNRthresh': global_type_float, + 'SNR': global_type_boolean, + 'SNRmin': global_type_float, + 'SNRmax': global_type_float, + 'onlySNR': global_type_boolean, + 'DOP': global_type_boolean, + 'zlabel': global_type_string, + 'parameterName': global_type_string, + 'parameterObject': global_type_string, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'lastone': global_type_integer, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'show': global_type_string, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + + +#ParametersPlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'paramIndex': global_type_integer, + 'colormap': global_type_colormap, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'timerange': global_type_float, + 'showSNR': global_type_boolean, + 'SNRthresh': global_type_float, + 'SNRmin': global_type_float, + 'SNRmax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'lastone': global_type_integer, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'show': global_type_boolean, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + + +#PhasePlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'pairsList': global_type_pairsList, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'timerange': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + + +PlotCOHData +parameters = { +: global_type_string, + } + + +PlotCrossSpectraData +parameters = { +: global_type_string, + } + + +PlotDOPData +parameters = { +: global_type_string, + } + + +PlotData +parameters = { +: global_type_string, + } + + +PlotNoiseData +parameters = { +: global_type_string, + } + + +PlotPHASEData +parameters = { +: global_type_string, + } + + +PlotRTIData +parameters = { +: global_type_string, + } + + +PlotSNRData +parameters = { +: global_type_string, + } + + +PlotSpectraData +parameters = { +: global_type_string, + } + + +PlotSpectraMeanData +parameters = { +: global_type_string, + } + + +PlotWindProfilerData +parameters = { +: global_type_string, + } + + +PowerProfilePlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + } + + +PrintInfo +parameters = { +: global_type_string, + } + + +ProfileConcat +parameters = { + 'm': global_type_string, + } + + +ProfileSelector +parameters = { + 'profileList': global_type_string, + 'profileRangeList': global_type_string, + 'beam': global_type_string, + 'byblock': global_type_string, + 'rangeList': global_type_string, + 'nProfiles': global_type_string, + } + + +ProfileToChannels +parameters = { +: global_type_string, + } + + +PublishData +parameters = { +: global_type_string, + } + + +RTIPlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'timerange': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'lastone': global_type_string, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'show': global_type_boolean, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + + +RTIfromSpectraHeis +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'timerange': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'show': global_type_boolean, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + + +Reshaper +parameters = { + 'shape': global_type_string, + 'nTxs': global_type_string, + } + + +SALags +parameters = { +: global_type_string, + } + + +SMDetection +parameters = { + 'hei_ref': global_type_string, + 'tauindex': global_type_string, + 'phaseOffsets': global_type_string, + 'cohDetection': global_type_string, + 'cohDet_timeStep': global_type_string, + 'cohDet_thresh': global_type_string, + 'noise_timeStep': global_type_string, + 'noise_multiple': global_type_string, + 'multDet_timeLimit': global_type_string, + 'multDet_rangeLimit': global_type_string, + 'phaseThresh': global_type_string, + 'SNRThresh': global_type_string, + 'hmin': global_type_string, + 'hmax': global_type_string, + 'azimuth': global_type_string, + 'channelPositions': global_type_string, + } + + +SMPhaseCalibration +parameters = { + 'hmin': global_type_string, + 'hmax': global_type_string, + 'channelPositions': global_type_string, + 'nHours': global_type_string, + } + + +Scope +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'wr_period': global_type_integer, + 'ftp': global_type_boolean, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'type': global_type_string, + } + + +SendByFTP +parameters = { + 'ext': global_type_string, + 'localfolder': global_type_string, + 'remotefolder': global_type_string, + 'server': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'period': global_type_string, + } + + +SkyMapPlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'tmin': global_type_string, + 'tmax': global_type_string, + 'timerange': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'realtime': global_type_boolean, + } + + +SpectraCutPlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'xaxis': global_type_string, + } + + +SpectraHeisScope +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'show': global_type_boolean, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + + +SpectraHeisWriter +parameters = { +: global_type_string, + } + + +SpectraPlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + 'realtime': global_type_boolean, + 'xaxis': global_type_string, + } + + +SpectraWriter +parameters = { + 'path': global_type_string, + 'blocksPerFile': global_type_string, + 'profilesPerBlock': global_type_string, + 'set': global_type_string, + 'ext': global_type_string, + 'datatype': global_type_string, + } + + +SpectralFitting +parameters = { + 'getSNR': global_type_string, + 'path': global_type_string, + 'file': global_type_string, + 'groupList': global_type_string, + } + + +SpectralFittingPlot +parameters = { + 'id': global_type_string, + 'cutHeight': global_type_string, + 'fit': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'figfile': global_type_string, + 'show': global_type_boolean, + } + + +SpectralMoments +parameters = { +: global_type_string, + } + + +SplitProfiles +parameters = { + 'n': global_type_string, + } + + +USRPWriter +parameters = { + 'dataIn': global_type_string, + } + + +VoltageWriter +parameters = { + 'path': global_type_string, + 'blocksPerFile': global_type_string, + 'profilesPerBlock': global_type_string, + 'set': global_type_string, + 'ext': global_type_string, + 'datatype': global_type_string, + } + + +WindProfiler +parameters = { + 'technique': global_type_string, + } + + +WindProfilerPlot +parameters = { + 'id': global_type_string, + 'wintitle': global_type_string, + 'channelList': global_type_list, + 'showprofile': global_type_boolean, + 'xmin': global_type_float, + 'xmax': global_type_float, + 'ymin': global_type_float, + 'ymax': global_type_float, + 'zmin': global_type_float, + 'zmax': global_type_float, + 'zmax_ver': global_type_string, + 'zmin_ver': global_type_string, + 'SNRmin': global_type_float, + 'SNRmax': global_type_float, + 'timerange': global_type_float, + 'SNRthresh': global_type_string, + 'save': global_type_boolean, + 'figpath': global_type_string, + 'lastone': global_type_string, + 'figfile': global_type_string, + 'ftp': global_type_boolean, + 'wr_period': global_type_integer, + 'show': global_type_boolean, + 'server': global_type_string, + 'folder': global_type_string, + 'username': global_type_string, + 'password': global_type_string, + 'ftp_wei': global_type_integer, + 'exp_code': global_type_integer, + 'sub_exp_code': global_type_integer, + 'plot_pos': global_type_integer, + } + + +Writer +parameters = { + 'dataIn': global_type_string, + } + + +AMISRProc +parameters = { +: global_type_string, + } + + +AMISRReader +parameters = { +: global_type_string, + } + + +CorrelationProc +parameters = { + 'lags': global_type_string, + 'mode': global_type_string, + 'pairsList': 'pairsLists', + 'fullBuffer': global_type_string, + 'nAvg': global_type_string, + 'removeDC': global_type_string, + 'splitCF': global_type_string, + } + + +FitsReader +parameters = { +: global_type_string, + } + + +HFReader +parameters = { +: global_type_string, + } + + +ParamReader +parameters = { +: global_type_string, + } + + +ParametersProc +parameters = { +: global_type_string, + } + + +ProcessingUnit +parameters = { +: global_type_string, + } + + +ReceiverData +parameters = { +: global_type_string, + } + + +SendToServer +parameters = { +: global_type_string, + } + + +SpectraAFCProc +parameters = { + 'nProfiles': global_type_string, + 'nFFTPoints': global_type_string, + 'pairsList': 'pairsLists', + 'code': global_type_string, + 'nCode': global_type_string, + 'nBaud': global_type_string, + } + + +SpectraHeisProc +parameters = { +: global_type_string, + } + + +SpectraLagsProc +parameters = { + 'nProfiles': global_type_string, + 'nFFTPoints': global_type_string, + 'pairsList': 'pairsLists', + 'code': global_type_string, + 'nCode': global_type_string, + 'nBaud': global_type_string, + 'codeFromHeader': global_type_string, + 'pulseIndex': global_type_string, + } + + +SpectraProc +parameters = { + 'nProfiles': global_type_string, + 'nFFTPoints': global_type_string, + 'pairsList': 'pairsLists', + 'ippFactor': global_type_string, + } + + +SpectraReader +parameters = { + 'path': global_type_string, + 'startDate': global_type_string, + 'endDate': global_type_string, + 'startTime': global_type_string, + 'endTime': global_type_string, + 'set': global_type_string, + 'expLabel': global_type_string, + 'ext': global_type_string, + 'online': global_type_string, + 'delay': global_type_string, + 'walk': global_type_string, + 'getblock': global_type_string, + 'nTxs': global_type_string, + 'realtime': global_type_boolean, + 'blocksize': global_type_string, + 'blocktime': global_type_string, + 'queue': global_type_string, + 'skip': global_type_string, + 'cursor': global_type_string, + 'warnings': global_type_string, + 'verbose': global_type_string, + } + + +USRPReader +parameters = { +: global_type_string, + } + + +VoltageProc +parameters = { +: global_type_string, + } + + +VoltageReader +parameters = { + 'path': global_type_string, + 'startDate': global_type_string, + 'endDate': global_type_string, + 'startTime': global_type_string, + 'endTime': global_type_string, + 'set': global_type_string, + 'expLabel': global_type_string, + 'ext': global_type_string, + 'online': global_type_string, + 'delay': global_type_string, + 'walk': global_type_string, + 'getblock': global_type_string, + 'nTxs': global_type_string, + 'realtime': global_type_boolean, + 'blocksize': global_type_string, + 'blocktime': global_type_string, + 'queue': global_type_string, + 'skip': global_type_string, + 'cursor': global_type_string, + 'warnings': global_type_string, + 'verbose': global_type_string, + } + + diff --git a/schainpy/utils/paramsFinder.py b/schainpy/utils/paramsFinder.py new file mode 100644 index 0000000..3361134 --- /dev/null +++ b/schainpy/utils/paramsFinder.py @@ -0,0 +1,81 @@ +import schainpy +from schainpy.model import Operation, ProcessingUnit +from importlib import import_module +from pydoc import locate + +def clean_modules(module): + noEndsUnder = [x for x in module if not x.endswith('__')] + noStartUnder = [x for x in noEndsUnder if not x.startswith('__')] + noFullUpper = [x for x in noStartUnder if not x.isupper()] + return noFullUpper + +def check_module(possible, instance): + def check(x): + try: + instancia = locate('schainpy.model.{}'.format(x)) + return isinstance(instancia(), instance) + except Exception as e: + return False + clean = clean_modules(possible) + return [x for x in clean if check(x)] + + +def getProcs(): + module = dir(import_module('schainpy.model')) + procs = check_module(module, ProcessingUnit) + try: + procs.remove('ProcessingUnit') + except Exception as e: + pass + return procs + +def getOperations(): + module = dir(import_module('schainpy.model')) + noProcs = [x for x in module if not x.endswith('Proc')] + operations = check_module(noProcs, Operation) + try: + operations.remove('Operation') + except Exception as e: + pass + return operations + +def getArgs(op): + module = locate('schainpy.model.{}'.format(op)) + args = module().getAllowedArgs() + try: + args.remove('self') + except Exception as e: + pass + try: + args.remove('dataOut') + except Exception as e: + pass + return args + +def getAll(): + allModules = dir(import_module('schainpy.model')) + modules = check_module(allModules, Operation) + modules.extend(check_module(allModules, ProcessingUnit)) + return modules + +def formatArgs(op): + args = getArgs(op) + + argsAsKey = ["\t'{}'".format(x) for x in args] + argsFormatted = ": 'string',\n".join(argsAsKey) + + print op + print "parameters = { \n" + argsFormatted + ": 'string',\n }" + print '\n' + + +if __name__ == "__main__": + getAll() + [formatArgs(x) for x in getAll()] + + ''' + parameters = { + 'id': , + 'wintitle': , + } + ''' \ No newline at end of file diff --git a/schainpy/utils/trash b/schainpy/utils/trash new file mode 100644 index 0000000..384299d --- /dev/null +++ b/schainpy/utils/trash @@ -0,0 +1 @@ +You should install "digital_rf_hdf5" module if you want to read USRP data