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
Intelligent Video Analytics toolkit based on different inference backends.

English | 中文 OpenIVA OpenIVA is an end-to-end intelligent video analytics development toolkit based on different inference backends, designed to help

Quantum Liu 15 Oct 27, 2022
Evaluation toolkit of the informative tracking benchmark comprising 9 scenarios, 180 diverse videos, and new challenges.

Informative-tracking-benchmark Informative tracking benchmark (ITB) higher diversity. It contains 9 representative scenarios and 180 diverse videos. m

Xin Li 15 Nov 26, 2022
Weakly Supervised Posture Mining with Reverse Cross-entropy for Fine-grained Classification

Fine-grainedImageClassification Weakly Supervised Posture Mining with Reverse Cross-entropy for Fine-grained Classification We trained model here: lin

ZhenchaoTang 14 Oct 21, 2022
Gems & Holiday Package Prediction

Predictive_Modelling Gems & Holiday Package Prediction This project is based on 2 cases studies : Gems Price Prediction and Holiday Package prediction

Avnika Mehta 1 Jan 27, 2022
This repository contains answers of the Shopify Summer 2022 Data Science Intern Challenge.

Data-Science-Intern-Challenge This repository contains answers of the Shopify Summer 2022 Data Science Intern Challenge. Summer 2022 Data Science Inte

1 Jan 11, 2022
Contrastive Learning Inverts the Data Generating Process

Official code to reproduce the results and data presented in the paper Contrastive Learning Inverts the Data Generating Process.

71 Nov 25, 2022
Definition of a business problem according to Wilson Lower Bound Score and Time Based Average Rating

Wilson Lower Bound Score, Time Based Rating Average In this study I tried to calculate the product rating and sorting reviews more accurately. I have

3 Sep 30, 2021
Code for BMVC2021 "MOS: A Low Latency and Lightweight Framework for Face Detection, Landmark Localization, and Head Pose Estimation"

MOS-Multi-Task-Face-Detect Introduction This repo is the official implementation of "MOS: A Low Latency and Lightweight Framework for Face Detection,

104 Dec 08, 2022
deep_image_prior_extension

Code for "Is Deep Image Prior in Need of a Good Education?" Project page: https://jleuschn.github.io/docs.educated_deep_image_prior/. Supplementary Ma

riccardo barbano 7 Jan 09, 2022
Deep Learning ❤️ OneFlow

Deep Learning with OneFlow made easy 🚀 ! Carefree? carefree-learn aims to provide CAREFREE usages for both users and developers. User Side Computer V

21 Oct 27, 2022
Zero-shot Learning by Generating Task-specific Adapters

Code for "Zero-shot Learning by Generating Task-specific Adapters" This is the repository containing code for "Zero-shot Learning by Generating Task-s

INK Lab @ USC 11 Dec 17, 2021
EMNLP'2021: Simple Entity-centric Questions Challenge Dense Retrievers

EntityQuestions This repository contains the EntityQuestions dataset as well as code to evaluate retrieval results from the the paper Simple Entity-ce

Princeton Natural Language Processing 119 Sep 28, 2022
Session-based Recommendation, CoHHN, price preferences, interest preferences, Heterogeneous Hypergraph, Co-guided Learning, SIGIR2022

This is our implementation for the paper: Price DOES Matter! Modeling Price and Interest Preferences in Session-based Recommendation Xiaokun Zhang, Bo

Xiaokun Zhang 27 Dec 02, 2022
This repository includes different versions of the prescribed-time controller as Simulink blocks and MATLAB script codes for engineering applications.

Prescribed-time Control Prescribed-time control (PTC) blocks in Simulink environment, MATLAB R2020b. For more theoretical details, refer to the papers

Amir Shakouri 1 Mar 11, 2022
Unofficial PyTorch implementation of the Adaptive Convolution architecture for image style transfer

AdaConv Unofficial PyTorch implementation of the Adaptive Convolution architecture for image style transfer from "Adaptive Convolutions for Structure-

65 Dec 22, 2022
Code for layerwise detection of linguistic anomaly paper (ACL 2021)

Layerwise Anomaly This repository contains the source code and data for our ACL 2021 paper: "How is BERT surprised? Layerwise detection of linguistic

6 Dec 07, 2022
Like ThreeJS but for Python and based on wgpu

pygfx A render engine, inspired by ThreeJS, but for Python and targeting Vulkan/Metal/DX12 (via wgpu). Introduction This is a Python render engine bui

139 Jan 07, 2023
Face Recognition Attendance Project

Face-Recognition-Attendance-Project In This Project You will learn how to mark attendance using face recognition, Hello Guys This is Gautam Kumar, Thi

Gautam Kumar 1 Dec 03, 2022
TrackTech: Real-time tracking of subjects and objects on multiple cameras

TrackTech: Real-time tracking of subjects and objects on multiple cameras This project is part of the 2021 spring bachelor final project of the Bachel

5 Jun 17, 2022
Code for 2021 NeurIPS --- Towards Multi-Grained Explainability for Graph Neural Networks

ReFine: Multi-Grained Explainability for GNNs This is the official code for Towards Multi-Grained Explainability for Graph Neural Networks (NeurIPS 20

Shirley (Ying-Xin) Wu 47 Dec 16, 2022