RamanSPy: An open-source Python package for integrative Raman spectroscopy data analysis
Project description
RamanSPy is an open-source Python package for integrative Raman spectroscopy data analysis.
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:
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.
Credits
If you use this package for your research, please cite our paper:
@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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ramanspy-0.2.10.tar.gz
.
File metadata
- Download URL: ramanspy-0.2.10.tar.gz
- Upload date:
- Size: 40.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3e5fce69de0b6e845ed15c68d3adfc76513d7f3f01a594cc266ce838cb5aa34 |
|
MD5 | d44e0cdcc4e1970a2690773d6d6e823f |
|
BLAKE2b-256 | 91fe328782e78d0b9f4ce13e6f86a7c5f6a7f06089e8115d3473cd48ec18bac7 |
File details
Details for the file ramanspy-0.2.10-py3-none-any.whl
.
File metadata
- Download URL: ramanspy-0.2.10-py3-none-any.whl
- Upload date:
- Size: 47.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b034b6ed65e372ba0efa31e7463f7da59ed181c704a483b550b01fdf40665b4 |
|
MD5 | 4e9163651e996084e429b075d50ee035 |
|
BLAKE2b-256 | e0b424e6f1bb9e1a8a773fdc3fb4830c90bbd68ba00c1583e83349798afa8856 |