https://github.com/arcadia-science/ramanalysis

Package for loading and processing spectral data from Arcadia's Raman spectroscopy instruments.

https://github.com/arcadia-science/ramanalysis

Science Score: 39.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.2%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Package for loading and processing spectral data from Arcadia's Raman spectroscopy instruments.

Basic Info
  • Host: GitHub
  • Owner: Arcadia-Science
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 1.54 MB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed 12 months ago
Metadata Files
Readme License

README.md

ramanalysis

This repository contains a Python package called ramanalysis, the main purpose of which is to facilitate reading Raman spectroscopy data from a variety of instruments by unifying the way the spectral data is loaded. This package currently supports loading spectral data from four different Raman spectrometer manufacturers: - Horiba (tested on the MacroRAM and LabRAM HR Evolution) - OpenRAMAN - Renishaw (tested on the inVia Qontor) - Wasatch (tested on the WP785X)

This package also facilitates the calibration of spectral data output by the OpenRAMAN. The calibration procedure consists of two steps: 1. A rough calibration based on a broadband excitation light source (e.g. Neon lamp) 2. A fine calibration based on Raman-scattered light from a standard sample (e.g. acetonitrile)

Both calibration steps can be run automatically when spectra of neon and acetonitrile are provided (see Usage). This automated procedure builds upon the calibration protocol created by Sunanda Sharma and Ben Braverman. The pub associated with this protocol can be here.

For more information on the calibration procedure, see this blog post by the creator of the OpenRAMAN.

Installation

The package can be installed directly from the GitHub repository via pip: bash pip install git+https://github.com/Arcadia-Science/ramanalysis.git

Usage

Read and calibrate spectral data from an OpenRAMAN CSV file. ```python from pathlib import Path from ramanalysis import RamanSpectrum

Set file paths to the CSV files for your sample and calibration data

exampledatadirectory = Path("./ramanalysis/tests/exampledata/OpenRAMAN/") csvfilepathsample = next(exampledatadirectory.glob("CC-125.csv")) csvfilepathexcitationcalibration = next(exampledatadirectory.glob("neon.csv")) csvfilepathemissioncalibration = next(exampledata_directory.glob("aceto.csv"))

Read and calibrate the spectral data from your sample

spectrum = RamanSpectrum.fromopenramancsvfiles( csvfilepathsample, csvfilepathexcitationcalibration, csvfilepathemissioncalibration, ) ```

See examples for more example usage.

Cited by

Essock-Burns T, Kolb I, Lane R, Mets DG, Sharma S. (2025). "Comparison of spontaneous Raman spectrometers." https://arcadia-science.github.io/2025-raman-spectrometer-comparison/

Roadmap

  1. Add a reader for CRS data from Leica LIF files using readlif.
  2. Integrate with RamanSPy to easily convert RamanSpectrum instances to ramanspy Spectrum or SpectralImage instances and vice versa. Would look something like this: ```python spectrum = RamanSpectrum.fromopenramancsvfiles( csvfilepathsample, csvfilepathexcitationcalibration, csvfilepathemissioncalibration, )

ramanspyspectrum = spectrum.toramanspyspectrum() ramanalysisspectrum = RamanSpectrum.fromramanspyspectrum(ramanspy_spectrum) ```

Contributing

If you are interested in contributing to this package, please check out the developer notes. See how we recognize feedback and contributions to our code.

Owner

  • Name: Arcadia Science
  • Login: Arcadia-Science
  • Kind: organization
  • Location: United States of America

GitHub Events

Total
  • Watch event: 2
  • Delete event: 4
  • Issue comment event: 1
  • Public event: 1
  • Push event: 10
  • Pull request review event: 7
  • Pull request event: 8
  • Create event: 4
Last Year
  • Watch event: 2
  • Delete event: 4
  • Issue comment event: 1
  • Public event: 1
  • Push event: 10
  • Pull request review event: 7
  • Pull request event: 8
  • Create event: 4

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 days
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 days
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • lanery (4)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/lint.yml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • snok/install-poetry v1 composite
.github/workflows/test.yml actions
  • abatilo/actions-poetry v2 composite
  • actions/cache v3 composite
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
poetry.lock pypi
  • 183 dependencies
pyproject.toml pypi