Skip to main content

Python library for Ground Penetrating Radar (GPR): IO, processing and visualization

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

siina-19.8.28.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

siina-19.8.28-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file siina-19.8.28.tar.gz.

File metadata

  • Download URL: siina-19.8.28.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for siina-19.8.28.tar.gz
Algorithm Hash digest
SHA256 da6dabd03189c45df047d38ed649cfad7ecd1559ed2a8a35a71d5c9647d0011b
MD5 3aa1a825be00bd8755b0c9946da33fa1
BLAKE2b-256 fdeaab74cf4c9d2fa4cdec7972e998837c3a9dc9b8986da44281157718cabc7d

See more details on using hashes here.

File details

Details for the file siina-19.8.28-py3-none-any.whl.

File metadata

  • Download URL: siina-19.8.28-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for siina-19.8.28-py3-none-any.whl
Algorithm Hash digest
SHA256 48ac40523bb75e844945439d97ad794cdba38d45fae5584315e6af8ceca01a3d
MD5 c0e7d226fea977d29b5ded5fa0e14980
BLAKE2b-256 491c093bb5b6a1113bd303cbc30980611c02db0f3ab56d2b70d313ee975f811d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page