OpenSpecy
Raman and (FT)IR spectral analysis tool for plastic particles and other environmental samples.
https://github.com/wincowgerdev/openspecy-package
Category: Industrial Ecology
Sub Category: Circular Economy and Waste
Keywords from Contributors
spectroscopy
Last synced: about 20 hours ago
JSON representation
Repository metadata
Analyze, Process, Identify, and Share, Raman and (FT)IR Spectra
- Host: GitHub
- URL: https://github.com/wincowgerdev/openspecy-package
- Owner: wincowgerDEV
- License: cc-by-4.0
- Created: 2021-01-29T12:52:33.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-19T00:59:55.000Z (9 days ago)
- Last Synced: 2025-04-20T09:43:53.220Z (8 days ago)
- Language: R
- Homepage: https://rawcdn.githack.com/wincowgerDEV/OpenSpecy-package/c253d6c3298c7db56fbfdceee6ff0e654a1431cd/index.html
- Size: 180 MB
- Stars: 29
- Watchers: 3
- Forks: 10
- Open Issues: 18
- Releases: 19
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
README.md
Open Specy 1.0
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/.
Installation
OpenSpecy is available from CRAN and GitHub.
Install from CRAN (stable version)
You can install the latest release of OpenSpecy from
CRAN with:
install.packages("OpenSpecy")
Install from GitHub (development version)
To install the development version of this package, paste the following code
into your R console (requires devtools):
if (!require(devtools)) install.packages("devtools")
devtools::install_github("wincowgerDEV/OpenSpecy-package")
https://webr.r-wasm.org/latest/
Install on Web Assemply through webr (experimental), you can test here:library(caTools)
library(data.table)
library(jsonlite)
library(yaml)
library(hyperSpec)
library(mmand)
library(plotly)
library(digest)
library(signal)
library(glmnet)
library(jpeg)
library(shiny)
webr::install("OpenSpecy", repos = "https://wincowger.com/OpenSpecy-package/")
library(OpenSpecy)
Getting started
library(OpenSpecy)
run_app()
Simple workflow for single spectral identification
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
spec_lib <- load_lib("derivative")
# Read sample spectrum
raman_hdpe <- read_extdata("raman_hdpe.csv") |>
read_any()
# Look at the spectrum
plotly_spec(raman_hdpe)
# Process the spectra and conform it to the library format
raman_proc <- raman_hdpe |>
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)
top_matches <- match_spec(raman_proc, library = spec_lib, na.rm = T, top_n = 5,
add_library_metadata = "sample_name",
add_object_metadata = "col_id")
# Print the top 5 results with relevant metadata
top_matches[, c("object_id", "library_id", "match_val", "SpectrumType",
"SpectrumIdentity")]
# Get all metadata for the matches
get_metadata(spec_lib, logic = top_matches$library_id)
Citations
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.
Owner metadata
- Name: Win Cowger, PhD
- Login: wincowgerDEV
- Email:
- Kind: user
- Description: Win currently works as a Research Scientist at the Moore Institute for Plastic Pollution research. He studies the prevention and transport of plastic pollution.
- Website: wincowger.com
- Location: Long Beach, CA
- Twitter: Win_OpenData
- Company: Moore Institute for Plastic Pollution Research
- Icon url: https://avatars.githubusercontent.com/u/26821843?u=e4ea50ede62fdb61890d966fccac998c769e9b23&v=4
- Repositories: 46
- Last ynced at: 2025-04-24T10:19:12.773Z
- Profile URL: https://github.com/wincowgerDEV
GitHub Events
Total
- Create event: 1
- Issues event: 15
- Release event: 1
- Watch event: 4
- Issue comment event: 18
- Push event: 69
Last Year
- Create event: 1
- Issues event: 15
- Release event: 1
- Watch event: 4
- Issue comment event: 18
- Push event: 69
Committers metadata
Last synced: 6 days ago
Total Commits: 754
Total Committers: 6
Avg Commits per committer: 125.667
Development Distribution Score (DDS): 0.485
Commits in past year: 88
Committers in past year: 3
Avg Commits per committer in past year: 29.333
Development Distribution Score (DDS) in past year: 0.102
Name | Commits | |
---|---|---|
Win Cowger, PhD | w****r@g****m | 388 |
Zacharias Steinmetz | s****z@u****e | 202 |
Zacharias Steinmetz | g****t@z****e | 135 |
nickleong20 | n****k@m****g | 15 |
hsherrod2019 | h****9@g****m | 9 |
hazelvaq | h****8@g****m | 5 |
Committer domains:
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 81
Total pull requests: 74
Average time to close issues: 5 months
Average time to close pull requests: about 1 month
Total issue authors: 11
Total pull request authors: 2
Average comments per issue: 3.57
Average comments per pull request: 3.65
Merged pull request: 66
Bot issues: 0
Bot pull requests: 0
Past year issues: 13
Past year pull requests: 1
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 3 minutes
Past year issue authors: 3
Past year pull request authors: 1
Past year average comments per issue: 1.31
Past year average comments per pull request: 0.0
Past year merged pull request: 1
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- wincowgerDEV (64)
- zsteinmetz (6)
- valentinavan (2)
- GCov (2)
- philipp-baumann (1)
- paloeffler (1)
- joe007li (1)
- ardcarvalho (1)
- nletwin97 (1)
- MPresearcher (1)
- zzhui43 (1)
Top Pull Request Authors
- zsteinmetz (47)
- wincowgerDEV (27)
Top Issue Labels
- enhancement (45)
- bug (26)
- Shiny app (17)
- R package (15)
- good first issue (5)
- documentation (4)
- question (4)
- wontfix (2)
Top Pull Request Labels
- documentation (1)
- enhancement (1)
- Shiny app (1)
Package metadata
- Total packages: 1
-
Total downloads:
- cran: 791 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 17
- Total maintainers: 1
cran.r-project.org: OpenSpecy
Analyze, Process, Identify, and Share Raman and (FT)IR Spectra
- Homepage: https://github.com/wincowgerDEV/OpenSpecy-package/
- Documentation: http://cran.r-project.org/web/packages/OpenSpecy/OpenSpecy.pdf
- Licenses: CC BY 4.0
- Latest release: 1.5.3 (published 2 days ago)
- Last Synced: 2025-04-27T12:48:10.205Z (about 21 hours ago)
- Versions: 17
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 791 Last month
-
Rankings:
- Forks count: 8.331%
- Stargazers count: 16.258%
- Average: 25.553%
- Dependent packages count: 29.797%
- Dependent repos count: 35.455%
- Downloads: 37.924%
- Maintainers (1)
Dependencies
- actions/checkout v2 composite
- actions/upload-artifact main composite
- r-lib/actions/check-r-package v1 composite
- r-lib/actions/setup-pandoc v1 composite
- r-lib/actions/setup-r v1 composite
- r-lib/actions/setup-r-dependencies v1 composite
- R >= 4.0.0 depends
- digest * imports
- dplyr * imports
- hexView * imports
- hyperSpec * imports
- osfr * imports
- rlang * imports
- shiny * imports
- signal * imports
- DT * suggests
- config * suggests
- curl * suggests
- data.table * suggests
- ggplot2 * suggests
- knitr * suggests
- loggit * suggests
- mongolite * suggests
- plotly * suggests
- rdrop2 * suggests
- rmarkdown * suggests
- shinyBS * suggests
- shinyWidgets * suggests
- shinyjs * suggests
- shinythemes * suggests
- testthat >= 3.0.0 suggests
- JamesIves/github-pages-deploy-action v4.4.1 composite
- actions/checkout v3 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- actions/checkout v3 composite
- actions/upload-artifact v3 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
Score: 12.316468462752539