EEMizer: Automated modeling of fluorescence EEM data


PARAFAC offers a very attractive approach for modeling fluorescence excitation-emission matrices. This algorithm called EEMizer automates the use of PARAFAC for modeling EEM data. In order to be able to automate the modeling, it is necessary to make certain assumptions on the data available. These are listed below:

  • A sufficient number of adequate samples is measured
  • A sufficient resolution is used both for excitation and emission
  • Appropriate measures have been taken to ensure that the EEM data is meaningful in the context of Beers law

Given that the above requirements are fulfilled or at least approximately fulfilled, the decision on what is an appropriate PARAFAC model includes the following decisions:

  • Low wavelength and low-information excitations to exclude
  • How to handle Rayleigh scattering
  • Number of components to use
  • Sample outliers to exclude

EEMizer will automatically find the optimal settings based on optimizing a criterion that simultaneously seeks a high variance explained, high core consistency and high split-half validity. The product of these three measures is given on a scale from 0 to 100 where 100 is good.

Below is an example of the outcome of EEMizer


The plot shows that seven components is too many and one to five are all good (hence, five is preferred of the one to five components). The six component model is a bit annoying and in between although it looks bad. In practice, it would be advised to scrutinize the five and the six component model. For that purpose, simply right-click e.g. the five component bar and you can choose to plot the model or save it to workspace.

Note that the models reflected in the plot are all likely different with respect to removing Rayleigh scattering, removing low excitations and removing outliers.


Download EEMizer (requires PLS_Toolbox)

Download EEMizer v. 3.0 (May 2013)

Download EEMizer v. 1.2 (Removed that EEMs were normalized. Hence you should normalize yourself e.g. if you EEMs span huge dilution ranges)

Download EEMizer v. 1.1 (works on older MATLAB versions)

EEMizer v. 1.0

Generating a dataset object for EEMizer


Please refer to the below paper when using the function:

R. Bro and M. Vidal, EEMizer: Automated modeling of fluorescence EEM data, Chemometrics and Intelligent Laboratory Systems 106 (2011) 86–92