Skip to main content

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


Download files

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

Source Distribution

sbpio-0.1.0.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sbpio-0.1.0-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

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

Hashes for sbpio-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4d3080f3ae859e95ff1f03f78798f8a86a62dd43cb3c9639300cda34f1ee45e9
MD5 04f5b00306e565a70124f0333b11b481
BLAKE2b-256 9cf9c6588860cccd2585e6500d934c00c55f3f0b1e5ee21c4256f39ebadfc211

See more details on using hashes here.

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

Hashes for sbpio-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c0b5a8c6c08552bcc721e66eda0c3b1c57450f45b8f1d5eaac6f385d182f533
MD5 641e974bda21266e19a7300deec2631c
BLAKE2b-256 863068fa2aa5f882007f6b0ae7ca6730094e5849e25897e4bd3029f7201fc9f8

See more details on using hashes here.

Supported by

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