##// END OF EJS Templates
Fix setup and update readme
Juan C. Espinoza -
r1110:bf1b67127ddb
parent child
Show More
@@ -1,153 +1,141
1 # Signal Chain
1 # Signal Chain
2
2
3 ## Introduction
3 ## Introduction
4
4
5 Signal Chain (SCh) is a radar data processing library developed using [Python](www.python.org) at JRO. SCh provides modules to read, write, process and plot data.
5 Signal Chain (SCh) is a radar data processing library developed using [Python](www.python.org) at JRO. SCh provides modules to read, write, process and plot data.
6
6
7 ## Installation
7 ## Installation
8
8
9 Install system dependencies, clone the latest version from [git](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.
10
10
11 ### Linux based system
11 ### Linux based system
12 ```
12 ```
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
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/
14 $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
15 $ cd schain
15 $ cd schain
16 $ sudo pip install ./
16 $ sudo pip install ./
17
17
18 ```
18 ```
19 **It is recommended to install schain in a virtual environment**
20 ```
21 $ sudo pip install virtualenv
22 $ virtualenv /path/to/virtual --system-site-packages
23 $ source /path/to/virtual/bin/activate
24 (virtual) $ cd schain
25 (virtual) $ pip install ./
26
27 ```
28
19
29 ### MAC Os
20 ### MAC Os
30 ```
21 ```
22 $ brew install python
31 $ brew install cartr/qt4/pyqt
23 $ brew install cartr/qt4/pyqt
32 $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
24 $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
33 $ cd schain
25 $ cd schain
34 $ pip install ./
26 $ pip install ./
35 ```
27 ```
36
28
37 if ```pip install ./``` does not work, install a proper python enviroment, and repeat the steps.
29 **It is recommended to install schain in a virtual environment**
38 ```
39 $ brew install python
40 ```
41
42 ### GUI Installation
43
44 ```
30 ```
45 $ 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
31 $ virtualenv /path/to/virtual
46 $ (virtual) bash link_PyQt4.sh
32 $ source /path/to/virtual/bin/activate
33 (virtual) $ cd schain
34 (virtual) $ pip install ./
35 (virtual) $ bash link_PyQt4.sh
47 ```
36 ```
48
37
49
50 ## First Script
38 ## First Script
51
39
52 Read Spectra data (.pdata) - remove dc - plot spectra & RTI
40 Read Spectra data (.pdata) - remove dc - plot spectra & RTI
53
41
54 Import SCh and creating a project
42 Import SCh and creating a project
55
43
56 ```python
44 ```python
57 #!/usr/bin/python
45 #!/usr/bin/python
58
46
59 from schainpy.controller import Project
47 from schainpy.controller import Project
60
48
61 controller = Project()
49 controller = Project()
62 controller.setup(id = '100',
50 controller.setup(id = '100',
63 name='test',
51 name='test',
64 description='Basic experiment')
52 description='Basic experiment')
65
53
66
54
67 ```
55 ```
68
56
69 Adding read unit and operations
57 Adding read unit and operations
70
58
71 ```python
59 ```python
72 read_unit = controller.addReadUnit(datatype='Spectra',
60 read_unit = controller.addReadUnit(datatype='Spectra',
73 path='/path/to/pdata/',
61 path='/path/to/pdata/',
74 startDate='2014/01/31',
62 startDate='2014/01/31',
75 endDate='2014/03/31',
63 endDate='2014/03/31',
76 startTime='00:00:00',
64 startTime='00:00:00',
77 endTime='23:59:59',
65 endTime='23:59:59',
78 online=0,
66 online=0,
79 walk=0)
67 walk=0)
80
68
81 proc_unit = controller.addProcUnit(datatype='Spectra',
69 proc_unit = controller.addProcUnit(datatype='Spectra',
82 inputId=read_unit.getId())
70 inputId=read_unit.getId())
83
71
84 op = proc_unit.addOperation(name='selectChannels')
72 op = proc_unit.addOperation(name='selectChannels')
85 op.addParameter(name='channelList', value='0,1', format='intlist')
73 op.addParameter(name='channelList', value='0,1', format='intlist')
86
74
87 op = proc_unit.addOperation(name='selectHeights')
75 op = proc_unit.addOperation(name='selectHeights')
88 op.addParameter(name='minHei', value='80', format='float')
76 op.addParameter(name='minHei', value='80', format='float')
89 op.addParameter(name='maxHei', value='200', format='float')
77 op.addParameter(name='maxHei', value='200', format='float')
90
78
91 op = proc_unit.addOperation(name='removeDC')
79 op = proc_unit.addOperation(name='removeDC')
92
80
93 ```
81 ```
94
82
95 Plotting data & start project
83 Plotting data & start project
96
84
97 ```python
85 ```python
98 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
86 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
99 op.addParameter(name='id', value='1', format='int')
87 op.addParameter(name='id', value='1', format='int')
100 op.addParameter(name='wintitle', value='Spectra', format='str')
88 op.addParameter(name='wintitle', value='Spectra', format='str')
101
89
102 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
90 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
103 op.addParameter(name='id', value='2', format='int')
91 op.addParameter(name='id', value='2', format='int')
104 op.addParameter(name='wintitle', value='RTI', format='str')
92 op.addParameter(name='wintitle', value='RTI', format='str')
105
93
106 controller.start()
94 controller.start()
107
95
108 ```
96 ```
109
97
110 Full script
98 Full script
111
99
112
100
113 ```python
101 ```python
114 #!/usr/bin/python
102 #!/usr/bin/python
115
103
116 from schainpy.controller import Project
104 from schainpy.controller import Project
117
105
118 controller = Project()
106 controller = Project()
119 controller.setup(id = '100',
107 controller.setup(id = '100',
120 name='test',
108 name='test',
121 description='Basic experiment')
109 description='Basic experiment')
122 read_unit = controller.addReadUnit(datatype='Spectra',
110 read_unit = controller.addReadUnit(datatype='Spectra',
123 path='/path/to/pdata/',
111 path='/path/to/pdata/',
124 startDate='2014/01/31',
112 startDate='2014/01/31',
125 endDate='2014/03/31',
113 endDate='2014/03/31',
126 startTime='00:00:00',
114 startTime='00:00:00',
127 endTime='23:59:59',
115 endTime='23:59:59',
128 online=0,
116 online=0,
129 walk=0)
117 walk=0)
130
118
131 proc_unit = controller.addProcUnit(datatype='Spectra',
119 proc_unit = controller.addProcUnit(datatype='Spectra',
132 inputId=read_unit.getId())
120 inputId=read_unit.getId())
133
121
134 op = proc_unit.addOperation(name='selectChannels')
122 op = proc_unit.addOperation(name='selectChannels')
135 op.addParameter(name='channelList', value='0,1', format='intlist')
123 op.addParameter(name='channelList', value='0,1', format='intlist')
136
124
137 op = proc_unit.addOperation(name='selectHeights')
125 op = proc_unit.addOperation(name='selectHeights')
138 op.addParameter(name='minHei', value='80', format='float')
126 op.addParameter(name='minHei', value='80', format='float')
139 op.addParameter(name='maxHei', value='200', format='float')
127 op.addParameter(name='maxHei', value='200', format='float')
140
128
141 op = proc_unit.addOperation(name='removeDC')
129 op = proc_unit.addOperation(name='removeDC')
142
130
143 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
131 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
144 op.addParameter(name='id', value='6', format='int')
132 op.addParameter(name='id', value='6', format='int')
145 op.addParameter(name='wintitle', value='Spectra', format='str')
133 op.addParameter(name='wintitle', value='Spectra', format='str')
146
134
147 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
135 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
148 op.addParameter(name='id', value='2', format='int')
136 op.addParameter(name='id', value='2', format='int')
149 op.addParameter(name='wintitle', value='RTI', format='str')
137 op.addParameter(name='wintitle', value='RTI', format='str')
150
138
151 controller.start()
139 controller.start()
152
140
153 ``` No newline at end of file
141 ```
@@ -1,40 +1,40
1 #!/usr/bin/env python
1 #!/usr/bin/env python
2 import os
2 import os
3 import sys
3 import sys
4 from schainpy.utils import log
4 from schainpy.utils import log
5
5
6 try:
6 try:
7 from PyQt4 import QtCore, QtGui
7 from PyQt4 import QtCore, QtGui
8 from PyQt4.QtGui import QApplication
8 from PyQt4.QtGui import QApplication
9 except:
9 except:
10 log.error(
10 log.error(
11 'You should install PtQt4 module in order to run the GUI. See the README.')
11 'You should install PyQt4 module in order to run the GUI. See the README.')
12 sys.exit()
12 sys.exit()
13
13
14
14
15 from schainpy.gui.viewcontroller.initwindow import InitWindow
15 from schainpy.gui.viewcontroller.initwindow import InitWindow
16 from schainpy.gui.viewcontroller.basicwindow import BasicWindow
16 from schainpy.gui.viewcontroller.basicwindow import BasicWindow
17 from schainpy.gui.viewcontroller.workspace import Workspace
17 from schainpy.gui.viewcontroller.workspace import Workspace
18
18
19
19
20 def main():
20 def main():
21
21
22 app = QtGui.QApplication(sys.argv)
22 app = QtGui.QApplication(sys.argv)
23
23
24 Welcome = InitWindow()
24 Welcome = InitWindow()
25
25
26 if not Welcome.exec_():
26 if not Welcome.exec_():
27 sys.exit(-1)
27 sys.exit(-1)
28
28
29 WorkPathspace = Workspace()
29 WorkPathspace = Workspace()
30 if not WorkPathspace.exec_():
30 if not WorkPathspace.exec_():
31 sys.exit(-1)
31 sys.exit(-1)
32
32
33 MainGUI = BasicWindow()
33 MainGUI = BasicWindow()
34 MainGUI.setWorkSpaceGUI(WorkPathspace.dirComBox.currentText())
34 MainGUI.setWorkSpaceGUI(WorkPathspace.dirComBox.currentText())
35 MainGUI.show()
35 MainGUI.show()
36 sys.exit(app.exec_())
36 sys.exit(app.exec_())
37
37
38
38
39 if __name__ == "__main__":
39 if __name__ == "__main__":
40 main()
40 main()
@@ -1,79 +1,68
1 '''
1 '''
2 Created on Jul 16, 2014
2 Created on Jul 16, 2014
3
3
4 @author: Miguel Urco
4 @author: Miguel Urco
5 '''
5 '''
6
6
7 import os
7 import os
8 from setuptools import setup, Extension
8 from setuptools import setup, Extension
9 from setuptools.command.build_ext import build_ext as _build_ext
9 from setuptools.command.build_ext import build_ext as _build_ext
10 from schainpy import __version__
10 from schainpy import __version__
11 from schainpy.utils import log
12
13
11
14 class build_ext(_build_ext):
12 class build_ext(_build_ext):
15 def finalize_options(self):
13 def finalize_options(self):
16 _build_ext.finalize_options(self)
14 _build_ext.finalize_options(self)
17 # Prevent numpy from thinking it is still in its setup process:
15 # Prevent numpy from thinking it is still in its setup process:
18 __builtins__.__NUMPY_SETUP__ = False
16 __builtins__.__NUMPY_SETUP__ = False
19 import numpy
17 import numpy
20 self.include_dirs.append(numpy.get_include())
18 self.include_dirs.append(numpy.get_include())
21
19
22
23 try:
24 from PyQt4 import QtCore, QtGui
25 from PyQt4.QtGui import QApplication
26 except:
27 log.warning(
28 'You should install PyQt4 module in order to run the GUI. See the README.')
29
30
31 setup(name="schainpy",
20 setup(name="schainpy",
32 version=__version__,
21 version=__version__,
33 description="Python tools to read, write and process Jicamarca data",
22 description="Python tools to read, write and process Jicamarca data",
34 author="Miguel Urco",
23 author="Miguel Urco",
35 author_email="miguel.urco@jro.igp.gob.pe",
24 author_email="miguel.urco@jro.igp.gob.pe",
36 url="http://jro.igp.gob.pe",
25 url="http://jro.igp.gob.pe",
37 packages={'schainpy',
26 packages={'schainpy',
38 'schainpy.model',
27 'schainpy.model',
39 'schainpy.model.data',
28 'schainpy.model.data',
40 'schainpy.model.graphics',
29 'schainpy.model.graphics',
41 'schainpy.model.io',
30 'schainpy.model.io',
42 'schainpy.model.proc',
31 'schainpy.model.proc',
43 'schainpy.model.serializer',
32 'schainpy.model.serializer',
44 'schainpy.model.utils',
33 'schainpy.model.utils',
45 'schainpy.gui',
34 'schainpy.gui',
46 'schainpy.gui.figures',
35 'schainpy.gui.figures',
47 'schainpy.gui.viewcontroller',
36 'schainpy.gui.viewcontroller',
48 'schainpy.gui.viewer',
37 'schainpy.gui.viewer',
49 'schainpy.gui.viewer.windows'},
38 'schainpy.gui.viewer.windows'},
50 ext_package='schainpy',
39 ext_package='schainpy',
51 py_modules=[''],
40 py_modules=[''],
52 package_data={'': ['schain.conf.template'],
41 package_data={'': ['schain.conf.template'],
53 'schainpy.gui.figures': ['*.png', '*.jpg'],
42 'schainpy.gui.figures': ['*.png', '*.jpg'],
54 },
43 },
55 include_package_data=False,
44 include_package_data=False,
56 scripts=['schainpy/gui/schainGUI'],
45 scripts=['schainpy/gui/schainGUI'],
57 ext_modules=[
46 ext_modules=[
58 Extension("cSchain", ["schainpy/model/proc/extensions.c"]
47 Extension("cSchain", ["schainpy/model/proc/extensions.c"]
59 )],
48 )],
60 entry_points={
49 entry_points={
61 'console_scripts': [
50 'console_scripts': [
62 'schain = schaincli.cli:main',
51 'schain = schaincli.cli:main',
63 ],
52 ],
64 },
53 },
65 cmdclass={'build_ext': build_ext},
54 cmdclass={'build_ext': build_ext},
66 setup_requires=["numpy >= 1.11.2"],
55 setup_requires=["numpy >= 1.11.2"],
67 install_requires=[
56 install_requires=[
68 "scipy >= 0.14.0",
57 "scipy >= 0.14.0",
69 "h5py >= 2.2.1",
58 "h5py >= 2.2.1",
70 "matplotlib >= 1.4.2",
59 "matplotlib >= 1.4.2",
71 "pyfits >= 3.4",
60 "pyfits >= 3.4",
72 "paramiko >= 2.1.2",
61 "paramiko >= 2.1.2",
73 "paho-mqtt >= 1.2",
62 "paho-mqtt >= 1.2",
74 "zmq",
63 "zmq",
75 "fuzzywuzzy",
64 "fuzzywuzzy",
76 "click",
65 "click",
77 "python-Levenshtein"
66 "python-Levenshtein"
78 ],
67 ],
79 )
68 )
General Comments 0
You need to be logged in to leave comments. Login now