Flucut: Difference between revisions
Jump to navigation
Jump to search
imported>Rasmus m (→Inputs) |
imported>Rasmus m (→Inputs) |
||
Line 13: | Line 13: | ||
* '''X''' = X-array of EEMs. X is size IxJxK, where I is number of samples, J emissions and K excitations. X has to be a DataSet object where the axisscales contain wavelengths where X.axisscale{2} corresponds to emissions (emi) in nm and X.axisscale{3} corresponds to excitations (exci) in nm. | * '''X''' = X-array of EEMs. X is size IxJxK, where I is number of samples, J emissions and K excitations. X has to be a DataSet object where the axisscales contain wavelengths where X.axisscale{2} corresponds to emissions (emi) in nm and X.axisscale{3} corresponds to excitations (exci) in nm. | ||
* ''Rayl1'' = Wavelength (nm): the region where emi <= exci+Rayl1(1) are set to missing (i.e., NaN) to remove scatter. If Rayl1 is a two element vector, then only the region down to emi >= exci-Rayl1(2) are also set to missing. However, the zeros set by the options.LowZero option supersede the missing setting. | * '''Rayl1''' = Wavelength (nm): the region where emi <= exci+Rayl1(1) are set to missing (i.e., NaN) to remove scatter. If Rayl1 is a two element vector, then only the region down to emi >= exci-Rayl1(2) are also set to missing. However, the zeros set by the options.LowZero option supersede the missing setting. | ||
* '''Rayl2''' = Similar to Rayl1 but for emi==2*exci. | * '''Rayl2''' = Similar to Rayl1 but for emi==2*exci. | ||
Revision as of 01:59, 28 March 2013
Purpose
Remove scatter from fluorescence EEM data.
Synopsis
- Xnew = flucut(X,Rayl1,Rayl2,options);
Description
FLUCUT inserts a mixture of NaN and 0 values outside the data area of interest in an EEM (Excitation-Emission Matrix). FLUCUT may also be used to generate weights that can be used for deweighting scatter areas.
Inputs
- X = X-array of EEMs. X is size IxJxK, where I is number of samples, J emissions and K excitations. X has to be a DataSet object where the axisscales contain wavelengths where X.axisscale{2} corresponds to emissions (emi) in nm and X.axisscale{3} corresponds to excitations (exci) in nm.
- Rayl1 = Wavelength (nm): the region where emi <= exci+Rayl1(1) are set to missing (i.e., NaN) to remove scatter. If Rayl1 is a two element vector, then only the region down to emi >= exci-Rayl1(2) are also set to missing. However, the zeros set by the options.LowZero option supersede the missing setting.
- Rayl2 = Similar to Rayl1 but for emi==2*exci.
NOTE: In general, for all the above, setting the input to NaN, implies that the functionality is not imposed.
NOTE: The following inputs govern how data are set to missing and zero.
- Rayl1 is used to account for first order Rayleigh scatter, and
- Rayl2 is used to accound for second order scatter.
Outputs
- Xnew = New X-array with inserted NaN (for missing) and 0-values. Columns with only missing values are removed.
Options
options = a structure array with the following fields:
- MakeWts: [ {'off'} | 'on' ] If 'on', weights will be given that can be used to downweight areas of scatter e.g., in PARAFAC models. The weights will be held in the output dataset field 'userdata'. {default = 'off', do not make weights}
- LowZero: [ {'off'} | 'on' ]: If 'on', the values below Rayleigh are set to zero. Zeros well below Rayleigh are better than missing values and stabilizes the model. The can lead to artifacts if the zeros are too close.
- TopZeros: [ {'off'} | 'on' ]: If 'on', the values above 2. order Rayleigh are set to zero.
- plots: [ 'off' | {'on'} ], governs level of plotting.
Example
load dorrit Xnew = flucut(EEM,20,[20 20]);