ramanspy


Nameramanspy JSON
Version 0.2.10 PyPI version JSON
download
home_pageNone
SummaryRamanSPy: An open-source Python package for integrative Raman spectroscopy data analysis
upload_time2024-06-01 17:17:19
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseBSD 3-Clause License Copyright (c) 2023, Dimitar Georgiev Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords raman spectroscopy spectral analysis chemometrics preprocessing pipeline artificial intelligence machine learning python package
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <a href="https://ramanspy.readthedocs.io/">
    <img src="https://github.com/barahona-research-group/RamanSPy/blob/1121738ca4b8b64d938b81eefe32059ac33ace8e/docs/source/images/raman_logo_transparent.png" alt="RamanSPy logo"  width="360">
  </a>
</p>

##

[![Downloads](https://static.pepy.tech/badge/ramanspy)](https://pepy.tech/project/ramanspy)   [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)]([https://github.com/dwyl/esta/issues](https://github.com/barahona-research-group/RamanSPy/issues))


#### *RamanSPy* is an open-source Python package for integrative Raman spectroscopy data analysis.


![Overview of RamanSPy](docs/source/images/ramanspy_graphical_abstract.png)

## Key features

- Common data format
- Data loaders
- Preprocessing methods
- Preprocessing pipelining
- Preprocessing protocols
- Analysis methods
- AI & ML integration
- Visualisation tools
- Datasets
- Synthetic data generator
- Metrics
  

## Installation

*RamanSPy* has been published on PyPI and can be installed
via pip:

``` console
pip install ramanspy
```

## Code example

Below is a simple example of how *RamanSPy* can be used to
load, preprocess and analyse Raman spectroscopic data. Here, we load a
data file from a commercial Raman instrument; apply a preprocessing
pipeline consisting of spectral cropping, cosmic ray removal, denoising,
baseline correction and normalisation; perform spectral unmixing; and
visualise the results.

``` 
import ramanspy as rp

# load data
image_data = rp.load.witec("<PATH>")

# apply a preprocessing pipeline
pipeline = rp.preprocessing.Pipeline([
    rp.preprocessing.misc.Cropper(region=(700, 1800)),
    rp.preprocessing.despike.WhitakerHayes(),
    rp.preprocessing.denoise.SavGol(window_length=9, polyorder=3),
    rp.preprocessing.baseline.ASPLS(),
    rp.preprocessing.normalise.MinMax()
])
data = pipeline.apply(image_data)

# perform spectral unmixing
nfindr = rp.analysis.unmix.NFINDR(n_endmembers=5)
amaps, endmembers = nfindr.apply(data)

# plot results
rp.plot.spectra(endmembers)
rp.plot.image(amaps)
rp.plot.show()
```

## Documentation

For more information about the functionalities of the package, refer to
the [documentation](https://ramanspy.readthedocs.io).

## Credits

If you use this package for your research, please cite our paper:

[Georgiev, D.; Pedersen, S. V.; Xie, R.; Fernández-Galiana, Á.; Stevens, M. M.; Barahona, M. *RamanSPy: An open-source Python package for integrative Raman spectroscopy data analysis*. ACS Analytical Chemistry **2024**, 96(21), 8492-8500, DOI: 10.1021/acs.analchem.4c00383](https://pubs.acs.org/doi/10.1021/acs.analchem.4c00383)

```bibtex
@article{georgiev2024ramanspy,
    title={RamanSPy: An open-source Python package for integrative Raman spectroscopy data analysis},
    author={Georgiev, Dimitar and Pedersen, Simon Vilms and Xie, Ruoxiao and Fern{\'a}ndez-Galiana, Alvaro and Stevens, Molly M and Barahona, Mauricio},
    journal={Analytical Chemistry},
    volume={96},
    number={21},
    pages={8492-8500},
    year={2024},
    doi={10.1021/acs.analchem.4c00383}
}
```

Also, if you find *RamanSPy* useful, please consider leaving a star on [GitHub](https://github.com/barahona-research-group/RamanSPy).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ramanspy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "Raman spectroscopy, spectral analysis, chemometrics, preprocessing pipeline, artificial intelligence, machine learning, Python package",
    "author": null,
    "author_email": "Dimitar Georgiev <d.georgiev21@imperial.ac.uk>",
    "download_url": "https://files.pythonhosted.org/packages/91/fe/328782e78d0b9f4ce13e6f86a7c5f6a7f06089e8115d3473cd48ec18bac7/ramanspy-0.2.10.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <a href=\"https://ramanspy.readthedocs.io/\">\n    <img src=\"https://github.com/barahona-research-group/RamanSPy/blob/1121738ca4b8b64d938b81eefe32059ac33ace8e/docs/source/images/raman_logo_transparent.png\" alt=\"RamanSPy logo\"  width=\"360\">\n  </a>\n</p>\n\n##\n\n[![Downloads](https://static.pepy.tech/badge/ramanspy)](https://pepy.tech/project/ramanspy)   [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)]([https://github.com/dwyl/esta/issues](https://github.com/barahona-research-group/RamanSPy/issues))\n\n\n#### *RamanSPy* is an open-source Python package for integrative Raman spectroscopy data analysis.\n\n\n![Overview of RamanSPy](docs/source/images/ramanspy_graphical_abstract.png)\n\n## Key features\n\n- Common data format\n- Data loaders\n- Preprocessing methods\n- Preprocessing pipelining\n- Preprocessing protocols\n- Analysis methods\n- AI & ML integration\n- Visualisation tools\n- Datasets\n- Synthetic data generator\n- Metrics\n  \n\n## Installation\n\n*RamanSPy* has been published on PyPI and can be installed\nvia pip:\n\n``` console\npip install ramanspy\n```\n\n## Code example\n\nBelow is a simple example of how *RamanSPy* can be used to\nload, preprocess and analyse Raman spectroscopic data. Here, we load a\ndata file from a commercial Raman instrument; apply a preprocessing\npipeline consisting of spectral cropping, cosmic ray removal, denoising,\nbaseline correction and normalisation; perform spectral unmixing; and\nvisualise the results.\n\n``` \nimport ramanspy as rp\n\n# load data\nimage_data = rp.load.witec(\"<PATH>\")\n\n# apply a preprocessing pipeline\npipeline = rp.preprocessing.Pipeline([\n    rp.preprocessing.misc.Cropper(region=(700, 1800)),\n    rp.preprocessing.despike.WhitakerHayes(),\n    rp.preprocessing.denoise.SavGol(window_length=9, polyorder=3),\n    rp.preprocessing.baseline.ASPLS(),\n    rp.preprocessing.normalise.MinMax()\n])\ndata = pipeline.apply(image_data)\n\n# perform spectral unmixing\nnfindr = rp.analysis.unmix.NFINDR(n_endmembers=5)\namaps, endmembers = nfindr.apply(data)\n\n# plot results\nrp.plot.spectra(endmembers)\nrp.plot.image(amaps)\nrp.plot.show()\n```\n\n## Documentation\n\nFor more information about the functionalities of the package, refer to\nthe [documentation](https://ramanspy.readthedocs.io).\n\n## Credits\n\nIf you use this package for your research, please cite our paper:\n\n[Georgiev, D.; Pedersen, S. V.; Xie, R.; Fern\u00e1ndez-Galiana, \u00c1.; Stevens, M. M.; Barahona, M. *RamanSPy: An open-source Python package for integrative Raman spectroscopy data analysis*. ACS Analytical Chemistry **2024**, 96(21), 8492-8500, DOI: 10.1021/acs.analchem.4c00383](https://pubs.acs.org/doi/10.1021/acs.analchem.4c00383)\n\n```bibtex\n@article{georgiev2024ramanspy,\n    title={RamanSPy: An open-source Python package for integrative Raman spectroscopy data analysis},\n    author={Georgiev, Dimitar and Pedersen, Simon Vilms and Xie, Ruoxiao and Fern{\\'a}ndez-Galiana, Alvaro and Stevens, Molly M and Barahona, Mauricio},\n    journal={Analytical Chemistry},\n    volume={96},\n    number={21},\n    pages={8492-8500},\n    year={2024},\n    doi={10.1021/acs.analchem.4c00383}\n}\n```\n\nAlso, if you find *RamanSPy* useful, please consider leaving a star on [GitHub](https://github.com/barahona-research-group/RamanSPy).\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License  Copyright (c) 2023, Dimitar Georgiev  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ",
    "summary": "RamanSPy: An open-source Python package for integrative Raman spectroscopy data analysis",
    "version": "0.2.10",
    "project_urls": {
        "Documentation": "https://ramanspy.readthedocs.io",
        "Paper": "https://pubs.acs.org/doi/10.1021/acs.analchem.4c00383",
        "Source": "https://github.com/barahona-research-group/RamanSPy"
    },
    "split_keywords": [
        "raman spectroscopy",
        " spectral analysis",
        " chemometrics",
        " preprocessing pipeline",
        " artificial intelligence",
        " machine learning",
        " python package"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0b424e6f1bb9e1a8a773fdc3fb4830c90bbd68ba00c1583e83349798afa8856",
                "md5": "4e9163651e996084e429b075d50ee035",
                "sha256": "4b034b6ed65e372ba0efa31e7463f7da59ed181c704a483b550b01fdf40665b4"
            },
            "downloads": -1,
            "filename": "ramanspy-0.2.10-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4e9163651e996084e429b075d50ee035",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 46993,
            "upload_time": "2024-06-01T17:17:18",
            "upload_time_iso_8601": "2024-06-01T17:17:18.010086Z",
            "url": "https://files.pythonhosted.org/packages/e0/b4/24e6f1bb9e1a8a773fdc3fb4830c90bbd68ba00c1583e83349798afa8856/ramanspy-0.2.10-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "91fe328782e78d0b9f4ce13e6f86a7c5f6a7f06089e8115d3473cd48ec18bac7",
                "md5": "d44e0cdcc4e1970a2690773d6d6e823f",
                "sha256": "e3e5fce69de0b6e845ed15c68d3adfc76513d7f3f01a594cc266ce838cb5aa34"
            },
            "downloads": -1,
            "filename": "ramanspy-0.2.10.tar.gz",
            "has_sig": false,
            "md5_digest": "d44e0cdcc4e1970a2690773d6d6e823f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 40756,
            "upload_time": "2024-06-01T17:17:19",
            "upload_time_iso_8601": "2024-06-01T17:17:19.536314Z",
            "url": "https://files.pythonhosted.org/packages/91/fe/328782e78d0b9f4ce13e6f86a7c5f6a7f06089e8115d3473cd48ec18bac7/ramanspy-0.2.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-01 17:17:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "barahona-research-group",
    "github_project": "RamanSPy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ramanspy"
}
        
Elapsed time: 0.98133s