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