跳转到主要内容

地面穿透雷达(GPR)的Python库:IO、处理和可视化

项目描述

Siina

描述

Python库,用于地面穿透雷达(GPR)数据处理:IO、滤波器和可视化。

与Python 3.6测试。

安装

siina可以用pip安装

pip install siina

最新Github版本

要么克隆仓库并用setup.py安装

git clone https://github.com/ahartikainen/siina  
cd siina
python setup.py install

或者用pip

python -m pip install git+https://github.com/ahartikainen/siina

底层数据结构

头部信息以字典形式保存:obj.header 测量数据以ndarray列表的形式保存:obj.data_list 主要通道可以通过.data方法访问

示例用法

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()

开发

pip install -r requirements-test.txt
black siina
pylint siina
pydocstyle --convention=numpy siina

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源代码分发

siina-19.8.28.tar.gz (10.1 kB 查看哈希)

上传时间:

构建分布

siina-19.8.28-py3-none-any.whl (14.0 kB 查看哈希值)

上传时间 Python 3

由以下支持