Difference between revisions of "Software"
KevinYager (talk | contribs) (→Reflectivity) |
KevinYager (talk | contribs) (→Data Viewing, Reduction, and Simple Analysis) |
||
Line 5: | Line 5: | ||
===Geared towards 2D data=== | ===Geared towards 2D data=== | ||
* '''Fit2D''': A well-known package for treatment and conversion 2D scattering images. | * '''Fit2D''': A well-known package for treatment and conversion 2D scattering images. | ||
+ | ** Citation: A. P. Hammersley [http://scripts.iucr.org/cgi-bin/paper?fs5107 FIT2D: a multi-purpose data reduction, analysis and visualization program] ''J. Appl. Cryst.'' '''2016''', 49. [http://dx.doi.org/10.1107/S1600576716000455 doi: 10.1107/S1600576716000455] | ||
** [http://www.esrf.eu/computing/scientific/FIT2D/ Official site.] | ** [http://www.esrf.eu/computing/scientific/FIT2D/ Official site.] | ||
** [http://staff.chess.cornell.edu/~smilgies/D-lineNotes/GISAXS-at-D-line/fit2d-GIXS-primer.html Fit2D primer.] | ** [http://staff.chess.cornell.edu/~smilgies/D-lineNotes/GISAXS-at-D-line/fit2d-GIXS-primer.html Fit2D primer.] |
Revision as of 12:18, 4 March 2016
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.
Contents
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.
- Citation: A. P. Hammersley FIT2D: a multi-purpose data reduction, analysis and visualization program J. Appl. Cryst. 2016, 49. doi: 10.1107/S1600576716000455
- Official site.
- Fit2D primer.
- Fit2D hints page.
- 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.
- NeXpy: Python GUI for working with the NeXus data format.
- 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.
- Citation: L. Yang, Using an in-vacuum CCD detector for simultaneous small- and wide-angle scattering at beamline X9 J. Synchrotron Rad. 2013, 20, 211. doi: 10.1107/S0909049512048984
- Official site.
- 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).
- Citation: Z. Jiang GIXSGUI: a MATLAB toolbox for grazing-incidence X-ray scattering data visualization and reduction, and indexing of buried three-dimensional periodic nanostructured films J. Appl. Cryst. 2015, 48, 3, 917-926. doi: 10.1107/S1600576715004434
- Official site.
- GISAXSshop: 2D visualization and reduction for GISAXS. Requires the Igor (Wavemetrics). Written by Byeongdu Lee (APS).
Geared towards 1D data
- NCNR SANS/USANS Package: Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.
- Citation: S.R. Kline Reduction and Analysis of SANS and USANS Data using Igor Pro, J. Appl. Cryst. 2006, 39, 6, 895. doi:10.1107/S0021889806035059
- Nika: Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.
- Indra 2: Reduction of USAXS data. Requires the commercial IgorPro software. Written for the 15ID instrument at APS.
- DPDAK: Open-source Python tool for analyzing large sets of SAXS data. Works on Linux and Windows.
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
- NCNR SANS/USANS Package: Can model form factors for many common object shapes in solution. Requires the commercial IgorPro software.
- Citation: S.R. Kline Reduction and Analysis of SANS and USANS Data using Igor Pro J. Appl. Cryst. 2006, 39, 6, 895. doi:10.1107/S0021889806035059
- SASView: Python code to model form factors. (Replacement for NIST Igor 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.
- 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 Scatter: software for the analysis of nano- and mesoscale small-angle scattering J. Appl. Cryst. 2010, 43, 639. doi: 10.1107/S0021889810008289
- Official site.
- SASFit: Combined fitting of 1D scattering curves.
- BayesApp.org: Online tool for estimating distribution functions from SAS data.
- Official site.
- Citation: Hansen Update for BayesApp: a web site for analysis of small-angle scattering data J. Appl. Cryst. 2014 doi: 10.1107/S1600576714013156
- SCT: Software to predict/fit small-angle scattering data from atomistic models of molecules and proteins.
- Citation: D. W. Wright and S. J. Perkins SCT: a suite of programs for comparing atomistic models with small-angle scattering data J. Appl. Cryst. 2015, 48 doi: 10.1107/S1600576715007062
- Official site.
- McSAS: Monte Carlo regression to fit small-angle scattering data using collections/distributions of particles.
- Official site.
- I. Bressler, B. R. Pauw and A. F. Thünemann Citation: McSAS: software for the retrieval of model parameter distributions from scattering patterns J. Appl. Cryst. 2015, 48, 962-969. doi: 10.1107/S1600576715007347
BioSAXS
- ScÅtter: Java-based application for SAXS analysis. Developed by Robert Rambo (Diamond Light Source); previously developed at the SIBYLS beamline (12.3.1) of the ALS.
- BioXTAS RAW: Simple program for performing 1D Guinier analysis for BioSAXS data. (Provided by CHESS.)
- 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 ATSAS 2.1, a program package for small-angle scattering data analysis J. Appl. Cryst. 2006, 39, 277. 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 New developments in the ATSAS program package for small-angle scattering data analysis J. Appl. Cryst. 2012, 45, 342, doi: 10.1107/S0021889812007662
- Official site.
- Biomachina: Visualization of low-resolution bead-based models of proteins from SAXS data.
- ScatterBrain: Cross-platform (Windows, OSX, Linux) IDL software, provided by Australian Synchrotron.
GISAXS
- IsGISAXS: GISAXS analysis and simulation software. Enables prediction of 2D scattering patterns, including the effects of DWBA and its variants. Written by Rémi Lazzari.
- Citation: R. Lazzari IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands J. Appl. Cryst. 2002, 35, 406-421. doi: 10.1107/S0021889802006088
- Official site.
- FitGISAXS: DWBA modeling. Requires commercial IgorPro software.
- NANOCELL: Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry
- Official site.
- Citation: Tate MP, Urade VN, Kowalski JD, Wei TC, Hamilton BD, Eggiman BW, Hillhouse HW 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. 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 Scientific Computing Group at MLZ Garching.
- Citation: C. Durniak, M. Ganeva, G. Pospelov, W. Van Herck, J. Wuttke (2015), BornAgain - Software for simulating and fitting X-ray and neutron small-angle scattering at grazing incidence, http://www.bornagainproject.org
- Official site.
- HipGISAXS: A high-performance (massively parallel) C++ software for simulating GISAXS data.
- Citation: S. Chourou, A. Sarje, X.S. Li, E. Chan, A. Hexemer, HipGISAXS: A High Performance Computing Code for Simulating Grazing Incidence X-Ray Scattering Data Journal of Applied Crystallography 2013, 46, 6, 1781-1795. doi: 10.1107/S0021889813025843
- Citation: A. Sarje, X.S. Li, S. Chourou, E. Chan, A. Hexemer, 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.
- Official site.
- SimDiffraction: Simulation of diffraction patterns.
- May be obtained by contacting Dag Werner Breiby, Dept. Physics, NTNU.
- Citation: D. W. Breiby, O. Bunk, J. W. Andreasen, H. T. Lemke and M. M. Nielsen Simulating X-ray diffraction of textured films J. Appl. Cryst. 2008, 41, 262-271. doi: 10.1107/S0021889808001064
- 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 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. doi: 10.1107/S1600576714022006
- Official site.
Reflectivity
- Reflfit: NIST software for fitting neutron (or x-ray) reflectivity curves.
- Motofit: Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.
- Citation: Nelson, A. Co-refinement of multiple contrast neutron / X-ray reflectivity data using MOTOFIT Journal of Applied Crystallography 2006, 39, 273-276. doi: 10.1107/S0021889806005073
- 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.
- GA refl: Simultaneous fitting of x-ray and neutron polarized reflectometry data.
- Simulreflec: Calculate reflectivity of magnetic multiplayer systems.
- AFIT: Fitting of reflectometry data. (download)
- Parratt32: Windows GUI implementing the Parratt formalism. (link)
- Drydoc and Wetdoc: Multiple contrast data fitting. (link)
- Surface: Analysis of specular reflectivity. (link)
- Polly: Polarized neutron reflectometry. (link)
- Superfit: Specular and diffuse neutron reflectivity. (link)
- GenX: Parratt formalism combined with genetic algorithm.
- Citation: Matts Björck and Gabriella Andersson GenX: an extensible X-ray reflectivity refinement program utilizing differential evolution J. Appl. Cryst. 2007, 40, 1174-1178. doi: 10.1107/S0021889807045086
- Official site.
- Aurore: Open source Matlab code for neutron reflectivity, including error estimates.
- Citation: Y. Gerelli Aurore: new software for neutron reflectivity data analysis J. Appl. Cryst. 2016, 49, 330-339. 10.1107/S1600576716000108
- Official site.
Crystallography
- IUCr Crystallographic software list
- X-ray Lab Crystallography Software list
- Sir2014: Crystal structure solving for small/medium structures, from x-ray or electron diffraction data.
- Official site.
- Citation: M. C. Burla, R. Caliandro, B. Carrozzini, G. L. Cascarano, C. Cuocci, C. Giacovazzo, M. Mallamo, A. Mazzone and G. Polidori Crystal structure determination and refinement via SIR2014 J. Appl. Cryst. 2015, 48, 306-309. doi: 10.1107/S1600576715001132
- SynchWeb & ISPyB: Web interface for tracking samples and data (focused on MX).
- Citation: S. J. Fisher, K. E. Levik, M. A. Williams, A. W. Ashton and K. E. McAuley SynchWeb: a modern interface for ISPyB J. Appl. Cryst. 2015, 28. doi: 10.1107/S1600576715004847
- GSAS: Open-source Python software for all types of crystallography studies.
- Toby, B. H., & Von Dreele, R. B. GSAS-II: the genesis of a modern open-source all purpose crystallography software package Journal of Applied Crystallography 2013, 46(2), 544-549. doi: 10.1107/S0021889813003531
- Official site.
Computing Materials Properties
- X-Ray Interactions With Matter: CXRO/LBL web-portal with various calculators for x-ray interaction parameters.
- NCNR: NIST Center for Neutron Research web-based calculator for Neutron Scattering Length Density and Absorption.
- pyFPRIME and ABSORB: APS software for computing approximate x-ray scattering cross sections.
- xraylib: x-ray elemental information (spectroscopic)
- Official site.
- Citation: The xraylib library for X-ray–matter interactions. Recent developments Spectrochimica Acta Part B: Atomic Spectroscopy 2011, 66 (11-12), 776-784. doi: 10.1016/j.sab.2011.09.011
- DANSE Periodic Table: Python library for x-ray and neutron elemental scattering 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).