raman-analyzer-v1.0

This script offers comprehensive Raman spectroscopy analysis with baseline correction, smoothing, peak detection, visualization, and polymer identification, providing flexible, detailed options for users.

https://github.com/fuadqr/raman-analyzer-v1.0

Science Score: 26.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
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.4%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

This script offers comprehensive Raman spectroscopy analysis with baseline correction, smoothing, peak detection, visualization, and polymer identification, providing flexible, detailed options for users.

Basic Info
  • Host: GitHub
  • Owner: Fuadqr
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 1.23 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created over 2 years ago · Last pushed 10 months ago
Metadata Files
Readme Citation

README.md

Raman-Analyzer-V1.0

Code Overview

Before Image After Image

The new Python code provides a comprehensive set of functionalities for Raman spectroscopy data analysis:

1. Baseline Removal

The user has the flexibility to choose from four baseline removal methods:

a. Asymmetric Least Squares (ALS) - Developed by P. Eilers and H. Boelens (2005). - Source: [StackOverflow - Python Baseline Correction Library]

b. BaselineRemoval Package - Developed by Md Azimul Haque (2022). - Implements three methods: - Modpoly: Modified multi-polynomial fit by Lieber & Mahadevan-Jansen (2003). - IModPoly: Improved ModPoly by Zhao (2007). - ZhangFit: Adaptive iteratively reweighted penalized least squares by Zhi-Min Zhang (2010). - Source: [PyPI – BaselineRemoval]

2. Smoothing

The code offers smoothing using the Savitzky-Golay filter, commonly used for noisy data. Users can specify: - The length of the smoothing window. - The order of the polynomial used for fitting the data within the window. - Implementation available in the SciPy library. - Source: [SciPy - savgol_filter]

3. Peak Picking

The code includes a peak-picking algorithm to identify local maxima in the signal. Users can customize: - The minimum peak height. - The minimum horizontal peak spacing. - The minimum peak width. - Implementation available in the SciPy library. - Source: [SciPy - find_peaks]

4. Plotting (Optional)

The code provides an optional plotting feature for data visualization.

5. Determine the Type of an Unknown Polymer

The code enables users to determine the type of an unknown polymer by comparing the peaks values. Users can specify: - The absolute difference between the peaks of the unknown polymer and the values in a polymer library. - The percentage of closeness or similarity, which can be highlighted based on this difference.

This Python code offers a versatile toolbox for Raman spectroscopy data analysis, with various customization options for baseline removal, smoothing, peak picking, and polymer identification.


! Important !

Before running the code, make sure to have the following Python libraries installed:


  • numpy: Import as np. Usually installed with pip install numpy.
  • pandas: Import as pd. Usually installed with pip install pandas.
  • matplotlib: Specifically, matplotlib.pyplot, import as plt. Usually installed with pip install matplotlib.
  • scipy: Includes sparse, sparse.linalg (as spsolve), and signal (as savgol_filter, find_peaks). Usually installed with pip install scipy.
  • ipywidgets: Import as widgets. Usually installed with pip install ipywidgets.
  • IPython: Specifically, IPython.display, import as display. Usually installed with pip install ipython.
  • BaselineRemoval: For baseline removal algorithms. Usually installed with pip install BaselineRemoval.
  • openpyxl: Import as Workbook, NamedStyle, and use utils.dataframe (as dataframe_to_rows). Usually installed with pip install openpyxl.
  • xlsxwriter: For writing files in the XLSX file format. Usually installed with pip install XlsxWriter.

Owner

  • Name: Fuad Alqrinawi
  • Login: Fuadqr
  • Kind: user

Hydro(geo)logy, Groundwater Modelling, Data Analysis and other stuff

GitHub Events

Total
  • Push event: 19
  • Pull request event: 1
  • Create event: 1
Last Year
  • Push event: 19
  • Pull request event: 1
  • Create event: 1