Simple GUI Software for viewing and analyzing Raman spectra based on Pyside6
This project is currently put aside and not in active development. The GUI is only for viewing Raman Spectra only. However, the sPyktro_raman.py should work on its own
-
quick_plot(self, show_peak = False, show_baseline = False, show_zeroline = False, output_dir = os.getcwd(), figure_size = (12, 8), y_lim_top = 0, spectra_color = 'k') Function to making a quick plot of the Raman spectra. This function is used to quickly check baseline correction and peak finding result.
- show_peak: set to True to scatter Raman peaks and mark the corresponding wavenumber. Only work after using find_raman_peaks()
- show_baseline: set to True to show baseline of Raman spectra. Only work after using a baseline_.*() function
- show_zeroline: set to True to also plot y=0
- output_dir: output file path
- return fig, axs
-
find_raman_peaks(self, filter_window = None, filter_degree = None, lower_prominance = None, higher_prominance = None, lower_height = 0) Function to find Raman peaks basec on scipy.signal.find_peaks
-
baseline_modpoly(self, degree = 2, repitition=100, gradient=0.001) Automated Method for Subtraction of Fluorescence from Biological Raman Spectra, by Lieber & Mahadevan-Jansen (2003)
code is adapted from https://github.com/StatguyUser/BaselineRemoval/blob/master/src/BaselineRemoval.py -
baseline_als(self, lam = 100, p = 0.01, niter=10) Baseline Correction with Asymmetric Least Squares Smoothing, by P. Eilers and H. Boelens in 2005
baseline_als method is adapted from https://stackoverflow.com/questions/29156532/python-baseline-correction-library -
peak_fitting(self, func, start, end, parameters = None, bounds = None, figure_size = (12, 8), peak_function = None) Peak_fitting function for fitting 1 or more multiple Gaussian, Lorentzian, or Gaussian-Lorentzian summation function. Also plot the figure at the same time to check the fitting result.