iFit: What's In the Box
What's in the
What you will handle mainly deals with iData
objects. The miFit
user interface is a simplified
entry point to these objects and their capabilities. Please
start to read these pages first, as well as the Quick Start
page if you're in a
The miFit User interface: the iFit
miFit is the main entry
point for an easy access to most iFit functionalities: import,
plot, fit, treat, export data sets and Models.
This is definitely where you should start.
The iData objects (iFit/@iData): the core data set
objects have been defined in order to perform the following
- Load any text formatted file, and a
large set of binary format files
- Display object information, including metadata from the
- Plot the object Signal in a simple
view for 1D, 2D and 3D objects
- Perform mathematical operations using
objects (=-/* trigonometric projections integration
- Fit a parametrized model to the object
Signal, which makes use of the Optimizers
and Models libraries.
- Save the object into a set of output
An extended list of iData methods is
available in the Methods
addition, a few dedicated applications of these methods is
presented in the Neutron Scattering
instance for neutron scattering.
The iFunc objects (iFit/@iFunc): the core model
The iFunc objects hold models
(mathematical expressions that return a vector, matrix, ...)
value, as a function of a parameter set, and axes. You can
easily create new models, or use those from the Models page, and combine them to build
more complex models. The objects support most usual mathematical
A predefined set of parametrized models is given in the Models
part of iFit in order to fit some
imported data and find best parameter sets which describe it.
These functions may be used by the fits
method. All these models are iFunc
objects. There are very advanced Models to compute for instance 4D phonon dispersions
codes, neutron Monte-carlo instruments (McCode
) and other simpler analytical
level optimization library (iFit/Optimizers)
A set of optimization routines has been gathered in the Optimizers
part of iFit. It enables
to choose and compare how different optimization methods can
solve a problem. This library is used transparently by the iData
method, but it may also be used
The lower level import routines (iFit/Loaders)
The file import method used by iData
is performed on a lower level by the Loaders
part of iFit. Its purpose is to import any binary or text file,
without knowing its format. A number of post-import wrappers exist
in order to reshape the imported data to match specific needs.
These wrappers are very short to write.
If needed, other importation methods should be added there, to be
able to handle more formats. This library is used transparently by
the iData load
method, but it may also be
used independently to produce simple structures describing the
data files (even though we do not recommend this).
The documentation is given as web pages, and all methods/functions
have their own embedded help. To access it use:
A list of all available iData methods
is also available, and can be directly accessed with
>> methods(iFunc) % equivalently for models
The documentation currently contains the following pages:
- Changes: Version releases, Changes
and Bugs list.
- Credits: Credits, Licensing and
contributions from others.
- Fit: how to fit data sets onto
mathematical models and find the best parameter set
- iData: the description of the
fundamental data set object used in iFit, properties and how
to handle it
- iFunc: the description of the
fundamental model object used in iFit, properties and how to
- Loaders: how to import data files
into structures, which can be converted into iData afterwards.
This is a sub-library which you should only use if you need
the data NOT to be an object (but you then loose most of the
- Models: model functions that cab
be use for data fitting. A function maker tool is also
provided. Specialized models provide phonon dispersions,
Rietveld refinement, small angle scattering.
- index: This iFit Welcome page.
- iFit: the interface used in the
- Install: the download and installation page.
- Optimizers: the low level
- Load: how to load data set directly
as iData objects. This is what you should use.
- Math: all mathematical operations
and related data handling to apply on iData objects.
- McStas: an interface with the McStas neutron scattering
ray-tracing simulation code for simulation, scanning and
- Methods: a list of all available
methods for iData objects.
- miFit: the iFit main user interface.
- Models_Phonons: how to compute phonons in materials (lattice dynamics).
- Models_Phonons_Tutorial: a tutorial for those wishing to compute phonons.
- Plot: many ways to plot the iData
- PyFit: an interface which exposes
transparently all iFit methods and objects into Python/NumPy.
- QuickStart: where you should
start (a quick tutorial).
- ResLibCal: the neutron triple-axis resolution computation tool, with a user interface.
- Save: Saving iData objects into many
- Neutron Scattering: a set of
methodologies applied to specific cases, for instance neutron
scattering (dynamic structure factors).
- Technical documentation
You may also search this whole documentation (using Google):
files are given as examples to be
used along the documentation web pages and in the Quick Start
other software and Graphical front-ends (iFit/GUI)
Specific interfaces have been written in order to use iFit
transparently for end-user applications:
- miFit: an advanced yet simple user interface to load data sets, plot, transform, export, and fit.
- McStas: a wrapper to run
simulations or optimize McStas
compute the neutron TAS spectrometer resolution ellipsoid
Phonon dispersion from ab-initio force estimate and
dynamical matrix. Have a look as well to the Models_Phonons page.
- iFunc/Model Builder:
a dialogue to create iFunc fit
- iFit standalone: the prompt
interface used in the no-Matlab-license release. Can execute
any Matlab expression, scripts, handle iData and iFunc
objects, optimizers, plotting, ...
- PyFit: using iFit transparently