How zhong-yy/volpick works
Volpick is a research workflow for assembling volcano-seismic waveform data, formatting it as SeisBench datasets, training phase pickers, and evaluating their picks. Its user-facing result is phase-pick predictions; it also provides the VCSEIS benchmark and pretrained models usable through SeisBench. The map preserves distinct acquisition, dataset preparation, training, and evaluation stages. Some subsystem links are based on README descriptions because their source was not sampled; uncertain implementation details are omitted.
Main entry points: train.py Training interface · convert.py SeisBench conversion · data.py Catalog and waveform clients · eval_taks0.py Task 0 evaluation
Components 21
Data acquisition
- Regional download scripts
data_proc/download_alaska.py - Catalog and waveform clients
volpick/data/data.py - Downloaded waveforms
Dataset preparation
- Waveform channel checks
data_proc/check_V_channels.py - Dataset combining
data_proc/combine_datasets.py - SeisBench conversion
volpick/data/convert.py - Signal utilities
volpick/data/utils.py - VCSEIS dataset
Picker training
- Training interface
volpick/model/train.py - Picker architectures
volpick/model/models.py - Training augmentations
volpick/model/augmentations.py - EMA training support
volpick/model/ema.py - Trained picker weights
Evaluation and use
- Evaluation target generation
volpick/model/generate_eval_targets.py - Task 0 evaluation
volpick/model/eval_taks0.py - Tasks 1–3 evaluation
volpick/model/eval_taks123.py - Model utilities
volpick/model/utils.py
Other components
- Researcher
- Regional catalogs and waveforms
- SeisBench model API
- Phase-pick results
Connections 28
- Researcher → Regional download scripts: runs acquisition
- Regional download scripts → Catalog and waveform clients: calls dataset clients
- Catalog and waveform clients → Regional catalogs and waveforms: requests data
- Catalog and waveform clients → Downloaded waveforms: saves waveforms
- Researcher → Waveform channel checks: checks waveforms
- Waveform channel checks → Downloaded waveforms: reads waveforms
- Researcher → SeisBench conversion: converts data
- SeisBench conversion → Downloaded waveforms: reads waveforms
- SeisBench conversion → Signal utilities: uses signal utilities
- SeisBench conversion → VCSEIS dataset: writes SeisBench format
- Dataset combining → VCSEIS dataset: combines datasets
- Researcher → Training interface: starts training
- Training interface → VCSEIS dataset: loads training data
- Training interface → Picker architectures: trains picker
- Training interface → Training augmentations: uses augmentation
- Training interface → EMA training support: uses EMA support
- Training interface → Trained picker weights: saves weights
- Researcher → Evaluation target generation: prepares evaluation
- Evaluation target generation → VCSEIS dataset: reads dataset metadata
- Researcher → Task 0 evaluation: runs evaluation
- Researcher → Tasks 1–3 evaluation: runs evaluation
- Task 0 evaluation → VCSEIS dataset: reads waveforms and metadata
- Tasks 1–3 evaluation → VCSEIS dataset: reads waveforms and metadata
- Task 0 evaluation → Model utilities: uses model utilities
- Tasks 1–3 evaluation → Model utilities: uses model utilities
- Trained picker weights → SeisBench model API: loads pretrained model
- Researcher → SeisBench model API: classifies waveform
- SeisBench model API → Phase-pick results: returns picks