User Guide

Everything you need to know about using DeepSeis for ambient noise seismic processing.

Overview

DeepSeis is a desktop application for passive-source / ambient noise seismic data processing. It provides an integrated GUI workflow from data import, slice preparation, QC, DEB directional energy balancing, cross-correlation retrieval, to NMO stack profile viewing.

System Requirements: Python 3.9+ with PyQt5, numpy, matplotlib, segyio, scipy, h5py, requests, and Pillow.

Installation

Install dependencies in the project root directory:

pip install -r deepseis_app/requirements.txt

Launch the application:

python run.py

The main window title will be DeepSeis — Ambient Noise Cross-Correlation.

Data Loading

Supported Formats

  • SEG-Y: .sgy / .segy files with IBM/IEEE float support
  • MATLAB: .mat files
  • SAC Directory: Date/station organized SAC file trees

SAC Directory Structure

DeepSeis supports both nested and flat directory structures:

# Nested (by date)
root/
├── 2024-08-01/
│   ├── 1001.GP2.2024-08-01.sac
│   └── 1002.GP2.2024-08-01.sac
├── 2024-08-02/
│   └── ...

# Flat
root/
├── 1001.GP2.2024-08-01.sac
├── 1001.GP2.2024-08-02.sac
└── ...

Loading Steps

  1. Click Load SAC dir… or Load file…
  2. Configure station range, date range, NT, filtering, and decimation
  3. Click Load to generate cache and prepare slices

Processing Workflow

Recommended processing sequence:

  1. Create or open a project
  2. Load data via file import or SAC directory
  3. Check Raw Data preview and parameters (NT / Panels / Receivers / dt)
  4. Click Prepare Data to build slices/cache
  5. Apply QC (manual review or AI labeling)
  6. Optionally apply Slice Filter and DEB Filter
  7. Run Cross-Correlation retrieval
  8. Review virtual shots in Result tab
  9. Optionally run NMO Stack and view in Profile tab
  10. Export results as SEG-Y or images

Quality Control

Manual Review

Use Review / Label Slices… to visually inspect and label all prepared slices. Assign quality labels (C1, C2, C3) based on signal characteristics.

AI-Assisted Labeling

For AI batch labeling:

  1. Prepare data first
  2. Configure AI Server URL and API Key
  3. Set classification thresholds (C1 / C2 / C3)
  4. Click AI Label Batch…
  5. Review and refine labels manually if needed

Slice Filter

Use labels to filter panels for cross-correlation:

  • Select labels in Use labels (e.g., 1,2)
  • Configure label range (e.g., 1:1-100,2:1-80)
  • Click Apply Slice Filter then Use Slice Filter

Cross-Correlation

Before running cross-correlation, ensure:

  • Data is prepared
  • Slice Filter / DEB Filter status is not stale
  • NT, Panels, Receivers, and dt match your data
  • Thread count is set appropriately

Output

Default output shape: (4001, N_virtual × N_receivers)

For 51 receivers: 26 virtual shots × 51 receivers = 1326 output traces.

Note: Output shows only the merged positive-lag portion (0 to (4001-1)×dt seconds). Positive and negative lags are merged during stacking.

NMO Stack

Required Inputs

  • Shot dir: Virtual shot or cross-correlation output directory
  • Coords CSV: Receiver geometry with shot/receiver coordinates

Optional Inputs

  • Statics file: Statics correction
  • Velocity file: External velocity model

Key Parameters

ParameterDescription
Shot start/endShot number range for stacking
Shot stepShot interval; match input file naming
CMP bin size (m)Midpoint bin size for output spatial sampling
Max offset (m)Maximum stacking offset
Stretch muteSU smute or relative stretch modes
BP f1-f44-corner bandpass filter parameters

Export

SEG-Y Export

Click Export SEG-Y… to save processing results in SEG-Y format for further interpretation in standard seismic software.

Image Export

Click Export Image… to save the current display view as PNG or PDF for publication and presentations.

Troubleshooting

IssueCauseSolution
Data length mismatchInsufficient samplesReduce Panels or NT, or load longer data
Raw Data shows short timePreview modeCheck status bar for preview panels, NT, dt, duration
Results are all zerosZero input / bad traces / empty filterCheck Raw Data, review labels, verify Slice Filter
Results very noisyToo few panels / no QCIncrease panel count, use Slice Filter / DEB
Slice Filter staleParameters or labels changedRe-apply Slice Filter
NMO geometry incorrectNo coords CSV / wrong fallbackProvide coords CSV or set Receiver spacing

Need Help?

Contact us for technical support, customization, or to discuss your specific processing needs.