askill
gprpy

gprpySafety 95Repository

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.

13 stars
1.2k downloads
Updated 2/3/2026

Package Files

Loading files...
SKILL.md

GPRPy - Ground Penetrating Radar Processing

Quick Reference

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

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

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

Time-to-Depth Conversion

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

Topographic Correction

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

Export Results

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

Velocity Analysis (CMP)

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

When to Use vs Alternatives

ToolBest ForLimitations
gprpyPython-based GPR processing, scripted workflows, open-sourceLimited advanced migration algorithms
GPRMaxForward modelling and simulation of GPR responsesSimulation only, not for data processing
REFLEXWFull commercial processing suite, advanced migrationCommercial license required
Custom scipyCustom signal processing, research algorithmsMust build everything from scratch

Use gprpy when you need open-source GPR processing in Python, batch processing of survey lines, or integration with other Python geoscience tools.

Consider alternatives when you need forward modelling of GPR responses (use GPRMax), advanced migration or commercial-grade processing (use REFLEXW), or highly custom signal processing algorithms (use scipy directly).

Common Workflows

Process raw GPR profile for interpretation

  • Import raw data with gp.gprpyProfile() and importdata()
  • Apply dewow filter to remove low-frequency drift
  • Remove mean trace to eliminate background ringing
  • Apply time-power gain or AGC for depth equalization
  • Apply bandpass filter to remove noise
  • Determine velocity from CMP analysis or material tables
  • Convert time axis to depth with setVelocity()
  • Apply topographic correction if survey has elevation changes
  • Export processed profile as image and/or SEG-Y

References

Scripts

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

83/100Analyzed 3/3/2026

High-quality technical reference skill for GPRPy ground-penetrating radar processing. Provides comprehensive coverage of data loading, signal processing, velocity analysis, and export operations with clear code examples and reference tables. Well-organized with When-to-Use section and workflow checklist. Minor issues: tags contain irrelevant ci-cd/github-actions, and lacks explicit trigger context for real-time use. Score benefits from R3 (When to Use), R5 (structured steps), R6 (tags), and R10 (dedicated folder)."

95
85
80
82
78

Metadata

Licenseunknown
Version1.0.0
Updated2/3/2026
PublisherSteadfastAsArt

Tags

ci-cdgithub-actions