{ "info": { "author": "['Robert Sare', 'George Hilley']", "author_email": "rmsare@stanford.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# scarplet\n\n\n[![Build Status](https://travis-ci.com/rmsare/scarplet.svg?branch=master)](https://travis-ci.com/rmsare/scarplet)\n[![Documentation Status](https://readthedocs.org/projects/scarplet/badge/?version=latest)](https://scarplet.readthedocs.io/en/latest/?badge=latest)\n\nscarplet is a Python package for applying template matching techniques to digital elevation data, in\nparticular for detecting and measuring the maturity of fault scarps and other\nlandforms [[0, 1]](#references). \n\nIt is intended for earth scientists who want to apply diffusion dating methods\nto or extract landforms from large datasets. The scarplet API can be used to\nestimate the height and relative age of a landform or identify DEM pixels \nbased on their fit to a landform template.\n\nIt was designed with two main goals:\n\n* Allow contributors to define template functions for their problem area of interest\n* Make it straightforward to apply these methods to large datasets by parallelizing/distrbuting computation using multiprocessing, [dask](https://dask.readthedocs.io), or other tools [[2]](#references)\n\n## Getting started\n\n### Installation\n\n`scarplet` can be installed using `conda` or `pip`. It is developed for Python 3.4+ and currently works on Linux and Mac OS X.\n\n```bash\nconda install scarplet -c conda-forge\n```\n\nOr, to manually install the latest version from github: \n\n```bash\ngit clone https://github.com/rmsare/scarplet\ncd scarplet\nconda install --file=requirements.txt -c conda-forge\npython setup.py develop\n```\n\nThe main dependencies are numpy, scipy, numexpr, pyfftw (which requires LibFFTW3)\nand rasterio/GDAL.\n\n## Examples\n\nExample notebooks can be found in the [docs folder](docs/source/examples/) or [website](https://scarplet.readthedocs.io/en/latest/examples/scarps.html) and sample datasets can be loaded using the [datasets submodule](https://scarplet.readthedocs.io/en/latest/scarplet.datasets.base.html).\n\n### Detecting fault scarps\n\nThis example uses a scarp template based on a diffusion model of scarp degradation\n[[0]](#references) to identify scarp-like landforms along the San Andreas Fault near\nWallace Creek, CA.\n\n```python\nimport numpy as np\nimport scarplet as sl\nfrom scarplet.WindowedTemplate import Scarp\n\nparams = {'scale': 100,\n 'age': 10,\n 'ang_min': -10 * np.pi / 2,\n 'ang_max': 10 * np.pi / 2\n }\n\ndata = sl.datasets.load_carrizo()\nres = sl.match(data, Scarp, **params)\n\nsl.plot_results(data, res)\n```\n\n\"Fault\n\n### Extracting confined river channels\n\nTo illustrate template function flexibility, this example uses a Channel\ntemplate similar to the Ricker wavelet [[3]](#references) to extract part of a channel network.\nThis is example uses a moderate resolution SRTM data tile. In general, for \nhigh resolution data like lidar, there are more robust alternatives for \nchannel network extraction or channel head identification [[4, 5]](#references).\n\n```python\nimport numpy as np\nimport scarplet as sl\nfrom scarplet.WindowedTemplate import Channel \n\nparams = {'scale': 10,\n 'age': 0.1,\n 'ang_min': -np.pi / 2,\n 'ang_max': np.pi / 2\n }\n\ndata = sl.datasets.load_grandcanyon()\nres = sl.match(data, Channel, **params)\n\nsl.plot_results(data, res)\n```\n\n\"Channel\n\nThere are also [example notebooks](https://scarplet.readthedocs.io/en/latest/index.html) and [an API reference](https://scarplet.readthedocs.io/en/latest/api.html) in the documentation.\n\n## Documentation\n\nRead the documentation for example use cases, an API reference, and more. They\nare hosted at [scarplet.readthedocs.io](https://scarplet.readthedocs.io).\n\n## Contributing\n\n### Bug reports\n\nBug reports are much appreciated. Please [open an issue](https://github.com/rmsare/scarplet/issues/new) with the `bug` label,\nand provide a minimal example illustrating the problem.\n\n### Suggestions\n\nFeel free to [suggest new features](https://github.com/rmsare/scarplet/issues/new) in an issue with the `new-feature` label.\n\n### Pull requests\n\nDon't hestitate to file an issue; I would be happy to discuss extensions or help to build a new feature. \n\nIf you would like to add a feature or fix a bug, please fork the repository, create a feature branch, and [submit a PR](https://github.com/rmsare/scarplet/compare) and reference any relevant issues. There are nice guides to contributing with GitHub [here](https://akrabat.com/the-beginners-guide-to-contributing-to-a-github-project/) and [here](https://yourfirstpr.github.io/). Please include tests where appropriate and check that the test suite passes (a Travis build or `pytest scarplet/tests`) before submitting.\n\n\n### Support and questions\n\nPlease [open an issue](https://github.com/rmsare/scarplet/issues/new) with your question.\n\n## References\n[0] Hanks, T.C., 2000. The age of scarplike landforms from diffusion\u2010equation analysis. Quaternary Geochronology, 4, pp. 313-338. [doi](https://doi.org/10.1029/RF004p0313)\n\n[1] Hilley, G.E., DeLong, S., Prentice, C., Blisniuk, K. and Arrowsmith, J.R., 2010. Morphologic dating of fault scarps using airborne laser swath mapping (ALSM) data. Geophysical Research Letters, 37(4). [doi](https://doi.org/10.1029/2009GL042044)\n\n[2] Sare, R, Hilley, G. E., and DeLong, S. B., 2018, Regional scale detection of fault scarps and other tectonic landforms: Examples from Northern California, in review, Journal of Geophysical Research: Solid Earth.\n\n[3] Lashermes, B., Foufoula\u2010Georgiou, E., and Dietrich, W. E., 2007, Channel network extraction from high resolution topography using wavelets. Geophysical Research Letters, 34(23). [doi](https://doi.org/10.1029/2007GL031140)\n\n[4] Passalacqua, P., Tarolli, P., and Foufoula\u2010Georgiou, E., 2010, Testing space\u2010scale methodologies for automatic geomorphic feature extraction from lidar in a complex mountainous landscape. Water Resources Research, 46(11). [doi](https://doi.org/10.1029/2009WR008812)\n\n[5] Clubb, F. J., Mudd, S. M., Milodowski, D. T., Hurst, M. D., and Slater, L. J., 2014, Objective extraction of channel heads from high\u2010resolution topographic data. Water Resources Research, 50(5). [doi](https://doi.org/10.1002/2013WR015167)\n\n## License\nThis work is licensed under the MIT License (see [LICENSE](LICENSE)).\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rmsare/scarplet", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "scarplet", "package_url": "https://pypi.org/project/scarplet/", "platform": "", "project_url": "https://pypi.org/project/scarplet/", "project_urls": { "Homepage": "https://github.com/rmsare/scarplet" }, "release_url": "https://pypi.org/project/scarplet/0.1.3/", "requires_dist": [ "gdal", "matplotlib", "numexpr", "numpy", "pyfftw", "rasterio", "scipy" ], "requires_python": "", "summary": "A Python package for topographic template matching", "version": "0.1.3" }, "last_serial": 4508671, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "5e419a907a5e44f0bcb4fc8b87e85a8d", "sha256": "f23e5af48d67a801a4cd8357f5848cebe75cae0f33e0a684587d7a4c68d3e971" }, "downloads": -1, "filename": "scarplet-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5e419a907a5e44f0bcb4fc8b87e85a8d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8634743, "upload_time": "2018-10-16T16:18:54", "url": "https://files.pythonhosted.org/packages/ba/01/04b171fd978ba12de445fdd4a22727add6a20f24653d77f713697dc29774/scarplet-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6540420609f807b5ba9ba8ef12cb488", "sha256": "50a404b5621764dbf7064504fdf9dedae369001a0add63a101b7e1dd063a34bb" }, "downloads": -1, "filename": "scarplet-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a6540420609f807b5ba9ba8ef12cb488", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8355945, "upload_time": "2018-10-16T16:18:58", "url": "https://files.pythonhosted.org/packages/88/1b/f049a23e643f2a4ab2a372fdfbcdebb5c0383097240e71830f8e4f453deb/scarplet-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "91ba51361eaaec8d32461cee7d89d09b", "sha256": "fe299fe4665994c87a99d0135549f572a4abc88bff49f7a7ff56c03d9ceaaf1e" }, "downloads": -1, "filename": "scarplet-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "91ba51361eaaec8d32461cee7d89d09b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22134, "upload_time": "2018-11-20T14:37:15", "url": "https://files.pythonhosted.org/packages/7e/21/f5f473dc5087038dbe29444096905bdc1c52504e30def8de493accc8c25f/scarplet-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb9dd1bbb97e6cf9cbba9529ced8e132", "sha256": "e16f548e2ebea91f7f2c6b3272c2505a08cd61f9974fc390777e89f448739deb" }, "downloads": -1, "filename": "scarplet-0.1.1.tar.gz", "has_sig": false, "md5_digest": "eb9dd1bbb97e6cf9cbba9529ced8e132", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17377, "upload_time": "2018-11-20T14:37:16", "url": "https://files.pythonhosted.org/packages/b6/fa/6dfb6771e6c3aec0b01ab70762414cd059ea30fc75ee0c1e74be48a3108b/scarplet-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "08d73e2fc725ea85d99297982bc4f14c", "sha256": "f8215ac3ff427f20c0df12f3032cf96704a34e09203c942bd6913652d193e4cf" }, "downloads": -1, "filename": "scarplet-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "08d73e2fc725ea85d99297982bc4f14c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7270164, "upload_time": "2018-11-20T17:37:46", "url": "https://files.pythonhosted.org/packages/74/7b/c1179b45b3f95b437a234503a02edf8dbfb8f52c9119e39bf8b0868db959/scarplet-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "646015b2cdf57e2fd883b5cb1b176295", "sha256": "9673ab9212595a8d5d201a5f8df499e6120c95200a8ed557fca0a7ce3df98d09" }, "downloads": -1, "filename": "scarplet-0.1.2.tar.gz", "has_sig": false, "md5_digest": "646015b2cdf57e2fd883b5cb1b176295", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7267453, "upload_time": "2018-11-20T17:37:52", "url": "https://files.pythonhosted.org/packages/41/d1/c580bb84c4c92b07782789c8206937e140a0f0e16129bed26b4ca509d9de/scarplet-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d27a960c8b59d67c9e5a559e94f4674a", "sha256": "d785bf29f1886c7eb97e29f8f1f6c05745978021f9faeb527e94de67c729cb64" }, "downloads": -1, "filename": "scarplet-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d27a960c8b59d67c9e5a559e94f4674a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2693825, "upload_time": "2018-11-20T17:49:10", "url": "https://files.pythonhosted.org/packages/02/33/520fd00b70e9bd5ca9991ec3e0500c349d7506e8e3d5a53ec9b8914874e1/scarplet-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9f0caa5b01d76703146e5e74d88ec06", "sha256": "eabc7159eb0df5feed04daea20b3be3a1fab9b5f5b53525de6c0e894f36751db" }, "downloads": -1, "filename": "scarplet-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f9f0caa5b01d76703146e5e74d88ec06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2690806, "upload_time": "2018-11-20T17:49:14", "url": "https://files.pythonhosted.org/packages/81/15/02b1e8a7be6518dca25e4cb7d2b00996ba1da5f8550c73928e0ec3c638f3/scarplet-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d27a960c8b59d67c9e5a559e94f4674a", "sha256": "d785bf29f1886c7eb97e29f8f1f6c05745978021f9faeb527e94de67c729cb64" }, "downloads": -1, "filename": "scarplet-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d27a960c8b59d67c9e5a559e94f4674a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2693825, "upload_time": "2018-11-20T17:49:10", "url": "https://files.pythonhosted.org/packages/02/33/520fd00b70e9bd5ca9991ec3e0500c349d7506e8e3d5a53ec9b8914874e1/scarplet-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9f0caa5b01d76703146e5e74d88ec06", "sha256": "eabc7159eb0df5feed04daea20b3be3a1fab9b5f5b53525de6c0e894f36751db" }, "downloads": -1, "filename": "scarplet-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f9f0caa5b01d76703146e5e74d88ec06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2690806, "upload_time": "2018-11-20T17:49:14", "url": "https://files.pythonhosted.org/packages/81/15/02b1e8a7be6518dca25e4cb7d2b00996ba1da5f8550c73928e0ec3c638f3/scarplet-0.1.3.tar.gz" } ] }