Package: OpenSpecy 2.0.3

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/OpenSpecyV2/>.

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], Jessica Myers [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], Nicolas Coca Lopez [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], Adam Hauser [ctb], National Renewable Energy Laboratory [fnd], Possibility Lab [fnd]

OpenSpecy_2.0.3.tar.gz
OpenSpecy_2.0.3.zip(r-4.7-any)OpenSpecy_2.0.3.zip(r-4.6-any)OpenSpecy_2.0.3.zip(r-4.5-any)
OpenSpecy_2.0.3.tgz(r-4.6-any)OpenSpecy_2.0.3.tgz(r-4.5-any)
OpenSpecy_2.0.3.tar.gz(r-4.7-any)OpenSpecy_2.0.3.tar.gz(r-4.6-any)
OpenSpecy_2.0.3.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://www.openanalysis.org

Datasets:

On CRAN:

Conda:

8.40 score 44 stars 55 scripts 772 downloads 115 exports 108 dependencies

Last updated from:eb563f48b4. Checks:7 NOTE, 2 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develNOTE364
source / vignettesOK477
linux-releaseNOTE318
macos-releaseNOTE282
macos-oldrelNOTE325
windows-develNOTE340
windows-releaseNOTE353
windows-oldrelNOTE332
wasm-releaseOK132

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_pointscalculate_emissivitycheck_libcheck_OpenSpecycheck_Specscollapse_specconform_resconform_speccor_speccorrect_spikecrowd_lookupdecode_specs_hilbertdecompress_specdedupe_specdef_featuresdetect_image_originencode_specs_hilbertestimate_temperaturefill_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_specmaterial_percentage_uncertaintymax_cor_namedmean_replacemerge_mapminimum_detectable_amountmodel_class_weightsopen_specsOpenSpecyos_similarityparticle_imagepeak_ratioplotly_specpoint_intensitypredict_class_referenceprocess_specprune_libread_anyread_aspread_enviread_extdataread_h5read_jdxread_manyread_opusread_opus_rawread_sparead_spcread_specread_specsread_textread_ziprebuild_lib_artifactsrecovery_ratereduce_librestrict_rangerm_librun_appsample_specsig_noisesmooth_intensspatial_smoothspec_resSpecsspecs_background_filterspecs_background_maskspecs_coordinatesspecs_metadataspecs_source_countspecs_source_valuessplit_h5split_specsubtr_baselinetrain_spec_modelvisual_imagewrite_specwrite_specs

Dependencies:askpassbase64encbitbit64bitopsbriobslibcachemcallrcaToolscliclustercodetoolscommonmarkcpp11crayoncrosstalkcurldata.tabledeldirdescdiffobjdigestdplyrevaluatefarverfastmapfontawesomeforeachfsgenericsggplot2glmnetgluegtablehdf5rhighrhtmltoolshtmlwidgetshttpuvhttrhyperSpecinterpisobanditeratorsjpegjquerylibjsonliteknitrlabelinglaterlatticelatticeExtralazyevallifecyclemagrittrMASSMatrixmatrixStatsmemoisemimemmandopensslotelpillarpkgbuildpkgconfigpkgloadplotlypngpraiseprocessxpromisespspurrrR6rappdirsRColorBrewerRcppRcppEigenrlangrmarkdownrprojrootS7sassscalesshapeshinysourcetoolsstringistringrsurvivalsystestthattibbletidyrtidyselecttinytexutf8vctrsviridisLitewaldowithrxfunxml2xtableyamlzip

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-10-16
Started: 2026-06-12

Open Specy Package Tutorial
Document Overview | Installation | Running the App | Read Data | Experimental large H5 and ENVI workflow | 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 Measurements and 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-09-29
Started: 2021-03-22

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 automate_particle_analysis.default automate_particle_analysis.FileSpecs
Build spectral librariesassess_lib build_lib build_model_lib dedupe_spec join_lib_metadata join_material_hierarchy make_lib_lookup_template prune_lib rebuild_lib_artifacts reduce_lib train_spec_model
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
Calculate spectral emissivity at supplied material temperaturescalculate_emissivity calculate_emissivity.default calculate_emissivity.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
Detect and correct isolated spikes in spectracorrect_spike correct_spike.default correct_spike.OpenSpecy
Particle analysis validation metricsbatch_detection_limit crowd_lookup minimum_detectable_amount recovery_rate
Estimate material temperature and an emissivity diagnosticestimate_temperature estimate_temperature.default estimate_temperature.FileSpecs estimate_temperature.OpenSpecy
Generic Open Specy Methodsas.data.frame.OpenSpecy as.data.table.OpenSpecy head.OpenSpecy plot.OpenSpecy print.OpenSpecy summary.OpenSpecy
Create human readable timestampshuman_ts
Read and write spectral dataas_hyperSpec io_spec read_spec write_spec write_spec.default write_spec.FileSpecs write_spec.OpenSpecy
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
Calculate material percentage uncertainty from observed particle countsmaterial_percentage_uncertainty
Open a large spectral source as file-backed Specsas_Specs.FileSpecs check_Specs.FileSpecs collapse_spec.FileSpecs cor_spec.FileSpecs decompress_spec.FileSpecs def_features.FileSpecs match_spec.FileSpecs open_specs print.FileSpecs split_spec.FileSpecs
Plot particle maps with base graphicsparticle_image
Calculate ratios between spectral intensities at two wavenumberspeak_ratio peak_ratio.default peak_ratio.OpenSpecy
Plot a recorded particle-analysis diagnosticplot.OpenSpecyParticleAnalysis
Interactive plots for OpenSpecy objectsheatmap_spec heatmap_spec.default heatmap_spec.OpenSpecy interactive_plot interactive_plot.default interactive_plot.OpenSpecy model_class_weights plotly_spec plotly_spec.default plotly_spec.OpenSpecy
Measure spectral intensity at one wavenumberpoint_intensity point_intensity.default point_intensity.OpenSpecy
Predict blank class-reference values with reviewed regex rulespredict_class_reference
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_OpenSpecy.Specs as_Specs as_Specs.default as_Specs.OpenSpecy as_Specs.Specs check_Specs check_Specs.default check_Specs.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 specs_background_filter specs_background_mask specs_coordinates specs_metadata specs_source_count specs_source_values write_specs write_specs.default write_specs.FileSpecs write_specs.Specs
Split a large HDF5 spectral map by metadata categorysplit_h5
Split Open Specy objectssplit_spec split_spec.default
Automated background subtraction for spectral datasubtr_baseline subtr_baseline.default subtr_baseline.OpenSpecy
Test reference librarytest_lib