IRootLab
An Open-Source MATLAB toolbox for vibrational biospectroscopy
pre_bc_rmiesc.m
Go to the documentation of this file.
1 %> @brief Paul Bassan's Resonant Mie Scattering Correction
2 %>
3 %> <h3>References:</h3>
4 %> [1] Paul Bassan, Achim Kohler, Harald Martens, Joe Lee, Hugh J. Byrne, Paul Dumas, Ehsan Gazi, Michael Brown, Noel Clarke, Peter Gardner. Resonant Mie Scattering (RMieS) Correction of Infrared Spectra from Highly Scattering Biological Samples (Analyst, DOI:10.1039/B921056C)
5 %>
6 %> [2] Paul Bassan, Hugh J. Byrne, Frank Bonnier, Joe Lee, Paul Dumas, Peter Gardner. Resonant Mie scattering in Infrared spectroscopy of biological materials – understanding the “dispersion artefact” Analyst, 134 (2009), 1586—1593
7 %>
8 %> [3] Kohler, A.; Sule-Suso, J.; Sockalingum, G. D.; Tobin, M.; Bahrami, F.; Yang, Y.; Pijanka, J.; Dumas, P.; Cotte, M.; Martens, H. "Estimating and correcting Mie scattering in synchrotron based microscopic FTIR spectra by extended multiplicative signal correction (EMSC). " Appl Spectrosc 2008, 62, 259-266.
9 %>
10 %> [4] Martens, H.; Stark, E. "Extended Multiplicative Signal Correction and Spectral Interference Subtraction - New Preprocessing Methods for near- Infrared Spectroscopy." Journal of Pharmaceutical and Biomedical Analysis 1991, 9, 625-635.
11 %>
12 %> @sa uip_pre_bc_rmiesc.m
13 classdef pre_bc_rmiesc < pre_bc
14  properties
15  options = [ ...
16  0 ; % 1. Desired resolution, (0 keeps original resolution)
17  1000 ; % 2. Lower wavenumber range (min value is 1000)
18  4000 ; % 3. Upper wavenumber range (max value is 4000)
19  1 ; % 4. Number of iterations
20  2 ; % 5. Mie theory option (smooth or RMieS)
21  7 ; % 6. Number of principal components used (8 recommended)
22  2 ; % 7. Lower range for scattering particle diameter / um
23  8 ; % 8. Upper range for scattering particle diamter / um
24  1.1 ; % 9. Lower range for average refractive index
25  1.5 ; % 10. Upper range for average refractive index
26  10 ; % 11. Number of values for each scattering parameter default 10
27  1 ; % 12. Orthogonalisation, 0 = no, 1 = yes. (1 recommended)
28  1 ]; % 13. Which reference spectrum, 1 = Matrigel, 2 = Simulated
29  end;
30 
31 
32  methods
33  function o = pre_bc_rmiesc(o)
34  o.classtitle = 'RMieSC';
35  end;
36  end;
37 
38  methods(Access=protected)
39 
40  % Applies block to dataset
41  function data = do_use(o, data)
42  % pre_bc_rmiesc_use(): returns a transformed dataset
43 
44  % Ok, let's leave the Matrigel do the job
45  [WNout, ZCorr, History] = RMieS_EMSC_v2(data.fea_x, data.X, o.options); %, feax, mean(X));
46 
47  data.fea_x = WNout(end:-1:1)';
48  data.X = ZCorr(:, end:-1:1);
49  end;
50  end;
51 end