README.md
102 lines
| 2.4 KiB
| text/x-minidsrc
|
MarkdownLexer
r887 | # Signal Chain | |||
|
r1329 | Signal Chain is a radar data processing library wich includes modules to read, | ||
and write different files formats, besides modules to process and visualize the | ||||
data. | ||||
r887 | ||||
|
r1329 | ## Dependencies | ||
r887 | ||||
|
r1289 | - GCC (gcc or gfortran) | ||
- Python.h (python-dev or python-devel) | ||||
- Python-TK (python-tk) | ||||
- HDF5 libraries (libhdf5-dev) | ||||
|
r1329 | ## Installation | ||
r887 | ||||
|
r1329 | To get started the easiest way to install it is through [PyPI](https://pypi.org/project/schainpy/) with pip: | ||
```bash | ||||
pip install schainpy | ||||
|
r1102 | ``` | ||
|
r1329 | ### From source | ||
|
r1118 | |||
|
r1329 | First, ensure that you have the above-listed dependencies installed, then clone | ||
the repository and install as normal python package: | ||||
|
r1118 | |||
|
r1329 | ```bash | ||
git clone https://github.com/JRO-Peru/schain.git | ||||
cd schain | ||||
git checkout `branch-name` (optional) | ||||
sudo pip install ./ | ||||
|
r1118 | ``` | ||
|
r1329 | ### Using Docker | ||
Download Dockerfile from the repository, and create a docker image: | ||||
```bash | ||||
docker build -t schain . | ||||
|
r1118 | ``` | ||
|
r1329 | |||
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: | ||||
```bash | ||||
docker run -it --rm --volume /path/to/host/data:/data schain xml /data/test.xml | ||||
docker run -it --rm --volume /path/to/host/data:/data --entrypoint /urs/local/bin/python schain /data/test.py | ||||
|
r1118 | ``` | ||
|
r1289 | ## CLI (command line interface) | ||
Signal Chain provides the following commands: | ||||
- schainGUI: Open the GUI | ||||
- schain: Signal chain command line | ||||
|
r1329 | ## Example | ||
|
r1289 | |||
|
r1329 | Here you can find an script to read Spectra data (.pdata), remove dc and plot | ||
self-spectra & RTI: | ||||
r887 | ||||
```python | ||||
#!/usr/bin/python | ||||
from schainpy.controller import Project | ||||
|
r1289 | prj = Project() | ||
r887 | ||||
|
r1289 | read_unit = prj.addReadUnit( | ||
datatype='Spectra', | ||||
path='/path/to/pdata/', | ||||
startDate='2014/01/31', | ||||
endDate='2014/03/31', | ||||
startTime='00:00:00', | ||||
endTime='23:59:59', | ||||
online=0, | ||||
walk=0 | ||||
) | ||||
|
r1329 | proc_unit = prj.addProcUnit( | ||
datatype='Spectra', | ||||
inputId=read_unit.getId() | ||||
) | ||||
r887 | ||||
op = proc_unit.addOperation(name='selectChannels') | ||||
|
r1289 | op.addParameter(name='channelList', value='0,1') | ||
r887 | ||||
op = proc_unit.addOperation(name='selectHeights') | ||||
|
r1289 | op.addParameter(name='minHei', value='80') | ||
op.addParameter(name='maxHei', value='200') | ||||
r887 | ||||
op = proc_unit.addOperation(name='removeDC') | ||||
|
r1289 | op = proc_unit.addOperation(name='SpectraPlot') | ||
r887 | op.addParameter(name='wintitle', value='Spectra', format='str') | |||
|
r1289 | op = procUnitConfObj1.addOperation(name='RTIPlot') | ||
r887 | op.addParameter(name='wintitle', value='RTI', format='str') | |||
|
r1289 | prj.start() | ||
r887 | ||||
|
r1329 | ``` | ||