##// END OF EJS Templates
Update README
Juan C. Espinoza -
r1289:303db73c0c9d
parent child
Show More
@@ -6,33 +6,29 Signal Chain (SCh) is a radar data processing library developed using [Python](w
6 6
7 7 ## Installation
8 8
9 Install system dependencies, clone the latest version from [here](http://jro-dev.igp.gob.pe/rhodecode/schain/) and install it as a normal python package.
9 Install system dependencies, clone the latest version from [here](http://jro-dev.igp.gob.pe/rhodecode/schain/) and install it as a normal python package, we strongly recommend to use Anaconda or a virtual environment for the installation.
10 10
11 ### Linux based system
11 ### Dependencies
12 - GCC (gcc or gfortran)
13 - Python.h (python-dev or python-devel)
14 - Python-TK (python-tk)
15 - HDF5 libraries (libhdf5-dev)
16
17 ### Linux based system (e.g. ubuntu)
12 18 ```
13 $ 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
14 19 $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
15 20 $ cd schain
21 $ git checkout `schain-branch` (optional)
16 22 $ sudo pip install ./
17
18 23 ```
19 24
20 25 ### MAC Os
21 26 ```
22 27 $ brew install python
23 $ brew install cartr/qt4/pyqt
24 28 $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
25 29 $ cd schain
26 $ pip install ./
27 ```
28
29 **It is recommended to install schain in a virtual environment**
30 ```
31 $ virtualenv /path/to/virtual
32 $ source /path/to/virtual/bin/activate
33 (virtual) $ cd schain
34 (virtual) $ pip install ./
35 (virtual) $ bash link_PyQt4.sh
30 $ git checkout `schain-branch` (optional)
31 $ sudo pip install ./
36 32 ```
37 33
38 34 ### Docker
@@ -49,63 +45,72 $ docker run -it --rm --volume /path/to/host/data:/data schain xml /data/test.xm
49 45 $ docker run -it --rm --volume /path/to/host/data:/data --entrypoint /urs/local/bin/python schain /data/test.py
50 46 ```
51 47
48 ## CLI (command line interface)
49
50 Signal Chain provides the following commands:
51
52 - schainGUI: Open the GUI
53 - schain: Signal chain command line
54
55
52 56 ## First Script
53 57
54 Read Spectra data (.pdata) - remove dc - plot spectra & RTI
58 Here you can find an script to read Spectra data (.pdata), remove dc and plot spectra & RTI
55 59
56 Import SCh and creating a project
60 First import SCh and creating a project
57 61
58 62 ```python
59 63 #!/usr/bin/python
60 64
61 65 from schainpy.controller import Project
62 66
63 controller = Project()
64 controller.setup(id = '100',
65 name='test',
66 description='Basic experiment')
67
68
67 prj = Project()
68 prj.setup(
69 id = '100',
70 name='test',
71 description='Basic experiment'
72 )
69 73 ```
70 74
71 Adding read unit and operations
75 Add read unit and operations
72 76
73 77 ```python
74 read_unit = controller.addReadUnit(datatype='Spectra',
75 path='/path/to/pdata/',
76 startDate='2014/01/31',
77 endDate='2014/03/31',
78 startTime='00:00:00',
79 endTime='23:59:59',
80 online=0,
81 walk=0)
82
83 proc_unit = controller.addProcUnit(datatype='Spectra',
84 inputId=read_unit.getId())
78 read_unit = prj.addReadUnit(
79 datatype='Spectra',
80 path='/path/to/pdata/',
81 startDate='2014/01/31',
82 endDate='2014/03/31',
83 startTime='00:00:00',
84 endTime='23:59:59',
85 online=0,
86 walk=0
87 )
88
89 proc_unit = prj.addProcUnit(datatype='Spectra', inputId=read_unit.getId())
85 90
86 91 op = proc_unit.addOperation(name='selectChannels')
87 op.addParameter(name='channelList', value='0,1', format='intlist')
92 op.addParameter(name='channelList', value='0,1')
88 93
89 94 op = proc_unit.addOperation(name='selectHeights')
90 op.addParameter(name='minHei', value='80', format='float')
91 op.addParameter(name='maxHei', value='200', format='float')
95 op.addParameter(name='minHei', value='80')
96 op.addParameter(name='maxHei', value='200')
92 97
93 98 op = proc_unit.addOperation(name='removeDC')
94 99
95 100 ```
96 101
97 Plotting data & start project
102 Plot data & start project
98 103
99 104 ```python
100 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
101 op.addParameter(name='id', value='1', format='int')
102 op.addParameter(name='wintitle', value='Spectra', format='str')
105 op = proc_unit.addOperation(name='SpectraPlot')
106 op.addParameter(name='id', value='1')
107 op.addParameter(name='wintitle', value='Spectra')
103 108
104 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
105 op.addParameter(name='id', value='2', format='int')
106 op.addParameter(name='wintitle', value='RTI', format='str')
109 op = procUnitConfObj1.addOperation(name='RTIPlot')
110 op.addParameter(name='id', value='2')
111 op.addParameter(name='wintitle', value='RTI')
107 112
108 controller.start()
113 prj.start()
109 114
110 115 ```
111 116
@@ -115,13 +120,13 Full script
115 120 ```python
116 121 #!/usr/bin/python
117 122
118 from schainpy.controller import Project
123 from schainpy.prj import Project
119 124
120 controller = Project()
121 controller.setup(id = '100',
125 prj = Project()
126 prj.setup(id = '100',
122 127 name='test',
123 128 description='Basic experiment')
124 read_unit = controller.addReadUnit(datatype='Spectra',
129 read_unit = prj.addReadUnit(datatype='Spectra',
125 130 path='/path/to/pdata/',
126 131 startDate='2014/01/31',
127 132 endDate='2014/03/31',
@@ -130,26 +135,24 read_unit = controller.addReadUnit(datatype='Spectra',
130 135 online=0,
131 136 walk=0)
132 137
133 proc_unit = controller.addProcUnit(datatype='Spectra',
138 proc_unit = prj.addProcUnit(datatype='Spectra',
134 139 inputId=read_unit.getId())
135 140
136 141 op = proc_unit.addOperation(name='selectChannels')
137 op.addParameter(name='channelList', value='0,1', format='intlist')
142 op.addParameter(name='channelList', value='0,1')
138 143
139 144 op = proc_unit.addOperation(name='selectHeights')
140 op.addParameter(name='minHei', value='80', format='float')
141 op.addParameter(name='maxHei', value='200', format='float')
145 op.addParameter(name='minHei', value='80')
146 op.addParameter(name='maxHei', value='200')
142 147
143 148 op = proc_unit.addOperation(name='removeDC')
144 149
145 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
146 op.addParameter(name='id', value='6', format='int')
150 op = proc_unit.addOperation(name='SpectraPlot')
147 151 op.addParameter(name='wintitle', value='Spectra', format='str')
148 152
149 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
150 op.addParameter(name='id', value='2', format='int')
153 op = procUnitConfObj1.addOperation(name='RTIPlot')
151 154 op.addParameter(name='wintitle', value='RTI', format='str')
152 155
153 controller.start()
156 prj.start()
154 157
155 158 ``` No newline at end of file
@@ -692,9 +692,9 class Plot(Operation):
692 692
693 693 def close(self):
694 694
695 if not self.data.flagNoData:
695 if self.data and not self.data.flagNoData:
696 696 self.save_counter = self.save_period
697 697 self.__plot()
698 if not self.data.flagNoData and self.pause:
698 if self.data and not self.data.flagNoData and self.pause:
699 699 figpause(10)
700 700
@@ -74,7 +74,7 class ProcessingUnit(object):
74 74 elif 'SchainError' in err:
75 75 log.error(err.split('SchainError:')[-1].split('\n')[0].strip(), self.name)
76 76 else:
77 log.error(err, self.name)
77 log.error(err.split('\n')[-2], self.name)
78 78 self.dataOut.error = True
79 79
80 80 for op, optype, opkwargs in self.operations:
General Comments 0
You need to be logged in to leave comments. Login now