Difference between revisions of "Software"

From GISAXS
Jump to: navigation, search
(Crystallography)
Line 22: Line 22:
 
===Geared towards 1D data===
 
===Geared towards 1D data===
 
* '''NCNR SANS/USANS Package''': Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.
 
* '''NCNR SANS/USANS Package''': Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.
** Citation: S.R. Kline "[http://www.ncnr.nist.gov/programs/sans/pdf/publications/0569.pdf Reduction and Analysis of SANS and USANS Data using Igor Pro]", ''J. Appl. Cryst.'' '''2006''', 39, 6, 895. [http://dx.doi.org/10.1107/S0021889806035059 doi:10.1107/S0021889806035059]
+
** Citation: S.R. Kline [http://www.ncnr.nist.gov/programs/sans/pdf/publications/0569.pdf Reduction and Analysis of SANS and USANS Data using Igor Pro], ''J. Appl. Cryst.'' '''2006''', 39, 6, 895. [http://dx.doi.org/10.1107/S0021889806035059 doi:10.1107/S0021889806035059]
 
* '''Nika''': Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.
 
* '''Nika''': Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.
 
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/nika.html Official site.]
 
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/nika.html Official site.]
Line 72: Line 72:
 
** [http://apps.jcns.fz-juelich.de/doku/sc/bornagain:start Official site.]
 
** [http://apps.jcns.fz-juelich.de/doku/sc/bornagain:start Official site.]
 
* '''[[HipGISAXS]]''': A high-performance (massively parallel) C++ software for simulating GISAXS data.
 
* '''[[HipGISAXS]]''': A high-performance (massively parallel) C++ software for simulating GISAXS data.
** Citation: S. Chourou, A. Sarje, X.S. Li, E. Chan, A. Hexemer, "[http://scripts.iucr.org/cgi-bin/paper?nb5076 HipGISAXS: A High Performance Computing Code for Simulating Grazing Incidence X-Ray Scattering Data]" ''Journal of Applied Crystallography'' '''2013''', 46, 6, 1781-1795. [http://dx.doi.org/10.1107/S0021889813025843 doi: 10.1107/S0021889813025843]
+
** Citation: S. Chourou, A. Sarje, X.S. Li, E. Chan, A. Hexemer, [http://scripts.iucr.org/cgi-bin/paper?nb5076 HipGISAXS: A High Performance Computing Code for Simulating Grazing Incidence X-Ray Scattering Data] ''Journal of Applied Crystallography'' '''2013''', 46, 6, 1781-1795. [http://dx.doi.org/10.1107/S0021889813025843 doi: 10.1107/S0021889813025843]
** Citation: A. Sarje, X.S. Li, S. Chourou, E. Chan, A. Hexemer, "[http://dl.acm.org/citation.cfm?id=2389059 Massively Parallel X-ray Scattering Simulations]" in Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (Supercomputing, SC'12), no. 46, pp. 46:1-46:11, November '''2012'''.
+
** Citation: A. Sarje, X.S. Li, S. Chourou, E. Chan, A. Hexemer, [http://dl.acm.org/citation.cfm?id=2389059 Massively Parallel X-ray Scattering Simulations] in Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (Supercomputing, SC'12), no. 46, pp. 46:1-46:11, November '''2012'''.
 
** [http://portal.nersc.gov/project/als/hipgisaxs/ Official site.]
 
** [http://portal.nersc.gov/project/als/hipgisaxs/ Official site.]
 
* '''SimDiffraction''': Simulation of diffraction patterns.
 
* '''SimDiffraction''': Simulation of diffraction patterns.
Line 86: Line 86:
 
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/ Official site.]
 
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/ Official site.]
 
* '''Motofit''': Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.
 
* '''Motofit''': Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.
** Citation: Nelson, A. [http://www.iucr.org/cgi-bin/paper?ce5001 "Co-refinement of multiple contrast neutron / X-ray reflectivity data using MOTOFIT."] ''Journal of Applied Crystallography'' '''2006''', 39, 273-276. [http://dx.doi.org/10.1107/S0021889806005073 doi: 10.1107/S0021889806005073]
+
** Citation: Nelson, A. [http://www.iucr.org/cgi-bin/paper?ce5001 Co-refinement of multiple contrast neutron / X-ray reflectivity data using MOTOFIT] ''Journal of Applied Crystallography'' '''2006''', 39, 273-276. [http://dx.doi.org/10.1107/S0021889806005073 doi: 10.1107/S0021889806005073]
 
** [http://motofit.sourceforge.net/ Official site.]
 
** [http://motofit.sourceforge.net/ Official site.]
 
* '''Yanera''': "Yet Another NEutron Reflectivity Analyzer", provides an open-source C++ implementation of the [[Parratt formalism]]. Written by Thad Harroun (Brock University), with contributions from [[Kevin Yager]].
 
* '''Yanera''': "Yet Another NEutron Reflectivity Analyzer", provides an open-source C++ implementation of the [[Parratt formalism]]. Written by Thad Harroun (Brock University), with contributions from [[Kevin Yager]].

Revision as of 10:01, 30 January 2015

A common question for new GISAXS users is: "What software can I use to analyze my data?" Unfortunately, there is no single package that will allow you to perform any possible analysis. This is in part due to the diversity of possible kinds of data analysis one might want to do on GISAXS or GIWAXS images. The following lists a variety of packages that are available.

Data Viewing, Reduction, and Simple Analysis

These packages provide ways to view data, and perform simple operations (linecuts, etc.).

Geared towards 2D data

  • Fit2D: A well-known package for treatment and conversion 2D scattering images.
  • Datasqueeze: Graphical tool for analyzing 2D detector images.
  • ImageJ: A generic tool for image treatment and analysis. Can be used to open and process x-ray detector images.
  • view.gtk: A simple interface for viewing 2D data, calibrating your data into q-space, and extracting linecuts. Written by Lin Yang for the X9 beamline at NSLS. Installation requires (free) GTK libraries.
  • pyXS: Python scripts (with C++ backend) for performing analysis of 2D data.
  • GIXSGUI: Visualization and reduction package for GISAXS. Requires the commerical Matlab software. Written by Zhang Jiang (APS).
  • GISAXSshop: 2D visualization and reduction for GISAXS. Requires the Igor (Wavemetrics). Written by Byeongdu Lee (APS).

Geared towards 1D data

Data Modeling and Fitting

These packages can predict scattering curves for various possible nano- or molecular- structures. Some of the packages allow fitting of experimental data.

SAXS

BioSAXS

GISAXS

Reflectivity

Crystallography

Computing Materials Properties

Custom

It is of course possible to code your own software for modeling or fitting scattering data. This is not as difficult as it may at first seem. The fundamental scattering equations are well-known (c.f. scattering, Fourier transform, Form Factor, Structure Factor, Lattice Factor), and can be brute-force solved numerical. Or, they can be solved (or simplified) analytically for a particular case. Many modern programming languages provide libraries for numerical integration, fitting, minimizing multi-dimensional parameter spaces, etc. (e.g. Python is particularly clean and powerful).

See Also