A Matlab library to analyse data

iFit is an infrastructure aimed at handling data sets and mathematical models (functions). It contains methods to load, analyze, plot, fit and optimize models, and export results. iFit is based on Matlab, but can also be launched without Matlab license (stand-alone version).

iFit mostly handles Data sets ( iData objects), and Models ( iFunc objects), which can be treated using commands and scripts. iFit can import and export a very large set of file formats. It also contains higher level / more specialised user interfaces:

  • a Python interface (pyFit)
  • a simple GUI (miFit) which allows to drag-n-drop data files, treat data sets, and perform fits to usual models.
  • an interface to the McStas package (McCode/McStas), to automate neutron scattering instrument simulations, and perform
  • multi-parameter optimisations.
  • an interface to common DFT codes to compute phonon dispersions using lattice dynamics (Phonons).
  • an interface to compute the resolution of neutron Triple-Axis Spectrometers, and convolve 4D S(q,w) dispersions e.g. phonons and spin-wave models (ResLibCal).
  • a set of specialised functions to treat neutron inelastic scattering data sets, and neutron cross sections (Neutrons).


A gallery of some of the things iFit can do

Download and Install

iFit can be used within Matlab, or as a stand-alone application (not requiring a Matlab license). Read the Install page for more details.

Source code
(requires Matlab) 





you can also try
FTP download

Using iFit - Documentation

The help pages are written as tutorials, with plenty of examples.
There are dedicated HELP pages for about all aspects of iFit.


  • E. Farhi, Y. Debab and P. Willendrup, J. Neut. Res., 17 (2013) 5-18. DOI: 10.3233/JNR-130001