##// 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 ## Installation
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 $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
19 $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
15 $ cd schain
20 $ cd schain
21 $ git checkout `schain-branch` (optional)
16 $ sudo pip install ./
22 $ sudo pip install ./
17
18 ```
23 ```
19
24
20 ### MAC Os
25 ### MAC Os
21 ```
26 ```
22 $ brew install python
27 $ brew install python
23 $ brew install cartr/qt4/pyqt
24 $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
28 $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
25 $ cd schain
29 $ cd schain
26 $ pip install ./
30 $ git checkout `schain-branch` (optional)
27 ```
31 $ sudo pip install ./
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
36 ```
32 ```
37
33
38 ### Docker
34 ### Docker
@@ -49,63 +45,72 $ docker run -it --rm --volume /path/to/host/data:/data schain xml /data/test.xm
49 $ docker run -it --rm --volume /path/to/host/data:/data --entrypoint /urs/local/bin/python schain /data/test.py
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 ## First Script
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 ```python
62 ```python
59 #!/usr/bin/python
63 #!/usr/bin/python
60
64
61 from schainpy.controller import Project
65 from schainpy.controller import Project
62
66
63 controller = Project()
67 prj = Project()
64 controller.setup(id = '100',
68 prj.setup(
65 name='test',
69 id = '100',
66 description='Basic experiment')
70 name='test',
67
71 description='Basic experiment'
68
72 )
69 ```
73 ```
70
74
71 Adding read unit and operations
75 Add read unit and operations
72
76
73 ```python
77 ```python
74 read_unit = controller.addReadUnit(datatype='Spectra',
78 read_unit = prj.addReadUnit(
75 path='/path/to/pdata/',
79 datatype='Spectra',
76 startDate='2014/01/31',
80 path='/path/to/pdata/',
77 endDate='2014/03/31',
81 startDate='2014/01/31',
78 startTime='00:00:00',
82 endDate='2014/03/31',
79 endTime='23:59:59',
83 startTime='00:00:00',
80 online=0,
84 endTime='23:59:59',
81 walk=0)
85 online=0,
82
86 walk=0
83 proc_unit = controller.addProcUnit(datatype='Spectra',
87 )
84 inputId=read_unit.getId())
88
89 proc_unit = prj.addProcUnit(datatype='Spectra', inputId=read_unit.getId())
85
90
86 op = proc_unit.addOperation(name='selectChannels')
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 op = proc_unit.addOperation(name='selectHeights')
94 op = proc_unit.addOperation(name='selectHeights')
90 op.addParameter(name='minHei', value='80', format='float')
95 op.addParameter(name='minHei', value='80')
91 op.addParameter(name='maxHei', value='200', format='float')
96 op.addParameter(name='maxHei', value='200')
92
97
93 op = proc_unit.addOperation(name='removeDC')
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 ```python
104 ```python
100 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
105 op = proc_unit.addOperation(name='SpectraPlot')
101 op.addParameter(name='id', value='1', format='int')
106 op.addParameter(name='id', value='1')
102 op.addParameter(name='wintitle', value='Spectra', format='str')
107 op.addParameter(name='wintitle', value='Spectra')
103
108
104 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
109 op = procUnitConfObj1.addOperation(name='RTIPlot')
105 op.addParameter(name='id', value='2', format='int')
110 op.addParameter(name='id', value='2')
106 op.addParameter(name='wintitle', value='RTI', format='str')
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 ```python
120 ```python
116 #!/usr/bin/python
121 #!/usr/bin/python
117
122
118 from schainpy.controller import Project
123 from schainpy.prj import Project
119
124
120 controller = Project()
125 prj = Project()
121 controller.setup(id = '100',
126 prj.setup(id = '100',
122 name='test',
127 name='test',
123 description='Basic experiment')
128 description='Basic experiment')
124 read_unit = controller.addReadUnit(datatype='Spectra',
129 read_unit = prj.addReadUnit(datatype='Spectra',
125 path='/path/to/pdata/',
130 path='/path/to/pdata/',
126 startDate='2014/01/31',
131 startDate='2014/01/31',
127 endDate='2014/03/31',
132 endDate='2014/03/31',
@@ -130,26 +135,24 read_unit = controller.addReadUnit(datatype='Spectra',
130 online=0,
135 online=0,
131 walk=0)
136 walk=0)
132
137
133 proc_unit = controller.addProcUnit(datatype='Spectra',
138 proc_unit = prj.addProcUnit(datatype='Spectra',
134 inputId=read_unit.getId())
139 inputId=read_unit.getId())
135
140
136 op = proc_unit.addOperation(name='selectChannels')
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 op = proc_unit.addOperation(name='selectHeights')
144 op = proc_unit.addOperation(name='selectHeights')
140 op.addParameter(name='minHei', value='80', format='float')
145 op.addParameter(name='minHei', value='80')
141 op.addParameter(name='maxHei', value='200', format='float')
146 op.addParameter(name='maxHei', value='200')
142
147
143 op = proc_unit.addOperation(name='removeDC')
148 op = proc_unit.addOperation(name='removeDC')
144
149
145 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
150 op = proc_unit.addOperation(name='SpectraPlot')
146 op.addParameter(name='id', value='6', format='int')
147 op.addParameter(name='wintitle', value='Spectra', format='str')
151 op.addParameter(name='wintitle', value='Spectra', format='str')
148
152
149 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
153 op = procUnitConfObj1.addOperation(name='RTIPlot')
150 op.addParameter(name='id', value='2', format='int')
151 op.addParameter(name='wintitle', value='RTI', format='str')
154 op.addParameter(name='wintitle', value='RTI', format='str')
152
155
153 controller.start()
156 prj.start()
154
157
155 ``` No newline at end of file
158 ```
@@ -692,9 +692,9 class Plot(Operation):
692
692
693 def close(self):
693 def close(self):
694
694
695 if not self.data.flagNoData:
695 if self.data and not self.data.flagNoData:
696 self.save_counter = self.save_period
696 self.save_counter = self.save_period
697 self.__plot()
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 figpause(10)
699 figpause(10)
700
700
@@ -74,7 +74,7 class ProcessingUnit(object):
74 elif 'SchainError' in err:
74 elif 'SchainError' in err:
75 log.error(err.split('SchainError:')[-1].split('\n')[0].strip(), self.name)
75 log.error(err.split('SchainError:')[-1].split('\n')[0].strip(), self.name)
76 else:
76 else:
77 log.error(err, self.name)
77 log.error(err.split('\n')[-2], self.name)
78 self.dataOut.error = True
78 self.dataOut.error = True
79
79
80 for op, optype, opkwargs in self.operations:
80 for op, optype, opkwargs in self.operations:
General Comments 0
You need to be logged in to leave comments. Login now