Analysis

RamanSPy provides a number of built-in methods for spectral analysis, including decomposition, clustering and spectral unmixing. Similarly to the preprocessing methods, these are built into RamanSPy as standardised classes and can thus be readily accessed and applied to any type of Raman spectroscopic data loaded into the framework.

Analysis functionality is given within the ramanspy.analysis module.

Built-in analysis methods

RamanSPy provides many of the commonly-used techniques for spectral analysis. This includes a broad collection of methods for decomposition, clustering and spectral unmixing, which, similarly to preprocessing methods, can be directly interfaced through their apply() method.

Decomposition

decompose.PCA(*, n_components, **kwargs)

Principal component analysis (PCA).

decompose.NMF(*, n_components, **kwargs)

Non-negative matrix factorisation (NMF).

decompose.ICA(*, n_components, **kwargs)

Independent component analysis (ICA).

See also

Check the Built-in decomposition methods tutorial for more information about how to access and use the decomposition algorithms built into RamanSPy.

Clustering

cluster.KMeans(*, n_clusters, **kwargs)

k-means clustering.

See also

Check the Built-in clustering methods tutorial for more information about how to access and use the clustering algorithms built into RamanSPy.

Spectral unmixing

unmix.PPI(*, n_endmembers[, abundance_method])

Pixel Purity Index (PPI).

unmix.FIPPI(*, n_endmembers[, abundance_method])

Fast Iterative Pixel Purity Index (FIPPI).

unmix.NFINDR(*, n_endmembers[, abundance_method])

N-FINDR.

unmix.VCA(*, n_endmembers[, abundance_method])

Vertex Component Analysis (VCA).

See also

Check the Built-in unmixing methods tutorial for more information about how to access and use the spectral unmixing algorithms built into RamanSPy.

Integrative analysis

Because of RamanSPy’s data management design, data stored within the package can easily be integrated into the rest of the Python analysis ecosystem, including most frameworks for statistical and machine learning modelling. As such methods are increasingly often utilised for Raman spectroscopic research, we believe this will be a feature of paramount importance for future research in the area.

See also

Check the Integrative analysis: Support Vector Machine (SVM) classification and Integrative analysis: Neural Network (NN) classification tutorials for more information about how to integrate RamanSPy with other Python analysis packages.