{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "![](../images/obsplus.png)\n", "\n", "*\"A Pandas-Centric ObsPy Expansion Pack\"*\n", "\n", "ObsPlus is python package that adds functionality to the excellent seismology package [ObsPy](https://github.com/obspy/obspy/wiki). \n", "\n", "# Key Features and Examples\n", "\n", "The following sections highlight the key features of ObsPlus and provide examples of their usage.\n", "\n", "\n", "## 1. Unifying Interfaces\n", "\n", "ObsPlus lets you access each kind of seismic data (events, waveforms, and stations) in the same way regardless of the source, enabling cleaner, more flexible code. This is made possible by:\n", "\n", "- [WaveBank](./interfaces/wavebank.ipynb) for working with local archives of waveforms.\n", "\n", "\n", "- [EventBank](./interfaces/eventbank.ipynb) for working with local archives of events.\n", "\n", "\n", "- [Added obspy methods](./interfaces/obspy_methods.ipynb) for treating `Stream`, `Catalog` and `Inventory` instances the same as remote clients.\n", "\n", "\n", "- [Fetcher](./interfaces/fetcher.ipynb) for dataset-aware retrieval by composing waveform, events, and station clients.\n", "\n", "\n", "\n", "## 2. Alternative Data Structures\n", "\n", "ObsPlus provides several conversion functions to transform normal ObsPy data structures into [DataFrames](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html). These can be more convenient/efficient to work with, but come with their own trade-offs.\n", "\n", "- [Summarize event data](./datastructures/events_to_pandas.ipynb) as pandas DataFrames.\n", "\n", "\n", "- [Summarize station data](./datastructures/stations_to_pandas.ipynb) as pandas DataFrames.\n", "\n", "\n", "\n", "## 3. Utilities\n", "\n", "Some utilities that you don't have to rewrite yourself. Some of these will be moved to ObsPy if their usefulness to a wider audience is established.\n", "\n", "\n", "- [Catalog tools](./utils/working_with_catalogs.ipynb) to bring a little more sanity to an already chaotic world.\n", "\n", "\n", "- [DataFrameExtractor](./utils/dataframeextractor.ipynb) to develop your own dataframe converters.\n", "\n", "\n", "- [Catalog to json](./utils/json.ipynb) to, well, convert catalogs to json. \n", "\n", "\n", "- [Miscellaneous utilities](./utils/misc.ipynb) for a grab-bag of goodies. \n", " \n", " \n", "## 4. Datasets\n", "\n", "Often seismology codes benefit from a complete set of station, event, and waveform data for testing and demonstration. ObsPlus provides a few interesting (at least to the authors) datasets. Moreover, In only a few minutes, you can make your own research datasets pip installable using the [dataset template](https://github.com/niosh-mining/opsdata).\n", " \n", "- [A tour of obsplus datasets](./datasets/datasets.ipynb), used for testing and documentation.\n", "\n", "To search pypi for ObsPlus datasets registered by other users you navigate to [PyPI](https://pypi.org/) and type opsdata in the search bar." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.13" }, "pycharm": { "stem_cell": { "cell_type": "raw", "metadata": { "collapsed": false }, "source": [] } } }, "nbformat": 4, "nbformat_minor": 4 }