LOCAL Calibration

dangdk's picture


I currently have NIR models developed in Unscrambler which cover a wide variety of samples (>1000). I am interested in devleoping local on the fly models for each unknown sample as this may improve predictions. I will be looking soon to move to MATLAB (or an open source equivalent) for model development and application as this provides me with the greatest flexibility.

Does anyone know of existing MATLAB procedures for local calibrations? Also, I am a little unclear about the LOCAL algorithm. As far as I understand it this is part of WinISI software and is also patented. But what is actually patented? Is the whole concept of local calibration development patented meaning that people can not develop their own routines within other software?

I would like to stick with PLS1 for model development at the moment since I have developed software routines for determining the values for the Deviation in Prediction (using the formula provided by CAMO) without requiring the use of the Unscrambler. I find these values give a nice impression of a confidence interval that is unique to each sample

Thanks for reading :)


hlmark's picture

Dan - the origin of the LOCAL algorithm can be traced back at least to a 1990 paper by Tormod Naes, Tomas Isaksson & Bruce Kowalski. Sounds like the developers of WinISI liked the algorithm and developed their own "flavor" of it, then patented that. Without being a lawyer (my standard disclaimer). I have to say that they could certainly not have patented the more general concept, since that was published in the open literature and therefore would be "Prior Art" (in patent-speak).

However, to answer your question at to what was actually patented, the only way to know for sure is to get a copy of the pertinent patent (or patents) and read it carefully, especially the claims. You may need to confer with a patent attorney, though, since the patent was almost surely written by one, and those people think differently about things than we Scientific types do. Also, certain words, phrases and usages that we consider common English, have different, limited and/or specialized meanings in the context of a patent, and only someone very experienced in writing and interpreting patents (such as a patent attorney) will know which are which.

You can search and download patents for free on the USPTO website, to find the one(s) of intereste to yourself..






dangdk's picture

Thanks Howard. I will look at the patent in detail as you advise. 

Is anyone aware of existing open-source MATLAB algorithms for local calibrations? I am still gettign to grips with the software so if such programs already exist it would be a great help!



dardenne's picture


An open-source, I am not aware about. We have our own routine under matlab doing what you want. For further collaboration if you want, email me please directly:  p.dardenne at




lramirezlopez's picture

Dear Dan,

Perhaps you already found what you were looking for. Anyway, I do not think there is an open-source matlab code for LOCAL. However there is a package in R that can be used for local modeling. The name of such package is
'resemble'. With this package algorithms such as LOCAL and locally weighted PLS regression can be easily reproduced. The package is available on the CRAN repository (see  
If you want to learn more about it you can visit its website at:

dangdk's picture

Thanks very much Leo, I will check out that website.

Nhi's picture

Hi all,
This topic is very old but it is new for me. 
I don't understand LOCAL method in WINISI 4. When choose LOCAL and run, I get the results is .anl file. So how to set up and run LOCAL calibration model on ISI Scan Nova? (similar to PLS, I install .eqa file) or we just scan unknown sample and check in WINISI?