QtiSAS|QtiKWS

SANS: reduction, analysis, global instrumental fit

User Tools

Site Tools


Sidebar


Vitaliy Pipich


Contact Form


SANS@Tools



SANS
Data
Reduction


ascii
SANS
1D


Compile
Fitting
Function

Fitting
Curve(s)
Tools


Singular
Value De-
composition


Jülich
NSE
Tools


SLD: Calculator


SANS@ToDo

SANS@MLZ




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

JCNS :: Institutes

news


   Installation instructions: new version >=2024

QtiSAS News

information about new versions and tools


2026-02-18 New Version (v0.15.1) is online: Release v0.15.1

  • Add Help menu action for version check and installer download
  • update git submodule link to qwt library



2026-02-13 New Version (v0.15.0) is online: Release v0.15.0

Fitting @ Fit.Curve(s)

GUI

  • Renamed QtiSAS menu to SAS-Tools
  • Improved project opening behavior
  • Polished macOS menu behavior: icons always visible
  • macOS: moved Settings to Edit; Qt/About to Help; renamed Preferences → Settings

Performance & Code Quality

  • Optimized Graph scaling, legend updates, marker bounds, and axis handling :: fast reaction in huge projects
  • Refactored `Graph::setLinOrLogAxis`
  • Fixed formatting that broke `clang-format` job

Platform

  • macOS/Windows: QTI file registration for release
  • macOS: corrected sasmodels installation instructions



  • MacOS: icons size optimised
  • Resolution of several icons improved
  • MacOS/Windows/Linux menu unified
  • Integrated association of qti-files with qtisas for Windows/MacOS.
  • Opened project looks the same as saved (active windows, status,…)
  • Smooth and fast folder change
  • NEW widget will get status of the active widget (normal/maximized)

2026-01-27 New Version (v0.14.4) is online: Release v0.14.4

  • optimized graph autoscaling and data updates during batch fitting
  • improved performance when adding rows to large tables



  • New Batch-Fit Interface

2026-01-19 New Version (v0.14.3) is online: Release v0.14.3

  • changing the folder highlights the active widget now
  • optimized plot updates after data modification
  • several refactorings were completed across the DAN module, including sensitivity and mask tools, file handling, matrix processing
  • configuration dialogs were improved with clearer symbol indexing, corrected default colors
  • graph and matrix handling was cleaned up, including safer default settings behavior
  • internal code organization was improved through renaming, file relocations, and consistency updates in Python and SIP bindings.



* Color indexing now could be changed to a constant color
* In the shown configuration all added symbols will be Sky Blue Circles


2025-11-27 New Version (v0.14.2) is online: Release v0.14.2

  • ui: update font-family to cross-platform
  • combobox-in-table: remove obsolete Qt3/Qt4 disconnect()
  • Graph3D: fix crash with negative Y dimension
  • fittable: simulate curve correctly when no table is available
  • compile/sasview: full support for “pure” Python models
  • CurvesDialog: connect loglog/linlin buttons to common function
  • Fit function could communicate with QtiSAS project via python script.
  • By updating via git-get button the PySAS.h file will be placed in FitFunctions: “IncludedFunctions/PySAS.h”.
  • Inside fitting function python code could be called via PySAS::scriptCaller(const std::string &scriptCode)


Examples
#include "IncludedFunctions/PySAS.h"
 
PySAS::scriptCaller("newTable()");
 
PySAS::scriptCaller("a=newTable('RESULTS');"
                    "a.setText(1,1,'9999')"
                    );
 
double I = PySAS::Iq("guinier", 0.001, 50);
 
 

2025-11-14 New Version (v0.14.1) is online: Release v0.14.1


Adding python packages in macOS

Python is shipped with macOS bundle. By default, it is a clean python installation having PyQt6 package. To add other python packages pass pip install <package> as argument to qtisas.app:

open /Applications/qtisas.app --args pip install numpy
open /Applications/qtisas.app --args pip install sasmodels

The packages are installed to ~/.config/qtisas/python/site-packages directory.


2025-11-07 New Version (v0.13.1) is online: Release v0.13.1


  • SVG/PDF could be used as a clipboard format

2025-10-22 New Version (v0.12.14) is online: Release v0.12.14

  • plot2d: error-bar generation logic changed
  • plot2d: rewritten drawErrorBars() function to draw error bars only within the canvas
  • plot2d: corrected bug with box instead of error bar in svg/png… formats
  • plot2d/plotDialog: added small error-cap-widths 0, 1, 2 and 4
  • terminal_line/pythonScript:added missed QMetaType::LongLong output format
  • terminal_line/pythonScript: send error messages to the scripting console instead of showing a popup
  • terminal_line: restore focus after execution
  • terminal_line: add command completion and historization inside





2025-10-02 New Version (v0.12.13) is online: Release v0.12.13

  • Dan@Python: added several functions to python class Dan
  • Dan/infoExtractorScript: implemented as script and callable from interface
  • Dan: added option of HDF5 accumulation
  • Dan: added new option to accumulate files via active table (columns)
  • Table/setColumnValue: adde option to set step when filling table column from..to
  • ParserHDF5: added function to check data dimensions
  • ParserHDF5: added function to accumulate internal datasets (int and double)
  • Fittable/color-list: synchronized with system color list
  • ApplicationWindow::saveGraphAsProject(): added “Archive Graph..” option
  • ConfigDialog/2D-Plots/Curves: symbol color list selection implemented
  • legendwidget: symbol size limits changed
  • mdisubwindow::closeEvent: buttons display correct actions: Cancel/Hide/Delete
  • Table: header sections are set to be not movable
  • OpenProject: statistical tables are recalculated before opening the graphs
  • Tablestatistics: recalculated automatically during project opening if the name contains an underscore.
  • Legendwidget: improved symbol size scaling
  • Statistics on columns: fixed bug – first column should be of text type.
  • Colorbutton: solved bug of showing color-selection-widget in the main screen





Dan: new python scripts

- Dan.newSession()
- Dan.selectInstrument(“KWS1”)
- Dan.selectMode(“(SM) Standard Mode”)
- Dan.setPathIn(“/Users/pipich/data/kws1/”)
- Dan.setPathOut(“/Users/pipich/data/kws1/”)
- Dan.openSession(“script”)
- Dan.infoExtractor(“info”, “2,7,8,9,10,11”, “22483..22583”)
- Dan.infoExtractor(“info-new”, “4,7,8,9,10,11”, “*”)
- … todo many steps more …


2025-09-04 New Version (v0.12.12) is online: Release v0.12.12



  • Unordered List ItemMultiLayer::layer function optimized
  • MultiLayer::findBestLayout function optimized
  • ApplicationWindow::autoArrangeLayers(): font-scaling-option included
  • ci: use qt 6.9.2



Windows Installer Updated:

✔ Case #1: Single Layer: open a graph


✔ Initial Font: 15
✔ Case #1: “Scale Fonts” options should be activated


✔ ”Scale Fonts” could be selected in Preferences
✔ Case #1: Push ”Automatic Layout” button


✔ Push ”Automatic Layout” button
✔ Case #1: Result:


✔ Initial Font: 29
All Steps:
1. Scaled to full space
2. Kept aspect ratio (if option active)
3. Scaled Fonts (if option active)
✔ Case #2: MULTI-Layer case:


✔ Push ”Automatic Layout” button
✔ Case #2: Result:


All Steps:
1. Scaled to full space
2. Auto-Ordered layouts
3. Kept aspect ratio (if option active)
4. Scaled Fonts (if option active)




2025-08-28 New Version (v0.12.11) is online: Release v0.12.11



  • windows/install: added msvc installation →
  • windows/install: added python and pyqt installation →
  • LegendWidget: space between symbol and text changed
  • LegendWidget: adjusted handling when the legend contains only symbols
  • settings: save fonts as strings using QFont::toString()/fromString
  • last used qtisas version is saved to settings
  • macOS: use “Helvetica Neue” as default starting font instead of hidden “.AppleSystemUIFont”
  • ci: upd windows release job
  • ci: upd windows build
  • ci: upd linux images



2025-08-11 Started “transfer” QtiPlot manual to QtiSAS one:

https://www.qtisas.com/manual



Windows Installer Updated:

✔ Select Components


✔ Python with PyQt6:

… QtiSAS is now always distributed with Python. You can install the required versions through this interface, or follow the instructions below to install them manually.


✔ MSVS 2022:

… If you plan to compile fitting functions, you can install Microsoft Visual Studio 2022 (free Community Edition) from here, or follow the instructions below to install it manually.
✔ Licence Agreement


✔ Accept the “ GNU GENERAL PUBLIC LICENSE”
✔ Start Menu Folder


✔ Select the stars menu folder
✔ Installation Summary


✔ Review the selected components to be installed
✔ Installing


✔ Grant permission to install the program. Administrator rights are required.
✔ Finished


✔ DONE!
✔ Wellcome Page


✔ Just push Next
✔ Installation Folder


✔ Select folder where QtiSAS will be installed




2025-07-28 New Version (v0.12.9) is online: Release v0.12.9



In the current release:

  • Image export has been improved
  • Image and print previews have been corrected
  • Pasting images from the clipboard into a graph is now supported
  • Resolution of copied graphs/plots has been increased
  • The “Custom Script Action” section has been reorganised
  • A public repository for Custom Script Actions is now available: https://iffgit.fz-juelich.de/qtisas/python-actions
  • The first example action — exporting a graph as SVG/PDF — is released as graph-export
  • A Git-Get button is integrated to download actions directly from the repository.
  • Icon size is no longer fixed, and should now display better on 2K and 4K monitors.
  • The “File Location” tab under Preferences has been streamlined to show only relevant folders: https://www.qtisas.com/_media/qtisas/settings-file-location.png

The graph-export example is explained here: https://www.qtisas.com/custom-actions

✔ Where? Location? In “Preferences…


✔ How to add custom action? Button in “Scripting” Menu…


✔ Custom action Interface: Git-Get button …


✔ Custom actions downloaded from repository: https://iffgit.fz-juelich.de/qtisas/python-actions
✔ Custom action repository: graph-export example …


✔ Calling “graph-export” custom action …


✔ graph-export” custom action: opened …


✔ graph-export“ custom action: options …





2025-05-21 New Version (v0.12.2) is online: Release v0.12.2

In the v.12.0 version of the QtiSAS windows version is compiled with native compiler MSVC2022 and obtained finally python scripting.

  • The Windows version is now compiled with MSVC and supports Python scripting.
  • The MSVC 2022 compiler is now used to build fitting functions for Windows.
  • The After.Fit option now supports Python scripts.
  • A repository for fitting functions has been established.
  • In the Compile interface, pressing the git-get button downloads all functions from the repository.
  • All SasView fitting functions have been added to the repository and adapted for use in QtISAS.







2023-04-03 From middle 2022, QtiSAS code has been supported by Konstantin Kholostov from JCNS instrument software team.

Code modernisation, optimisation, preparation for long-term-support is aim of the first steps of Konstantin in the qtisas project.

First code “surviving” steps:

  • Git repository (iffgit) … done … link: https://iffgit.fz-juelich.de/kholostov/qtisas
  • qmake → cmake … done … cmake >=3.24
  • optimisation of compilation of 3rdparty libraries … done
  • Python3 support (additionally to python2.7) … done
  • “pure” QT4: removing qt3support dependencies … in progress … time-consuming step …
  • “pure” QT4 → via QT5 → QT6: direction to newest QT … in plan …
  • “Native” compilers @ Windows and MacOS … in plan …



Currently code could be downloaded from the repository and compiled like below:

git clone https://iffgit.fz-juelich.de/kholostov/qtisas
cd qtisas
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_PYTHON=ON
make



Current QT is still QT4, therefore “native” Linux system for the code test is used Ubuntu 18.04. Before starting above shown compilation, next stuff should be installed:

sudo apt install python3-dev pyqt4-dev-tools python3-pyqt4 python3-sip-dev



2021-05-12 New Version is online: Downloads

QtiSAS

  • Project Explorer is working faster in case of many windows
  • Plotting of a new Color Fill or 2D-plot will be filled full available space
  • Several technical improvements were done…

DAN.SANS.

  • We are ready for the future format of KWS-instruments: YAML header and Binary Zipped detector image
  • YAML header added possibility to read 3rd and 4th levels in format YAML::NodeType::Sequence (detector duration time, monitors)
  • YAML header example of header-reader string to extract detector duration: measurement:detectors:type|position_sensitive_detector|results|timer
  • Zipped Binary Image currently at all KWS-instruments (new format) detector image is zipped binary array (*.array.gz). Reading and adding of zipped binary filed is implemented in the standard mode (single detector image). RT and TOF mode will be implemented later (should be faster adding and splitting).
  • Zipped Binary Image many thanks to George B. for correcting of the reading function of Zipped Binary Images
  • KWS3-2021 and KWS3-VHRD-2021 new standard instruments for data reduction of KWS-3 data with new YAML-format and Zipped Binary Images. Old data could be treated with “KWS3-2020” and “KWS3-VHRD-2020” instruments
  • KWS-1 and KWS-2 current YAML header do not yet contains all motors values (like CA and SA); next version of QtiSAS will contain “KWS1-2021”, “KWS2-20%-2021”,”KWS2-10%-2021“, “KWS2-20%-2021”, “KWS2-HRD-2021”
  • Data Processing Tab a bit modified optically
  • Data processing is running faster and without fast changing of the windows.

2021-03-19 New Sasview Functions Implementation
Sasview Function Example (core-multi-shell), Sasview: rmsa


2021-03-18 New Introduction: Reduction of KWS-3 data: KWS-3@Data-Reduction-Example


2021-03-11 New Introduction: Reduction of KWS-1 data: KWS-1@Data-Reduction-Example


2021-03-11 New Version is online: downloads

DAN.SANS:

  • Tr(EC-to-EB): now after changing of Tr(EC-to-EB) value of Absolute Factor automatically re-calculated
  • Transmission-Method “λ<9.5A: ROI in Header; λ>=9.5A: Direct Beam [dead-time +]” works now correctly (KWS1-2020)

Fit.Curve(s): few optical improvements…


2021-03-10 Updated Introduction: Compile Fortran Code: Fortran Functions (linking with c++ functions)


2021-03-01 New Introduction: Simply-Fit (Standard Mode) of Fit.Curve(s) interface: Fit.Curve(s) Introduction


2021-02-26 New Introduction: Fit.Compile interface: Fit.Compile


2021-02-25 New Introduction: easy-Fit (“eFit”) mode of Fit.Curve(s) interface: eFit


2021-02-17 New Version is online: downloads

QtiSAS

  • Graph|Tex Equation Editor: added server for online-compilation:
  • →→→ new server documentation: chart.googleapis.com
  • “Graph|Labels”: unicode generator is added:

Unicode-in-Labels JNSE: implementation (transfer) of J-NSE tools to QtiSAS: JNSE page

ASCII.SANS.1D ASCII.SANS.1D page

  • tab (of DANP interface of QtiKWS) implemented in QtiSAS
  • … as separated tool ASCII.SANS.1D

SVD.SANS:Singular Value Decomosition is transfered to QtiSAS: SVD page

Fit.Compile Fit.Compile.Introduction

  • table of parameters is modified:
  • … number of parameters are shown
  • … range of parameters are moved to “Vary” check-box
  • “Code” and ”+Include“ tabs:
  • … “find” text option integrated
  • … “Info”-tab functional is improved

Fit.Curve(s)

  • a lot of small improvements…
  • superpositional mode is improved
  • weighting, reso, and poly options are moved to “Data”-tab
  • Fit-Control-tab is modified

2020-10 New: Unicode symbol in Legends:
Unicode-in-Labels


2020-07 New Version is online: QtiSAS:News:2020-07-06:

A lot of changes in this version were motivated by A.F: thank you Artem!

QtiSAS|Project Exprole:

  • … behavior boosted;
  • … improved presentation of widgets, specially in “Maximised” regime…;
  • … default mode of “View Windows” option is changed to “None” from “Windows in Active Folder”;

QtiSAS|Color Maps:

  • … functionality in Spectrogram Plots is strongly improved;

QtiSAS|Graph|Automatic Layout:

  • … button logic is modified;
  • … Spectrogram's Geometry is propotionaly maximized correspondinly to matrix dimension;
  • … 2D plots are proportionally maximised if “Keep aspect ratio” is selected;

QtiSAS|Log and Lin buttons:

  • … also in Graph Toolbars;
  • … work now also for Spectrograms (Color Fill);

QtiSAS|Graph|Tex Equation Editor:

  • … changed server for online-compilation;
  • … new server: latex.codecogs.com;
  • … size of png-images of Equations could be controlled by “\dpi{150}” command;

QtiSAS|Graph|Add/Remove Curve interface:

  • … added check-box ”+yErr“;
  • … to add also Y-Error-bars with corresponding Dataset;
  • … by default: Cap Width of error bars is 0;
  • … by default: Line Width is defined by defined line width;

QtiSAS|Graph|Add Error Bars interface: improved behaviour of “Existing Column”: DAN:

  • … interface and logic are strongly optimized;
  • … Mask Tools moved from DANP to DAN;
  • … Merge interface improved;

FIT:

  • … interface is optimised;

2020-05-04 QtiSAS Source Online: QtiSAS Open Source: 2020-05-04

As well as compilation of program from source is simplified to two steps:

  1. qmake (withouth Python support, or “qmake py=yes” with Python )
  2. make

All nesessary non-Qt libraries will be compiled in first step, and Qt-related during second one.


2020-04-23 QtiSAS:

  • improved File|Export|ExportASCII… interface;

QtiSAS:Windows:installation:

  • changed path to qtisas.zip file;

QtiSAS:HomePage news:


2020-04-15

QtiSAS:

  • if vertical resolution of display below 1000: log-viewer and project explorer are placed by default right;
  • else: log-viewer and project explorer are placed by default down;

DAN@QtiSAS: v.2.2

  • crash during opening of empty files in INFO-TABLE interface is finally solved;
  • few cosmetic improvements are done;

qtisas-2020-04-15-info.pdf


2020-04-06 2D plot: new option is implemented:'Save Graph as Project + PDF-image

  • sans data-reduction projects are normally huge: sometimes containing hundreds of tables, figures, matrixes;
  • new option extracts a selected plot with one or more graphs to new QTI-project and creates PDF-image of it (PDF-file is vector-image);
  • this is an attempt to implement a kind of OLE object: PDF-file could be inserted to a PowerPoint presentation or Word-file; and in QTI-project could selected datasets could be quickly modified, analyzed, and plotted back to a presentation.

qtisas-2020-04-06-info.pdf


2020-03-25 DAN@QtiSAS New Version with improved stability ( v.2.0)

  • crush during reading of an empty header is solved
  • merging interface is integrated to DAN ( in qtikws merging interface was in DANP )
  • 'Overlap control' option = 30% integrated to default KWS-instruments …
  • newest SANS instruments are integrated as default options: KWS1-2020, KWS3-2020, KWS3-VHRD-2020
  • mixed transmision option is integraded: λ<9.5Å: ROI in Header; λ>=9.5Å: Direct Beam [dead-time +]

qtisas-2020-03-25-info.pdf


2019-12-12New Hosting of QtiSAS Dokuwiki is located at www.freehosting.com. Free hosting plan is selected. We moved from FZ-Jülich web portal because non-static web pages (we use Dokuwiki) is not anymore allowed there.


2019-10-11

new Linux: executable file for linux (64bit) is now available; Windows: improved installation procedure; First Start: optimized qtisas view during first start; Compile/eFit: added new options; Other: many non-critical small improvements; new qtisas.zip : firstly uploaded; contains few fitting functions, many color maps, and two graph templates; Help Menu : added option to download qtisas.zip file


2019-08 Fortran Code integration is improved: functions containing Fortran functions SHOULD BE RECOMPILED


>2019-07 Strongly Improved fitting interface, logic, structure: functions SHOULD BE RECOMPILED


>2018-10 Modified Graph layer:

qtisas-2018-11-22-info.pdf
qtisas-news@2019-02-04@youtube

;


>2018-07 Fitting 1D and Compile interface is moved from qtikws to qtisas qtisas-get-first-simulated-curve.pd


>2013-06 QtiSAS project is started online (FZ-Jülich Hosting)

news.txt · Last modified: 2026/02/18 14:12 by Vitaliy Pipich