Grasp
"GRASP" is a MatlabTM script application designed for the graphical inspection, analysis and reduction of multi-detector data produced by the Small-Angle Neutron Scattering (SANS) instruments of the Institut Laue-Langevin (ILL).
GRASP deals with many of the diverse requirements for analysis and reduction of SANS data using a general set of tools and reduction algorithms. Data loaders for the ILL SANS instruments, D11, D22 and D33, as well as SANS instruments at other neutron sources, are included in the GRASP package. The architecture and coding of GRASP is continously developed with the aim to provide a general access to multi-detector and complex data set handling using the matrix handling abilities, graphics and other advantages of the Matlab™ environment.
The drive for producing such a suite of software came from the overwhelming need for a modern, complete and general-purpose package to deal with typical procedures required to reduce and analyse two-dimensional SANS multidetector data. By it’s very nature, two-dimensional data is often best appreciated in a graphical form. The birth of GRASP came from the need for graphical inspection and quick processing and extraction of the scattered intensity, I(q), as a function of position on the multidetector (qx,qy) or as a function of sample environment conditions from a series of many measurement runs (e.g. temperature sweep, rocking curve etc.).
- Modern, GUI oriented software suite
- Powerful graphical data display
- Emphasis on 2D multidetector data (anisotropic analysis)
- Easy background and calibration corrections to data
- Easy analysis and re-grouping of run number sequences for measurements with varying sample environment conditions. e.g. rocking curves, temperature scans, TOF and kinetic measurements
- 1D and 2D Graphical Export (eps, jpg, bmp, etc.)
- 1D and 2D Data Export (ASCII, NeXus)
GRASP is developing daily, responding to the needs, requests and bug-fixes noted by the growing number of SANS experimentalists who are using this SANS data reduction software.
Comments and suggestions for improvement are always welcome and should be e-mailed directly to dewhurst(at)ill.eu .
Having said this, as a disclaimer, it should be stated that it is not impossible that bugs and quirks may appear during operation of this software. I am confident at this stage, however, that any mathematical operations performed on data sets during reduction are correct with a corresponding accuracy in the propagation of experimental errors associated with each data set.
You ‘the user’ are instrumental in the continued development of GRASP by reporting bugs or suggestions for improvement. You are also encouraged to actively participate in the development of GRASansP to your specific needs. ‘User modules’ to tailor GRASP can be easily and almost seamlessly integrated into the general GRASP interface without modification of main code.
- Current Version: 10.39a
- Version Date: 15-01-2026
- Development Environment: MatlabTM (R2021b)
- Supported Platforms (runtime version): PC Windows, Linux, MacOS (Intex x86), MacOS (ARM 64)
- Supported Instrument Data: ILL: D11, D22, D22 SAXS, D33, SAM, D16, XtremeD, T13A, T13C, SONX; PSI SINQ: SANS I and SANSII; NIST: NG7 and NG3; ORNL: CG2, FRM2: SANS1, KWS1, KWS2, KWS3; ANSTO: Quokka
"GRASP" Runtime Version
- Stand-alone
- No license required
- FREE
Download according to your OS:
Latest Version: Grasp_Variant V10 (2025)
GUI elements of GRASP have been substantially modernised in a move away from the old Matlab 'guide' window handler to the new Matlab 'app designer' window handler. Graphic behaviour my be sligtly different than in previous version
Windows64bit_compiledR2021b (54MB)
Linux64bit_compiledR2021b (100MB)
[Note: Unzip the archive. In a command terminal navigate to the grasp_linux_compiled directory and run the 'go_grasp.sh' script by typing './go_grasp.sh' in the command terminal.
If problems, then please verify the path of the installed Matlab MCR runtime libraries in the go_grasp.sh script]
Macintosh Intel x86 64bit_compiledR2021b (94MB)
Macintosh ARM 64bit_compiledR2023b (185MB)
[Note: Mount the DMG file. In a command terminal navigate to /Volumes/grasp_mac_compiled/ and run the 'go_grasp.sh' script by typing './go_grasp.sh' in the command terminal.
If problems, then please verify the path of the installed Matlab MCR runtime libraries in the go_grasp.sh script]
Important: Macintosh security - It is becoming increasingly difficult to launch non Apple verified code on Macs, depending on the version of Mac OS. In some cases it is enough to try to open Grasp via double clicking the icon (which doesn't run Grasp correctly as it needs to be run from a terminal via the go_grasp.sh script) but allows a security exception. Then run grasp from a Terminal using the './go_grasp.sh' script.
For Mac OS Sonoma running on Apple Silicon M2 processor you should mount the DMG of the Grasp package then copy the contents into another (writeable) folder, e.g. /Desktop/Grasp. Run the './go_grasp.sh' script from this folder which now includes the statement 'xattr -cr grasp.app' to change the Grasp file attributes to allow Grasp to run from this unauthorsied developer (me). Hope this works all you Mac users.
Previous Version, n-1: Grasp_Variant V10 (2025)
In case of difficulties with the current compiled version (i.e. Charles messed something up and then went on holiday) you can download the previous 'n-1' version using the links below:
Windows64bit_compiledR2021b (54MB)
Linux64bit_compiledR2021b (100MB)
Macintosh Intel x86 64bit_compiledR2021b (94MB)
Macintosh ARM 64bit_compiledR2023b (185MB)
NOTE:
You must download the Free MatlabTM Component Runtime Libraries ('MRCInstaller') in order to execute the compiled Grasp code.
MCRInstaller (Windows) - R2021b 64Bit (3.6 GB)
MCRInstaller (Linux) - R2021b 64Bit (3.7 GB)
"GRASP" MATLAB-Code Version
- Platform independent code
- User configurable
- MatlabTM Command Line interface and data access
- Build User Modules and routines to interact with the main GRASP interface
- Add custom Fit Functions
- REQUIRES MATLABTM
Latest Version: Grasp_Variant V10 (2025)
Visit www.mathworks.com for MatlabTM information
Author Information
GRASP has been developed by Charles Dewhurst ( dewhurst(at)ill.eu) and:
Last Modified 2 August 2024 by C. Dewhurst
- is freely available for use and user contribution for non-commercial purposes.
- has been developed at the Institut Laue-Langevin (ILL) and remains copyright of the ILL.
- is provided free of charge, "as is", and with no warranty.