Package: OpenSpecy 1.7.1

OpenSpecy: 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. 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/openspecy/>.

Authors:Win Cowger [cre, aut, dtc], Zacharias Steinmetz [aut], Hazel Vaquero [aut], Nick Leong [aut], Andrea Faltynkova [aut, dtc], Hannah Sherrod [aut], Andrew B Gray [ctb], Hannah Hapich [ctb], Jennifer Lynch [ctb, dtc], Hannah De Frond [ctb, dtc], Garth Covernton [ctb, dtc], Keenan Munno [ctb, dtc], Chelsea Rochman [ctb, dtc], Sebastian Primpke [ctb, dtc], Orestis Herodotou [ctb], Mary C Norris [ctb], Christine M Knauss [ctb], Aleksandra Karapetrova [ctb, dtc, rev], Vesna Teofilovic [ctb], Laura A. T. Markley [ctb], Shreyas Patankar [ctb, dtc], Rachel Kozloski [ctb, dtc], Samiksha Singh [ctb], Katherine Lasdin [ctb], Cristiane Vidal [ctb], Clare Murphy-Hagan [ctb], Philipp Baumann [ctb], Pierre Roudier [ctb], National Renewable Energy Laboratory [fnd], Possibility Lab [fnd]

OpenSpecy_1.7.1.tar.gz
OpenSpecy_1.7.1.zip(r-4.7-any)OpenSpecy_1.7.1.zip(r-4.6-any)OpenSpecy_1.7.1.zip(r-4.5-any)
OpenSpecy_1.7.1.tgz(r-4.6-any)OpenSpecy_1.7.1.tgz(r-4.5-any)
OpenSpecy_1.7.1.tar.gz(r-4.7-any)OpenSpecy_1.7.1.tar.gz(r-4.6-any)
OpenSpecy_1.7.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
OpenSpecy/json (API)

# Install 'OpenSpecy' in R:
install.packages('OpenSpecy', repos = c('https://wincowgerdev.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/wincowgerdev/openspecy-package/issues

Pkgdown/docs site:https://wincowgerdev.github.io

Datasets:

On CRAN:

Conda:

8.08 score 43 stars 44 scripts 355 downloads 97 exports 106 dependencies

Last updated from:55e9d9b3d9. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK253
source / vignettesOK324
linux-release-x86_64OK243
macos-release-arm64OK295
macos-oldrel-arm64OK151
windows-devel-x86_64OK214
windows-release-x86_64OK193
windows-oldrel-x86_64OK188
wasm-releaseOK146

Exports:add_visual_imageadj_intensadj_negadj_resadj_waveai_classifyarea_under_bandas_hyperSpecas_OpenSpecyas_Specsassess_libassess_specautomate_particle_analysisbatch_detection_limitbuild_libbuild_model_libc_speccalc_window_pointscheck_libcheck_OpenSpecycheck_Specscollapse_specconform_resconform_speccor_speccrowd_lookupdecode_specs_hilbertdecompress_specdedupe_specdef_featuresdetect_image_originencode_specs_hilbertfill_specfilter_specfit_specs_pcaflatten_rangegen_gridget_libget_metadataheatmap_spechuman_tsident_specinteractive_plotis_empty_vectoris_OpenSpecyis_Specsjoin_lib_metadatajoin_material_hierarchylib_clean_metadatalib_clean_namelib_metadata_name_lookupload_libmake_lib_lookup_templatemake_relmanage_namatch_specmax_cor_namedmean_replacemerge_mapminimum_detectable_amountOpenSpecyos_similarityparticle_imagepeak_ratioplotly_specprocess_specread_anyread_aspread_enviread_extdataread_h5read_jdxread_manyread_opusread_opus_rawread_sparead_spcread_specread_specsread_textread_ziprecovery_ratereduce_librestrict_rangerm_librun_appsample_specsig_noisesmooth_intensspatial_smoothspec_resSpecssplit_specsubtr_baselinevisual_imagewrite_specwrite_specs

Dependencies:askpassbase64encbitbit64bitopsbriobslibcachemcallrcaToolsclicodetoolscommonmarkcpp11crayoncrosstalkcurldata.tabledeldirdescdiffobjdigestdplyrevaluatefarverfastmapfontawesomeforeachfsgenericsggplot2glmnetgluegtablehdf5rhighrhtmltoolshtmlwidgetshttpuvhttrhyperSpecinterpisobanditeratorsjpegjquerylibjsonliteknitrlabelinglaterlatticelatticeExtralazyevallifecyclemagrittrMASSMatrixmatrixStatsmemoisemimemmandopensslotelpillarpkgbuildpkgconfigpkgloadplotlypngpraiseprocessxpromisespspurrrR6rappdirsRColorBrewerRcppRcppEigenrlangrmarkdownrprojrootS7sassscalesshapeshinysourcetoolsstringistringrsurvivalsystestthattibbletidyrtidyselecttinytexutf8vctrsviridisLitewaldowithrxfunxml2xtableyaml

Open Specy Package Tutorial
Document Overview | Installation | Running the App | Read Data | Save Data | Format Conversions | Visualization | Spectra | Maps | Combining OpenSpecy Objects | Filtering OpenSpecy Objects | Sampling OpenSpecy Objects | Processing | Threshold Signal and Noise | Intensity Adjustment | Conforming | Smoothing | Baseline Correction | Range Selection | Common argument crops the ranges to the most common range between the spectra | when joining. | Min-Max Normalization | Area and Point Ratios | Identifying Spectra | Reading Libraries | Matches | Library Metadata | Plot Matches | Sharing Reference Data | Characterizing Particles | Brute Force | A Priori Particle Thresholding | References

Last update: 2026-07-23
Started: 2021-03-22

Build a Mini Reference Library
Read And Combine Spectra | Create And Fill A Lookup | Build A Mini Library | Official Reference-Library Workflow

Last update: 2026-07-13
Started: 2026-06-12

Readme and manuals

Help Manual

Help pageTopics
Attach visual images to spectral map objectsadd_visual_image detect_image_origin visual_image
Adjust spectral intensities to standard absorbance units.adj_intens adj_intens.default adj_intens.OpenSpecy
Normalization and conversion of spectral dataadj_neg adj_res conform_res is_empty_vector mean_replace
Adjust wavelength to wavenumbers for Ramanadj_wave adj_wave.default adj_wave.OpenSpecy
Measure the area under band of spectraarea_under_band area_under_band.default area_under_band.OpenSpecy
Create 'OpenSpecy' objectsas_OpenSpecy as_OpenSpecy.data.frame as_OpenSpecy.default as_OpenSpecy.hyperSpec as_OpenSpecy.list as_OpenSpecy.OpenSpecy check_OpenSpecy gen_grid is_OpenSpecy OpenSpecy
Assess common spectral quality issuesassess_spec assess_spec.default assess_spec.OpenSpecy
Automate particle analysis for spectral mapsautomate_particle_analysis
Build spectral librariesassess_lib build_lib build_model_lib dedupe_spec join_lib_metadata join_material_hierarchy make_lib_lookup_template reduce_lib
Manage spectral objectsc_spec c_spec.default c_spec.list c_spec.OpenSpecy merge_map merge_map.default merge_map.list merge_map.OpenSpecy sample_spec sample_spec.default sample_spec.OpenSpecy
Manage spectral librariescheck_lib get_lib load_lib rm_lib
Define featurescollapse_spec collapse_spec.default collapse_spec.OpenSpecy def_features def_features.default def_features.OpenSpecy
Conform spectra to a standard wavenumber seriesconform_spec conform_spec.default conform_spec.OpenSpecy
Identify and filter spectraai_classify ai_classify.default ai_classify.OpenSpecy cor_spec cor_spec.default cor_spec.OpenSpecy fill_spec fill_spec.default fill_spec.OpenSpecy filter_spec filter_spec.default filter_spec.OpenSpecy get_metadata get_metadata.default get_metadata.OpenSpecy ident_spec match_spec match_spec.default match_spec.OpenSpecy max_cor_named os_similarity os_similarity.default os_similarity.OpenSpecy
Particle analysis validation metricsbatch_detection_limit crowd_lookup minimum_detectable_amount recovery_rate
Generic Open Specy Methodsas.data.frame.OpenSpecy as.data.table.OpenSpecy head.OpenSpecy plot.OpenSpecy print.OpenSpecy summary.OpenSpecy
Create human readable timestampshuman_ts
Create and apply metadata-name lookup ruleslib_clean_metadata lib_clean_name lib_metadata_name_lookup
Make spectral intensities relativemake_rel make_rel.default make_rel.matrix make_rel.OpenSpecy
Ignore or remove NA intensitiesmanage_na manage_na.default manage_na.OpenSpecy
Plot particle maps with base graphicsparticle_image
Calculate ratios between spectral intensities at two wavenumberspeak_ratio peak_ratio.default peak_ratio.OpenSpecy
Interactive plots for OpenSpecy objectsheatmap_spec heatmap_spec.default heatmap_spec.OpenSpecy interactive_plot interactive_plot.default interactive_plot.OpenSpecy plotly_spec plotly_spec.default plotly_spec.OpenSpecy
Process Spectraprocess_spec process_spec.default process_spec.OpenSpecy
Sample Raman spectrumraman_hdpe
Read spectral data from multiple filesread_any read_many read_zip
Read ENVI dataread_envi
Read spectral data from Bruker OPUS binary filesread_opus
Read a Bruker OPUS spectrum binary raw stringread_opus_raw
Read spectral dataread_asp read_extdata read_h5 read_jdx read_spa read_spc read_text
Range restriction and flattening for spectraflatten_range flatten_range.default flatten_range.OpenSpecy restrict_range restrict_range.default restrict_range.OpenSpecy
Run Open Specy apprun_app
Calculate signal and noise metrics for OpenSpecy objectssig_noise sig_noise.default sig_noise.OpenSpecy
Smooth spectral intensitiescalc_window_points calc_window_points.default calc_window_points.OpenSpecy smooth_intens smooth_intens.default smooth_intens.OpenSpecy
Spatial Smoothing of OpenSpecy Objectsspatial_smooth
Spectral resolutionspec_res spec_res.default spec_res.OpenSpecy
Create compressed Specs objectsas_Specs as_Specs.default as_Specs.OpenSpecy as_Specs.Specs check_Specs collapse_spec.Specs cor_spec.Specs decode_specs_hilbert decompress_spec decompress_spec.default decompress_spec.Specs def_features.Specs encode_specs_hilbert fit_specs_pca is_Specs match_spec.Specs read_specs Specs write_specs
Split Open Specy objectssplit_spec
Automated background subtraction for spectral datasubtr_baseline subtr_baseline.default subtr_baseline.OpenSpecy
Test reference librarytest_lib
Read and write spectral dataas_hyperSpec read_spec write_spec write_spec.default write_spec.OpenSpecy