Skip to content

OpenSpecy

2.0.3Package record

Analyze, Process, Identify, and Share Raman and (FT)IR Spectra

0packages depend
4.4Kdownloads / year
85.4%test coverage
12/13flavors OK

Overview

About
Maintained by Win CowgerCRAN page ↗GitHub ↗Website ↗Issues ↗Declared funders: National Renewable Energy Laboratory and Possibility Lab

Raman and (FT)IR spectral analysis tool for plastic particles and other environmental samples (Cowger et al. 2025, doi:10.1021/acs.analchem.5c00962). 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 using match_spec(). A bundled Shiny app is available via run_app() or online at https://www.openanalysis.org/OpenSpecyV2/.

Changes in 2.0.3
  • Fixed cross-platform checks for the 2.0 release: relative normalization now returns zeros for finite constant spectra instead of NaN, keeping default build_lib() outputs valid when alternate BLAS implementations produce an exact polynomial-baseline fit; ENVI companion-image paths are canonicalized before being stored; and OPUS fixture tests accept harmless parser warnings while retaining strict object, dimension, range, and metadata assertions. Hamming similarity retains its established equal-frequency-bin behavior.

From NEWS.md in the release

Install

Health

CRAN checks
1ERROR12OK
Check messages
ERRORtestsr-oldrel-windows-x86_64
Running 'testthat.R' [206s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(OpenSpecy)
  > 
  > library(data.table)
  > setDTthreads(2)
  > 
  > test_check("OpenSpecy")
  Particle analysis [file-backed source]: read into memory (1 regions; 16 spectra; 4 bands)
  Particle analysis [Region1]: memory materialization (region 1/1; 16 spectra)
  Particle analysis [Region1]: memory materialization complete (elapsed 0.0 s)
  Particle analysis [Region1]: read (sample 1 of 1)
  Particle analysis [Region1]: signal/noise
  Particle analysis [Region1]: particle detection and collapse
  Particle analysis [Region1]: library matching
  Particle analysis [Region1]: outputs
  Particle analysis [Region1]: complete
  Particle analysis [file-backed source]: read into memory (1 regions; 16 spectra; 4 bands)
  Particle analysis [Region1]: memory materialization (region 1/1; 16 spectra)
  Particle analysis [Region1]: memory materialization complete (elapsed 0
...[truncated]...
l (1):
    'test-shinylive_wasm.R:730:5'
  • Repository-only workflow files are not in the package tarball (2):
    'test-shinylive_wasm.R:635:5', 'test-shinylive_wasm.R:864:5'
  • Repository-only workspace path contract is not in the package tarball (1):
    'test-shinylive_wasm.R:845:5'
  • repository-only reference workflow tables are not installed (4):
    'test-build_lib.R:1679:3', 'test-build_lib.R:1865:3',
    'test-build_lib.R:3151:3', 'test-build_lib.R:3188:3'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error ('test-run_app.R:1998:3'): bundled app applies spike correction through the registered API ──
  Error in `file(con, "r")`: cannot open the connection
  Backtrace:
      ▆
   1. ├─base::grepl(...) at test-run_app.R:1998:3
   2. │ └─base::is.factor(x)
   3. └─base::readLines(namespace_path, warn = FALSE)
   4.   └─base::file(con, "r")
  
  [ FAIL 1 | WARN 31 | SKIP 27 | PASS 3748 ]
  Error:
  ! Test failures.
  Execution halted

CRAN check page ↗

Slowest check: 10.1 min · r-oldrel-windows-x86_64
Status changes
  • ERROR12 OK, 1 ERRORNow
  • ERROR11 OK, 1 NOTE, 1 ERROR2026-09-13
  • NOTE11 OK, 2 NOTE2026-06-09
  • ERROR11 OK, 1 NOTE, 1 ERROR2026-06-08
  • NOTE12 OK, 2 NOTE2026-03-10
Advisories

none known

Documentation

In release 2.0.3
READMEYes · 278 wordsVignettesYes · 2 · dynamicNEWSYes · 100% structured · mentions 2.0.3Citation fileYes · cites a publicationWebsiteYes
Help pages
51 (1 internal)includes a package overview page
Examples that run
93%39 run in a plain check (1 of them under a condition) · 3 never run
Exported functions with examples
85%
Documented parameters
78%
Return-value docs
100%
Help pages citing references
18%

Downloads

4.4K
CRAN downloads in the past year
Rank #5,298 · ~12/day · ~370/mo
Daily download trend is not available in this view yet.
73530 days
1.6K90 days
4.4K1 year
Compare downloads with other packages →
Also on73 r2u5 autocran

Repository

44Stars
13Forks
23Open issues
3Open PRs
21Releases
1,079Commits
6Commit identities
License file reads as CC-BY-4.0 · 1,079 commits · Last activity 2026-10-21 · 0% stars, 30d · Discussions: 4 posts
Responsiveness
How these are sampled
PRs merged (all time)
91%
Median days to close, 50 most recently updated closed issues
36
Median days to close, 50 most recently updated closed PRs
1

Stars over time

2025-10-23 · 312026-09-10 · 44
PracticesBeta

12 development-tooling and community-health practices detected across 5 families in the upstream repository

Checks run against github.com/wincowgerdev/openspecy-package on 2026-10-22.

Continuous integration (2)
GitHub ActionsR CMD check workflow

The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel

Governance and community (5)
Code of conduct (inherited from wincowgerdev)Contributing guide (inherited from wincowgerdev)PR template (inherited from wincowgerdev)Funding

Funding links: GitHub Sponsors

The repository owner accepts GitHub Sponsors

Docs source (3)
pkgdown

GitHub Pages site last deployed 2026-10-21 · The repository has a site deploy workflow

Coverage (1)
Coverage reporting (Codecov)
Show all practicesHide 1 practice
CRAN release process (1)
cran-comments.md
How this is detected·Detection ruleset v4 (2026-10-20)
AI coding toolsBeta

This repository shows signs of AI coding tools.

  • Codexfirst seen 2025-07-10
    Pull request it wrote: opened by a project member
  • Gemini CLIfirst seen 2026-05-21
    Config: a file or ignore line, not recorded which
  • Claude Codefirst seen 2026-08-12
    Seen in the repository: .claude, .claude/skills, CLAUDE.md
    Named in .Rbuildignore: .claude, CLAUDE.md
    Named in .gitignore: .claude, .claude/skills
Shared conventions any agent may read, so they name no particular tool.
Seen in the repository: .agents, .agents/skills, AGENTS.md
How this is detected·Detection ruleset v4 (updated 2026-09-27)

Dependencies

Declared dependencies
34 external dependencies (excludes base and recommended)

Installing OpenSpecy adds 102 packages (58 with compiled code, 84 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, data.table 5.7 MB.

Depends (1)
R >= 4.3.0
LinkingTo (0)
none
Enhances (0)
none
Reverse dependencies
0direct
0indirect

Nothing depends on this yet.

Datasets

People & History

People (32)
Maintainer since 0.8.2 (2021), Author, Data contributor
Author, Data contributor · added in 1.0.2
Author · added in 1.0.2
Author · added in 1.0.7
Author · added in 1.4.0
Contributor · added in 1.0.4
Contributor · added in 2.0.1
Contributor, Data contributor · added in 2.0.1
Contributor, Data contributor
Contributor · added in 1.0.2
Contributor
Contributor · added in 2.0.1
Show 16 more contributorsHide 16 contributors
Contributor, Data contributor, Reviewer · added in 1.0.2
Contributor · added in 1.0.2
Contributor, Data contributor · added in 1.0.3
Contributor · added in 1.0.2
Contributor, Data contributor
Contributor · added in 1.0.2
Contributor, Data contributor
Contributor · added in 1.0.4
Contributor · added in 1.0.2
Contributor, Data contributor · added in 1.0.2
Contributor, Data contributor
Contributor, Data contributor
Contributor · added in 1.0.4
Contributor · added in 1.0.3
Contributor · added in 1.0.2
Contributor · added in 1.0.4
Funder · added in 1.0.2
Funder · added in 1.0.2
Listed in earlier versions (1)
Andrew Gray
no longer listed · 0.8.2 to 0.9.5
Releases (19)

Pick two releases to compare their code metrics.

  • 2.0.3Latest
    record
    2026-10-07 · current release · diff ↗ ·
    listed once in CRAN's queue
    Seen in one reading of CRAN's incoming queue, at 2026-10-07 06:45 UTC, so it stayed less than the time between readings.
  • unarchivedReturned to CRAN
    2026-10-06
  • 2.0.1
    record
    2026-10-05 · diff ↗ ·
    added 52 exports
    Specs, add_visual_image, area_under_band, as_Specs, assess_lib, assess_spec, automate_particle_analysis, batch_detection_limit, build_lib, build_model_lib, calculate_emissivity, check_Specs, correct_spike, crowd_lookup, decode_specs_hilbert, decompress_spec, dedupe_spec, detect_image_origin, encode_specs_hilbert, estimate_temperature, fit_specs_pca, is_Specs, join_lib_metadata, join_material_hierarchy, lib_clean_metadata, lib_clean_name, lib_metadata_name_lookup, make_lib_lookup_template, material_percentage_uncertainty, minimum_detectable_amount and 22 more
  • archivedRemoved from CRAN
    2026-10-04
    issues were not corrected in time
  • R
    R 4.6.0 released · 2026-04-24
  • 1.5.3
    record
    2025-04-26 · diff ↗
  • R
    R 4.5.0 released · 2025-04-11
  • 1.4.0
    record
    2024-11-04 · diff ↗ ·
    added 1 export
    spatial_smooth
  • 1.2.0
    record
    2024-09-14 · diff ↗ ·
    removed 1 export
    share_spec
  • 1.1.0
    record
    2024-06-14 · diff ↗ ·
    added 2 exports
    adj_wave, merge_map
  • R
    R 4.4.0 released · 2024-04-24
  • 1.0.8
    record
    2024-03-15 · diff ↗ ·
    added 1 export
    read_many
  • 1.0.7
    record
    2024-03-12 · diff ↗ ·
    added 5 exports
    calc_window_points, fill_spec, manage_na, os_similarity, split_spec
  • 1.0.6
    record
    2023-11-26 · diff ↗
  • 1.0.5
    record
    2023-10-31 · diff ↗
  • 1.0.4
    record
    2023-10-02 · diff ↗
Show 12 earlier eventsHide 12 earlier events
  • 1.0.3
    record
    2023-09-14 · diff ↗
  • 1.0.2
    record
    2023-09-05 · diff ↗ ·
    removed 3 exports
    find_spec, read_0, subtr_bg
    added 37 exports
    OpenSpecy, adj_res, ai_classify, as_OpenSpecy, as_hyperSpec, c_spec, check_OpenSpecy, collapse_spec, conform_res, conform_spec, cor_spec, def_features, filter_spec, flatten_range, gen_grid, get_metadata, heatmap_spec, ident_spec, interactive_plot, is_OpenSpecy, is_empty_vector, max_cor_named, mean_replace, plotly_spec, process_spec, read_any, read_envi, read_opus, read_opus_raw, read_spec and 7 more
  • R
    R 4.3.0 released · 2023-04-21
  • 0.9.5
    record
    2022-07-06 · diff ↗
  • R
    R 4.2.0 released · 2022-04-22
  • 0.9.3
    record
    2021-10-13 · diff ↗
  • 0.9.2
    record
    2021-05-20 · diff ↗
  • R
    R 4.1.0 released · 2021-05-18
  • 0.9.1
    record
    2021-04-11 · diff ↗
  • 0.9.0
    record
    2021-04-09 · diff ↗
  • 0.8.2
    record
    2021-03-31
  • R
    R 4.0.0 released · 2020-04-24
Across CRAN, the median accepted release of the past year spent 26 hours in the queue, 90% under 11 days.How queue time is measured

Package metadata

First published
2021-03-31
Total releases
19 / 5 yrs
License
CC BY 4.0
Minimum R
≥ 4.3.0
Bundled data
249 KB / 2 files
Download size
1.9 MB

Cite

Cite this package

Run in R for the authors' entry:

citation("OpenSpecy")

The package provides a citation file, so citation() returns the authors' own entry.

It points to 10.1021/acs.analchem.5c00962.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for OpenSpecy version 2.0.3 [Data set]. HJJB, LLC. Data release v2026-10-25. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-25, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy