Difference between revisions of "Software"

From GISAXS
Jump to: navigation, search
(GISAXS)
(GISAXS)
Line 68: Line 68:
 
* '''NANOCELL''': Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry
 
* '''NANOCELL''': Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry
 
** [http://faculty.washington.edu/h2/simulation.html Official site.]
 
** [http://faculty.washington.edu/h2/simulation.html Official site.]
** Citation: Tate MP, Urade VN, Kowalski JD, Wei TC, Hamilton BD, Eggiman BW, Hillhouse HW [http://pubs.acs.org/doi/abs/10.1021/jp0566008 Simulation and interpretation of 2D diffraction patterns from self-assembled nanostructured films at arbitrary angles of incidence: from grazing incidence (above the critical angle) to transmission perpendicular to the substrate] ''J. Phys. Chem. B'' 2006, 110 (20), 9882–9892. [http://dx.doi.org/10.1021/jp0566008 doi: 10.1021/jp0566008]
+
** Citation: Tate MP, Urade VN, Kowalski JD, Wei TC, Hamilton BD, Eggiman BW, Hillhouse HW [http://pubs.acs.org/doi/abs/10.1021/jp0566008 Simulation and interpretation of 2D diffraction patterns from self-assembled nanostructured films at arbitrary angles of incidence: from grazing incidence (above the critical angle) to transmission perpendicular to the substrate] ''J. Phys. Chem. B'' '''2006''', 110 (20), 9882–9892. [http://dx.doi.org/10.1021/jp0566008 doi: 10.1021/jp0566008]
 
* '''[[BornAgain]]''': Python/C++ implementation of DWBA modeling (similar to IsGISAXS, but more modern and with lots of extensions). Allows for polarized [[GISANS]] and GISAXS simulation and fitting. Available on Linux, MacOS and Windows. Written by the [http://apps.jcns.fz-juelich.de/doku/sc/start Scientific Computing Group] at [http://www.mlz-garching.de/ MLZ Garching].
 
* '''[[BornAgain]]''': Python/C++ implementation of DWBA modeling (similar to IsGISAXS, but more modern and with lots of extensions). Allows for polarized [[GISANS]] and GISAXS simulation and fitting. Available on Linux, MacOS and Windows. Written by the [http://apps.jcns.fz-juelich.de/doku/sc/start Scientific Computing Group] at [http://www.mlz-garching.de/ MLZ Garching].
 
** [http://apps.jcns.fz-juelich.de/doku/sc/bornagain:start Official site.]
 
** [http://apps.jcns.fz-juelich.de/doku/sc/bornagain:start Official site.]

Revision as of 12:35, 28 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

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