First Break Analysis
First break picking is a fundamental step in seismic data processing, involving the identification of the first arrival times of seismic waves. Accurate first break picking is crucial for velocity analysis, static corrections, and overall data quality. This page lists open-source tools specifically designed for automated and semi-automated first break analysis.
Available Tools
HardPicks
Actively Maintained
▼
HardPicks
Actively MaintainedHardPicks is a machine learning-based tool for automatic first break picking in seismic data. Developed at Mila (Quebec AI Institute), it leverages deep learning techniques to provide accurate and robust first break detection across various seismic data types and acquisition geometries.
Key Features:
- Deep learning-based automatic picking algorithm
- Support for multiple seismic data formats
- Robust performance across different acquisition types
- Quality control and uncertainty estimation
- Batch processing capabilities
- Interactive visualization tools
- Comprehensive documentation and examples
Requirements:
- Python 3.7+
- PyTorch
- NumPy, SciPy, Matplotlib
- GPU recommended for large datasets
FirstBreaksPicking
Actively Maintained
▼
FirstBreaksPicking
Actively MaintainedFirstBreaksPicking is a robust neural network-based tool for automated first break picking on 2D seismic gathers. Unlike traditional methods that process individual traces, this tool leverages spatial relationships between adjacent traces by processing entire seismic gathers as images, making it more robust to noise and varying data quality conditions.
Key Features:
- UNet3+ neural network architecture for improved accuracy
- 2D gather-based processing (not individual traces)
- Desktop GUI application with interactive visualization
- GPU acceleration support (CUDA compatible)
- Robust performance on noisy data
- Real-time parameter adjustment and visualization
- SGY file format support
- Spectrum analysis tools
- Manual picks editing and management
- Compiled executable versions available
Requirements:
- Python 3.7+
- ONNX runtime
- Pre-trained model (downloadable)
- Optional: NVIDIA GPU with CUDA 11.6+ for acceleration
- SGY format seismic data
geo-stack First Break Picking
Actively Maintained
▼
geo-stack First Break Picking
Actively MaintainedA comprehensive deep learning framework for first break picking using U-Net segmentation. This tool treats first break picking as a segmentation problem, dividing seismic data into "before FB" and "after FB" segments. The approach includes extensive data preprocessing, augmentation, and training capabilities, making it suitable for both research and production environments.
Key Features:
- U-Net based segmentation approach with ResNet encoder
- Comprehensive data preprocessing pipeline
- Data augmentation with overlapping subimages
- Custom training workflow with validation
- Fine-tuning capabilities for domain adaptation
- Batch processing and single shot prediction modes
- Multiple model architectures (U-Net variants)
- Learning rate scheduling and checkpointing
- Smoothing algorithms for artifact reduction
- Published academic methodology
Requirements:
- Python 3.7+
- PyTorch
- NumPy, Pandas
- Data in .npy and .txt formats
- GPU recommended for training
- Proper dataset preparation with FB annotations
Contributing New Tools
To add a new first break analysis tool to this page:
- Fork this repository
- Edit this file (
first-break-analysis.md) - Add your tool using the template below
- Submit a pull request
Tool Template
<details class="tool-card collapsible">
<summary class="tool-header">
<div style="display: flex; align-items: center; flex: 1;">
<h3 class="tool-title">Tool Name</h3>
<span class="tool-status [maintained|unmaintained|unknown]" style="margin-left: auto;">Status</span>
</div>
<span class="collapse-indicator">▼</span>
</summary>
<div class="tool-content">
<div class="tool-meta">
<div class="tool-meta-item">
<strong>Language:</strong> Programming Language
</div>
<div class="tool-meta-item">
<strong>License:</strong> License Type
</div>
<div class="tool-meta-item">
<strong>Institution:</strong> Institution/Author
</div>
<div class="tool-meta-item">
<strong>Last Updated:</strong> Year
</div>
</div>
<div class="tool-description">
<p>Brief description of the tool...</p>
</div>
<div class="tool-features">
<h4>Key Features:</h4>
<ul>
<li>Feature 1</li>
<li>Feature 2</li>
</ul>
</div>
<div class="tool-links">
<a href="GITHUB_URL" class="btn btn-primary" target="_blank">View on GitHub</a>
<a href="DOCS_URL" class="btn btn-secondary" target="_blank">Documentation</a>
</div>
</div>
</details>
Related Methods
- Velocity Analysis (Coming soon)
- Travel Time Tomography (Coming soon)
- Static Corrections (Coming soon)
Want to suggest a tool? Create an issue or submit a pull request.