SANS: reduction, analysis, global instrumental fit

User Tools

Site Tools


Vitaliy Pipich

Contact Form






Value De-


SLD: Calculator



Very Small Angle Scattering KWS-3 ‘VerySANS’ www.verysans.com

JCNS :: Institutes


QtiSAS: SANS framework

visualisation, reduction, analysis, global fit

  • 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. (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.

SA(N)S Tools


user-friendly approach for SANS data reduction.

  • 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.


powerful import/export tool for the radial averaged datasets. During the import/export process several actions can be performed on the data:

  • convertation to other SAS-presentation (Guinier, Zimm, Porod, logI, logQ, Debye, 1Moment, 2Momen, Guinier-Rod, Guinier-Disk);
  • removing blocks of points at the beginning, end, or inside the q-range, as well as all negative points;
  • simple arithmetic operations on data can be done;
  • linear and progressive binning tools are available;
  • SANS resolution column could be added to datasets…


  • 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).

TODO: slowly rest of tools will be ported from QtiKWS to QtiSAS

  • Fit.Matrix(s): Global Fit of Matrix(s)
  • SANS.Box: previously DAN Black Box
  • Matrix.Calculator: previously DANP.ASCII-2D.2D-Calculator
  • Header.Reader: previously DANP.Header.Reader
  • CSV.Reader: previously DANP.CSV.Reader

QtiSAS with active Fit.Compile interface

qtisas.txt · Last modified: 2023/12/07 23:13 by Vitaliy Pipich