QuakeLabeler is a Python package to create and manage your seismic training data, processes, and visualization in a single place — so you can focus on building the next big thing.

Overview

QuakeLabeler

Quake Labeler was born from the need for seismologists and developers who are not AI specialists to easily, quickly, and independently build and visualize their training data set.

Introduction

QuakeLabeler is a Python package to customize, build and manage your seismic training data, processes, and visualization in a single place — so you can focus on building the next big thing. Current functionalities include retrieving waveforms from data centers, customizing seismic samples, auto-building datasets, preprocessing and augmenting for labels, and visualizing data distribution. The code helps all levels of AI developers and seismology researchers for querying and building their own earthquake datasets and can be used through an interactive command-line interface with little knowledge of Python.

Installation, Usage, documentation and scripts are described at https://maihao14.github.io/QuakeLabeler/

Author: Hao Mai(Developer and Maintainer) & Pascal Audet (Developer and Maintainer)

Installation

Conda environment

We recommend creating a custom conda environment where QuakeLabeler can be installed along with its dependencies.

  • Create a environment called ql and install pygmt:
conda create -n ql python=3.8 pygmt -c conda-forge
  • Activate the newly created environment:
conda activate ql

Installing from source

Download or clone the repository:

git clone https://github.com/maihao14/QuakeLabeler.git
cd QuakeLabeler
pip install .

If you work in development mode, use the -e argument as pip install -e .

Running the scripts

Create a work folder where you will run the scripts that accompany QuakeLabeler. For example:

mkdir ~/WorkFolder
cd WorkFolder

Run QuakeLabeler. Input QuakeLabeler to macOS terminal or Windows consoles:

QuakeLabeler

Or input quakelabeler also works:

quakelabeler

A QuakeLabeler welcome interface will be loading:

(ql) [email protected] QuakeLabeler % QuakeLabeler
Welcome to QuakeLabeler----Fast AI Earthquake Dataset Deployment Tool!
QuakeLabeler provides multiple modes for different levels of Seismic AI researchers

[Beginner] mode -- well prepared case studies;
[Advanced] mode -- produce earthquake samples based on Customized parameters.

Contributing

All constructive contributions are welcome, e.g. bug reports, discussions or suggestions for new features. You can either open an issue on GitHub or make a pull request with your proposed changes. Before making a pull request, check if there is a corresponding issue opened and reference it in the pull request. If there isn't one, it is recommended to open one with your rationale for the change. New functionality or significant changes to the code that alter its behavior should come with corresponding tests and documentation. If you are new to contributing, you can open a work-in-progress pull request and have it iteratively reviewed. Suggestions for improvements (speed, accuracy, etc.) are also welcome.

You might also like...
Spam your friends and famly and when you do your famly will disown you and you will have no friends.

SpamBot9000 Spam your friends and family and when you do your family will disown you and you will have no friends. Terms of Use Disclaimer: Please onl

The code for our paper
The code for our paper "NSP-BERT: A Prompt-based Zero-Shot Learner Through an Original Pre-training Task —— Next Sentence Prediction"

The code for our paper "NSP-BERT: A Prompt-based Zero-Shot Learner Through an Original Pre-training Task —— Next Sentence Prediction"

Ever felt tired after preprocessing the dataset, and not wanting to write any code further to train your model? Ever encountered a situation where you wanted to record the hyperparameters of the trained model and able to retrieve it afterward? Models Playground is here to help you do that. Models playground allows you to train your models right from the browser.
7th place solution of Human Protein Atlas - Single Cell Classification on Kaggle

kaggle-hpa-2021-7th-place-solution Code for 7th place solution of Human Protein Atlas - Single Cell Classification on Kaggle. A description of the met

Kaggle | 9th place single model solution for TGS Salt Identification Challenge

UNet for segmenting salt deposits from seismic images with PyTorch. General We, tugstugi and xuyuan, have participated in the Kaggle competition TGS S

Source codes of CenterTrack++ in 2021 ICME Workshop on Big Surveillance Data Processing and Analysis
Source codes of CenterTrack++ in 2021 ICME Workshop on Big Surveillance Data Processing and Analysis

MOT Tracked object bounding box association (CenterTrack++) New association method based on CenterTrack. Two new branches (Tracked Size and IOU) are a

AI Flow is an open source framework that bridges big data and artificial intelligence.
AI Flow is an open source framework that bridges big data and artificial intelligence.

Flink AI Flow Introduction Flink AI Flow is an open source framework that bridges big data and artificial intelligence. It manages the entire machine

In-Place Activated BatchNorm for Memory-Optimized Training of DNNs
In-Place Activated BatchNorm for Memory-Optimized Training of DNNs

In-Place Activated BatchNorm In-Place Activated BatchNorm for Memory-Optimized Training of DNNs In-Place Activated BatchNorm (InPlace-ABN) is a novel

PyGAD, a Python 3 library for building the genetic algorithm and training machine learning algorithms (Keras & PyTorch).
PyGAD, a Python 3 library for building the genetic algorithm and training machine learning algorithms (Keras & PyTorch).

PyGAD: Genetic Algorithm in Python PyGAD is an open-source easy-to-use Python 3 library for building the genetic algorithm and optimizing machine lear

Comments
  • QuakeLabeler ModuleNotFoundError

    QuakeLabeler ModuleNotFoundError

    I followed the installation instructions to install the fascinating QuakeLabeler package But I encountered an error as follows Traceback (most recent call last): File "/home/panxiong/anaconda3/envs/ql/bin/QuakeLabeler", line 5, in <module> from quakelabeler.scripts.QuakeLabeler import main ModuleNotFoundError: No module named 'quakelabeler.scripts' Please give me a solution, thanks.

    opened by PANXIONG-CN 2
  • Error loading GMT shared library

    Error loading GMT shared library

    Hello,

    I was trying to use the QuakeLabeler package on some data and when I tried to run it I got the following error:

    pygmt.exceptions.GMTCLibNotFoundError: Error loading GMT shared library at 'libgmt.so'. libgmt.so: cannot open shared object file: No such file or directory

    I saw that there were some responses to a similar question in the past, but they all involved using conda, which I don't use at it interferes with other libraries I use.

    So far I tried using:

    pip install pygmt

    as well as GMT:

    sudo apt-get install gmt gmt-dcw gmt-gshhg sudo apt-get install ghostscript Unfortunately, it did not work.

    Any suggestions would be appreciated

    opened by sbrent88 1
  • the problem of QuakeLabeler used in the Ubuntu

    the problem of QuakeLabeler used in the Ubuntu

    After I create the python environment needed by QuakeLabeler and install it in my Ubuntu computer, there was the problem, "AttributeError: 'numpy.int64' object has no attribute 'split'" when I execute QuakeLabeler (quakelabeler) in the terminal.

    “”“ Traceback (most recent call last): File "/home/xxx/anaconda3/envs/slc/bin/QuakeLabeler", line 33, in sys.exit(load_entry_point('QuakeLabeler', 'console_scripts', 'QuakeLabeler')()) File "/home/xxx/anaconda3/envs/slc/bin/QuakeLabeler", line 25, in importlib_load_entry_point return next(matches).load() File "/home/xxx/anaconda3/envs/slc/lib/python3.8/importlib/metadata.py", line 77, in load module = import_module(match.group('module')) File "/home/xxx/anaconda3/envs/slc/lib/python3.8/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1014, in _gcd_import File "", line 991, in _find_and_load File "", line 961, in _find_and_load_unlocked File "", line 219, in _call_with_frames_removed File "", line 1014, in _gcd_import File "", line 991, in _find_and_load File "", line 961, in _find_and_load_unlocked File "", line 219, in _call_with_frames_removed File "", line 1014, in _gcd_import File "", line 991, in _find_and_load File "", line 975, in _find_and_load_unlocked File "", line 671, in _load_unlocked File "", line 843, in exec_module File "", line 219, in _call_with_frames_removed File "/home/xxx/EQ_Detection/QuakeLabeler/quakelabeler/init.py", line 5, in from .classes import QuakeLabeler, Interactive, CustomSamples, QueryArrival, BuiltInCatalog, MergeMetadata, GlobalMaps File "/home/xxx/EQ_Detection/QuakeLabeler/quakelabeler/classes.py", line 35, in from obspy.core.utcdatetime import UTCDateTime File "/home/xxx/.local/lib/python3.8/site-packages/obspy/init.py", line 39, in from obspy.core.utcdatetime import UTCDateTime # NOQA File "/home/xxx/.local/lib/python3.8/site-packages/obspy/core/init.py", line 124, in from obspy.core.utcdatetime import UTCDateTime # NOQA File "/home/xxx/.local/lib/python3.8/site-packages/obspy/core/utcdatetime.py", line 27, in from obspy.core.util.deprecation_helpers import ObsPyDeprecationWarning File "/home/xxx/.local/lib/python3.8/site-packages/obspy/core/util/init.py", line 27, in from obspy.core.util.base import (ALL_MODULES, DEFAULT_MODULES, File "/home/xxx/.local/lib/python3.8/site-packages/obspy/core/util/base.py", line 36, in from obspy.core.util.misc import to_int_or_zero, buffered_load_entry_point File "/home/xxx/.local/lib/python3.8/site-packages/obspy/core/util/misc.py", line 214, in loadtxt(np.array([0]), ndmin=1) File "/home/xxx/anaconda3/envs/slc/lib/python3.8/site-packages/numpy/lib/npyio.py", line 1086, in loadtxt ncols = len(usecols or split_line(first_line)) File "/home/xxx/anaconda3/envs/slc/lib/python3.8/site-packages/numpy/lib/npyio.py", line 977, in split_line line = line.split(comment, 1)[0] AttributeError: 'numpy.int64' object has no attribute 'split' "”"

    opened by Damin1909 3
Owner
Hao Mai
Hao Mai
Official and maintained implementation of the paper "OSS-Net: Memory Efficient High Resolution Semantic Segmentation of 3D Medical Data" [BMVC 2021].

OSS-Net: Memory Efficient High Resolution Semantic Segmentation of 3D Medical Data Christoph Reich, Tim Prangemeier, Özdemir Cetin & Heinz Koeppl | Pr

Christoph Reich 23 Sep 21, 2022
A curated list of awesome open source libraries to deploy, monitor, version and scale your machine learning

Awesome production machine learning This repository contains a curated list of awesome open source libraries that will help you deploy, monitor, versi

The Institute for Ethical Machine Learning 12.9k Jan 04, 2023
DilatedNet in Keras for image segmentation

Keras implementation of DilatedNet for semantic segmentation A native Keras implementation of semantic segmentation according to Multi-Scale Context A

303 Mar 15, 2022
A lightweight library to compare different PyTorch implementations of the same network architecture.

TorchBug is a lightweight library designed to compare two PyTorch implementations of the same network architecture. It allows you to count, and compar

Arjun Krishnakumar 5 Jan 02, 2023
Experiments with the Robust Binary Interval Search (RBIS) algorithm, a Query-Based prediction algorithm for the Online Search problem.

OnlineSearchRBIS Online Search with Best-Price and Query-Based Predictions This is the implementation of the Robust Binary Interval Search (RBIS) algo

S. K. 1 Apr 16, 2022
A hue shift helper for OBS

obs-hue-shift A hue shift helper for OBS This is a repo based on the really nice script Hegemege made. The original script can be found https://gist.g

Alexis Tyler 1 Jan 10, 2022
LeetCode Solutions https://t.me/tenvlad

leetcode LeetCode Solutions groupped by common patterns YouTube: https://www.youtube.com/c/vladten Telegram: https://t.me/nilinterface Problems source

Vlad Ten 158 Dec 29, 2022
Pretraining on Dynamic Graph Neural Networks

Pretraining on Dynamic Graph Neural Networks Our article is PT-DGNN and the code is modified based on GPT-GNN Requirements python 3.6 Ubuntu 18.04.5 L

7 Dec 17, 2022
(Preprint) Official PyTorch implementation of "How Do Vision Transformers Work?"

(Preprint) Official PyTorch implementation of "How Do Vision Transformers Work?"

xxxnell 656 Dec 30, 2022
PyTorch implementation of Deformable Convolution

PyTorch implementation of Deformable Convolution !!!Warning: There is some issues in this implementation and this repo is not maintained any more, ple

Wei Ouyang 893 Dec 18, 2022
Greedy Gaussian Segmentation

GGS Greedy Gaussian Segmentation (GGS) is a Python solver for efficiently segmenting multivariate time series data. For implementation details, please

Stanford University Convex Optimization Group 72 Dec 07, 2022
A Quick and Dirty Progressive Neural Network written in TensorFlow.

prog_nn .▄▄ · ▄· ▄▌ ▐ ▄ ▄▄▄· ▐ ▄ ▐█ ▀. ▐█▪██▌•█▌▐█▐█ ▄█▪ •█▌▐█ ▄▀▀▀█▄▐█▌▐█▪▐█▐▐▌ ██▀

SynPon 53 Dec 12, 2022
Code from the paper "High-Performance Brain-to-Text Communication via Handwriting"

High-Performance Brain-to-Text Communication via Handwriting Overview This repo is associated with this manuscript, preprint and dataset. The code can

Francis R. Willett 306 Jan 03, 2023
ZSL-KG is a general-purpose zero-shot learning framework with a novel transformer graph convolutional network (TrGCN) to learn class representation from common sense knowledge graphs.

ZSL-KG is a general-purpose zero-shot learning framework with a novel transformer graph convolutional network (TrGCN) to learn class representa

Bats Research 94 Nov 21, 2022
ATOMIC 2020: On Symbolic and Neural Commonsense Knowledge Graphs

(Comet-) ATOMIC 2020: On Symbolic and Neural Commonsense Knowledge Graphs Paper Jena D. Hwang, Chandra Bhagavatula, Ronan Le Bras, Jeff Da, Keisuke Sa

AI2 152 Dec 27, 2022
The official PyTorch implementation of the paper: *Xili Dai, Xiaojun Yuan, Haigang Gong, Yi Ma. "Fully Convolutional Line Parsing." *.

F-Clip — Fully Convolutional Line Parsing This repository contains the official PyTorch implementation of the paper: *Xili Dai, Xiaojun Yuan, Haigang

Xili Dai 115 Dec 28, 2022
An implementation of a discriminant function over a normal distribution to help classify datasets.

CS4044D Machine Learning Assignment 1 By Dev Sony, B180297CS The question, report and source code can be found here. Github Repo Solution 1 Based on t

Dev Sony 6 Nov 09, 2021
Changing the Mind of Transformers for Topically-Controllable Language Generation

We will first introduce the how to run the IPython notebook demo by downloading our pretrained models. Then, we will introduce how to run our training and evaluation code.

IESL 20 Dec 06, 2022
This project uses reinforcement learning on stock market and agent tries to learn trading. The goal is to check if the agent can learn to read tape. The project is dedicated to hero in life great Jesse Livermore.

Reinforcement-trading This project uses Reinforcement learning on stock market and agent tries to learn trading. The goal is to check if the agent can

Deepender Singla 1.4k Dec 22, 2022
Predictive Modeling on Electronic Health Records(EHR) using Pytorch

Predictive Modeling on Electronic Health Records(EHR) using Pytorch Overview Although there are plenty of repos on vision and NLP models, there are ve

81 Jan 01, 2023