Difference between revisions of "Software"

From GISAXS
Jump to: navigation, search
(See Also)
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 34: Line 34:
 
===[[SAXS]]===
 
===[[SAXS]]===
 
* '''NCNR SANS/USANS Package''': Can model form factors for many common object shapes in solution. Requires the commercial IgorPro software.
 
* '''NCNR SANS/USANS Package''': Can model form factors for many common object shapes in solution. 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]
 
* '''Irena''': Multiple tools for analyzing [[SAXS]], [[SANS]], [[USAXS]], and [[USANS]] data. Allows modeling of [[diffuse scattering]], form factors, reflectivity, etc. Requires the commercial IgorPro software.
 
* '''Irena''': Multiple tools for analyzing [[SAXS]], [[SANS]], [[USAXS]], and [[USANS]] data. Allows modeling of [[diffuse scattering]], form factors, reflectivity, etc. Requires the commercial IgorPro software.
 
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/irena.html Official site.]
 
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/irena.html Official site.]
 
* '''Scatter''': Targeted towards analysis of transmission-mode [[SAXS]] and [[SANS]]. Allows modeling of nano- and meso-structure materials (surfactants, lipids, micelles, vesicles, block-copolymers, etc.).
 
* '''Scatter''': Targeted towards analysis of transmission-mode [[SAXS]] and [[SANS]]. Allows modeling of nano- and meso-structure materials (surfactants, lipids, micelles, vesicles, block-copolymers, etc.).
** Citation: S. Förster, L. Apostol and W. Bras [http://scripts.iucr.org/cgi-bin/paper?S0021889810008289 Scatter: software for the analysis of nano- and mesoscale small-angle scattering] ''J. Appl. Cryst.'' 2010, 43, 639. [http://dx.doi.org/10.1107/S0021889810008289 doi: 10.1107/S0021889810008289]
+
** Citation: S. Förster, L. Apostol and W. Bras [http://scripts.iucr.org/cgi-bin/paper?S0021889810008289 Scatter: software for the analysis of nano- and mesoscale small-angle scattering] ''J. Appl. Cryst.'' '''2010''', 43, 639. [http://dx.doi.org/10.1107/S0021889810008289 doi: 10.1107/S0021889810008289]
 
** [http://www.pci.uni-bayreuth.de/rg_foerster/en/Software/index.html Official site.]
 
** [http://www.pci.uni-bayreuth.de/rg_foerster/en/Software/index.html Official site.]
 
* '''SASFit''': Combined fitting of 1D scattering curves.
 
* '''SASFit''': Combined fitting of 1D scattering curves.
Line 44: Line 44:
 
* '''BayesApp.org''': Online tool for estimating distribution functions from SAS data.
 
* '''BayesApp.org''': Online tool for estimating distribution functions from SAS data.
 
** [http://www.bayesapp.org/ Official site.]
 
** [http://www.bayesapp.org/ Official site.]
** Citation: Hansen [http://scripts.iucr.org/cgi-bin/paper?S1600576714013156 Update for BayesApp: a web site for analysis of small-angle scattering data] ''J. Appl. Cryst.'' 2014 [http://dx.doi.org/10.1107/S1600576714013156 doi: 10.1107/S1600576714013156]
+
** Citation: Hansen [http://scripts.iucr.org/cgi-bin/paper?S1600576714013156 Update for BayesApp: a web site for analysis of small-angle scattering data] ''J. Appl. Cryst.'' '''2014''' [http://dx.doi.org/10.1107/S1600576714013156 doi: 10.1107/S1600576714013156]
  
 
===[[BioSAXS]]===
 
===[[BioSAXS]]===
Line 52: Line 52:
 
** [http://bioxtasraw.sourceforge.net/ Official site], [http://sourceforge.net/projects/bioxtasraw/ download].
 
** [http://bioxtasraw.sourceforge.net/ Official site], [http://sourceforge.net/projects/bioxtasraw/ download].
 
* '''ATSAS''': A suite of tools for small-angle scattering data of biological macromolecules.
 
* '''ATSAS''': A suite of tools for small-angle scattering data of biological macromolecules.
** Citation: P. V. Konarev, M. V. Petoukhov, V. V. Volkov and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?S0021889806004699 ATSAS 2.1, a program package for small-angle scattering data analysis] ''J. Appl. Cryst.'' 2006, 39, 277. [http://dx.doi.org/10.1107/S0021889806004699 doi: 10.1107/S0021889806004699]
+
** Citation: P. V. Konarev, M. V. Petoukhov, V. V. Volkov and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?S0021889806004699 ATSAS 2.1, a program package for small-angle scattering data analysis] ''J. Appl. Cryst.'' '''2006''', 39, 277. [http://dx.doi.org/10.1107/S0021889806004699 doi: 10.1107/S0021889806004699]
** Citation: M. V. Petoukhov, D. Franke, A. V. Shkumatov, G. Tria, A. G. Kikhney, M. Gajda, C. Gorba, H. D. T. Mertens, P. V. Konarev and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?S0021889812007662 New developments in the ATSAS program package for small-angle scattering data analysis] ''J. Appl. Cryst.'' 2012, 45, 342, [http://dx.doi.org/10.1107/S0021889812007662 doi: 10.1107/S0021889812007662]
+
** Citation: M. V. Petoukhov, D. Franke, A. V. Shkumatov, G. Tria, A. G. Kikhney, M. Gajda, C. Gorba, H. D. T. Mertens, P. V. Konarev and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?S0021889812007662 New developments in the ATSAS program package for small-angle scattering data analysis] ''J. Appl. Cryst.'' '''2012''', 45, 342, [http://dx.doi.org/10.1107/S0021889812007662 doi: 10.1107/S0021889812007662]
 
** [http://www.embl-hamburg.de/biosaxs/software.html Official site.]
 
** [http://www.embl-hamburg.de/biosaxs/software.html Official site.]
 
* '''Biomachina''': Visualization of low-resolution bead-based models of proteins from SAXS data.
 
* '''Biomachina''': Visualization of low-resolution bead-based models of proteins from SAXS data.
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 79: Line 79:
 
** Citation: D. W. Breiby, O. Bunk, J. W. Andreasen, H. T. Lemke and M. M. Nielsen [http://scripts.iucr.org/cgi-bin/paper?S0021889808001064 Simulating X-ray diffraction of textured films]  ''J. Appl. Cryst.'' '''2008''', 41, 262-271. [http://dx.doi.org/10.1107/S0021889808001064 doi: 10.1107/S0021889808001064]
 
** Citation: D. W. Breiby, O. Bunk, J. W. Andreasen, H. T. Lemke and M. M. Nielsen [http://scripts.iucr.org/cgi-bin/paper?S0021889808001064 Simulating X-ray diffraction of textured films]  ''J. Appl. Cryst.'' '''2008''', 41, 262-271. [http://dx.doi.org/10.1107/S0021889808001064 doi: 10.1107/S0021889808001064]
 
* '''Diffraction Pattern Calculator (DPC) toolkit''': User-friendly GUI for determining [[unit-cell]] [[lattice]] parameters in [[GIWAXS]] data.
 
* '''Diffraction Pattern Calculator (DPC) toolkit''': User-friendly GUI for determining [[unit-cell]] [[lattice]] parameters in [[GIWAXS]] data.
** Citation: A.K. Hailey, A.M. Hiszpanski, D.-M. Smilgies and Y.-L. Loo [http://scripts.iucr.org/cgi-bin/paper?fs5084 The Diffraction Pattern Calculator (DPC) toolkit: a user-friendly approach to unit-cell lattice parameter identification of two-dimensional grazing-incidence wide-angle X-ray scattering data] ''Journal of Applied Crystallography'' 2014, 47. [http://dx.doi.org/10.1107/S1600576714022006 doi: 10.1107/S1600576714022006]
+
** Citation: A.K. Hailey, A.M. Hiszpanski, D.-M. Smilgies and Y.-L. Loo [http://scripts.iucr.org/cgi-bin/paper?fs5084 The Diffraction Pattern Calculator (DPC) toolkit: a user-friendly approach to unit-cell lattice parameter identification of two-dimensional grazing-incidence wide-angle X-ray scattering data] ''Journal of Applied Crystallography'' '''2014''', 47. [http://dx.doi.org/10.1107/S1600576714022006 doi: 10.1107/S1600576714022006]
 
** [http://www.princeton.edu/cbe/people/faculty/loo/group/software Official site.]
 
** [http://www.princeton.edu/cbe/people/faculty/loo/group/software Official site.]
  
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:33, 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

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