Sub-Bottom Profiler (SBP) seismic data I/O and processing toolkit
Project description
sbpio
Sub-Bottom Profiler I/O and Processing Toolkit
A Python library for reading, processing, and writing sub-bottom profiler (SBP) data stored in SEG-Y format.
Features
- Load SEG-Y SBP files
- Apply duplicate-trace removal
- Apply time-varying gain (TVG) with built-in or custom functions
- Recording-delay time correction
- Water-column and multiple muting
- Shot-point navigation extraction, reprojection, and shapefile export
- Cropping in specific time and traces ranges or within ROI polygon
- Coordinate reprojection (e.g., from arc seconds to UTM)
- One-shot
write_processed()pipeline for batch export
Installation
From PyPI
pip install sbpio
From GitHub
pip install git+https://github.com/PG-Ali-E-Mohamed/sbpio.git
Quick Start
from sbpio import sbp
# Open a SEG-Y file
data = sbp("profile.segy")
# Display the envelope attribute
data.show()
# One-shot processing pipeline
data.write_processed(
"output.segy",
correct_delay=True,
tvg={"method": 3, "kwargs": {"n": 0.2}},
recoverable_penetration=200,
out_projection="EPSG:32618",
)
API Overview
sbp class
The main entry point.
| Method | Description |
|---|---|
sbp(fname) |
Open a SEG-Y file |
.load() |
Load traces and optionally compute envelope |
.show() |
Display the profile |
.tvg_gain() |
Apply time-varying gain |
.correct_delay() |
Correct recording delay |
.clean_water_column() |
Mute the water column |
.clean_below_seafloor() |
Mute below seafloor + offset |
.crop() |
Define a time/trace crop window |
.write() |
Write to SEG-Y |
.write_processed() |
Full pipeline in one call |
nav class
Accessed via data.navs.
| Method | Description |
|---|---|
.shot_points() |
Extract navigation from headers |
.coords_2_utm() |
Reproject coordinates to UTM |
.to_shp(outfile) |
Export to shapefile (line or points) |
TVG methods
Three built-in gain functions are available via tvg_gain(method=N):
| Key | Function | Formula |
|---|---|---|
1 |
power_gain_1 |
(a·t + b)^n |
2 |
power_gain_2 |
t^n |
3 |
power_gain_3 |
(t/dt)^n |
The default is tv_gamma — a time-varying gamma correction that progressively brightens sub-seafloor reflections.
Pass a custom callable with signature f(t, traces, **kwargs) for full control.
SEG-Y Conventions
sbpio follows standard SEG-Y Rev 1 trace header fields:
| Field | Byte location |
|---|---|
| Source X | 73 |
| Source Y | 77 |
| SourceGroupScalar | 69 |
| CoordinateUnits | 89 |
| DelayRecordingTime | 109 |
| SourceWaterDepth | 61 |
| EnergySourcePoint | 17 |
Dependencies
| Package | Purpose |
|---|---|
segyio |
SEG-Y read/write |
numpy |
Array operations |
pandas |
Tabular data (navigation) |
geopandas |
Shapefile I/O |
shapely |
Geometry operations |
pyproj |
Coordinate reprojection |
matplotlib |
Plotting |
scikit-image |
Image enhancement and resize |
tqdm |
Progress bars |
scipy |
Interpolation/ Envelope calculation |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sbpio-0.1.0.tar.gz.
File metadata
- Download URL: sbpio-0.1.0.tar.gz
- Upload date:
- Size: 22.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d3080f3ae859e95ff1f03f78798f8a86a62dd43cb3c9639300cda34f1ee45e9
|
|
| MD5 |
04f5b00306e565a70124f0333b11b481
|
|
| BLAKE2b-256 |
9cf9c6588860cccd2585e6500d934c00c55f3f0b1e5ee21c4256f39ebadfc211
|
File details
Details for the file sbpio-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sbpio-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c0b5a8c6c08552bcc721e66eda0c3b1c57450f45b8f1d5eaac6f385d182f533
|
|
| MD5 |
641e974bda21266e19a7300deec2631c
|
|
| BLAKE2b-256 |
863068fa2aa5f882007f6b0ae7ca6730094e5849e25897e4bd3029f7201fc9f8
|