Is There a Place Online Where I Can Upload My Ir Spectrum

Standard Operating Procedure

Jessica Meyers, Jeremy Conkle, Win Cowger, Zacharias Steinmetz, Andrew Grey, Chelsea Rochman, Sebastian Primpke, Jennifer Lynch, Hannah Hapich, Hannah De Frond, Keenan Munno, Bridget O'Donnell

2021-10-13

Open Specy Raman and (FT)IR spectral assay tool for plastic particles and other environmental samples. Supported features include reading spectral data files (.asp, .csv, .jdx, .spc, .spa, .0), smoothing spectral intensities with smooth_intens(), correcting background with subtr_bg(), and identifying spectra using an onboard reference library. Analyzed spectra can exist shared with the Open Specy customs. A Shiny app is bachelor via run_app() or online at http://world wide web.openspecy.org.

This document outlines a mutual workflow for using Open Specy and highlights some topics that users are oft requesting a tutorial on. If the document is followed sequentially from beginning to cease, the user will have a better understanding of every process involved in using Open Specy every bit a tool for interpreting spectra. It takes approximately 45 minutes to read through and follow along with this standard operating procedure the first time. Afterward, knowledgeable users should be able to thoroughly analyze individual spectra at an boilerplate speed of 1 min-i.

Getting started

Viewing and Sharing Spectra

To get started with the Open Specy user interface, access http://www.openspecy.org or first the Shiny GUI directly from R typing

And then click the Upload File tab at the top of the page.

Accessibility is extremely important to us and we are making strives to improve the accessibility of Open Specy for all spectroscopists. Please reach out if you have ideas for improvement.

We added a Google translate plugin to all pages in the app so that y'all can easily interpret the app. Nosotros know that not all languages will be fully supported simply we will continue to endeavour and amend the translations.

Download a test dataset

If you don't have your own data to use right away, that is ok. You can download test data to try out the tool past clicking on the test data push. A .csv file of HDPE Raman spectrum will download on your computer. This file can likewise be used every bit a template for formatting .csv data into an Open Specy accepted format. The following line of lawmaking does the same:

Upload/Read Data

Open Specy allows for upload of .csv, .asp, .jdx, .0, .spc, and .spa files. .csv files should always load correctly but the other file types are still in beta evolution, though most of the fourth dimension these files piece of work perfectly. It is best practice to cross check files in the proprietary software they came from and Open up Specy earlier utilise in Open up Specy. Due to the complexity of these file types, we haven't been able to make them fully compatible yet. If your file is non working, please contact the ambassador and share the file so that we can get information technology to work.

For the nigh consistent results, files should exist converted to .csv format earlier uploading to Open Specy. The specific steps to converting your musical instrument's native files to .csv tin be found in its software manual or you tin check out Spectragryph, which supports many spectral file conversions (meet Mini Tutorial section: File conversion in Spectragryph to Open Specy accepted format).

If uploading a .csv file, characterization the column with the wavenumbers wavenumber and proper name the column with the intensities intensity.

Sample data raman_hdpe
wavenumber intensity
301.040 26
304.632 50
308.221 48
311.810 45
315.398 46
318.983 42

Wavenumber units must be cm-i. Any other columns are not used past the software. Always keep a copy of the original file before alteration to preserve metadata and raw data for your records.

To upload information, click Browse and choose i of your files to upload, or drag and drop your file into the grey box. At this time you tin can simply upload one file at a fourth dimension.

Upon upload and throughout the analysis, intensity values are min-max normalized (Equation 1).

\[\frac{10 - \mathrm{min}(x)}{\mathrm{min}(10) - \mathrm{max}(10)}\]

Equation 1: Max-Min Normalization

The following R functions from the Open Specy packet will as well read in spectral data accordingly:

                                                read_text(".csv")                                  read_asp(".asp")                                  read_0(".0")                          

Viewing Spectra Plot

After spectral data are uploaded, information technology will appear in the main window. This plot is selectable, zoomable, and provides information on hover. You can likewise save a .png file of the plot view using the camera icon at the top correct when you hover over the plot. This plot will change the view based on updates from the Intensity Adjustment option.

Intensity Adjustment

Open Specy assumes that intensity units are in absorbance units merely Open up Specy can accommodate reflectance or transmittance spectra to absorbance units using this selection in the upload file tab. The transmittance aligning uses the \(\log_{10} 1/T\) calculation which does not correct for organization or particle characteristics. The reflectance aligning use the Kubelka-Munk equation \(\frac{(ane-R)^ii}{2R}\). If none is selected, Open Specy assumes that the uploaded data is an absorbance spectrum and does not apply an aligning.

This is the respective R code:

                                                library(dplyr)                                  #>                                                                    #> Attache Paket: 'dplyr'                                                  #> Die folgenden Objekte sind maskiert von 'parcel:stats':                                                  #>                                                                    #>     filter, lag                                                  #> Dice folgenden Objekte sind maskiert von 'package:base':                                                  #>                                                                    #>     intersect, setdiff, setequal, spousal relationship                                                raman_adj                  <-                  raman_hdpe                  %>%                                                  adj_intens()                                                  head(raman_adj)                                  #>   wavenumber  intensity                                                  #> ane    301.040 0.00000000                                                  #> 2    304.632 0.03037975                                                  #> 3    308.221 0.02784810                                                  #> 4    311.810 0.02405063                                                  #> 5    315.398 0.02531646                                                  #> six    318.983 0.02025316                                          

Preprocessing

Afterward uploading data, you can preprocess the data using baseline correction, smoothing, and range selection and save your preprocessed information. Go to the Preprocess Spectrum tab to select your parameters for processing the spectrum.

Preprocess Spectra Plot

The preprocess spectra plot shows the uploaded spectra in comparing to the processed spectra that has been processed using the processing inputs on the page. It will automatically update with any new slider inputs. This allows the user to tune the inputs to optimize the signal to racket ratio. The goal with preprocessing is to make height regions accept high intensities and non-meridian regions should accept low intensities.

Smoothing Polynomial

The outset step of the Open Specy preprocessing routing is spectral smoothing. The goal of this function is to increase the signal to racket ratio (S/N) without distorting the shape or relative size of the peaks. The value on the slider is the polynomial order of the Savitzky-Golay (SG) filter. The SG filter is fit to a moving window of 11 information points where the center signal in the window is replaced with the polynomial guess. The number of data points in the window is not user adjustable. Higher numbers lead to more than wiggly fits and thus less polish, lower numbers lead to more smooth fits, a seventh club polynomial will make the spectrum have almost no smoothing. If smoothing is set to 0 and so no smoothing is conducted on the spectrum. When smoothing is done well, peak shapes and relative heights should not change. Typically a tertiary order polynomial (3 on the slider) works to increase the signal to dissonance without distortion, only if the spectrum is noisy, decrease polynomial order and if it is already smooth, increase the polynomial order to the maximum (7). Examples of smoothing below:

Sample raman_hdpe spectrum with different smoothing polynomials (p) from Cowger et al. (2020).

The different degrees of smoothing were accomplished with the following R commands:

                                                smooth_intens(raman_hdpe,                  p =                  ane)                                  smooth_intens(raman_hdpe,                  p =                  iv)                          

The intensity-adjusted sample spectrum raman_adj is smoothed appropriately:

                              raman_smooth                  <-                  raman_adj                  %>%                                                  smooth_intens()                                                  head(raman_smooth)                                  #>   wavenumber  intensity                                                  #> ane    301.040 0.00000000                                                  #> 2    304.632 0.01568318                                                  #> 3    308.221 0.02461353                                                  #> four    311.810 0.02828915                                                  #> 5    315.398 0.02820811                                                  #> 6    318.983 0.02586852                                          

Baseline Correction Polynomial

The 2d stride of Open Specy's preprocessing routine is baseline correction. The goal of baseline correction is to get all non-elevation regions of the spectra to zero absorbance. The higher the polynomial order, the more wiggly the fit to the baseline. If the baseline is non very wiggly, a more wiggly fit could remove peaks which is not desired. The baseline correction algorithm used in Open Specy is called "iModPolyfit" (Zhao et al. 2007). This algorithm iteratively fits polynomial equations of the specified order to the whole spectrum. During the start fit iteration, pinnacle regions will often be higher up the baseline fit. The data in the peak region is removed from the fit to make sure that the baseline is less likely to fit to the peaks. The iterative plumbing fixtures terminates once the difference between the new and previous fit is minor. An case of a good baseline fit below.

Sample raman_hdpe spectrum with different degrees of background subtraction (Cowger et al., 2020).

The smoothed sample spectrum raman_smooth is background-corrected as follows:

                              raman_bgc                  <-                  raman_smooth                  %>%                                                  subtr_bg()                                                  head(raman_bgc)                                  #>   wavenumber   intensity                                                  #> one    301.040 0.000000000                                                  #> ii    304.632 0.000000000                                                  #> iii    308.221 0.006298355                                                  #> four    311.810 0.008146146                                                  #> 5    315.398 0.007025667                                                  #> half dozen    318.983 0.004412447                                          

Spectral Range

The concluding step of preprocessing is restricting the spectral range. Sometimes the instrument operates with high noise at the ends of the spectrum and sometimes the baseline fit can produce distortions at the ends of the spectrum, both can be removed using this routine. You lot should look into the point to noise ratio of your specific musical instrument by wavelength to determine what wavelength ranges to use. Distortions due to baseline fit can exist assessed from looking at the preprocess spectra plot. Additionally, you can restrict the range to examine a single peak or a subset of peaks of interests. This function allows users to isolate peaks of interest for matching, while removing noise and influence from less relevant spectral data.

Download Data

After yous have the preprocessing parameters set up, nosotros recommend that you download the preprocessed data for your records. The download data button will append the uploaded data to iii columns created past the preprocessing parameters. "Wavelength" and "Absorbance" are columns from the data uploaded past the user. "NormalizedIntensity" is the max-min normalized value (Equation 1) of the "Absorbance". "Smoothed" is the Savitzky-Golay filter specified past the slider explained to a higher place. "BaselineRemoved" is the smoothed and baseline corrected value that is visible on the centre plot.

Matching

After uploading data and preprocessing it (if desired) y'all can now identify the spectrum. To identify the spectrum get to the Match Spectrum tab.

You volition run into your spectrum and the elevation matches, only before looking at matches, you need to check the iii selectable parameters below.

Spectrum Type

The spectra type input on the "Match spectra" tab specifies the type of spectra (Raman or FTIR) that the user has uploaded and wants to friction match to. This input will tell the website whether to use the FTIR library or the Raman library to make the match.

Spectrum To Analyze

The spectra to analyze input specifies if the tool will match the Uploaded spectra (unaltered by the inputs on the Preprocess Spectra tab) or the Processed Spectra (manipulated by the inputs in the Preprocess Spectra Tab).

Region To Match

The region to match input specifies if the "Full Spectrum" volition match the unabridged range of the spectra (including non peak regions) in the reference database. This is the near intuitive match. Or should the Peaks Only match simply the peak regions in the reference database. This is an avant-garde characteristic proposed in Renner et al. (2017). This can be a less intuitive approach but in cases where there are few peaks and high baseline interference, it could be the all-time option. In cases where non-peak regions are important for the estimation of the friction match, this is not the best approach.

Match Tabular array

The selectable table shows the top cloth matches returned by the tool, their Pearson's r value, and the system they were provided by. When rows are selected their spectra are added to the match plot. The spectrum being matched and reference library are determined by the previously mentioned parameters. During the matching procedure, 1 final cleaning step happens using a uncomplicated minimum subtraction algorithm (Equation 2) which in many cases will allow unprocessed spectra to remove subtle baseline, but volition not impairment the spectra which has no baseline. And then, these aligned data are tested for correlation using the Pearson'south r. The Pearson's r is used every bit a friction match quality indicator and the spectra from the acme 1000 best matches are returned from the library. You tin restrict the libraries which are displayed in the tabular array by clicking the box that says All under the Organization column.

Similarly you can restrict the range of Pearson's r values or search for specific textile types.

\[\mathrm{for~each}~meridian~group^{1,north}: ten - \mathrm{min}(x)\]

Equation 2: Minimum Subtraction

The same tabular array tin be returned using the Open Specy library commands in the R console.

                                                # Fetch current spectral library from https://osf.io/x7dpz/                                                  get_lib()                                  # Load library into global environment                                spec_lib                  <-                  load_lib()                                  # Match spectrum with library and retrieve meta data                                                  match_spec(raman_bgc,                  library =                  spec_lib,                  which =                  "raman")                          

Match Plot

This plot is dynamically updated past selecting matches from the friction match table. The cherry-red spectrum is the spectrum that you selected from the reference library and the white spectrum is the spectrum that yous are trying to place. Whenever a new dataset is uploaded, the plot and data table in this tab will exist updated. These plots can exist saved equally a .png by clicking the camera push at the top of the plot.

How to translate the reported matches

There are several important things to consider when interpreting a spectral lucifer including the library source, the Pearson's r, and other metrics.

The library source

When yous click on a spectrum, all of the metadata that we have in Open Specy about that source volition exist displayed in a metadata window beneath to the matches table. Each library has unlike methodologies used to develop it. It is useful to read upwardly on the library sources from the literature that they came from. E.g. Chabuka et al. 2020 focuses on weathered plastics, so matching to it may suggest that your spectrum is of a weathered polymer. Primpke et al. 2018 simply has a spectral range upwards to 2000, so some polymers may be hard to differentiate with it. Make sure to cite the libraries that yous use during your search when you publish your results. The authors were kind enough to make their data open access so that it could be used in Open Specy and we should return the favor past citing them.

Pearson's r

Correlation values are used to identify the closest matches available in the electric current Open up Specy spectral libraries to better material identification and reduce sample processing times. Pearson's r values range from 0 - 1 with 0 being a completely different spectrum and 1 being an verbal match. Some full general guidelines that nosotros have observed from using Open Specy. If no matches are > ~0.3 the material may crave boosted processing or may non exist in the Open Specy library. Correlation values are not the only metric you lot should use to assess your spectra'south friction match to a material in the library, matches need to brand sense.

Things to consider beyond correlation

Height position and tiptop similarities are more than important than correlation and need to be assessed manually. Peak position correlates with specific bond types. Peak pinnacle correlates to the concentration of a compound. Therefore, pinnacle elevation and height position should match as closely as possible to the matched spectrum. When there are peaks that exist in the spectra you lot are trying to interpret that practice not exist in the match, in that location may be boosted materials to identify. In this case, restrict the preprocessing range to just the unidentified tiptop and try to identify it as an additional component (encounter also https://world wide web.compoundchem.com/2015/02/05/irspectroscopy/).

Also, check the match metadata to see if the lucifer makes sense. Example: A unmarried cobweb cannot be a "cotton blend" since at that place would be no other fibers to make up the rest of the blend. Case: Cellophane does not degrade into fibers, so a match for a fiber to cellophane wouldn't brand sense. Example: You are analyzing a particle at room temperature, but the matched cloth is liquid at room temperature. The material may exist a component of the particle but information technology cannot be the whole particle.

How specific practise yous need to exist in the material type of the match?

You tin can choose to be specific about how y'all classify a substance (east.m. polyester, cellophane) or more full general (e.thou. constructed, semi-constructed, natural, etc.). The pick depends on your research question. Using more general groups can speed up analysis fourth dimension but will subtract the information you have for interpretation. To identify materials more more often than not, you can often clump the identities provided by Open Specy to accommodate your needs. For instance, matches to "polyester" and "polypropylene" could be clumped to the category "plastic".

How to differentiate between similar spectra?

One common challenge is differentiating between LDPE and HDPE. But, fifty-fifty with a low resolution musical instrument (MacroRAM, ii cm-1 pixel-one), you can however see some differences. From a wide view, these depression, medium, and loftier density PE samples all look relatively similar (figures courtesy of Bridget O'Donnell, Horiba Scientific):

But, a closer expect at the 1450 cm-ane band reveals articulate differences:

When you lot overlay them, you start to see differences in other spectral regions too:

And then, the question is, how practice we bargain with samples that are very similar with only subtle differences? Unremarkably, researchers will employ MVA techniques after they've collected multiple reference spectra of known samples (LDPE and HDPE in this case). They can then develop models and utilise them to distinguish betwixt unlike types of PE. With a reference database like Open up Specy, this is complicated by the fact that researchers are measuring samples on different instruments with correspondingly different spectral responses and spectral resolutions. That makes information technology fifty-fifty more difficult to accurately match definitively to LDPE and HDPE every bit opposed to generic 'PE'.

I possibility is to place more emphasis (from a computational perspective) on the bands that prove the well-nigh difference (the triplet at 1450 cm-i) by restricting the range used to friction match in Open Specy.

The other, much simpler selection is to only match whatever PE hit to generic 'PE' and not specifically HDPE or LDPE.

Another challenge is in differentiating between types of nylons. Merely, Raman has a pretty easy fourth dimension distinguishing nylons. These spectra were recorded of a series of nylons and the differences are much more distinguishable compared to the PE results above (nylon 6, half dozen-6, six-ix, six-10, and six-12 height to bottom):

The differences are even more pronounced when yous overlay the spectra:

What to do when matches aren't making sense

  1. Double cheque that the baseline correction and smoothing parameters result in the best preprocessing of the data.
  2. Endeavour reprocessing your spectrum, but limit it to specific tiptop regions with a higher signal to noise ratio.
  3. Restrict the spectral range to include or exclude questionable peaks or peaks that were non nowadays in the previous matches.
  4. Restrict the spectral range to exclude things similar CO2 (2200 cm-1) or HtwoO (~1600 cm-1) in spikes in the IR spectrum.
  5. If nothing higher up works to decide a quality match, you may need to measure the spectrum of your material again or employ another spectral assay tool.

Mini Tutorials

File Conversion in SpectraGryph to Open up Specy Accepted Format

  1. Download Spectragryph from https://www.effemm2.de/spectragryph/downwardly.html

  2. Open Spectragryph and upload your file by dragging and dropping it into the console.

  1. Click File, Save/consign data, save data as, and save it equally an spc file. ¸

  1. Then upload that .spc file to Open Specy.

Conceptual diagram of information flow through Open up Specy

References

Chabuka BK, Kalivas JH (2020). "Application of a Hybrid Fusion Nomenclature Process for Identification of Microplastics Based on Fourier Transform Infrared Spectroscopy." Practical Spectroscopy, 74(ix), 1167–1183. doi: ten.1177/0003702820923993.

Cowger West, Gray A, Christiansen SH, Christiansen SH, Christiansen SH, De Frond H, Deshpande AD, Hemabessiere L, Lee Due east, Factory 50, et al. (2020). "Critical Review of Processing and Classification Techniques for Images and Spectra in Microplastic Enquiry." Applied Spectroscopy, 74(nine), 989–1010. doi: 10.1177/0003702820929064.

Cowger W, Steinmetz Z, Gray A, Munno K, Lynch J, Hapich H, Primpke South, De Frond H, Rochman C, Herodotou O (2021). "Microplastic Spectral Classification Needs an Open Source Community: Open Specy to the Rescue!" Analytical Chemistry, 93(21), 7543–7548. doi: 10.1021/acs.analchem.1c00123.

Primpke S, Wirth Thou, Lorenz C, Gerdts 1000 (2018). "Reference Database Pattern for the Automatic Analysis of Microplastic Samples Based on Fourier Transform Infrared (FTIR) Spectroscopy." Analytical and Bioanalytical Chemical science, 410(21), 5131–5141. doi: x.1007/s00216-018-1156-x.

Renner Chiliad, Schmidt TC, Schram J (2017). "A New Chemometric Approach for Automatic Identification of Microplastics from Environmental Compartments Based on FT-IR Spectroscopy." Analytical Chemistry, 89(22), 12045–12053. doi: x.1021/acs.analchem.7b02472.

Savitzky A, Golay MJ (1964). "Smoothing and Differentiation of Data by Simplified Least Squares Procedures." Analytical Chemistry, 36(8), 1627–1639.

Zhao J, Lui H, McLean DI, Zeng H (2007). "Automated Autofluorescence Background Subtraction Algorithm for Biomedical Raman Spectroscopy." Applied Spectroscopy, 61(11), 1225–1232. doi: x.1366/000370207782597003.

deanforompares.blogspot.com

Source: https://cran.r-project.org/web/packages/OpenSpecy/vignettes/sop.html

0 Response to "Is There a Place Online Where I Can Upload My Ir Spectrum"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel