# _swprocess_ - A Python Package for Surface Wave Processing
> Joseph P. Vantassel, [jpvantassel.com](https://www.jpvantassel.com/)
[![DOI](https://zenodo.org/badge/202217252.svg)](https://zenodo.org/badge/latestdoi/202217252)
[![PyPI - License](https://img.shields.io/pypi/l/swprocess)](https://github.com/jpvantassel/swprocess/blob/main/LICENSE.txt)
[![CircleCI](https://circleci.com/gh/jpvantassel/swprocess.svg?style=svg)](https://circleci.com/gh/jpvantassel/swprocess)
[![Documentation Status](https://readthedocs.org/projects/swprocess/badge/?version=latest)](https://swprocess.readthedocs.io/en/latest/?badge=latest)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/swprocess)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/8faa1913edd84e4b9ba77807ab5583fd)](https://www.codacy.com/gh/jpvantassel/swprocess/dashboard?utm_source=github.com&utm_medium=referral&utm_content=jpvantassel/swprocess&utm_campaign=Badge_Grade)
[![codecov](https://codecov.io/gh/jpvantassel/swprocess/branch/main/graph/badge.svg?token=XCDW6HMGBR)](https://codecov.io/gh/jpvantassel/swprocess)
## Table of Contents
- [About _swprocess_](#about-swprocess)
- [Why use _swprocess_](#why-use-swprocess)
- [Examples](#examples)
- [Getting Started](#getting-started)
## About _swprocess_
_swprocess_ is a Python package for surface wave processing. _swprocess_ was
developed by [Joseph P. Vantassel](https://www.jpvantassel.com/) under the
supervision of Professor Brady R. Cox at The University of Texas at Austin.
_swprocess_ continues to be developed and maintained by
[Joseph P. Vantassel and his research group at Virginia Tech](https://geoimaging-research.org/).
If you use _swprocess_ in your research or consulting, we ask you please cite
the following:
> Vantassel, J. P. (2021). jpvantassel/swprocess: latest (Concept). Zenodo.
> [https://doi.org/10.5281/zenodo.4584128](https://doi.org/10.5281/zenodo.4584128)
> Vantassel, J. P. & Cox, B. R. (2022). "SWprocess: a workflow for developing robust
> estimates of surface wave dispersion uncertainty". Journal of Seismology.
> [https://doi.org/10.1007/s10950-021-10035-y](https://doi.org/10.1007/s10950-021-10035-y)
_Note: For software, version specific citations should be preferred to
general concept citations, such as that listed above. To generate a version
specific citation for _swprocess_, please use the citation tool on the _swprocess_
[archive](https://doi.org/10.5281/zenodo.4584128)._
## Why use _swprocess_
_swprocess_ contains features not currently available in any other open-source
software, including:
- Multiple pre-processing workflows for active-source [i.e., Multichannel
Analysis of Surface Waves (MASW)] measurements including:
- time-domain muting,
- frequency-domain stacking, and
- time-domain stacking.
- Multiple wavefield transformations for active-source (i.e., MASW) measurements
including:
- frequency-wavenumber (Nolet and Panza, 1976),
- phase-shift (Park, 1998),
- slant-stack (McMechan and Yedlin, 1981), and
- frequency domain beamformer (Zywicki 1999).
- Post-processing of active-source and passive-wavefield [i.e., microtremor
array measurements (MAM)] data from _swprocess_ and _Geopsy_, respectively.
- Interactive trimming to remove low quality dispersion data.
- Rigorous calculation of dispersion statistics to quantify epistemic and
aleatory uncertainty in surface wave measurements.
## Examples
### Active-source processing
<img src="https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh_-20.0m.png?raw=true" width="775">
### Interactive trimming
<img src="https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh_masw_int-trim.gif?raw=true" width="775">
### Calculation of dispersion statistics
<img src="https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh.png?raw=true" width="775">
## Getting Started
### Installing or Upgrading _swprocess_
1. If you do not have Python 3.8 or later installed, you will need to do
so. A detailed set of instructions can be found
[here](https://jpvantassel.github.io/python3-course/#/intro/installing_python).
2. If you have not installed _swprocess_ previously use `pip install swprocess`.
If you are not familiar with `pip`, a useful tutorial can be found
[here](https://jpvantassel.github.io/python3-course/#/intro/pip). If you have
an earlier version and would like to upgrade to the latest version of
_swprocess_ use `pip install swprocess --upgrade`.
3. Confirm that _swprocess_ has installed/updated successfully by examining the
last few lines of the text displayed in the console.
### Using _swprocess_
1. Download the contents of the
[examples](https://github.com/jpvantassel/swprocess/tree/main/examples)
directory to any location of your choice.
2. Start by processing the provided active-source data using the
Jupyter notebook (`masw.ipynb`). If you have not installed `Jupyter`,
detailed instructions can be found
[here](https://jpvantassel.github.io/python3-course/#/intro/installing_jupyter).
3. Post-process the provided passive-wavefield data using the
Jupyter notebook (`mam_fk.ipynb`).
4. Perform interactive trimming and calculate dispersion statistics for the
example data using the Jupyter notebook (`stats.ipynb`). Compare your results
to those shown in the figure above.
5. Enjoy!
Raw data
{
"_id": null,
"home_page": "https://github.com/jpvantassel/swprocess",
"name": "swprocess",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "surface-wave dispersion processing geopsy active passive masw mam",
"author": "Joseph P. Vantassel",
"author_email": "joseph.p.vantassel@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/df/76/a2e3a622cd94563c61bd69b7695c77e7f8e194e2594202c234d4e4bd9b01/swprocess-0.3.0.tar.gz",
"platform": null,
"description": "# _swprocess_ - A Python Package for Surface Wave Processing\n\n> Joseph P. Vantassel, [jpvantassel.com](https://www.jpvantassel.com/)\n\n[![DOI](https://zenodo.org/badge/202217252.svg)](https://zenodo.org/badge/latestdoi/202217252)\n[![PyPI - License](https://img.shields.io/pypi/l/swprocess)](https://github.com/jpvantassel/swprocess/blob/main/LICENSE.txt)\n[![CircleCI](https://circleci.com/gh/jpvantassel/swprocess.svg?style=svg)](https://circleci.com/gh/jpvantassel/swprocess)\n[![Documentation Status](https://readthedocs.org/projects/swprocess/badge/?version=latest)](https://swprocess.readthedocs.io/en/latest/?badge=latest)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/swprocess)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/8faa1913edd84e4b9ba77807ab5583fd)](https://www.codacy.com/gh/jpvantassel/swprocess/dashboard?utm_source=github.com&utm_medium=referral&utm_content=jpvantassel/swprocess&utm_campaign=Badge_Grade)\n[![codecov](https://codecov.io/gh/jpvantassel/swprocess/branch/main/graph/badge.svg?token=XCDW6HMGBR)](https://codecov.io/gh/jpvantassel/swprocess)\n\n## Table of Contents\n\n- [About _swprocess_](#about-swprocess)\n- [Why use _swprocess_](#why-use-swprocess)\n- [Examples](#examples)\n- [Getting Started](#getting-started)\n\n## About _swprocess_\n\n_swprocess_ is a Python package for surface wave processing. _swprocess_ was\ndeveloped by [Joseph P. Vantassel](https://www.jpvantassel.com/) under the\nsupervision of Professor Brady R. Cox at The University of Texas at Austin.\n_swprocess_ continues to be developed and maintained by\n[Joseph P. Vantassel and his research group at Virginia Tech](https://geoimaging-research.org/).\n\nIf you use _swprocess_ in your research or consulting, we ask you please cite\nthe following:\n\n> Vantassel, J. P. (2021). jpvantassel/swprocess: latest (Concept). Zenodo.\n> [https://doi.org/10.5281/zenodo.4584128](https://doi.org/10.5281/zenodo.4584128)\n\n> Vantassel, J. P. & Cox, B. R. (2022). \"SWprocess: a workflow for developing robust\n> estimates of surface wave dispersion uncertainty\". Journal of Seismology.\n> [https://doi.org/10.1007/s10950-021-10035-y](https://doi.org/10.1007/s10950-021-10035-y)\n\n_Note: For software, version specific citations should be preferred to\ngeneral concept citations, such as that listed above. To generate a version\nspecific citation for _swprocess_, please use the citation tool on the _swprocess_\n[archive](https://doi.org/10.5281/zenodo.4584128)._\n\n## Why use _swprocess_\n\n_swprocess_ contains features not currently available in any other open-source\nsoftware, including:\n\n- Multiple pre-processing workflows for active-source [i.e., Multichannel\nAnalysis of Surface Waves (MASW)] measurements including:\n - time-domain muting,\n - frequency-domain stacking, and\n - time-domain stacking.\n- Multiple wavefield transformations for active-source (i.e., MASW) measurements\nincluding:\n - frequency-wavenumber (Nolet and Panza, 1976),\n - phase-shift (Park, 1998),\n - slant-stack (McMechan and Yedlin, 1981), and\n - frequency domain beamformer (Zywicki 1999).\n- Post-processing of active-source and passive-wavefield [i.e., microtremor\narray measurements (MAM)] data from _swprocess_ and _Geopsy_, respectively.\n- Interactive trimming to remove low quality dispersion data.\n- Rigorous calculation of dispersion statistics to quantify epistemic and\naleatory uncertainty in surface wave measurements.\n\n## Examples\n\n### Active-source processing\n\n<img src=\"https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh_-20.0m.png?raw=true\" width=\"775\">\n\n### Interactive trimming\n\n<img src=\"https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh_masw_int-trim.gif?raw=true\" width=\"775\">\n\n### Calculation of dispersion statistics\n\n<img src=\"https://github.com/jpvantassel/swprocess/blob/main/figs/nz_wghs_rayleigh.png?raw=true\" width=\"775\">\n\n## Getting Started\n\n### Installing or Upgrading _swprocess_\n\n1. If you do not have Python 3.8 or later installed, you will need to do\nso. A detailed set of instructions can be found\n[here](https://jpvantassel.github.io/python3-course/#/intro/installing_python).\n\n2. If you have not installed _swprocess_ previously use `pip install swprocess`.\nIf you are not familiar with `pip`, a useful tutorial can be found\n[here](https://jpvantassel.github.io/python3-course/#/intro/pip). If you have\nan earlier version and would like to upgrade to the latest version of\n_swprocess_ use `pip install swprocess --upgrade`.\n\n3. Confirm that _swprocess_ has installed/updated successfully by examining the\nlast few lines of the text displayed in the console.\n\n### Using _swprocess_\n\n1. Download the contents of the\n [examples](https://github.com/jpvantassel/swprocess/tree/main/examples)\n directory to any location of your choice.\n\n2. Start by processing the provided active-source data using the\n Jupyter notebook (`masw.ipynb`). If you have not installed `Jupyter`,\n detailed instructions can be found\n [here](https://jpvantassel.github.io/python3-course/#/intro/installing_jupyter).\n\n3. Post-process the provided passive-wavefield data using the\n Jupyter notebook (`mam_fk.ipynb`).\n\n4. Perform interactive trimming and calculate dispersion statistics for the\n example data using the Jupyter notebook (`stats.ipynb`). Compare your results\n to those shown in the figure above.\n\n5. Enjoy!\n",
"bugtrack_url": null,
"license": null,
"summary": "Package for Surface Wave Processing",
"version": "0.3.0",
"project_urls": {
"Bug Reports": "https://github.com/jpvantassel/swprocess/issues",
"Docs": "https://swprocess.readthedocs.io/en/latest/?badge=latest",
"Homepage": "https://github.com/jpvantassel/swprocess",
"Source": "https://github.com/jpvantassel/swprocess"
},
"split_keywords": [
"surface-wave",
"dispersion",
"processing",
"geopsy",
"active",
"passive",
"masw",
"mam"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3b02e6c67eb7e85946e7ab71db8f43a4b790b9b0f1a8d787191c99cd90d57dcb",
"md5": "327f3524b0ec68d8812d4c26c1331cce",
"sha256": "8323789df5e02ab03bd567d09586cd64fe9e5f4219b532e7697e00ef33b692a9"
},
"downloads": -1,
"filename": "swprocess-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "327f3524b0ec68d8812d4c26c1331cce",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 94837,
"upload_time": "2024-07-13T15:08:17",
"upload_time_iso_8601": "2024-07-13T15:08:17.004609Z",
"url": "https://files.pythonhosted.org/packages/3b/02/e6c67eb7e85946e7ab71db8f43a4b790b9b0f1a8d787191c99cd90d57dcb/swprocess-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "df76a2e3a622cd94563c61bd69b7695c77e7f8e194e2594202c234d4e4bd9b01",
"md5": "a13db73e33a4f6d9c2d83292d0c7222f",
"sha256": "01c0b4dd7eba0ebfa5274be2859a7eff7b6c7f454d11b726579650270e17b504"
},
"downloads": -1,
"filename": "swprocess-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "a13db73e33a4f6d9c2d83292d0c7222f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 92268,
"upload_time": "2024-07-13T15:08:18",
"upload_time_iso_8601": "2024-07-13T15:08:18.494364Z",
"url": "https://files.pythonhosted.org/packages/df/76/a2e3a622cd94563c61bd69b7695c77e7f8e194e2594202c234d4e4bd9b01/swprocess-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-13 15:08:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jpvantassel",
"github_project": "swprocess",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"circle": true,
"requirements": [],
"tox": true,
"lcname": "swprocess"
}