The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Analyze, Process, Identify, and Share Raman and (FT)IR Spectra
Raman and (FT)IR spectral analysis tool for plastic particles and
other environmental samples (Cowger et al. 2021, doi: 10.1021/acs.analchem.1c00123).
With read_any()
, Open Specy provides a single function for
reading individual, batch, or map spectral data files like .asp, .csv,
.jdx, .spc, .spa, .0, and .zip. process_spec()
simplifies
processing spectra, including smoothing, baseline correction, range
restriction and flattening, intensity conversions, wavenumber alignment,
and min-max normalization. Spectra can be identified in batch using an
onboard reference library (Cowger et al. 2020, doi: 10.1177/0003702820929064)
using match_spec()
. A Shiny app is available via
run_app()
or online at https://openanalysis.org/openspecy/.
OpenSpecy is available from CRAN and GitHub.
You can install the latest release of OpenSpecy from CRAN with:
install.packages("OpenSpecy")
To install the development version of this package, paste the following code into your R console (requires devtools):
if (!require(devtools)) install.packages("devtools")
::install_github("wincowgerDEV/OpenSpecy-package") devtools
library(OpenSpecy)
run_app()
See package vignette for a detailed standard operating procedure.
# Fetch current spectral library from https://osf.io/x7dpz/
get_lib("derivative")
# Load library into global environment
<- load_lib("derivative")
spec_lib
# Read sample spectrum
<- read_extdata("raman_hdpe.csv") |>
raman_hdpe read_any()
# Look at the spectrum
plotly_spec(raman_hdpe)
# Process the spectra and conform it to the library format
<- raman_hdpe |>
raman_proc process_spec(conform_spec_args = list(range = spec_lib$wavenumbers),
smooth_intens = T, make_rel = T)
# Compare raw and processed spectra
plotly_spec(raman_hdpe, raman_proc)
<- match_spec(raman_proc, library = spec_lib, na.rm = T, top_n = 5,
top_matches add_library_metadata = "sample_name",
add_object_metadata = "col_id")
# Print the top 5 results with relevant metadata
c("object_id", "library_id", "match_val", "SpectrumType",
top_matches[, "SpectrumIdentity")]
# Get all metadata for the matches
get_metadata(spec_lib, logic = top_matches$library_id)
Cowger W, Steinmetz Z, Gray A, Munno K, Lynch J, Hapich H, Primpke S, De Frond H, Rochman C, Herodotou O (2021). “Microplastic Spectral Classification Needs an Open Source Community: Open Specy to the Rescue!” Analytical Chemistry, 93(21), 7543–7548. doi: 10.1021/acs.analchem.1c00123.
Cowger W, Steinmetz Z, Leong N, Faltynkova A, Sherrod H (2024). “OpenSpecy: Analyze, Process, Identify, and Share Raman and (FT)IR Spectra.” R package, 1.0.8. https://github.com/wincowgerDEV/OpenSpecy-package.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.