##// END OF EJS Templates
Update readme & dockerfile
Juan C. Espinoza -
r1210:45621c4da22a
parent child
Show More
@@ -1,26 +1,26
1 FROM python:2.7-slim
1 FROM python:3.7-slim
2 2
3 3 RUN apt-get clean && apt-get update && apt-get install -y --no-install-recommends \
4 4 git \
5 5 gcc \
6 6 libpng-dev \
7 7 libfreetype6-dev \
8 8 libopenblas-dev \
9 9 liblapack-dev \
10 10 libatlas-base-dev \
11 11 libssl-dev \
12 12 libhdf5-dev \
13 && git clone --branch v2.3 --depth 1 \
13 && git clone --branch v3.0-devel --depth 1 \
14 14 http://jro-dev.igp.gob.pe/rhodecode/schain \
15 15 && pip install numpy \
16 16 && cd schain \
17 17 && pip install . \
18 18 && rm -rf * \
19 19 && apt-get purge -y --auto-remove git gcc \
20 20 && rm -rf /var/lib/apt/lists/*
21 21
22 22 ENV BACKEND="Agg"
23 23
24 24 VOLUME /data
25 25
26 26 ENTRYPOINT ["schain"]
@@ -1,155 +1,155
1 1 # Signal Chain
2 2
3 3 ## Introduction
4 4
5 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 7 ## Installation
8 8
9 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 11 ### Linux based system
12 12 ```
13 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 14 $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
15 15 $ cd schain
16 16 $ sudo pip install ./
17 17
18 18 ```
19 19
20 20 ### MAC Os
21 21 ```
22 22 $ brew install python
23 23 $ brew install cartr/qt4/pyqt
24 24 $ git clone http://jro-dev.igp.gob.pe/rhodecode/schain/
25 25 $ cd schain
26 26 $ pip install ./
27 27 ```
28 28
29 29 **It is recommended to install schain in a virtual environment**
30 30 ```
31 31 $ virtualenv /path/to/virtual
32 32 $ source /path/to/virtual/bin/activate
33 33 (virtual) $ cd schain
34 34 (virtual) $ pip install ./
35 35 (virtual) $ bash link_PyQt4.sh
36 36 ```
37 37
38 38 ### Docker
39 39
40 40 Download Dockerfile from the repository, and create a docker image
41 41
42 42 ```
43 43 $ docker build -t schain .
44 44 ```
45 45
46 46 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
47 47 ```
48 48 $ docker run -it --rm --volume /path/to/host/data:/data schain xml /data/test.xml
49 $ docker run -it --rm --volume /path/to/host/data:/data --entrypoint=/bin/python schain /data/test.py
49 $ docker run -it --rm --volume /path/to/host/data:/data --entrypoint /urs/local/bin/python schain /data/test.py
50 50 ```
51 51
52 52 ## First Script
53 53
54 54 Read Spectra data (.pdata) - remove dc - plot spectra & RTI
55 55
56 56 Import SCh and creating a project
57 57
58 58 ```python
59 59 #!/usr/bin/python
60 60
61 61 from schainpy.controller import Project
62 62
63 63 controller = Project()
64 64 controller.setup(id = '100',
65 65 name='test',
66 66 description='Basic experiment')
67 67
68 68
69 69 ```
70 70
71 71 Adding read unit and operations
72 72
73 73 ```python
74 74 read_unit = controller.addReadUnit(datatype='Spectra',
75 75 path='/path/to/pdata/',
76 76 startDate='2014/01/31',
77 77 endDate='2014/03/31',
78 78 startTime='00:00:00',
79 79 endTime='23:59:59',
80 80 online=0,
81 81 walk=0)
82 82
83 83 proc_unit = controller.addProcUnit(datatype='Spectra',
84 84 inputId=read_unit.getId())
85 85
86 86 op = proc_unit.addOperation(name='selectChannels')
87 87 op.addParameter(name='channelList', value='0,1', format='intlist')
88 88
89 89 op = proc_unit.addOperation(name='selectHeights')
90 90 op.addParameter(name='minHei', value='80', format='float')
91 91 op.addParameter(name='maxHei', value='200', format='float')
92 92
93 93 op = proc_unit.addOperation(name='removeDC')
94 94
95 95 ```
96 96
97 97 Plotting data & start project
98 98
99 99 ```python
100 100 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
101 101 op.addParameter(name='id', value='1', format='int')
102 102 op.addParameter(name='wintitle', value='Spectra', format='str')
103 103
104 104 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
105 105 op.addParameter(name='id', value='2', format='int')
106 106 op.addParameter(name='wintitle', value='RTI', format='str')
107 107
108 108 controller.start()
109 109
110 110 ```
111 111
112 112 Full script
113 113
114 114
115 115 ```python
116 116 #!/usr/bin/python
117 117
118 118 from schainpy.controller import Project
119 119
120 120 controller = Project()
121 121 controller.setup(id = '100',
122 122 name='test',
123 123 description='Basic experiment')
124 124 read_unit = controller.addReadUnit(datatype='Spectra',
125 125 path='/path/to/pdata/',
126 126 startDate='2014/01/31',
127 127 endDate='2014/03/31',
128 128 startTime='00:00:00',
129 129 endTime='23:59:59',
130 130 online=0,
131 131 walk=0)
132 132
133 133 proc_unit = controller.addProcUnit(datatype='Spectra',
134 134 inputId=read_unit.getId())
135 135
136 136 op = proc_unit.addOperation(name='selectChannels')
137 137 op.addParameter(name='channelList', value='0,1', format='intlist')
138 138
139 139 op = proc_unit.addOperation(name='selectHeights')
140 140 op.addParameter(name='minHei', value='80', format='float')
141 141 op.addParameter(name='maxHei', value='200', format='float')
142 142
143 143 op = proc_unit.addOperation(name='removeDC')
144 144
145 145 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
146 146 op.addParameter(name='id', value='6', format='int')
147 147 op.addParameter(name='wintitle', value='Spectra', format='str')
148 148
149 149 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
150 150 op.addParameter(name='id', value='2', format='int')
151 151 op.addParameter(name='wintitle', value='RTI', format='str')
152 152
153 153 controller.start()
154 154
155 155 ``` No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now