Siina
Description
Python library for Ground Penetrating Radar (GPR) data processing: IO, filters and visualization.
Tested with Python 3.6.
Installation
siina can be installed with pip
pip install siina
Latest Github version
Either clone the repo and install with setup.py
git clone https://github.com/ahartikainen/siina
cd siina
python setup.py install
or with a pip
python -m pip install git+https://github.com/ahartikainen/siina
Underlying datastructures
Header information is saved as a dictionary: obj.header
Measurement data is saved as a list of ndarrays: obj.data_list
Main channel can be accessed with .data -method
Example usage
import siina
# create RadarFile object
meas = siina.Radar()
# read in the data
meas.read_file("./example_path/example_file.DZT")
# set the center frequency for GPR (in Hertz) if not done
if meas.header.get('frequency', None) is None:
meas.header['frequency'] = 1e9 # 1 GHz
# print dimensions for the data
print("points in samples={}, samples={}, channels={}".format(meas.nrows, meas.ncols, meas.nchan)
# strip markers (important step with .DZT files)
meas.read_markers()
# center each sample (for each trace do func(trace[500:])
meas.func_dc(start=500)
# apply lowpass filter with cutoff= 6 * frequency
# if cutoff is float -> cutoff = cutoff
# if cutoff is str -> cutoff = float(cutoff) * frequency
meas.func_filter(cutoff='6')
import matplotlib.pyplot as plt
# plot mean function for the first channel
# all channels are found under obj.data_list
plt.plot(meas.data.mean(1))
plt.show()
# plot radargram with plt.imshow
# be careful with the profile size (meas.ncols < 5000)
plt.imshow(meas.data, aspect='auto')
plt.show()
Development
pip install -r requirements-test.txt
black siina
pylint siina
pydocstyle --convention=numpy siina
Metadata
Release files for siina 19.8.28
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| siina-19.8.28.tar.gz | 10.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| siina-19.8.28-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.1 kB
Release files / siina-19.8.28.tar.gz
| Download URL | siina-19.8.28.tar.gz |
|---|---|
| Size | 10.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da6dabd03189c45df047d38ed649cfad7ecd1559ed2a8a35a71d5c9647d0011b
|
|
BLAKE2b-256 checksum How to use checksums |
fdeaab74cf4c9d2fa4cdec7972e998837c3a9dc9b8986da44281157718cabc7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4
|
Release files / siina-19.8.28-py3-none-any.whl
| Download URL | siina-19.8.28-py3-none-any.whl |
|---|---|
| Size | 14.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
48ac40523bb75e844945439d97ad794cdba38d45fae5584315e6af8ceca01a3d
|
|
BLAKE2b-256 checksum How to use checksums |
491c093bb5b6a1113bd303cbc30980611c02db0f3ab56d2b70d313ee975f811d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4
|
Security for siina 19.8.28
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.