Grasp

Overview

"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)

GRASansP 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 GRASansP 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 GRASansP can be easily and almost seamlessly integrated into the general GRASansP interface without modification of main code.

  • Current Version:  8.04
  • Version Date:  10-04-2018
  • Development Environment:  MatlabTM (R2017b)
  • Supported Platforms (runtime version):  PC Windows, Linux, Mac
  • Supported Instrument Data: ILL: D11, D22 and D33, PSI SINQ: SANS I and SANSII; NIST: NG7 and NG3; ORNL: CG2, FRM2: SANS1 and KWS2

"GRASansP" Runtime Version

  • Stand-alone
  • No license required
  • FREE

Download according to your OS:

 

Latest Version:  Grasp_Barebones (V8.0)

Windows64bit_compiledR2017b (5MB)

Linux64bit_compiledR2017b (8MB)

[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]

Macintosh64bit_compiledR2017b (5MB)

[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]

NOTE:

You must download the Free MatlabTM Component Runtime Libraries ('MRCInstaller') in order to execute the compiled Grasp code.

MCRInstaller (Windows) - R2017b 64Bit
MCRInstaller (Linux) - R2017b 64Bit
MCRInstaller (Mac) - R2017b 64Bit

 

 

Old Version: Grasp V7.15 (March 2017)

Windows V7.15 R2014b compile 64bit (7MB)

Linux V7.15 R2014b compile 64bit (7MB)
[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]

m-code V7.15 (12MB)

 

NOTE:

You must download the Free MatlabTM Component Runtime Libraries ('MRCInstaller') in order to execute the compiled Grasp code.

MCRInstaller (PC) - R2014b 64Bit
MCRInstaller (Linux) - R2014b 64Bit
MCRInstaller (Mac) - R2014b 64Bit

"GRASansP" 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

Download

m-Code.zip 

Visit www.mathworks.com for MatlabTM information

"GRASP" Manual, Version (Apr 2003)

e.g. Colloidal Nano-Particle Crystals

Aims

  • Cobination of measurements at several q-ranges and instrument setting.
  • Absolute calibration of scattered intensity.

Experiment Overview

  • Instrument D11
  • Detector distances of: 2m, 8m, 36m
  • Collimation distances of: 2m, 8m, 36m
  • Wavelength:  10 angstroms
  • q-ranges:  0.11 to 0.022, 0.033 to 6*10-3, 8*10-3 to 8*10-4/angstrom

Scattering Measurements

Scattering

SampleEmpty Cell

Cadmium

2m

#6923#6927

#6929

8m

#6918#6922-

36m

#6907#6911-

    Transmission Measurements

    Transmission

    SampleEmpty Cell

    Direct Beam

    2m

    #6912#6916

    #6917

    8m

    --

    (missing)

    36m

    --

    #6930

      Calibration Measurements

      4m

      Water

      Empty Cell

      Cadmium

      Scattering 4m

      #6901#6902

      #6903

      Transmission

      #6904#6905

      #6906

        Download: Example 1

        Option 1

        Grasp Project with all data worksheets filled and derived beam centres and transmission values calculated as described above (needs unzipping first).
        ex1_project.zip

        Option 2

        A 'zip' of all the individual data files described above.  Download and unzip the raw data ready to load into Grasp.
        ex1_data.zip

          Data Reduction and Analysis Overview

          1. Analyze the water calibraration standard and calculate the detector efficiency map and calibration scalar. 
          2. Load the sample data into the allocated workspaces.  e.g. Load sample scattering, background and cadmium background into the allocated <fore>, <back> and <cadmium> worksheets.
            Use worksheet numbers <1>, <2> and <3> to store each data set measured at each instrument configuration i.e. 2m, 8m and 36m data. 
          3. Load the sample empty-beam data into the allocated workspaces. e.g. Load the empty beam data for the 2m, 8m, and 36m configurations into the <empty beam> <1>, <2> and <3> worksheets.
            Calculate the beam centre for each instrument configuration. 
          4. Load the sample transmission and empty cell transmission data into the allocated workspaces.  This only needs to be measured once for each sample and does not depend on the instrument configuration used.  Data can therefore be loaded into, for example, the <trans sample> and <trans empty> <1> worksheets.  The sample transmission, Ts, and empty cell transmission, Te, can then be calculated.  To apply these transmission values to all the data contained in all the worksheet numbers enable the 'Ts lock' and 'Te lock' check boxes.
          5. Enable the required calibration options:
            Solid Angle Corrections: taking into account the solid-angle subtended by each pixel in each case.
            Flux vs. Collimation Corrections:  
            taking into account the change in neutron flux at the sample position as the instrument collimation is varied to match the detector distance.  In principle this flux-collimation attenuation varies depending on the user's particular instrumental setup (wavelength, aperture sizes etc.).  On the other hand, an approximate data scaling can be implemented using the build in database measured for the instrument at all collimations and several wavelengths in a 'standard' experimental setup.
            Calibration to a Known-Standard:
            the calibration scalar provides the relative intensity of the calibration data as measure in it's particular instrument setup.
            Correcting for detector efficiency:
            simply divides the scattering data by the measured detector efficiency as determined by analysis of a 'flat scatterer'.  The detector efficiency has, by definition, a mean pixel value of 1 and therefore does not change the absolute intensity of the sample scattering data.
            In the present example we only have one Water calibration measurement.  This is even measured at a different instrument configuration to the rest of the sample scattering data.  This should not matter.  The Solid Angle and Flux-Collimation corrections described above should take care of all necessary data scaling.
          6. Data reduction and Analysis:
            in this case the isotropic scattering would usually be reduced to a calibrated 1D I vs. |q| plot.  Open the 'Averaging: Radial and Azimuthal' analysis window and perform an I vs. |q| operation for each of the data worksheets <1>, <2> and <3>.  The resulting data can be overlaid in the same output plot by enabling the 'hold' checkbox in the output plot window.

          Acknowledgement

          Many thanks to Thomas Hellweg for allowing this data to be used as Grasp example data.


          Last Modified 11 February 2008 by C. D. Dewhurst

            e.g. Superconducting Flux Line (Vortex) Lattice

            Aims

            • High resolution SANS measurements
            • Lattice structure, orientation and morphology
            • Rocking curves and integrated intensity of Bragg peaks
            • 2D Curve fitting

            Experiment Overview

            • Instrument: D22
            • Detector distance of: 17.6m
            • Collimation distances of: 17.6m
            • Wavelength: 10 angstroms
            • Additional Entrance Aperture: Att 6 (20mm)

            Vortex Lattice Scattering Measurements (T

            Rocking Curve Foreground:
            Sample Angle from -1 to 1, step 0.1

            #88144 : #88164 (21 files)

            Background Measurements (T>Tc)

            Rocking Curve Background:
            Sample Angle from -1 to 1, step 0.1

            #88526 : #88526 (21 files)

            Download: Example 2

            Option 1:
            Grasp Project with all data worksheets filled and derived beam centres and transmission values calculated as described above (needs unzipping first).
            ex2_project.zip

            Option 2:
            A 'zip' of all the individual data files described above.  Download and unzip the raw data ready to load into Grasp.
            ex2_data.zip
             

            Data Reduction and Analysis Overview

            1. Load the 'foreground' scattering from the Vortex Lattice rocking curve data into the <fore> <1> workspace 'depth'. 
              To fill load all the individual files into <fore> <1> but keep them separate for analysis as a function of sample angle use the ':' operator in the Numor Load string, e.g. '88144:88164'.
            2. Load the 'background' nuclear scattering from the sample above the superconducting transition temperature, Tc.  Again, the background rocking curve can be loaded into the 'depth' of worksheet <back> <1> using the ':' operator, e.g. '88526 :88546'.
            3. The resulting background subtracted image of the scattering from the Vortex Lattice can now be viewed and analyzed by selecting the worksheets to display, e.g. <fore> <1> <sum> - <back> <1> <sum>, in the worksheet selector.
            4. 2D Curve Fitting Example:  An accurate measure of the beam centre (centre of radial symmetry) for the diffraction image can be either measured directly by an attenuator measurement of the direct beam OR by calculation from the fitted diffraction spot positions of the symmetrical diffraction pattern.
              Open the 2D Curve Fitting Window and make a 2D curve fit to 2 pairs of Bragg peaks on opposite sides of the image.
            5. A 'User Module' has been written to calculate the beam centre from the coordinates and pairs of Bragg peaks, assuming a symmetric diffraction pattern.
              Open the user module 'FLL Beam Centre Calculator'.  As the Bragg peaks are fitted in turn, collect the spot co-ordinates in the beam centre calculator module.
              When you have fitted and collected the 2 pairs (4 spots) click 'Calculate' to calculate the new beam centre. This new value will be displayed in the user module window and also update the main beam centre value in the main display.
            6. From now on, with an accurate beam centre, radially symmetric analysis operations can be reliably be performed.  
              For example, to take a rocking curve of the two Bragg peaks on the horizontal axis, open the 'Sectors' analysis tool and place 2 opposing sectors (using the mirror tool) over the two Bragg peaks (see figure 1 above).  
              When positioned correctly grab the sector co-ordinates using the 'Sector Box' tool, enter the data file parameter that is changing though the depth series of data (e.g. sample angle = 65, temperature = 31) and click 'Do It' to extract box intensity as a function of sample environment parameter.
              In the example below a rocking curve of the left and right horizontal Bragg peaks is extracted, fitted to a Gaussian function and can be printed or data exported.

            Last Modified 11 January 2006 by C. D. Dewhurst

            e.g. Magnetically Saturated Soft Ferromagnetic Ribbon

            Aims

            • Separation of nuclear and magnetic scattering (as a function of |q|) in the saturated state.

            Experiment Overview

            • Instrument: D11

            Download

            Option 1:
            Grasp Project with all data worksheets filled and derived beam centres and transmission values calculated as described above (needs unzipping first).
            ex3_project.zip

            Option 2:
            A 'zip' of all the individual data files described above.  Download and unzip the raw data ready to load into Grasp.
            ex3_data.zip

            Magnetic Scattering

            Data Reduction and Analysis Overview

            Acknowledgement

            Many thanks to Gerald Badurek for allowing this data to be used as Grasp example data.


            Last Modified 26th March 2018 by C. D. Dewhurst

            GRASP
            by Charles Dewhurst
            Email: dewhurst(at)ill.eu

            Institut Laue Langevin
            Grenoble
            France

            GRASP

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