Analysis toolkit for Raman characterization of two-dimensional transition metal dichalcogenides (2D-TMDs) developed for the Advanced Nanomaterials and Manufacturing Lab.
This repository contains tools for processing Raman spectroscopy data, extracting spectral features, visualizing spatial uniformity across surfaces, and training machine learning models linking CVD process parameters to thin-film quality.
Run the following in your terminal:
git clone git@github.com:eridanirojas/2DTMD_ANML.git
cd 2DTMD_ANML
conda env create -f environment.yml
conda activate 2dtmd_anml
pip install -e .
This directory contains the core analysis modules used for Raman spectroscopy processing and feature extraction.
-
processing.py
Toolkit for preparing Raman spectra:- reads data directly from the Raman tool
- baseline subtraction
- normalization of spectral intensity
-
peaks.py
Peak detection algorithm that extracts spectral features including:- peak location
- FWHM (full width at half maximum)
- peak area
- peak-to-peak separation
- peak-to-peak intensity ratios
-
fitting.py
Spectral peak fitting using:- Gaussian models
- Lorentzian models
- Voigt models
-
visualization.py
Visualization tools for communicating extracted spectral features.
Includes functionality to iterate through a Raman map scan and generate heatmaps across a surface based on selected peak-to-peak ratios.
Machine learning workflows linking CVD process parameters to thin-film quality metrics.
-
cvdRecipeChewing.ipynb
Processes CVD recipe files so that the parameters can be used effectively for machine learning models. -
training.ipynb
Implements and trains a TensorFlow neural network regression model to predict thin-film quality metrics from CVD process parameters.
Example workflows demonstrating the capabilities of the repository.
- raman_analysis.ipynb
Full demonstration notebook showing how to:- preprocess Raman spectra
- detect and fit peaks
- extract spectral features
- visualize material quality metrics
Early stage work intended for future development of XPS analysis tools.
This portion of the project was not completed but represents a planned extension of the Raman analysis framework.
A typical workflow using this toolkit involves:
- Import Raman spectra from the instrument
- Remove baseline and normalize spectra
- Detect spectral peaks
- Fit peaks using Gaussian/Lorentzian/Voigt models
- Extract spectral features such as FWHM and peak ratios
- Visualize spatial variation across map scans
- Optionally train ML models linking process parameters to material quality
See example/raman_analysis.ipynb for a full demonstration.