QtiSAS (previously QtiKWS) is open-source, cross-compiled program designed for the graphical visualisation, reduction, analysis, and fit of data produced by a small-angle neutron scattering (SANS) instrument.
Initially QtiSAS was developed to analyse data “produced” by SANS instruments of the Jülich Centre for Neutron Science JCNS at the high flux reactor FRMII at Heinz Maier-Leibnitz Zentrum MLZ in Garching (Germany)
but most of tools could be used for data analysis generated by any SANS instrument or data having nothing to do with SANS.
QtiKWS is forked from the free software package QtiPlot (v.0.8.9) and QtiSAS is forked from QtiPlot v.0.8.9.9 (2012, last open-source version).
QtiPlot (until 2012) was open source platform independent alternative to proprietary scientific software like Origin, SigmaPlot, Regressi or Igor Pro. Several open-source programs like Scidavis and Mantid are a fork of QtiPlot too.
The numerical routines have been written in C/C++ whereas the menu interface has been written in Qt/C++. GNU-licensed mathematical library GSL is used for the implementation of mathematical algorithms.
Tables, matrixes, 2D and 3D graphs could be saved as a single project file and easy accessible by the built project explorer.
Now, this software package is standard data-reduction-tool for two classical SANS instruments KWS-1 and KWS-2 as well as for Very-high resolution focusing SANS diffractometer KWS-3 operated by JCNS at MLZ.
Behind current version there are many years of intensive user- and instrument operation as well as source evolution.
An advance of the fitting with QtiSAS is the runtime compilation of a fitting function in Fit.Compile.
Program has possibility to check code of the function, change , and recompile it as a new function.
The user-friendly interface Fit.Compile allows to create and compile a function of any complexity.
GSL numerical algorithms could be easily integrated in the function body. The fitting function is written in C/C++, but option of calling of FORTRAN functions is implemented.
classical fitting of a data set by a mathematical function is realised in the default Simply Fit mode of the fitting interface.
In the SANS mode is allowed to fit a dataset taking into account polydispersity [of any parameter of a fitting function] and/or the instrument resolution.
Simultaneously fit of several curves with a mixture of global (common) and individual parameters are implemented in Global Fit mode.
Many datasets could be fitted/re-fitted “step-by-step” in Batch Fit (Set-by-Set) mode. This option is especially important for time resolved measurements, when datasets should be analyzed in the same way.
Powerful Function Simulator simplifies the estimation of initial fitting parameters and the presentation of the obtained fitting curve(s).