Skip to content

Latest commit

 

History

History
61 lines (42 loc) · 4.92 KB

README.md

File metadata and controls

61 lines (42 loc) · 4.92 KB

raman-spectra-decomp-analysis

Code to wrangle Raman spectra, visualize Raman spectra, identify components in a mixture Raman spectra, and ultimately identify decomposition or presence of materials using Raman spectroscopy. Binder

Team members (alphabetical by first name): Brandon Kern, Elizabeth Rasmussen, Parker Steichen

Overall Project Objective

This project identifies, and calculates decomposition in a Raman spectra to output rate data. Advantages to using this method are:

  1. FULLY Open source, no part of the project is dependent on a paid service
  2. AUTOMATED process, analysis is automated leading to fast results
  3. VERIFIABLE, user is made aware of how confident they can be in the results via a statistical software stack

Assumptions and Project Scope

  1. Storing data library that is beyond the decomposition products of formic acid (hydrogen, water, carbon dioxide, carbon monoxide) are not included as other components are beyond the scope of the project at this time.
  • Assumed that the user is trying to analyze the decomposition products of formic acid, or a mixture that consists only of: Formic Acid, Hydrogen, Water, Carbon dioxide, Carbon monoxide.
  1. This project will not be predictive - that is, it will require the user to specifically input what potential compounds will be present in the spectra to be analyzed. This list does not have to be exhaustive; however, the more inclusive the list, the better the fitting and predicting results will be.

Project Breakdown

The project can be thought of as broken down into 3 steps:

  1. Data Wrangling
  2. Peak fitting and identification
  3. Statistical analysis for peak fits

These sections have their own wiki documents and filled juypter notebooks with more detail included throught, see those for more detail on the individual steps.

User Flow and Example of Using Raman Noodles

A user will be able to follow the steps to apply Raman-Noodles to YOUR Formic Acid data set. An example of using the software can be seen in the Example Use Case Wiki Page

Testing of Raman Noodles and Travis-CI

In order to have manageable code we are using Travis' Open Source continuious itegration testing. One thing to note is that on March 1, 2018 Travis-CI switched their model for open source software, the press release about this can be read here

So we do have our team repo viewable on travis-ci.com BUT it will ultimately re-direct you to the old platform for open source software on travis-ci.org.

There is a way to merge the travis-ci.org (open source repos only) to travis-ci.com (now private repos and (closed beta) open source repos) as can be seen by following this link but at this time our team has decided to not join the closed beta as the current (old) method of the dashboard being located on travis-ci.org works just fine.

Future Work

Next steps would include automatic baseline subtraction of spectra to decrease pre-processing time, molar formation calculations to predict reaction pathways, and increased robustness of machine learning for component selection including unsupervised methods.

Conclusion

In conclusion our team successfully created a platform code base for researchers to visualize and analyze their Raman spectra in a fast, automated manor - reducing post-processing time by days and enabling future work to continue on a solid base of open source tools.

  • This software has passed tests to sucessfully identify and analyze the identification of components in mixture Raman data.

  • This work sets up a free and user friendly platform for researchers to be able to analyze their own Raman Spectra.

Acknowledgements

  • Project Sponsor: Igor Novosselov
  • Additional assistance: Dave Beck, and Kelly Thornton
  • Data sets from publicly available from Mendeley Data, “Raman Spectra of Formic Acid Gasification Products in Subcritical and Supercritical Water”
  • Only open source packages were used in this work.