In the NIR news (again)…..
Esben Jannik Bjerrum is in the (NIR) News again. This second part concludes the announcement of the Fulgur application, by introducing an overview of the source code as well as highlighting a way of working with Matlab GUI programming that takes the synchronization hassles out of it. The first part of the articles introduced the Fulgur program itself, which is intended as a platform for handling NIR instrument calibration sets in a semiautomated way on the way to full automation.
NIR spectroscopy uses the wavelengths just longer than the red tomato in the illustration. Invisible to the human eye, it contains electromagnetic radiation originating from the wiggling and twiggling of atoms in molecules. NIR in itself does not support specific analysis of single wavelengths, as the region is filled with molecular overtone and combination vibrations, which gives a unique fingerprint of the molecules. However, by coupling the NIR spectrometer with a calibrated multivariate model it can be used as a direct readout of the chemical contents of the samples. The robustness of the instruments and measurements themselves makes them good for industrial on-line deployment and with a proper calibration they can give early information about the process with a possibility for dynamic intervention.
Usage of NIR instruments stands on the verge of a paradigm shift. Previously the maintenance of the NIR instrument calibrations has been done in a batch oriented way, where the instrument is calibrated with a batch of NIR spectra’s with manual intervention by experts in Chemometrics. With automated spectrum storage and handling and a linked LIMS system for reference measurements, the speed and volume of information for calibration is rising. This gives a need for easier and automated recalibration of the instruments. Big data is characterized by the 4 V’s, Volume, Velocity, Variety and Veracity, where an increase in the 3 first are anticipated for the NIR and Chemometrics field as automated spectrum handling is put in place and data from multiple instruments from multiple sites are pooled.
Automation will also help deploy NIR analyzers in settings where chemometric expertise is not available or off-site. The hands free project in the BIOPro consortium was launched as a collaboration between industry and academia with the goal of making NIR instrument calibration and maintenance easier if not fully automated. To enable rapid dissemination of academic and experimental procedures to industry and having a short feedback cycle, the Fulgur GUI was built in Matlab as a platform to develop and test handling of NIR instrument calibration sets and methods for automating the selection of spectra’s for calibration as well as support outlier detection and removal. The source code will ultimately be available from models.life.ku, but due to a server migration a temporary page has been hosted at wildcardconsulting.dk: Fulgur Source Code.
The application was written in a Model-Controller-View like architecture, by combining Matlabs capabilities for graphical GUI development using GUIDE with a object oriented programming of the methods and data handling. This enabled a module oriented expansion of the application and the possibilities to write plugins for the GUI and thus dynamically expand the capabilities of the program. The architecture and Matlab tips about GUI programming will be of general interest to Matlab users that write GUI applications that spand more than one form not just Matlab programming chemometricians. The essential tips and tricks from the paper are also available as a tutorial posted here at the blog: http://www.wildcardconsulting.dk/useful-information/object-oriented-gui-programming-with-matlab/
Esben Jannik Bjerrum