AgentSkillsCN

gprpy

运用信号处理、速度分析与深度转换技术,对探地雷达(GPR)数据进行处理与可视化。当Claude需要执行以下操作时使用:(1) 加载GPR文件(.DZT、.DT1、.GPR、.rd3);(2) 对雷达剖面应用去噪、增益调整与滤波处理;(3) 将双程走时转换为深度;(4) 开展CMP/WARR速度分析;(5) 应用地形校正;(6) 将处理后的剖面导出为图像或SEG-Y格式;(7) 批量处理多条GPR测线数据。

SKILL.md
--- frontmatter
name: gprpy
description: |
  Process and visualize ground-penetrating radar (GPR) data with signal processing,
  velocity analysis, and depth conversion. Use when Claude needs to: (1) Load GPR
  files (.DZT, .DT1, .GPR, .rd3), (2) Apply dewow, gain, and filters to radargrams,
  (3) Convert two-way travel time to depth, (4) Perform CMP/WARR velocity analysis,
  (5) Apply topographic corrections, (6) Export processed profiles as images or SEG-Y,
  (7) Batch process multiple GPR survey lines.

GPRPy - Ground Penetrating Radar Processing

Quick Reference

python
import gprpy.gprpy as gp
import matplotlib.pyplot as plt

# Load and display
data = gp.gprpyProfile()
data.importdata('profile.DZT')
data.showProfile()
plt.show()

# Access data
print(f"Traces: {data.data.shape[1]}")
print(f"Samples: {data.data.shape[0]}")
print(f"Time range: {data.twtt.max():.1f} ns")

Supported Formats

FormatManufacturer
.DZTGSSI
.DT1Sensors & Software
.GPRMALA
.rd3/.radMALA
.sgySEG-Y

Essential Operations

Basic Processing

python
data = gp.gprpyProfile()
data.importdata('profile.DZT')

data.dewow(window=10)           # Remove low-frequency drift
data.remMeanTrace(ntraces=50)   # Remove background ringing
data.tpowGain(power=1.5)        # Time-power gain
data.agcGain(window=25)         # Automatic gain control

data.showProfile()

Apply Filters

python
data.bandpassFilter(minfreq=100, maxfreq=800)  # MHz
data.lowpassFilter(maxfreq=500)
data.highpassFilter(minfreq=50)

Time-to-Depth Conversion

python
velocity = 0.1  # m/ns (typical for dry sand)
data.setVelocity(velocity)
data.showProfile(yrng=[0, 5])  # Top 5 meters

Topographic Correction

python
data.topoCorrect(topofile='topography.txt', velocity=0.1)
# File format: x_position, elevation

Export Results

python
data.exportFig('processed.png', dpi=300)
data.exportSEGY('processed.sgy')
data.exportASCII('processed.txt')

Velocity Analysis (CMP)

python
cmp = gp.gprpyCMP()
cmp.importdata('cmp_survey.DZT')
cmp.showCMP()

cmp.semblance(vmin=0.05, vmax=0.15, vstep=0.01)
cmp.showSemblance()

Processing Parameters

ParameterTypical ValueDescription
Dewow window5-20 nsLow-frequency removal window
Gain power1.0-2.0Time-power gain exponent
AGC window10-50 nsAutomatic gain window
Bandpass100-800 MHzFrequency filter range

Material Velocities

MaterialVelocity (m/ns)
Air0.30
Dry sand0.10-0.15
Wet sand0.06-0.08
Dry soil0.08-0.12
Wet soil0.05-0.08
Limestone0.10-0.12
Granite0.10-0.13
Water0.033
Ice0.16-0.17

References

Scripts