Module 1 utilities for loading and preparing SGY seismic files.
Project description
seismoai-io-zain
seismoai-io-zain is Module 1 of the SeismoAI activity and provides the input layer for the larger seismic analysis pipeline. The package focuses on loading real SGY shot gathers from disk, loading a full folder of SGY files, and normalizing traces for downstream modules.
Features
load_sgy_file(path)loads one SGY gather into NumPy traces and pandas headers.load_sgy_folder(folder)loads every.sgyfile in a folder with a consistent return contract.normalize_traces(traces)scales each trace by its own maximum absolute amplitude.- The loader retries with little-endian byte order so it works with the provided correlated shot gathers.
Installation
Install from the project folder:
pip install .
Install from PyPI after publishing:
pip install seismoai-io-zain
Usage
from seismoai_io import load_sgy_file, load_sgy_folder, normalize_traces
gather = load_sgy_file("path/to/file.sgy")
print(gather["traces"].shape)
print(gather["headers"].head())
folder_data = load_sgy_folder("path/to/Correlated_Shot_Gathers")
print(len(folder_data))
normalized = normalize_traces(gather["traces"])
print(normalized.shape)
Real Dataset
The activity uses real correlated shot gathers from the provided Forge 2D Survey archive. Keep the dataset outside the package source tree if it is large, and point the loader functions at the extracted folder on your local machine.
Testing
Run the tests from the project root:
pytest
Reflection
We built the seismoai_io module to provide a clean starting point for the rest of the SeismoAI pipeline. I learned how to turn SGY seismic gathers into structured NumPy arrays and pandas DataFrames that other modules can reuse. I also learned that packaging matters because a working library needs tests, documentation, and installation metadata in addition to the functions themselves. Working against real seismic data made it clear that return formats and normalization rules need to stay simple and predictable. This module helped me see how a small, well-defined package can support a larger collaborative AI workflow.
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 seismoai_io_zain-0.1.0.tar.gz.
File metadata
- Download URL: seismoai_io_zain-0.1.0.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
273dc25acbb55241cc1144ed37c5bae6b91964dda984fc4c514ca9055eecd662
|
|
| MD5 |
8e36afc3bed1d943cc6715bb758e063f
|
|
| BLAKE2b-256 |
6a1eb26690a85432ef59445030e582ff562ad7db0585b3e1f2005e76d350ff9b
|
File details
Details for the file seismoai_io_zain-0.1.0-py3-none-any.whl.
File metadata
- Download URL: seismoai_io_zain-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
840f8947a89bbc96cfb779edea27d0f650a8947f9fe44535e75edc1c189dbafd
|
|
| MD5 |
cffcbbd1063b1d241ac00542f4f92f53
|
|
| BLAKE2b-256 |
56b8379f7fdcb68ef0a03bd166c61bca68fd0481a6e0f3215e3cbf5631874df8
|