##// END OF EJS Templates
Show More
Commit message Age Author Refs
r1222:8e3e1ad5000f
test 3.0
0
r1221:94b941a5310a
Update plots for realtime app
Juan C. Espinoza
0
r1220:dd4695cf07ce
Se añade el metodo fix_publish y se editan los metodos listen y publish, en el ultimo se colocaun pequeño retardo aplicado exclusivamente durante la comunacion desde la unidad de lectura, las demas operaciones se realizan igual.
Alexander Valdez
0
r1219:a84ca1922528
Fix LT issue in plots add snr option in jrodata
Juan C. Espinoza
0
r1218:afa054b492c7
test for localtime plotting issues
Juan C. Espinoza
0
r1217:f42f79a936d7
Fix reading files in online mode
Juan C. Espinoza
0
r1216:cef0eac4db4e
Test commit jroIO_param.py change letter D by M
soporte
0
r1215:785b27922a3d
Add reading online mode for BLTR parameters
Juan C. Espinoza
0
r1214:9d8b5d03f906
Fix plotting bug
Juan C. Espinoza
0
r1213:76af808a8dc6
Fix xrange for RTI plots
Juan C. Espinoza
0
< 1 2 3 4 5 6 7 .. 123 >

Signal Chain

Introduction

Signal Chain (SCh) is a radar data processing library developed using Python at JRO. SCh provides modules to read, write, process and plot data.

Installation

Install system dependencies, clone the latest version from here and install it as a normal python package.

Linux based system

$ sudo apt-get install python-pip python-dev gfortran libpng-dev freetype* libblas-dev liblapack-dev libatlas-base-dev python-qt4 python-tk libssl-dev libhdf5-dev
$ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
$ cd schain
$ sudo pip install ./

MAC Os

$ brew install python
$ brew install cartr/qt4/pyqt
$ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
$ cd schain
$ pip install ./

It is recommended to install schain in a virtual environment

$ virtualenv /path/to/virtual
$ source /path/to/virtual/bin/activate
(virtual) $ cd schain
(virtual) $ pip install ./
(virtual) $ bash link_PyQt4.sh

Docker

Download Dockerfile from the repository, and create a docker image

$ docker build -t schain .

You can run a container using an xml file or a schain script also you need to mount a volume for the data input and for the output files/plots

$ docker run -it --rm --volume /path/to/host/data:/data schain xml /data/test.xml
$ docker run -it --rm --volume /path/to/host/data:/data --entrypoint /urs/local/bin/python schain /data/test.py

First Script

Read Spectra data (.pdata) - remove dc - plot spectra & RTI

Import SCh and creating a project

#!/usr/bin/python

from schainpy.controller import Project

controller = Project()
controller.setup(id = '100',
                 name='test',
                 description='Basic experiment')

Adding read unit and operations

read_unit = controller.addReadUnit(datatype='Spectra',
                                   path='/path/to/pdata/',
                                   startDate='2014/01/31',
                                   endDate='2014/03/31',
                                   startTime='00:00:00',
                                   endTime='23:59:59',
                                   online=0,
                                   walk=0)

proc_unit = controller.addProcUnit(datatype='Spectra',
                                   inputId=read_unit.getId())

op = proc_unit.addOperation(name='selectChannels')
op.addParameter(name='channelList', value='0,1', format='intlist')

op = proc_unit.addOperation(name='selectHeights')
op.addParameter(name='minHei', value='80', format='float')
op.addParameter(name='maxHei', value='200', format='float')

op = proc_unit.addOperation(name='removeDC')

Plotting data & start project

op = proc_unit.addOperation(name='SpectraPlot', optype='other')
op.addParameter(name='id', value='1', format='int')
op.addParameter(name='wintitle', value='Spectra', format='str')

op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
op.addParameter(name='id', value='2', format='int')
op.addParameter(name='wintitle', value='RTI', format='str')

controller.start()

Full script

#!/usr/bin/python

from schainpy.controller import Project

controller = Project()
controller.setup(id = '100',
                 name='test',
                 description='Basic experiment')
read_unit = controller.addReadUnit(datatype='Spectra',
                                   path='/path/to/pdata/',
                                   startDate='2014/01/31',
                                   endDate='2014/03/31',
                                   startTime='00:00:00',
                                   endTime='23:59:59',
                                   online=0,
                                   walk=0)

proc_unit = controller.addProcUnit(datatype='Spectra',
                                   inputId=read_unit.getId())

op = proc_unit.addOperation(name='selectChannels')
op.addParameter(name='channelList', value='0,1', format='intlist')

op = proc_unit.addOperation(name='selectHeights')
op.addParameter(name='minHei', value='80', format='float')
op.addParameter(name='maxHei', value='200', format='float')

op = proc_unit.addOperation(name='removeDC')

op = proc_unit.addOperation(name='SpectraPlot', optype='other')
op.addParameter(name='id', value='6', format='int')
op.addParameter(name='wintitle', value='Spectra', format='str')

op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
op.addParameter(name='id', value='2', format='int')
op.addParameter(name='wintitle', value='RTI', format='str')

controller.start()