http://gisaxs.com/api.php?action=feedcontributions&user=KevinYager&feedformat=atomGISAXS - User contributions [en]2024-03-29T10:12:32ZUser contributionsMediaWiki 1.31.7http://gisaxs.com/index.php?title=Software&diff=6155Software2023-12-08T19:57:33Z<p>KevinYager: /* General EM field */</p>
<hr />
<div>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.<br />
<br />
==Data Viewing, Reduction, and Simple Analysis==<br />
These packages provide ways to view data, and perform simple operations (linecuts, etc.).<br />
===Geared towards 2D data===<br />
* '''Fit2D''': A well-known package for treatment and conversion 2D scattering images.<br />
** 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]<br />
** [http://www.esrf.eu/computing/scientific/FIT2D/ Official site.]<br />
** [http://staff.chess.cornell.edu/~smilgies/D-lineNotes/GISAXS-at-D-line/fit2d-GIXS-primer.html Fit2D primer.]<br />
** [http://g-line.chess.cornell.edu/G-lineStatus/G-lineManuals/CheatSheets/FIT2D_MAIN.html Fit2D hints page.]<br />
* '''Datasqueeze''': Graphical tool for analyzing 2D detector images.<br />
** [http://www.datasqueezesoftware.com/ Official site.]<br />
* '''ImageJ''': A generic tool for image treatment and analysis. Can be used to open and process x-ray detector images.<br />
** [http://rsb.info.nih.gov/ij/ Official site.]<br />
* '''NeXpy''': [[Python]] GUI for working with the [[NeXus data format]].<br />
** [https://nexpy.github.io/nexpy/ Official site.]<br />
* '''pycxdgui''': Very simple viewer for area images.<br />
** [https://github.com/CFN-softbio/pycxdgui Code available on github.]<br />
* '''[[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.<br />
** Citation: L. Yang, [http://journals.iucr.org/s/issues/2013/02/00/issconts.html Using an in-vacuum CCD detector for simultaneous small- and wide-angle scattering at beamline X9] ''J. Synchrotron Rad.'' '''2013''', 20, 211. [http://dx.doi.org/10.1107/S0909049512048984 doi: 10.1107/S0909049512048984]<br />
** [http://www.bnl.gov/ps/x9/software/view.asp Official site.]<br />
* '''[[pyXS]]''': Python scripts (with C++ backend) for performing analysis of 2D data.<br />
** [http://www.bnl.gov/ps/x9/software/pyXS.asp Official site.]<br />
* '''[[SciAnalysis]]''': Python scripts for analysis of 2D x-ray scattering data. Well-suited to batch analysis of many files.<br />
** [https://github.com/CFN-softbio/SciAnalysis Code available on github.]<br />
* '''[[GIXSGUI]]''': Visualization and reduction package for GISAXS. Requires the commerical Matlab software. Written by Zhang Jiang ([[APS]]).<br />
** Citation: Z. Jiang [http://scripts.iucr.org/cgi-bin/paper?S1600576715004434 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. [http://dx.doi.org/10.1107/S1600576715004434 doi: 10.1107/S1600576715004434]<br />
** [https://www.aps.anl.gov/Sector-8/8-ID/Operations-and-Schedules/Useful-Links/Sector-8-GIXSGUI Official site.]<br />
* '''[[GISAXSshop]]''': 2D visualization and reduction for GISAXS. Requires the Igor (Wavemetrics). Written by Byeongdu Lee ([[APS]]).<br />
** [https://sites.google.com/site/byeongdu/software Official site.]<br />
* '''Xi-Cam''': Robust GUI (pyQT based) and libraries for analyzing 2D scattering images. Developed at LBNL in connection with the [http://www.camera.lbl.gov/ CAMERA] project.<br />
** Citation: Pandolfi, R.J.; Hexemer, A.; et al. [http://journals.iucr.org/s/issues/2018/04/00/xe5032/index.html#BB14 Xi-cam: a versatile interface for data visualization and analysis] ''J. Syncr. Rad.'' '''2018''', 25 (4), 1261-1270. [https://doi.org/10.1107/S1600577518005787 doi: 10.1107/S1600577518005787]<br />
** [http://www.camera.lbl.gov/#!xi-cam-interface/z8vcm Official site.]<br />
<br />
===Geared towards 1D data===<br />
* '''NCNR SANS/USANS Package''': Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''Nika''': Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/nika.html Official site.]<br />
* '''Indra 2''': Reduction of USAXS data. Requires the commercial IgorPro software. Written for the 15ID instrument at [[APS]].<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/indra_2.html Official site.]<br />
* '''DPDAK''': Open-source Python tool for analyzing large sets of SAXS data. Works on Linux and Windows.<br />
** [https://dpdak.desy.de/index.php/Hauptseite Official site.]<br />
* '''SAS-cam''': SAXS data reduction, using the [https://bio.tools/sastbx SASTBX package].<br />
** Citation: H. Wu, Y. Li, G. Liu, H. Liu and N. Li [http://scripts.iucr.org/cgi-bin/paper?ei5058 SAS-cam: a program for automatic processing and analysis of small-angle scattering data] ''J. Appl. Cryst.'' '''2020''', 53, 1147-1153. [https://doi.org/10.1107/S1600576720008985 doi: 10.1107/S1600576720008985]<br />
<br />
==Data Modeling and Fitting==<br />
These packages can predict scattering curves for various possible nano- or molecular- structures. Some of the packages allow fitting of experimental data.<br />
===[[SAXS]]===<br />
* '''NCNR SANS/USANS Package''': Can model form factors for many common object shapes in solution. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''SASView''': [[Python]] code to model form factors. (Replacement for NIST Igor software.)<br />
** [http://www.sasview.org/ Official site.]<br />
* '''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.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/irena.html Official site.]<br />
* '''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.).<br />
** 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]<br />
** [http://www.pci.uni-bayreuth.de/rg_foerster/en/Software/index.html Official site.]<br />
* '''SASFit''': Combined fitting of 1D scattering curves.<br />
** [https://kur.web.psi.ch/sans1/SANSSoft/sasfit.html Official site.]<br />
* '''BayesApp.org''': Online tool for estimating distribution functions from SAS data.<br />
** [http://www.bayesapp.org/ Official site.]<br />
** 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]<br />
* '''SCT''': Software to predict/fit [[SAS|small-angle scattering]] data from atomistic models of molecules and proteins.<br />
** Citation: D. W. Wright and S. J. Perkins [http://scripts.iucr.org/cgi-bin/paper?po5031 SCT: a suite of programs for comparing atomistic models with small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48 [http://dx.doi.org/10.1107/S1600576715007062 doi: 10.1107/S1600576715007062]<br />
** [https://github.com/dww100/sct Official site.]<br />
* '''McSAS''': Monte Carlo regression to fit [[SAS|small-angle scattering]] data using collections/distributions of particles.<br />
** [http://mcsas.net/ Official site.]<br />
** I. Bressler, B. R. Pauw and A. F. Thünemann [http://scripts.iucr.org/cgi-bin/paper?vg5017 Citation: McSAS: software for the retrieval of model parameter distributions from scattering patterns] ''J. Appl. Cryst.'' '''2015''', 48, 962-969. [http://dx.doi.org/10.1107/S1600576715007347 doi: 10.1107/S1600576715007347]<br />
* '''pySAXS''': Package and GUI for SAXS analysis.<br />
** [http://iramis.cea.fr/en/Phocea/Vie_des_labos/Ast/ast_sstechnique.php?id_ast=1799 Official site.]<br />
* '''[[ScatterSim]]''': [[Python]] code for simulating the one-dimensional curve (circular average) for [[Lattices of nano-objects|nanoparticle superlattices]].<br />
** Citation: [[Yager, K.G.]]; Zhang, Y.; Lu, F.; Gang, O. "[http://scripts.iucr.org/cgi-bin/paper?S160057671302832X Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems]" ''Journal of Applied Crystallography'' '''2014''', 47, 118–129. [http://dx.doi.org/10.1107/S160057671302832X doi: 10.1107/S160057671302832X]<br />
*** See also [[Paper:Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems|summary of paper]].<br />
** [https://github.com/CFN-softbio/ScatterSim Code available on github.]<br />
<br />
===[[BioSAXS]]===<br />
* '''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]].<br />
** [http://www.bioisis.net/tutorial/9 Official site.]<br />
* '''BioXTAS RAW''': Simple program for performing 1D [[Guinier plot|Guinier analysis]] for [[BioSAXS]] data. (Provided by [[CHESS]].)<br />
** Citation: J. B. Hopkins, R. E. Gillilan and S. Skou [http://scripts.iucr.org/cgi-bin/paper?ge5036 BioXTAS RAW: improvements to a free open-source program for small-angle X-ray scattering data reduction and analysis] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717011438 doi: 10.1107/S1600576717011438]<br />
** [http://bioxtasraw.sourceforge.net/ Official site], [http://sourceforge.net/projects/bioxtasraw/ download].<br />
* '''[[ATSAS]]''': A suite of tools for small-angle scattering data of biological macromolecules.<br />
** 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]<br />
** 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]<br />
** Citation: D. Franke, M. V. Petoukhov, P. V. Konarev, A. Panjkovich, A. Tuukkanen, H. D. T. Mertens, A. G. Kikhney, N. R. Hajizadeh, J. M. Franklin, C. M. Jeffries and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?ge5042 ATSAS 2.8: a comprehensive data analysis suite for small-angle scattering from macromolecular solutions] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717007786 doi: 10.1107/S1600576717007786]<br />
** [http://www.embl-hamburg.de/biosaxs/software.html Official site.]<br />
* '''Biomachina''': Visualization of low-resolution bead-based models of proteins from SAXS data.<br />
** [http://situs.biomachina.org/tutorial_saxs.html#visual Official site.]<br />
* '''ScatterBrain''': Cross-platform (Windows, OSX, Linux) IDL software, provided by Australian Synchrotron.<br />
** [http://www.synchrotron.org.au/index.php/aussyncbeamlines/saxswaxs/software-saxswaxs Official site.]<br />
<br />
===[[GISAXS]]===<br />
* '''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.<br />
** Citation: R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
** [http://www.insp.jussieu.fr/oxydes/IsGISAXS/isgisaxs.htm Official site.]<br />
* '''FitGISAXS''': DWBA modeling. Requires commercial IgorPro software.<br />
** Citation: Babonneau, D. [http://scripts.iucr.org/cgi-bin/paper?hx5104 FitGISAXS: software package for modelling and analysis of GISAXS data using IGOR Pro] ''J. Appl. Cryst.'' '''2010''', 43(4), 929–936. [https://doi.org/10.1107/S0021889810020352 doi: 10.1107/S0021889810020352]<br />
** [http://www.pprime.fr/?q=fr/nanoparticules-nanostructures Official site.]<br />
* '''NANOCELL''': Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry<br />
** [http://faculty.washington.edu/h2/simulation.html Official site.]<br />
** 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]<br />
* '''[[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].<br />
** 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<br />
** Citation: G. Pospelov, W. Van Herck, J. Burle, J. M. Carmona Loaiza, C. Durniak, J. M. Fisher, M. Ganeva, D. Yurov and J. Wuttke [https://scripts.iucr.org/cgi-bin/paper?ge5067 BornAgain: software for simulating and fitting grazing-incidence small-angle scattering] ''J. Appl. Cryst.'' '''2020''', 53, 262-276. [https://doi.org/10.1107/S1600576719016789 doi: 10.1107/S1600576719016789]<br />
** [http://www.bornagainproject.org/ Official site.]<br />
* '''[[HipGISAXS]]''': A high-performance (massively parallel) C++ software for simulating GISAXS data.<br />
** 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]<br />
** 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'''.<br />
** [http://portal.nersc.gov/project/als/hipgisaxs/ Official site.]<br />
* '''SimDiffraction''': Simulation of diffraction patterns.<br />
** May be obtained by contacting [http://www.ntnu.edu/employees/dag.breiby Dag Werner Breiby], Dept. Physics, NTNU.<br />
** 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]<br />
* '''Diffraction Pattern Calculator (DPC) toolkit''': User-friendly GUI for determining [[unit-cell]] [[lattice]] parameters in [[GIWAXS]] data.<br />
** 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]<br />
** [http://www.princeton.edu/cbe/people/faculty/loo/group/software Official site.]<br />
* '''Indexing''': Python code for overlaying peak positions for a particular unit cell on a detector image.<br />
** Code available on [https://github.com/esther279/Indexing github].<br />
<br />
===[[Reflectivity]]===<br />
* '''Reflfit''': NIST software for fitting neutron (or x-ray) reflectivity curves.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/ Official site.]<br />
* '''Motofit''': Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.<br />
** 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]<br />
** [http://motofit.sourceforge.net/ Official site.]<br />
* '''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]].<br />
** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.]<br />
* '''GA refl''': Simultaneous fitting of x-ray and neutron polarized reflectometry data.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/garefl.html Official site.]<br />
* '''Simulreflec''': Calculate reflectivity of magnetic multiplayer systems.<br />
** [http://www-llb.cea.fr/prism/programs/simulreflec/simulreflec.html Official site.]<br />
* '''AFIT''': Fitting of reflectometry data. ([http://physchem.ox.ac.uk/%7erkt/AFit.zip download])<br />
* '''Parratt32''': Windows GUI implementing the Parratt formalism. ([http://www.hmi.de/bensc/instrumentation/instrumente/v6/refl/parratt_en.htm link])<br />
* '''Drydoc and Wetdoc''': Multiple contrast data fitting. ([http://www.studsvik.uu.se/research/NR/drydoc.htm link])<br />
* '''Surface''': Analysis of specular reflectivity. ([http://www.isis.rl.ac.uk/largescale/SURF/technical/surface.htm link])<br />
* '''Polly''': Polarized neutron reflectometry. ([http://www.isis.rl.ac.uk/largescale/CRISP/downloads/POLLY/reg_form.htm link])<br />
* '''Superfit''': Specular and diffuse neutron reflectivity. ([http://www.mf.mpg.de/en/abteilungen/dosch/software/software_en.shtml link])<br />
* '''GenX''': Parratt formalism combined with genetic algorithm.<br />
** Citation: Matts Björck and Gabriella Andersson [http://journals.iucr.org/j/issues/2007/06/00/aj5091/aj5091bdy.html GenX: an extensible X-ray reflectivity refinement program utilizing differential evolution] ''J. Appl. Cryst.'' '''2007''', 40, 1174-1178. [http://dx.doi.org/10.1107/S0021889807045086 doi: 10.1107/S0021889807045086 ]<br />
** [http://genx.sourceforge.net/ Official site.]<br />
* '''Aurore''': Open source Matlab code for neutron reflectivity, including error estimates.<br />
** Citation: Y. Gerelli [http://scripts.iucr.org/cgi-bin/paper?rg5094 Aurore: new software for neutron reflectivity data analysis] ''J. Appl. Cryst.'' '''2016''', 49, 330-339. [http://dx.doi.org/10.1107/S1600576716000108 doi: 10.1107/S1600576716000108]<br />
** [https://sourceforge.net/projects/aurorenr/ Official site.]<br />
* '''Web Reflectivity Calculator''': Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity.<br />
** [https://www.ncnr.nist.gov/instruments/magik/calculators/reflectivity-calculator.html Available online.]<br />
** Citation: Brian B. Maranville [http://nvlpubs.nist.gov/nistpubs/jres/122/jres.122.034.pdf Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity] ''Journal of Research of National Institute of Standards and Technology'' '''2017''', 122, 1-6. [https://doi.org/10.6028/jres.122.034 doi: 10.6028/jres.122.034]<br />
* '''refnx''': Python reflectivity code.<br />
** [https://github.com/refnx/refnx Available on github]<br />
** Citation: A.R.J. Nelson and S.W. Prescott [http://scripts.iucr.org/cgi-bin/paper?rg5158 refnx: neutron and X-ray reflectometry analysis in Python] ''J. Appl. Cryst.'' '''2019'''. [https://doi.org/10.1107/S1600576718017296 doi: 10.1107/S1600576718017296]<br />
* '''Multifitting''': Reflectivity calculations for multilayer systems<br />
** Citation: M. Svechnikov [http://scripts.iucr.org/cgi-bin/paper?te5051 Multifitting: software for the reflectometric reconstruction of multilayer nanofilms] ''J. Appl. Cryst.'' '''2019''' [https://doi.org/10.1107/S160057671901584X doi: 10.1107/S160057671901584X]<br />
<br />
===[[Crystallography]]===<br />
* [http://www.iucr.org/resources/other-directories/software IUCr Crystallographic software list]<br />
* [http://biophysics.med.jhmi.edu/cgi-bin/software/software_list?category=crystallography X-ray Lab Crystallography Software list]<br />
* '''Sir2014''': Crystal structure solving for small/medium structures, from [[x-ray]] or [[electron]] diffraction data.<br />
** [http://wwwba.ic.cnr.it/content/sir2011-v10 Official site.]<br />
** Citation: M. C. Burla, R. Caliandro, B. Carrozzini, G. L. Cascarano, C. Cuocci, C. Giacovazzo, M. Mallamo, A. Mazzone and G. Polidori [http://scripts.iucr.org/cgi-bin/paper?kk5193 Crystal structure determination and refinement via SIR2014] ''J. Appl. Cryst.'' '''2015''', 48, 306-309. [http://dx.doi.org/10.1107/S1600576715001132 doi: 10.1107/S1600576715001132]<br />
* '''SynchWeb & ISPyB''': Web interface for tracking samples and data (focused on [[MX]]).<br />
** Citation: S. J. Fisher, K. E. Levik, M. A. Williams, A. W. Ashton and K. E. McAuley [http://scripts.iucr.org/cgi-bin/paper?fs5101 SynchWeb: a modern interface for ISPyB] ''J. Appl. Cryst.'' '''2015''', 28. [http://dx.doi.org/10.1107/S1600576715004847 doi: 10.1107/S1600576715004847]<br />
* '''GSAS''': Open-source [[Python]] software for all types of crystallography studies.<br />
** Toby, B. H., & Von Dreele, R. B. [http://scripts.iucr.org/cgi-bin/paper?S0021889813003531 GSAS-II: the genesis of a modern open-source all purpose crystallography software package] ''Journal of Applied Crystallography'' '''2013''', 46(2), 544-549. [http://dx.doi.org/10.1107/S0021889813003531 doi: 10.1107/S0021889813003531]<br />
** [https://subversion.xor.aps.anl.gov/trac/pyGSAS Official site.]<br />
* '''Jana2006''': Reconstruct electron density modulation from powder or single-crystal data.<br />
** Citations: Petricek, V., Dusek, M. & Palatinus, L. Crystallographic Computing System JANA2006: General features ''Z. Kristallogr.'' '''2014''', 229(5), 345-352. [10.1515/zkri-2014-1737 doi: 10.1515/zkri-2014-1737]<br />
** [http://jana.fzu.cz/ Official site.]<br />
* '''τompas''': TEM online multi-purpose analyzing system<br />
** Citation: R.-X. Xie and W.-Z. Zhang [http://scripts.iucr.org/cgi-bin/paper?ks5644 τompas: a free and integrated tool for online crystallographic analysis in transmission electron microscopy] ''J. Appl. Cryst.'' '''2020''', 53. [https://doi.org/10.1107/S1600576720000801 doi: 10.1107/S1600576720000801]<br />
* '''UnitCell Tools''': Determine unit-cell parameters from a single electron diffraction pattern.<br />
** Citation: Hong-Long Shi and Zi-An Li [https://journals.iucr.org/m/issues/2021/05/00/gq5014/index.html UnitCell Tools, a package to determine unit-cell parameters from a single electron diffraction pattern] ''IUCrJ'' '''2020''' [https://doi.org/10.1107/S2052252521007867 doi: 10.1107/S2052252521007867]<br />
<br />
===Wave/Matter interaction===<br />
====X-rays====<br />
These software packages directly simulation the propagation of an EM field, and/or the interaction between EM waves and material:<br />
* '''SRW''' (Synchrotron Radiation Workshop): Fast numerical simulation of near-field and far-field of radiation generated by electron beams traveling through magnetic fields. I.e. can be used to simulate x-ray emission from [[synchrotron]] sources (e.g. [[undulator]]).<br />
** [https://www.esrf.fr/Accelerators/Groups/InsertionDevices/Software/SRW Official site.]<br />
* '''Shadow''': X-ray optics simulation package for coherent x-ray wavefront propagation simulations.<br />
** Citation: Niccolo Canestrari, Oleg Chubar and Manuel Sanchez del Rio [https://iopscience.iop.org/article/10.1088/1742-6596/425/16/162007 Improved models for synchrotron radiation sources in SHADOW] ''J. Phys.: Conf. Ser.'' '''2013''', 425 162007. [http://dx.doi.org/10.1088/1742-6596/425/16/162007 doi: 10.1088/1742-6596/425/16/162007]<br />
* '''WPG''' (WavePropaGator): Software package for simulating coherent and partially coherent X-ray wavefront propagation, especially intended for simulating [[XFEL]]<br />
** [https://wpg.readthedocs.io/en/stable/wpg.html Docs.]<br />
** [https://github.com/samoylv/WPG Code.]<br />
====General EM field====<br />
* [https://github.com/flaport/fdtd Python 3D FDTD Simulator]<br />
* [https://github.com/kc-ml2/meent Meent]<br />
* [https://github.com/stefanmeili/FastFD FastFD]<br />
<br />
==Computing [[Materials]] Properties==<br />
* '''X-Ray Interactions With Matter''': CXRO/LBL web-portal with various calculators for x-ray interaction parameters.<br />
** [http://henke.lbl.gov/optical_constants/ Official site].<br />
* '''NCNR''': NIST Center for Neutron Research web-based calculator for Neutron [[SLD|Scattering Length Density]] and [[Absorption]].<br />
** [http://www.ncnr.nist.gov/resources/activation/ Official site].<br />
* '''pyFPRIME and ABSORB''': [[APS]] software for computing approximate x-ray scattering cross sections.<br />
** [https://subversion.xor.aps.anl.gov/trac/pyFprime/ Official site].<br />
* '''xraylib''': x-ray elemental information (spectroscopic)<br />
** [https://github.com/tschoonj/xraylib/wiki Official site].<br />
** Citation: [http://www.sciencedirect.com/science/article/pii/S0584854711001984 The xraylib library for X-ray–matter interactions. Recent developments] ''Spectrochimica Acta Part B: Atomic Spectroscopy'' '''2011''', 66 (11-12), 776-784. [http://dx.doi.org/10.1016/j.sab.2011.09.011 doi: 10.1016/j.sab.2011.09.011]<br />
* '''DANSE Periodic Table''': Python library for x-ray and neutron elemental scattering properties.<br />
** [http://www.reflectometry.org/danse/elements.html Official site].<br />
* '''MultiSciView''': Web-based tool for looking at arbitrary arrays of 2D image data. Convenient for looking at scattering images arranged based on metadata (coordinates, annealing history, etc.).<br />
** Citation: [https://www.sciencedirect.com/science/article/pii/S2468502X18300093 MultiSciView: Multivariate Scientific X-ray Image Visual Exploration with Cross-Data Space Views] ''Visual Informatics'' '''2018''', 1(2), 14-25 [http://dx.doi.org/10.1016/j.visinf.2018.04.003 doi: 10.1016/j.visinf.2018.04.003]<br />
<br />
==Synchrotron==<br />
* '''[https://github.com/silx-kit/silx SILX]''': Data reading/writing for synchrotron data formats.<br />
* '''[https://nsls-ii.github.io/bluesky/ BlueSky]''': Instrument control, including data saving into a database and access via databroker.<br />
<br />
==General==<br />
* '''SciStreams''': Simple workflow/pipeline software (building on [http://dask.pydata.org/en/latest/ Dask] and [https://github.com/mrocklin/streams Streams]), intended for asynchronous and distributed computations at a beamline.<br />
** [https://github.com/CFN-softbio/SciStreams Code available on github.]<br />
* '''ParaView''': Generalized GUI for visualizing scientific data, such as 3D images (uses [[Python]] and QT).<br />
** [http://www.paraview.org/ Official site.]<br />
* '''Mantid''': Framework for computing and visualizing materials science data.<br />
** [http://www.mantidproject.org/Main_Page Official site.]<br />
** Citation: O. Arnold, et al., Mantid—Data analysis and visualization package for neutron scattering and μSR experiments, Nuclear Instruments and Methods in Physics Research Section A, Volume 764, 11 November 2014, Pages 156-166. [http://dx.doi.org/10.1016/j.nima.2014.07.029 doi: 10.1016/j.nima.2014.07.029]<br />
* '''DAWN''' (Data Analysis WorkbeNch): An application (based on Eclipse) for general scientific data analysis. It is mainly developed by the [http://www.diamond.ac.uk/Home.html Diamond Light Source] and is well-optimized for analysis of x-ray data, including [[SAXS]]-specific features.<br />
** [http://dawnsci.org/ Official site.]<br />
<br />
==Custom==<br />
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 numerically. 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).<br />
<br />
==See Also==<br />
* [http://smallangle.org/content/software#Reduction-Visualisation SAS Portal Software List]<br />
* [http://www.ccp14.ac.uk/recomm/ Resources for Crystallographic Software Developers]<br />
* [[Data formats]]<br />
** [[NeXus data format]]<br />
* [[NSLS-II Control Software]]<br />
* [[NSLS-II Analysis Software]]</div>KevinYagerhttp://gisaxs.com/index.php?title=Software&diff=6154Software2023-12-08T19:56:51Z<p>KevinYager: /* General EM field */</p>
<hr />
<div>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.<br />
<br />
==Data Viewing, Reduction, and Simple Analysis==<br />
These packages provide ways to view data, and perform simple operations (linecuts, etc.).<br />
===Geared towards 2D data===<br />
* '''Fit2D''': A well-known package for treatment and conversion 2D scattering images.<br />
** 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]<br />
** [http://www.esrf.eu/computing/scientific/FIT2D/ Official site.]<br />
** [http://staff.chess.cornell.edu/~smilgies/D-lineNotes/GISAXS-at-D-line/fit2d-GIXS-primer.html Fit2D primer.]<br />
** [http://g-line.chess.cornell.edu/G-lineStatus/G-lineManuals/CheatSheets/FIT2D_MAIN.html Fit2D hints page.]<br />
* '''Datasqueeze''': Graphical tool for analyzing 2D detector images.<br />
** [http://www.datasqueezesoftware.com/ Official site.]<br />
* '''ImageJ''': A generic tool for image treatment and analysis. Can be used to open and process x-ray detector images.<br />
** [http://rsb.info.nih.gov/ij/ Official site.]<br />
* '''NeXpy''': [[Python]] GUI for working with the [[NeXus data format]].<br />
** [https://nexpy.github.io/nexpy/ Official site.]<br />
* '''pycxdgui''': Very simple viewer for area images.<br />
** [https://github.com/CFN-softbio/pycxdgui Code available on github.]<br />
* '''[[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.<br />
** Citation: L. Yang, [http://journals.iucr.org/s/issues/2013/02/00/issconts.html Using an in-vacuum CCD detector for simultaneous small- and wide-angle scattering at beamline X9] ''J. Synchrotron Rad.'' '''2013''', 20, 211. [http://dx.doi.org/10.1107/S0909049512048984 doi: 10.1107/S0909049512048984]<br />
** [http://www.bnl.gov/ps/x9/software/view.asp Official site.]<br />
* '''[[pyXS]]''': Python scripts (with C++ backend) for performing analysis of 2D data.<br />
** [http://www.bnl.gov/ps/x9/software/pyXS.asp Official site.]<br />
* '''[[SciAnalysis]]''': Python scripts for analysis of 2D x-ray scattering data. Well-suited to batch analysis of many files.<br />
** [https://github.com/CFN-softbio/SciAnalysis Code available on github.]<br />
* '''[[GIXSGUI]]''': Visualization and reduction package for GISAXS. Requires the commerical Matlab software. Written by Zhang Jiang ([[APS]]).<br />
** Citation: Z. Jiang [http://scripts.iucr.org/cgi-bin/paper?S1600576715004434 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. [http://dx.doi.org/10.1107/S1600576715004434 doi: 10.1107/S1600576715004434]<br />
** [https://www.aps.anl.gov/Sector-8/8-ID/Operations-and-Schedules/Useful-Links/Sector-8-GIXSGUI Official site.]<br />
* '''[[GISAXSshop]]''': 2D visualization and reduction for GISAXS. Requires the Igor (Wavemetrics). Written by Byeongdu Lee ([[APS]]).<br />
** [https://sites.google.com/site/byeongdu/software Official site.]<br />
* '''Xi-Cam''': Robust GUI (pyQT based) and libraries for analyzing 2D scattering images. Developed at LBNL in connection with the [http://www.camera.lbl.gov/ CAMERA] project.<br />
** Citation: Pandolfi, R.J.; Hexemer, A.; et al. [http://journals.iucr.org/s/issues/2018/04/00/xe5032/index.html#BB14 Xi-cam: a versatile interface for data visualization and analysis] ''J. Syncr. Rad.'' '''2018''', 25 (4), 1261-1270. [https://doi.org/10.1107/S1600577518005787 doi: 10.1107/S1600577518005787]<br />
** [http://www.camera.lbl.gov/#!xi-cam-interface/z8vcm Official site.]<br />
<br />
===Geared towards 1D data===<br />
* '''NCNR SANS/USANS Package''': Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''Nika''': Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/nika.html Official site.]<br />
* '''Indra 2''': Reduction of USAXS data. Requires the commercial IgorPro software. Written for the 15ID instrument at [[APS]].<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/indra_2.html Official site.]<br />
* '''DPDAK''': Open-source Python tool for analyzing large sets of SAXS data. Works on Linux and Windows.<br />
** [https://dpdak.desy.de/index.php/Hauptseite Official site.]<br />
* '''SAS-cam''': SAXS data reduction, using the [https://bio.tools/sastbx SASTBX package].<br />
** Citation: H. Wu, Y. Li, G. Liu, H. Liu and N. Li [http://scripts.iucr.org/cgi-bin/paper?ei5058 SAS-cam: a program for automatic processing and analysis of small-angle scattering data] ''J. Appl. Cryst.'' '''2020''', 53, 1147-1153. [https://doi.org/10.1107/S1600576720008985 doi: 10.1107/S1600576720008985]<br />
<br />
==Data Modeling and Fitting==<br />
These packages can predict scattering curves for various possible nano- or molecular- structures. Some of the packages allow fitting of experimental data.<br />
===[[SAXS]]===<br />
* '''NCNR SANS/USANS Package''': Can model form factors for many common object shapes in solution. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''SASView''': [[Python]] code to model form factors. (Replacement for NIST Igor software.)<br />
** [http://www.sasview.org/ Official site.]<br />
* '''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.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/irena.html Official site.]<br />
* '''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.).<br />
** 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]<br />
** [http://www.pci.uni-bayreuth.de/rg_foerster/en/Software/index.html Official site.]<br />
* '''SASFit''': Combined fitting of 1D scattering curves.<br />
** [https://kur.web.psi.ch/sans1/SANSSoft/sasfit.html Official site.]<br />
* '''BayesApp.org''': Online tool for estimating distribution functions from SAS data.<br />
** [http://www.bayesapp.org/ Official site.]<br />
** 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]<br />
* '''SCT''': Software to predict/fit [[SAS|small-angle scattering]] data from atomistic models of molecules and proteins.<br />
** Citation: D. W. Wright and S. J. Perkins [http://scripts.iucr.org/cgi-bin/paper?po5031 SCT: a suite of programs for comparing atomistic models with small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48 [http://dx.doi.org/10.1107/S1600576715007062 doi: 10.1107/S1600576715007062]<br />
** [https://github.com/dww100/sct Official site.]<br />
* '''McSAS''': Monte Carlo regression to fit [[SAS|small-angle scattering]] data using collections/distributions of particles.<br />
** [http://mcsas.net/ Official site.]<br />
** I. Bressler, B. R. Pauw and A. F. Thünemann [http://scripts.iucr.org/cgi-bin/paper?vg5017 Citation: McSAS: software for the retrieval of model parameter distributions from scattering patterns] ''J. Appl. Cryst.'' '''2015''', 48, 962-969. [http://dx.doi.org/10.1107/S1600576715007347 doi: 10.1107/S1600576715007347]<br />
* '''pySAXS''': Package and GUI for SAXS analysis.<br />
** [http://iramis.cea.fr/en/Phocea/Vie_des_labos/Ast/ast_sstechnique.php?id_ast=1799 Official site.]<br />
* '''[[ScatterSim]]''': [[Python]] code for simulating the one-dimensional curve (circular average) for [[Lattices of nano-objects|nanoparticle superlattices]].<br />
** Citation: [[Yager, K.G.]]; Zhang, Y.; Lu, F.; Gang, O. "[http://scripts.iucr.org/cgi-bin/paper?S160057671302832X Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems]" ''Journal of Applied Crystallography'' '''2014''', 47, 118–129. [http://dx.doi.org/10.1107/S160057671302832X doi: 10.1107/S160057671302832X]<br />
*** See also [[Paper:Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems|summary of paper]].<br />
** [https://github.com/CFN-softbio/ScatterSim Code available on github.]<br />
<br />
===[[BioSAXS]]===<br />
* '''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]].<br />
** [http://www.bioisis.net/tutorial/9 Official site.]<br />
* '''BioXTAS RAW''': Simple program for performing 1D [[Guinier plot|Guinier analysis]] for [[BioSAXS]] data. (Provided by [[CHESS]].)<br />
** Citation: J. B. Hopkins, R. E. Gillilan and S. Skou [http://scripts.iucr.org/cgi-bin/paper?ge5036 BioXTAS RAW: improvements to a free open-source program for small-angle X-ray scattering data reduction and analysis] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717011438 doi: 10.1107/S1600576717011438]<br />
** [http://bioxtasraw.sourceforge.net/ Official site], [http://sourceforge.net/projects/bioxtasraw/ download].<br />
* '''[[ATSAS]]''': A suite of tools for small-angle scattering data of biological macromolecules.<br />
** 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]<br />
** 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]<br />
** Citation: D. Franke, M. V. Petoukhov, P. V. Konarev, A. Panjkovich, A. Tuukkanen, H. D. T. Mertens, A. G. Kikhney, N. R. Hajizadeh, J. M. Franklin, C. M. Jeffries and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?ge5042 ATSAS 2.8: a comprehensive data analysis suite for small-angle scattering from macromolecular solutions] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717007786 doi: 10.1107/S1600576717007786]<br />
** [http://www.embl-hamburg.de/biosaxs/software.html Official site.]<br />
* '''Biomachina''': Visualization of low-resolution bead-based models of proteins from SAXS data.<br />
** [http://situs.biomachina.org/tutorial_saxs.html#visual Official site.]<br />
* '''ScatterBrain''': Cross-platform (Windows, OSX, Linux) IDL software, provided by Australian Synchrotron.<br />
** [http://www.synchrotron.org.au/index.php/aussyncbeamlines/saxswaxs/software-saxswaxs Official site.]<br />
<br />
===[[GISAXS]]===<br />
* '''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.<br />
** Citation: R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
** [http://www.insp.jussieu.fr/oxydes/IsGISAXS/isgisaxs.htm Official site.]<br />
* '''FitGISAXS''': DWBA modeling. Requires commercial IgorPro software.<br />
** Citation: Babonneau, D. [http://scripts.iucr.org/cgi-bin/paper?hx5104 FitGISAXS: software package for modelling and analysis of GISAXS data using IGOR Pro] ''J. Appl. Cryst.'' '''2010''', 43(4), 929–936. [https://doi.org/10.1107/S0021889810020352 doi: 10.1107/S0021889810020352]<br />
** [http://www.pprime.fr/?q=fr/nanoparticules-nanostructures Official site.]<br />
* '''NANOCELL''': Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry<br />
** [http://faculty.washington.edu/h2/simulation.html Official site.]<br />
** 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]<br />
* '''[[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].<br />
** 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<br />
** Citation: G. Pospelov, W. Van Herck, J. Burle, J. M. Carmona Loaiza, C. Durniak, J. M. Fisher, M. Ganeva, D. Yurov and J. Wuttke [https://scripts.iucr.org/cgi-bin/paper?ge5067 BornAgain: software for simulating and fitting grazing-incidence small-angle scattering] ''J. Appl. Cryst.'' '''2020''', 53, 262-276. [https://doi.org/10.1107/S1600576719016789 doi: 10.1107/S1600576719016789]<br />
** [http://www.bornagainproject.org/ Official site.]<br />
* '''[[HipGISAXS]]''': A high-performance (massively parallel) C++ software for simulating GISAXS data.<br />
** 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]<br />
** 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'''.<br />
** [http://portal.nersc.gov/project/als/hipgisaxs/ Official site.]<br />
* '''SimDiffraction''': Simulation of diffraction patterns.<br />
** May be obtained by contacting [http://www.ntnu.edu/employees/dag.breiby Dag Werner Breiby], Dept. Physics, NTNU.<br />
** 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]<br />
* '''Diffraction Pattern Calculator (DPC) toolkit''': User-friendly GUI for determining [[unit-cell]] [[lattice]] parameters in [[GIWAXS]] data.<br />
** 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]<br />
** [http://www.princeton.edu/cbe/people/faculty/loo/group/software Official site.]<br />
* '''Indexing''': Python code for overlaying peak positions for a particular unit cell on a detector image.<br />
** Code available on [https://github.com/esther279/Indexing github].<br />
<br />
===[[Reflectivity]]===<br />
* '''Reflfit''': NIST software for fitting neutron (or x-ray) reflectivity curves.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/ Official site.]<br />
* '''Motofit''': Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.<br />
** 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]<br />
** [http://motofit.sourceforge.net/ Official site.]<br />
* '''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]].<br />
** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.]<br />
* '''GA refl''': Simultaneous fitting of x-ray and neutron polarized reflectometry data.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/garefl.html Official site.]<br />
* '''Simulreflec''': Calculate reflectivity of magnetic multiplayer systems.<br />
** [http://www-llb.cea.fr/prism/programs/simulreflec/simulreflec.html Official site.]<br />
* '''AFIT''': Fitting of reflectometry data. ([http://physchem.ox.ac.uk/%7erkt/AFit.zip download])<br />
* '''Parratt32''': Windows GUI implementing the Parratt formalism. ([http://www.hmi.de/bensc/instrumentation/instrumente/v6/refl/parratt_en.htm link])<br />
* '''Drydoc and Wetdoc''': Multiple contrast data fitting. ([http://www.studsvik.uu.se/research/NR/drydoc.htm link])<br />
* '''Surface''': Analysis of specular reflectivity. ([http://www.isis.rl.ac.uk/largescale/SURF/technical/surface.htm link])<br />
* '''Polly''': Polarized neutron reflectometry. ([http://www.isis.rl.ac.uk/largescale/CRISP/downloads/POLLY/reg_form.htm link])<br />
* '''Superfit''': Specular and diffuse neutron reflectivity. ([http://www.mf.mpg.de/en/abteilungen/dosch/software/software_en.shtml link])<br />
* '''GenX''': Parratt formalism combined with genetic algorithm.<br />
** Citation: Matts Björck and Gabriella Andersson [http://journals.iucr.org/j/issues/2007/06/00/aj5091/aj5091bdy.html GenX: an extensible X-ray reflectivity refinement program utilizing differential evolution] ''J. Appl. Cryst.'' '''2007''', 40, 1174-1178. [http://dx.doi.org/10.1107/S0021889807045086 doi: 10.1107/S0021889807045086 ]<br />
** [http://genx.sourceforge.net/ Official site.]<br />
* '''Aurore''': Open source Matlab code for neutron reflectivity, including error estimates.<br />
** Citation: Y. Gerelli [http://scripts.iucr.org/cgi-bin/paper?rg5094 Aurore: new software for neutron reflectivity data analysis] ''J. Appl. Cryst.'' '''2016''', 49, 330-339. [http://dx.doi.org/10.1107/S1600576716000108 doi: 10.1107/S1600576716000108]<br />
** [https://sourceforge.net/projects/aurorenr/ Official site.]<br />
* '''Web Reflectivity Calculator''': Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity.<br />
** [https://www.ncnr.nist.gov/instruments/magik/calculators/reflectivity-calculator.html Available online.]<br />
** Citation: Brian B. Maranville [http://nvlpubs.nist.gov/nistpubs/jres/122/jres.122.034.pdf Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity] ''Journal of Research of National Institute of Standards and Technology'' '''2017''', 122, 1-6. [https://doi.org/10.6028/jres.122.034 doi: 10.6028/jres.122.034]<br />
* '''refnx''': Python reflectivity code.<br />
** [https://github.com/refnx/refnx Available on github]<br />
** Citation: A.R.J. Nelson and S.W. Prescott [http://scripts.iucr.org/cgi-bin/paper?rg5158 refnx: neutron and X-ray reflectometry analysis in Python] ''J. Appl. Cryst.'' '''2019'''. [https://doi.org/10.1107/S1600576718017296 doi: 10.1107/S1600576718017296]<br />
* '''Multifitting''': Reflectivity calculations for multilayer systems<br />
** Citation: M. Svechnikov [http://scripts.iucr.org/cgi-bin/paper?te5051 Multifitting: software for the reflectometric reconstruction of multilayer nanofilms] ''J. Appl. Cryst.'' '''2019''' [https://doi.org/10.1107/S160057671901584X doi: 10.1107/S160057671901584X]<br />
<br />
===[[Crystallography]]===<br />
* [http://www.iucr.org/resources/other-directories/software IUCr Crystallographic software list]<br />
* [http://biophysics.med.jhmi.edu/cgi-bin/software/software_list?category=crystallography X-ray Lab Crystallography Software list]<br />
* '''Sir2014''': Crystal structure solving for small/medium structures, from [[x-ray]] or [[electron]] diffraction data.<br />
** [http://wwwba.ic.cnr.it/content/sir2011-v10 Official site.]<br />
** Citation: M. C. Burla, R. Caliandro, B. Carrozzini, G. L. Cascarano, C. Cuocci, C. Giacovazzo, M. Mallamo, A. Mazzone and G. Polidori [http://scripts.iucr.org/cgi-bin/paper?kk5193 Crystal structure determination and refinement via SIR2014] ''J. Appl. Cryst.'' '''2015''', 48, 306-309. [http://dx.doi.org/10.1107/S1600576715001132 doi: 10.1107/S1600576715001132]<br />
* '''SynchWeb & ISPyB''': Web interface for tracking samples and data (focused on [[MX]]).<br />
** Citation: S. J. Fisher, K. E. Levik, M. A. Williams, A. W. Ashton and K. E. McAuley [http://scripts.iucr.org/cgi-bin/paper?fs5101 SynchWeb: a modern interface for ISPyB] ''J. Appl. Cryst.'' '''2015''', 28. [http://dx.doi.org/10.1107/S1600576715004847 doi: 10.1107/S1600576715004847]<br />
* '''GSAS''': Open-source [[Python]] software for all types of crystallography studies.<br />
** Toby, B. H., & Von Dreele, R. B. [http://scripts.iucr.org/cgi-bin/paper?S0021889813003531 GSAS-II: the genesis of a modern open-source all purpose crystallography software package] ''Journal of Applied Crystallography'' '''2013''', 46(2), 544-549. [http://dx.doi.org/10.1107/S0021889813003531 doi: 10.1107/S0021889813003531]<br />
** [https://subversion.xor.aps.anl.gov/trac/pyGSAS Official site.]<br />
* '''Jana2006''': Reconstruct electron density modulation from powder or single-crystal data.<br />
** Citations: Petricek, V., Dusek, M. & Palatinus, L. Crystallographic Computing System JANA2006: General features ''Z. Kristallogr.'' '''2014''', 229(5), 345-352. [10.1515/zkri-2014-1737 doi: 10.1515/zkri-2014-1737]<br />
** [http://jana.fzu.cz/ Official site.]<br />
* '''τompas''': TEM online multi-purpose analyzing system<br />
** Citation: R.-X. Xie and W.-Z. Zhang [http://scripts.iucr.org/cgi-bin/paper?ks5644 τompas: a free and integrated tool for online crystallographic analysis in transmission electron microscopy] ''J. Appl. Cryst.'' '''2020''', 53. [https://doi.org/10.1107/S1600576720000801 doi: 10.1107/S1600576720000801]<br />
* '''UnitCell Tools''': Determine unit-cell parameters from a single electron diffraction pattern.<br />
** Citation: Hong-Long Shi and Zi-An Li [https://journals.iucr.org/m/issues/2021/05/00/gq5014/index.html UnitCell Tools, a package to determine unit-cell parameters from a single electron diffraction pattern] ''IUCrJ'' '''2020''' [https://doi.org/10.1107/S2052252521007867 doi: 10.1107/S2052252521007867]<br />
<br />
===Wave/Matter interaction===<br />
====X-rays====<br />
These software packages directly simulation the propagation of an EM field, and/or the interaction between EM waves and material:<br />
* '''SRW''' (Synchrotron Radiation Workshop): Fast numerical simulation of near-field and far-field of radiation generated by electron beams traveling through magnetic fields. I.e. can be used to simulate x-ray emission from [[synchrotron]] sources (e.g. [[undulator]]).<br />
** [https://www.esrf.fr/Accelerators/Groups/InsertionDevices/Software/SRW Official site.]<br />
* '''Shadow''': X-ray optics simulation package for coherent x-ray wavefront propagation simulations.<br />
** Citation: Niccolo Canestrari, Oleg Chubar and Manuel Sanchez del Rio [https://iopscience.iop.org/article/10.1088/1742-6596/425/16/162007 Improved models for synchrotron radiation sources in SHADOW] ''J. Phys.: Conf. Ser.'' '''2013''', 425 162007. [http://dx.doi.org/10.1088/1742-6596/425/16/162007 doi: 10.1088/1742-6596/425/16/162007]<br />
* '''WPG''' (WavePropaGator): Software package for simulating coherent and partially coherent X-ray wavefront propagation, especially intended for simulating [[XFEL]]<br />
** [https://wpg.readthedocs.io/en/stable/wpg.html Docs.]<br />
** [https://github.com/samoylv/WPG Code.]<br />
====General EM field====<br />
* [https://github.com/flaport/fdtd Python 3D FDTD Simulator]<br />
* [https://github.com/kc-ml2/meent Meent]<br />
<br />
==Computing [[Materials]] Properties==<br />
* '''X-Ray Interactions With Matter''': CXRO/LBL web-portal with various calculators for x-ray interaction parameters.<br />
** [http://henke.lbl.gov/optical_constants/ Official site].<br />
* '''NCNR''': NIST Center for Neutron Research web-based calculator for Neutron [[SLD|Scattering Length Density]] and [[Absorption]].<br />
** [http://www.ncnr.nist.gov/resources/activation/ Official site].<br />
* '''pyFPRIME and ABSORB''': [[APS]] software for computing approximate x-ray scattering cross sections.<br />
** [https://subversion.xor.aps.anl.gov/trac/pyFprime/ Official site].<br />
* '''xraylib''': x-ray elemental information (spectroscopic)<br />
** [https://github.com/tschoonj/xraylib/wiki Official site].<br />
** Citation: [http://www.sciencedirect.com/science/article/pii/S0584854711001984 The xraylib library for X-ray–matter interactions. Recent developments] ''Spectrochimica Acta Part B: Atomic Spectroscopy'' '''2011''', 66 (11-12), 776-784. [http://dx.doi.org/10.1016/j.sab.2011.09.011 doi: 10.1016/j.sab.2011.09.011]<br />
* '''DANSE Periodic Table''': Python library for x-ray and neutron elemental scattering properties.<br />
** [http://www.reflectometry.org/danse/elements.html Official site].<br />
* '''MultiSciView''': Web-based tool for looking at arbitrary arrays of 2D image data. Convenient for looking at scattering images arranged based on metadata (coordinates, annealing history, etc.).<br />
** Citation: [https://www.sciencedirect.com/science/article/pii/S2468502X18300093 MultiSciView: Multivariate Scientific X-ray Image Visual Exploration with Cross-Data Space Views] ''Visual Informatics'' '''2018''', 1(2), 14-25 [http://dx.doi.org/10.1016/j.visinf.2018.04.003 doi: 10.1016/j.visinf.2018.04.003]<br />
<br />
==Synchrotron==<br />
* '''[https://github.com/silx-kit/silx SILX]''': Data reading/writing for synchrotron data formats.<br />
* '''[https://nsls-ii.github.io/bluesky/ BlueSky]''': Instrument control, including data saving into a database and access via databroker.<br />
<br />
==General==<br />
* '''SciStreams''': Simple workflow/pipeline software (building on [http://dask.pydata.org/en/latest/ Dask] and [https://github.com/mrocklin/streams Streams]), intended for asynchronous and distributed computations at a beamline.<br />
** [https://github.com/CFN-softbio/SciStreams Code available on github.]<br />
* '''ParaView''': Generalized GUI for visualizing scientific data, such as 3D images (uses [[Python]] and QT).<br />
** [http://www.paraview.org/ Official site.]<br />
* '''Mantid''': Framework for computing and visualizing materials science data.<br />
** [http://www.mantidproject.org/Main_Page Official site.]<br />
** Citation: O. Arnold, et al., Mantid—Data analysis and visualization package for neutron scattering and μSR experiments, Nuclear Instruments and Methods in Physics Research Section A, Volume 764, 11 November 2014, Pages 156-166. [http://dx.doi.org/10.1016/j.nima.2014.07.029 doi: 10.1016/j.nima.2014.07.029]<br />
* '''DAWN''' (Data Analysis WorkbeNch): An application (based on Eclipse) for general scientific data analysis. It is mainly developed by the [http://www.diamond.ac.uk/Home.html Diamond Light Source] and is well-optimized for analysis of x-ray data, including [[SAXS]]-specific features.<br />
** [http://dawnsci.org/ Official site.]<br />
<br />
==Custom==<br />
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 numerically. 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).<br />
<br />
==See Also==<br />
* [http://smallangle.org/content/software#Reduction-Visualisation SAS Portal Software List]<br />
* [http://www.ccp14.ac.uk/recomm/ Resources for Crystallographic Software Developers]<br />
* [[Data formats]]<br />
** [[NeXus data format]]<br />
* [[NSLS-II Control Software]]<br />
* [[NSLS-II Analysis Software]]</div>KevinYagerhttp://gisaxs.com/index.php?title=Software&diff=6153Software2023-12-08T19:53:25Z<p>KevinYager: /* Wave/Matter interaction */</p>
<hr />
<div>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.<br />
<br />
==Data Viewing, Reduction, and Simple Analysis==<br />
These packages provide ways to view data, and perform simple operations (linecuts, etc.).<br />
===Geared towards 2D data===<br />
* '''Fit2D''': A well-known package for treatment and conversion 2D scattering images.<br />
** 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]<br />
** [http://www.esrf.eu/computing/scientific/FIT2D/ Official site.]<br />
** [http://staff.chess.cornell.edu/~smilgies/D-lineNotes/GISAXS-at-D-line/fit2d-GIXS-primer.html Fit2D primer.]<br />
** [http://g-line.chess.cornell.edu/G-lineStatus/G-lineManuals/CheatSheets/FIT2D_MAIN.html Fit2D hints page.]<br />
* '''Datasqueeze''': Graphical tool for analyzing 2D detector images.<br />
** [http://www.datasqueezesoftware.com/ Official site.]<br />
* '''ImageJ''': A generic tool for image treatment and analysis. Can be used to open and process x-ray detector images.<br />
** [http://rsb.info.nih.gov/ij/ Official site.]<br />
* '''NeXpy''': [[Python]] GUI for working with the [[NeXus data format]].<br />
** [https://nexpy.github.io/nexpy/ Official site.]<br />
* '''pycxdgui''': Very simple viewer for area images.<br />
** [https://github.com/CFN-softbio/pycxdgui Code available on github.]<br />
* '''[[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.<br />
** Citation: L. Yang, [http://journals.iucr.org/s/issues/2013/02/00/issconts.html Using an in-vacuum CCD detector for simultaneous small- and wide-angle scattering at beamline X9] ''J. Synchrotron Rad.'' '''2013''', 20, 211. [http://dx.doi.org/10.1107/S0909049512048984 doi: 10.1107/S0909049512048984]<br />
** [http://www.bnl.gov/ps/x9/software/view.asp Official site.]<br />
* '''[[pyXS]]''': Python scripts (with C++ backend) for performing analysis of 2D data.<br />
** [http://www.bnl.gov/ps/x9/software/pyXS.asp Official site.]<br />
* '''[[SciAnalysis]]''': Python scripts for analysis of 2D x-ray scattering data. Well-suited to batch analysis of many files.<br />
** [https://github.com/CFN-softbio/SciAnalysis Code available on github.]<br />
* '''[[GIXSGUI]]''': Visualization and reduction package for GISAXS. Requires the commerical Matlab software. Written by Zhang Jiang ([[APS]]).<br />
** Citation: Z. Jiang [http://scripts.iucr.org/cgi-bin/paper?S1600576715004434 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. [http://dx.doi.org/10.1107/S1600576715004434 doi: 10.1107/S1600576715004434]<br />
** [https://www.aps.anl.gov/Sector-8/8-ID/Operations-and-Schedules/Useful-Links/Sector-8-GIXSGUI Official site.]<br />
* '''[[GISAXSshop]]''': 2D visualization and reduction for GISAXS. Requires the Igor (Wavemetrics). Written by Byeongdu Lee ([[APS]]).<br />
** [https://sites.google.com/site/byeongdu/software Official site.]<br />
* '''Xi-Cam''': Robust GUI (pyQT based) and libraries for analyzing 2D scattering images. Developed at LBNL in connection with the [http://www.camera.lbl.gov/ CAMERA] project.<br />
** Citation: Pandolfi, R.J.; Hexemer, A.; et al. [http://journals.iucr.org/s/issues/2018/04/00/xe5032/index.html#BB14 Xi-cam: a versatile interface for data visualization and analysis] ''J. Syncr. Rad.'' '''2018''', 25 (4), 1261-1270. [https://doi.org/10.1107/S1600577518005787 doi: 10.1107/S1600577518005787]<br />
** [http://www.camera.lbl.gov/#!xi-cam-interface/z8vcm Official site.]<br />
<br />
===Geared towards 1D data===<br />
* '''NCNR SANS/USANS Package''': Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''Nika''': Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/nika.html Official site.]<br />
* '''Indra 2''': Reduction of USAXS data. Requires the commercial IgorPro software. Written for the 15ID instrument at [[APS]].<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/indra_2.html Official site.]<br />
* '''DPDAK''': Open-source Python tool for analyzing large sets of SAXS data. Works on Linux and Windows.<br />
** [https://dpdak.desy.de/index.php/Hauptseite Official site.]<br />
* '''SAS-cam''': SAXS data reduction, using the [https://bio.tools/sastbx SASTBX package].<br />
** Citation: H. Wu, Y. Li, G. Liu, H. Liu and N. Li [http://scripts.iucr.org/cgi-bin/paper?ei5058 SAS-cam: a program for automatic processing and analysis of small-angle scattering data] ''J. Appl. Cryst.'' '''2020''', 53, 1147-1153. [https://doi.org/10.1107/S1600576720008985 doi: 10.1107/S1600576720008985]<br />
<br />
==Data Modeling and Fitting==<br />
These packages can predict scattering curves for various possible nano- or molecular- structures. Some of the packages allow fitting of experimental data.<br />
===[[SAXS]]===<br />
* '''NCNR SANS/USANS Package''': Can model form factors for many common object shapes in solution. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''SASView''': [[Python]] code to model form factors. (Replacement for NIST Igor software.)<br />
** [http://www.sasview.org/ Official site.]<br />
* '''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.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/irena.html Official site.]<br />
* '''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.).<br />
** 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]<br />
** [http://www.pci.uni-bayreuth.de/rg_foerster/en/Software/index.html Official site.]<br />
* '''SASFit''': Combined fitting of 1D scattering curves.<br />
** [https://kur.web.psi.ch/sans1/SANSSoft/sasfit.html Official site.]<br />
* '''BayesApp.org''': Online tool for estimating distribution functions from SAS data.<br />
** [http://www.bayesapp.org/ Official site.]<br />
** 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]<br />
* '''SCT''': Software to predict/fit [[SAS|small-angle scattering]] data from atomistic models of molecules and proteins.<br />
** Citation: D. W. Wright and S. J. Perkins [http://scripts.iucr.org/cgi-bin/paper?po5031 SCT: a suite of programs for comparing atomistic models with small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48 [http://dx.doi.org/10.1107/S1600576715007062 doi: 10.1107/S1600576715007062]<br />
** [https://github.com/dww100/sct Official site.]<br />
* '''McSAS''': Monte Carlo regression to fit [[SAS|small-angle scattering]] data using collections/distributions of particles.<br />
** [http://mcsas.net/ Official site.]<br />
** I. Bressler, B. R. Pauw and A. F. Thünemann [http://scripts.iucr.org/cgi-bin/paper?vg5017 Citation: McSAS: software for the retrieval of model parameter distributions from scattering patterns] ''J. Appl. Cryst.'' '''2015''', 48, 962-969. [http://dx.doi.org/10.1107/S1600576715007347 doi: 10.1107/S1600576715007347]<br />
* '''pySAXS''': Package and GUI for SAXS analysis.<br />
** [http://iramis.cea.fr/en/Phocea/Vie_des_labos/Ast/ast_sstechnique.php?id_ast=1799 Official site.]<br />
* '''[[ScatterSim]]''': [[Python]] code for simulating the one-dimensional curve (circular average) for [[Lattices of nano-objects|nanoparticle superlattices]].<br />
** Citation: [[Yager, K.G.]]; Zhang, Y.; Lu, F.; Gang, O. "[http://scripts.iucr.org/cgi-bin/paper?S160057671302832X Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems]" ''Journal of Applied Crystallography'' '''2014''', 47, 118–129. [http://dx.doi.org/10.1107/S160057671302832X doi: 10.1107/S160057671302832X]<br />
*** See also [[Paper:Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems|summary of paper]].<br />
** [https://github.com/CFN-softbio/ScatterSim Code available on github.]<br />
<br />
===[[BioSAXS]]===<br />
* '''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]].<br />
** [http://www.bioisis.net/tutorial/9 Official site.]<br />
* '''BioXTAS RAW''': Simple program for performing 1D [[Guinier plot|Guinier analysis]] for [[BioSAXS]] data. (Provided by [[CHESS]].)<br />
** Citation: J. B. Hopkins, R. E. Gillilan and S. Skou [http://scripts.iucr.org/cgi-bin/paper?ge5036 BioXTAS RAW: improvements to a free open-source program for small-angle X-ray scattering data reduction and analysis] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717011438 doi: 10.1107/S1600576717011438]<br />
** [http://bioxtasraw.sourceforge.net/ Official site], [http://sourceforge.net/projects/bioxtasraw/ download].<br />
* '''[[ATSAS]]''': A suite of tools for small-angle scattering data of biological macromolecules.<br />
** 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]<br />
** 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]<br />
** Citation: D. Franke, M. V. Petoukhov, P. V. Konarev, A. Panjkovich, A. Tuukkanen, H. D. T. Mertens, A. G. Kikhney, N. R. Hajizadeh, J. M. Franklin, C. M. Jeffries and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?ge5042 ATSAS 2.8: a comprehensive data analysis suite for small-angle scattering from macromolecular solutions] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717007786 doi: 10.1107/S1600576717007786]<br />
** [http://www.embl-hamburg.de/biosaxs/software.html Official site.]<br />
* '''Biomachina''': Visualization of low-resolution bead-based models of proteins from SAXS data.<br />
** [http://situs.biomachina.org/tutorial_saxs.html#visual Official site.]<br />
* '''ScatterBrain''': Cross-platform (Windows, OSX, Linux) IDL software, provided by Australian Synchrotron.<br />
** [http://www.synchrotron.org.au/index.php/aussyncbeamlines/saxswaxs/software-saxswaxs Official site.]<br />
<br />
===[[GISAXS]]===<br />
* '''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.<br />
** Citation: R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
** [http://www.insp.jussieu.fr/oxydes/IsGISAXS/isgisaxs.htm Official site.]<br />
* '''FitGISAXS''': DWBA modeling. Requires commercial IgorPro software.<br />
** Citation: Babonneau, D. [http://scripts.iucr.org/cgi-bin/paper?hx5104 FitGISAXS: software package for modelling and analysis of GISAXS data using IGOR Pro] ''J. Appl. Cryst.'' '''2010''', 43(4), 929–936. [https://doi.org/10.1107/S0021889810020352 doi: 10.1107/S0021889810020352]<br />
** [http://www.pprime.fr/?q=fr/nanoparticules-nanostructures Official site.]<br />
* '''NANOCELL''': Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry<br />
** [http://faculty.washington.edu/h2/simulation.html Official site.]<br />
** 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]<br />
* '''[[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].<br />
** 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<br />
** Citation: G. Pospelov, W. Van Herck, J. Burle, J. M. Carmona Loaiza, C. Durniak, J. M. Fisher, M. Ganeva, D. Yurov and J. Wuttke [https://scripts.iucr.org/cgi-bin/paper?ge5067 BornAgain: software for simulating and fitting grazing-incidence small-angle scattering] ''J. Appl. Cryst.'' '''2020''', 53, 262-276. [https://doi.org/10.1107/S1600576719016789 doi: 10.1107/S1600576719016789]<br />
** [http://www.bornagainproject.org/ Official site.]<br />
* '''[[HipGISAXS]]''': A high-performance (massively parallel) C++ software for simulating GISAXS data.<br />
** 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]<br />
** 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'''.<br />
** [http://portal.nersc.gov/project/als/hipgisaxs/ Official site.]<br />
* '''SimDiffraction''': Simulation of diffraction patterns.<br />
** May be obtained by contacting [http://www.ntnu.edu/employees/dag.breiby Dag Werner Breiby], Dept. Physics, NTNU.<br />
** 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]<br />
* '''Diffraction Pattern Calculator (DPC) toolkit''': User-friendly GUI for determining [[unit-cell]] [[lattice]] parameters in [[GIWAXS]] data.<br />
** 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]<br />
** [http://www.princeton.edu/cbe/people/faculty/loo/group/software Official site.]<br />
* '''Indexing''': Python code for overlaying peak positions for a particular unit cell on a detector image.<br />
** Code available on [https://github.com/esther279/Indexing github].<br />
<br />
===[[Reflectivity]]===<br />
* '''Reflfit''': NIST software for fitting neutron (or x-ray) reflectivity curves.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/ Official site.]<br />
* '''Motofit''': Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.<br />
** 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]<br />
** [http://motofit.sourceforge.net/ Official site.]<br />
* '''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]].<br />
** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.]<br />
* '''GA refl''': Simultaneous fitting of x-ray and neutron polarized reflectometry data.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/garefl.html Official site.]<br />
* '''Simulreflec''': Calculate reflectivity of magnetic multiplayer systems.<br />
** [http://www-llb.cea.fr/prism/programs/simulreflec/simulreflec.html Official site.]<br />
* '''AFIT''': Fitting of reflectometry data. ([http://physchem.ox.ac.uk/%7erkt/AFit.zip download])<br />
* '''Parratt32''': Windows GUI implementing the Parratt formalism. ([http://www.hmi.de/bensc/instrumentation/instrumente/v6/refl/parratt_en.htm link])<br />
* '''Drydoc and Wetdoc''': Multiple contrast data fitting. ([http://www.studsvik.uu.se/research/NR/drydoc.htm link])<br />
* '''Surface''': Analysis of specular reflectivity. ([http://www.isis.rl.ac.uk/largescale/SURF/technical/surface.htm link])<br />
* '''Polly''': Polarized neutron reflectometry. ([http://www.isis.rl.ac.uk/largescale/CRISP/downloads/POLLY/reg_form.htm link])<br />
* '''Superfit''': Specular and diffuse neutron reflectivity. ([http://www.mf.mpg.de/en/abteilungen/dosch/software/software_en.shtml link])<br />
* '''GenX''': Parratt formalism combined with genetic algorithm.<br />
** Citation: Matts Björck and Gabriella Andersson [http://journals.iucr.org/j/issues/2007/06/00/aj5091/aj5091bdy.html GenX: an extensible X-ray reflectivity refinement program utilizing differential evolution] ''J. Appl. Cryst.'' '''2007''', 40, 1174-1178. [http://dx.doi.org/10.1107/S0021889807045086 doi: 10.1107/S0021889807045086 ]<br />
** [http://genx.sourceforge.net/ Official site.]<br />
* '''Aurore''': Open source Matlab code for neutron reflectivity, including error estimates.<br />
** Citation: Y. Gerelli [http://scripts.iucr.org/cgi-bin/paper?rg5094 Aurore: new software for neutron reflectivity data analysis] ''J. Appl. Cryst.'' '''2016''', 49, 330-339. [http://dx.doi.org/10.1107/S1600576716000108 doi: 10.1107/S1600576716000108]<br />
** [https://sourceforge.net/projects/aurorenr/ Official site.]<br />
* '''Web Reflectivity Calculator''': Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity.<br />
** [https://www.ncnr.nist.gov/instruments/magik/calculators/reflectivity-calculator.html Available online.]<br />
** Citation: Brian B. Maranville [http://nvlpubs.nist.gov/nistpubs/jres/122/jres.122.034.pdf Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity] ''Journal of Research of National Institute of Standards and Technology'' '''2017''', 122, 1-6. [https://doi.org/10.6028/jres.122.034 doi: 10.6028/jres.122.034]<br />
* '''refnx''': Python reflectivity code.<br />
** [https://github.com/refnx/refnx Available on github]<br />
** Citation: A.R.J. Nelson and S.W. Prescott [http://scripts.iucr.org/cgi-bin/paper?rg5158 refnx: neutron and X-ray reflectometry analysis in Python] ''J. Appl. Cryst.'' '''2019'''. [https://doi.org/10.1107/S1600576718017296 doi: 10.1107/S1600576718017296]<br />
* '''Multifitting''': Reflectivity calculations for multilayer systems<br />
** Citation: M. Svechnikov [http://scripts.iucr.org/cgi-bin/paper?te5051 Multifitting: software for the reflectometric reconstruction of multilayer nanofilms] ''J. Appl. Cryst.'' '''2019''' [https://doi.org/10.1107/S160057671901584X doi: 10.1107/S160057671901584X]<br />
<br />
===[[Crystallography]]===<br />
* [http://www.iucr.org/resources/other-directories/software IUCr Crystallographic software list]<br />
* [http://biophysics.med.jhmi.edu/cgi-bin/software/software_list?category=crystallography X-ray Lab Crystallography Software list]<br />
* '''Sir2014''': Crystal structure solving for small/medium structures, from [[x-ray]] or [[electron]] diffraction data.<br />
** [http://wwwba.ic.cnr.it/content/sir2011-v10 Official site.]<br />
** Citation: M. C. Burla, R. Caliandro, B. Carrozzini, G. L. Cascarano, C. Cuocci, C. Giacovazzo, M. Mallamo, A. Mazzone and G. Polidori [http://scripts.iucr.org/cgi-bin/paper?kk5193 Crystal structure determination and refinement via SIR2014] ''J. Appl. Cryst.'' '''2015''', 48, 306-309. [http://dx.doi.org/10.1107/S1600576715001132 doi: 10.1107/S1600576715001132]<br />
* '''SynchWeb & ISPyB''': Web interface for tracking samples and data (focused on [[MX]]).<br />
** Citation: S. J. Fisher, K. E. Levik, M. A. Williams, A. W. Ashton and K. E. McAuley [http://scripts.iucr.org/cgi-bin/paper?fs5101 SynchWeb: a modern interface for ISPyB] ''J. Appl. Cryst.'' '''2015''', 28. [http://dx.doi.org/10.1107/S1600576715004847 doi: 10.1107/S1600576715004847]<br />
* '''GSAS''': Open-source [[Python]] software for all types of crystallography studies.<br />
** Toby, B. H., & Von Dreele, R. B. [http://scripts.iucr.org/cgi-bin/paper?S0021889813003531 GSAS-II: the genesis of a modern open-source all purpose crystallography software package] ''Journal of Applied Crystallography'' '''2013''', 46(2), 544-549. [http://dx.doi.org/10.1107/S0021889813003531 doi: 10.1107/S0021889813003531]<br />
** [https://subversion.xor.aps.anl.gov/trac/pyGSAS Official site.]<br />
* '''Jana2006''': Reconstruct electron density modulation from powder or single-crystal data.<br />
** Citations: Petricek, V., Dusek, M. & Palatinus, L. Crystallographic Computing System JANA2006: General features ''Z. Kristallogr.'' '''2014''', 229(5), 345-352. [10.1515/zkri-2014-1737 doi: 10.1515/zkri-2014-1737]<br />
** [http://jana.fzu.cz/ Official site.]<br />
* '''τompas''': TEM online multi-purpose analyzing system<br />
** Citation: R.-X. Xie and W.-Z. Zhang [http://scripts.iucr.org/cgi-bin/paper?ks5644 τompas: a free and integrated tool for online crystallographic analysis in transmission electron microscopy] ''J. Appl. Cryst.'' '''2020''', 53. [https://doi.org/10.1107/S1600576720000801 doi: 10.1107/S1600576720000801]<br />
* '''UnitCell Tools''': Determine unit-cell parameters from a single electron diffraction pattern.<br />
** Citation: Hong-Long Shi and Zi-An Li [https://journals.iucr.org/m/issues/2021/05/00/gq5014/index.html UnitCell Tools, a package to determine unit-cell parameters from a single electron diffraction pattern] ''IUCrJ'' '''2020''' [https://doi.org/10.1107/S2052252521007867 doi: 10.1107/S2052252521007867]<br />
<br />
===Wave/Matter interaction===<br />
====X-rays====<br />
These software packages directly simulation the propagation of an EM field, and/or the interaction between EM waves and material:<br />
* '''SRW''' (Synchrotron Radiation Workshop): Fast numerical simulation of near-field and far-field of radiation generated by electron beams traveling through magnetic fields. I.e. can be used to simulate x-ray emission from [[synchrotron]] sources (e.g. [[undulator]]).<br />
** [https://www.esrf.fr/Accelerators/Groups/InsertionDevices/Software/SRW Official site.]<br />
* '''Shadow''': X-ray optics simulation package for coherent x-ray wavefront propagation simulations.<br />
** Citation: Niccolo Canestrari, Oleg Chubar and Manuel Sanchez del Rio [https://iopscience.iop.org/article/10.1088/1742-6596/425/16/162007 Improved models for synchrotron radiation sources in SHADOW] ''J. Phys.: Conf. Ser.'' '''2013''', 425 162007. [http://dx.doi.org/10.1088/1742-6596/425/16/162007 doi: 10.1088/1742-6596/425/16/162007]<br />
* '''WPG''' (WavePropaGator): Software package for simulating coherent and partially coherent X-ray wavefront propagation, especially intended for simulating [[XFEL]]<br />
** [https://wpg.readthedocs.io/en/stable/wpg.html Docs.]<br />
** [https://github.com/samoylv/WPG Code.]<br />
====General EM field====<br />
* [https://github.com/flaport/fdtd Python 3D FDTD Simulator]<br />
<br />
==Computing [[Materials]] Properties==<br />
* '''X-Ray Interactions With Matter''': CXRO/LBL web-portal with various calculators for x-ray interaction parameters.<br />
** [http://henke.lbl.gov/optical_constants/ Official site].<br />
* '''NCNR''': NIST Center for Neutron Research web-based calculator for Neutron [[SLD|Scattering Length Density]] and [[Absorption]].<br />
** [http://www.ncnr.nist.gov/resources/activation/ Official site].<br />
* '''pyFPRIME and ABSORB''': [[APS]] software for computing approximate x-ray scattering cross sections.<br />
** [https://subversion.xor.aps.anl.gov/trac/pyFprime/ Official site].<br />
* '''xraylib''': x-ray elemental information (spectroscopic)<br />
** [https://github.com/tschoonj/xraylib/wiki Official site].<br />
** Citation: [http://www.sciencedirect.com/science/article/pii/S0584854711001984 The xraylib library for X-ray–matter interactions. Recent developments] ''Spectrochimica Acta Part B: Atomic Spectroscopy'' '''2011''', 66 (11-12), 776-784. [http://dx.doi.org/10.1016/j.sab.2011.09.011 doi: 10.1016/j.sab.2011.09.011]<br />
* '''DANSE Periodic Table''': Python library for x-ray and neutron elemental scattering properties.<br />
** [http://www.reflectometry.org/danse/elements.html Official site].<br />
* '''MultiSciView''': Web-based tool for looking at arbitrary arrays of 2D image data. Convenient for looking at scattering images arranged based on metadata (coordinates, annealing history, etc.).<br />
** Citation: [https://www.sciencedirect.com/science/article/pii/S2468502X18300093 MultiSciView: Multivariate Scientific X-ray Image Visual Exploration with Cross-Data Space Views] ''Visual Informatics'' '''2018''', 1(2), 14-25 [http://dx.doi.org/10.1016/j.visinf.2018.04.003 doi: 10.1016/j.visinf.2018.04.003]<br />
<br />
==Synchrotron==<br />
* '''[https://github.com/silx-kit/silx SILX]''': Data reading/writing for synchrotron data formats.<br />
* '''[https://nsls-ii.github.io/bluesky/ BlueSky]''': Instrument control, including data saving into a database and access via databroker.<br />
<br />
==General==<br />
* '''SciStreams''': Simple workflow/pipeline software (building on [http://dask.pydata.org/en/latest/ Dask] and [https://github.com/mrocklin/streams Streams]), intended for asynchronous and distributed computations at a beamline.<br />
** [https://github.com/CFN-softbio/SciStreams Code available on github.]<br />
* '''ParaView''': Generalized GUI for visualizing scientific data, such as 3D images (uses [[Python]] and QT).<br />
** [http://www.paraview.org/ Official site.]<br />
* '''Mantid''': Framework for computing and visualizing materials science data.<br />
** [http://www.mantidproject.org/Main_Page Official site.]<br />
** Citation: O. Arnold, et al., Mantid—Data analysis and visualization package for neutron scattering and μSR experiments, Nuclear Instruments and Methods in Physics Research Section A, Volume 764, 11 November 2014, Pages 156-166. [http://dx.doi.org/10.1016/j.nima.2014.07.029 doi: 10.1016/j.nima.2014.07.029]<br />
* '''DAWN''' (Data Analysis WorkbeNch): An application (based on Eclipse) for general scientific data analysis. It is mainly developed by the [http://www.diamond.ac.uk/Home.html Diamond Light Source] and is well-optimized for analysis of x-ray data, including [[SAXS]]-specific features.<br />
** [http://dawnsci.org/ Official site.]<br />
<br />
==Custom==<br />
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 numerically. 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).<br />
<br />
==See Also==<br />
* [http://smallangle.org/content/software#Reduction-Visualisation SAS Portal Software List]<br />
* [http://www.ccp14.ac.uk/recomm/ Resources for Crystallographic Software Developers]<br />
* [[Data formats]]<br />
** [[NeXus data format]]<br />
* [[NSLS-II Control Software]]<br />
* [[NSLS-II Analysis Software]]</div>KevinYagerhttp://gisaxs.com/index.php?title=Software&diff=6152Software2023-12-08T14:16:02Z<p>KevinYager: /* Wave/Matter interaction */</p>
<hr />
<div>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.<br />
<br />
==Data Viewing, Reduction, and Simple Analysis==<br />
These packages provide ways to view data, and perform simple operations (linecuts, etc.).<br />
===Geared towards 2D data===<br />
* '''Fit2D''': A well-known package for treatment and conversion 2D scattering images.<br />
** 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]<br />
** [http://www.esrf.eu/computing/scientific/FIT2D/ Official site.]<br />
** [http://staff.chess.cornell.edu/~smilgies/D-lineNotes/GISAXS-at-D-line/fit2d-GIXS-primer.html Fit2D primer.]<br />
** [http://g-line.chess.cornell.edu/G-lineStatus/G-lineManuals/CheatSheets/FIT2D_MAIN.html Fit2D hints page.]<br />
* '''Datasqueeze''': Graphical tool for analyzing 2D detector images.<br />
** [http://www.datasqueezesoftware.com/ Official site.]<br />
* '''ImageJ''': A generic tool for image treatment and analysis. Can be used to open and process x-ray detector images.<br />
** [http://rsb.info.nih.gov/ij/ Official site.]<br />
* '''NeXpy''': [[Python]] GUI for working with the [[NeXus data format]].<br />
** [https://nexpy.github.io/nexpy/ Official site.]<br />
* '''pycxdgui''': Very simple viewer for area images.<br />
** [https://github.com/CFN-softbio/pycxdgui Code available on github.]<br />
* '''[[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.<br />
** Citation: L. Yang, [http://journals.iucr.org/s/issues/2013/02/00/issconts.html Using an in-vacuum CCD detector for simultaneous small- and wide-angle scattering at beamline X9] ''J. Synchrotron Rad.'' '''2013''', 20, 211. [http://dx.doi.org/10.1107/S0909049512048984 doi: 10.1107/S0909049512048984]<br />
** [http://www.bnl.gov/ps/x9/software/view.asp Official site.]<br />
* '''[[pyXS]]''': Python scripts (with C++ backend) for performing analysis of 2D data.<br />
** [http://www.bnl.gov/ps/x9/software/pyXS.asp Official site.]<br />
* '''[[SciAnalysis]]''': Python scripts for analysis of 2D x-ray scattering data. Well-suited to batch analysis of many files.<br />
** [https://github.com/CFN-softbio/SciAnalysis Code available on github.]<br />
* '''[[GIXSGUI]]''': Visualization and reduction package for GISAXS. Requires the commerical Matlab software. Written by Zhang Jiang ([[APS]]).<br />
** Citation: Z. Jiang [http://scripts.iucr.org/cgi-bin/paper?S1600576715004434 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. [http://dx.doi.org/10.1107/S1600576715004434 doi: 10.1107/S1600576715004434]<br />
** [https://www.aps.anl.gov/Sector-8/8-ID/Operations-and-Schedules/Useful-Links/Sector-8-GIXSGUI Official site.]<br />
* '''[[GISAXSshop]]''': 2D visualization and reduction for GISAXS. Requires the Igor (Wavemetrics). Written by Byeongdu Lee ([[APS]]).<br />
** [https://sites.google.com/site/byeongdu/software Official site.]<br />
* '''Xi-Cam''': Robust GUI (pyQT based) and libraries for analyzing 2D scattering images. Developed at LBNL in connection with the [http://www.camera.lbl.gov/ CAMERA] project.<br />
** Citation: Pandolfi, R.J.; Hexemer, A.; et al. [http://journals.iucr.org/s/issues/2018/04/00/xe5032/index.html#BB14 Xi-cam: a versatile interface for data visualization and analysis] ''J. Syncr. Rad.'' '''2018''', 25 (4), 1261-1270. [https://doi.org/10.1107/S1600577518005787 doi: 10.1107/S1600577518005787]<br />
** [http://www.camera.lbl.gov/#!xi-cam-interface/z8vcm Official site.]<br />
<br />
===Geared towards 1D data===<br />
* '''NCNR SANS/USANS Package''': Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''Nika''': Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/nika.html Official site.]<br />
* '''Indra 2''': Reduction of USAXS data. Requires the commercial IgorPro software. Written for the 15ID instrument at [[APS]].<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/indra_2.html Official site.]<br />
* '''DPDAK''': Open-source Python tool for analyzing large sets of SAXS data. Works on Linux and Windows.<br />
** [https://dpdak.desy.de/index.php/Hauptseite Official site.]<br />
* '''SAS-cam''': SAXS data reduction, using the [https://bio.tools/sastbx SASTBX package].<br />
** Citation: H. Wu, Y. Li, G. Liu, H. Liu and N. Li [http://scripts.iucr.org/cgi-bin/paper?ei5058 SAS-cam: a program for automatic processing and analysis of small-angle scattering data] ''J. Appl. Cryst.'' '''2020''', 53, 1147-1153. [https://doi.org/10.1107/S1600576720008985 doi: 10.1107/S1600576720008985]<br />
<br />
==Data Modeling and Fitting==<br />
These packages can predict scattering curves for various possible nano- or molecular- structures. Some of the packages allow fitting of experimental data.<br />
===[[SAXS]]===<br />
* '''NCNR SANS/USANS Package''': Can model form factors for many common object shapes in solution. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''SASView''': [[Python]] code to model form factors. (Replacement for NIST Igor software.)<br />
** [http://www.sasview.org/ Official site.]<br />
* '''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.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/irena.html Official site.]<br />
* '''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.).<br />
** 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]<br />
** [http://www.pci.uni-bayreuth.de/rg_foerster/en/Software/index.html Official site.]<br />
* '''SASFit''': Combined fitting of 1D scattering curves.<br />
** [https://kur.web.psi.ch/sans1/SANSSoft/sasfit.html Official site.]<br />
* '''BayesApp.org''': Online tool for estimating distribution functions from SAS data.<br />
** [http://www.bayesapp.org/ Official site.]<br />
** 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]<br />
* '''SCT''': Software to predict/fit [[SAS|small-angle scattering]] data from atomistic models of molecules and proteins.<br />
** Citation: D. W. Wright and S. J. Perkins [http://scripts.iucr.org/cgi-bin/paper?po5031 SCT: a suite of programs for comparing atomistic models with small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48 [http://dx.doi.org/10.1107/S1600576715007062 doi: 10.1107/S1600576715007062]<br />
** [https://github.com/dww100/sct Official site.]<br />
* '''McSAS''': Monte Carlo regression to fit [[SAS|small-angle scattering]] data using collections/distributions of particles.<br />
** [http://mcsas.net/ Official site.]<br />
** I. Bressler, B. R. Pauw and A. F. Thünemann [http://scripts.iucr.org/cgi-bin/paper?vg5017 Citation: McSAS: software for the retrieval of model parameter distributions from scattering patterns] ''J. Appl. Cryst.'' '''2015''', 48, 962-969. [http://dx.doi.org/10.1107/S1600576715007347 doi: 10.1107/S1600576715007347]<br />
* '''pySAXS''': Package and GUI for SAXS analysis.<br />
** [http://iramis.cea.fr/en/Phocea/Vie_des_labos/Ast/ast_sstechnique.php?id_ast=1799 Official site.]<br />
* '''[[ScatterSim]]''': [[Python]] code for simulating the one-dimensional curve (circular average) for [[Lattices of nano-objects|nanoparticle superlattices]].<br />
** Citation: [[Yager, K.G.]]; Zhang, Y.; Lu, F.; Gang, O. "[http://scripts.iucr.org/cgi-bin/paper?S160057671302832X Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems]" ''Journal of Applied Crystallography'' '''2014''', 47, 118–129. [http://dx.doi.org/10.1107/S160057671302832X doi: 10.1107/S160057671302832X]<br />
*** See also [[Paper:Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems|summary of paper]].<br />
** [https://github.com/CFN-softbio/ScatterSim Code available on github.]<br />
<br />
===[[BioSAXS]]===<br />
* '''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]].<br />
** [http://www.bioisis.net/tutorial/9 Official site.]<br />
* '''BioXTAS RAW''': Simple program for performing 1D [[Guinier plot|Guinier analysis]] for [[BioSAXS]] data. (Provided by [[CHESS]].)<br />
** Citation: J. B. Hopkins, R. E. Gillilan and S. Skou [http://scripts.iucr.org/cgi-bin/paper?ge5036 BioXTAS RAW: improvements to a free open-source program for small-angle X-ray scattering data reduction and analysis] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717011438 doi: 10.1107/S1600576717011438]<br />
** [http://bioxtasraw.sourceforge.net/ Official site], [http://sourceforge.net/projects/bioxtasraw/ download].<br />
* '''[[ATSAS]]''': A suite of tools for small-angle scattering data of biological macromolecules.<br />
** 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]<br />
** 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]<br />
** Citation: D. Franke, M. V. Petoukhov, P. V. Konarev, A. Panjkovich, A. Tuukkanen, H. D. T. Mertens, A. G. Kikhney, N. R. Hajizadeh, J. M. Franklin, C. M. Jeffries and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?ge5042 ATSAS 2.8: a comprehensive data analysis suite for small-angle scattering from macromolecular solutions] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717007786 doi: 10.1107/S1600576717007786]<br />
** [http://www.embl-hamburg.de/biosaxs/software.html Official site.]<br />
* '''Biomachina''': Visualization of low-resolution bead-based models of proteins from SAXS data.<br />
** [http://situs.biomachina.org/tutorial_saxs.html#visual Official site.]<br />
* '''ScatterBrain''': Cross-platform (Windows, OSX, Linux) IDL software, provided by Australian Synchrotron.<br />
** [http://www.synchrotron.org.au/index.php/aussyncbeamlines/saxswaxs/software-saxswaxs Official site.]<br />
<br />
===[[GISAXS]]===<br />
* '''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.<br />
** Citation: R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
** [http://www.insp.jussieu.fr/oxydes/IsGISAXS/isgisaxs.htm Official site.]<br />
* '''FitGISAXS''': DWBA modeling. Requires commercial IgorPro software.<br />
** Citation: Babonneau, D. [http://scripts.iucr.org/cgi-bin/paper?hx5104 FitGISAXS: software package for modelling and analysis of GISAXS data using IGOR Pro] ''J. Appl. Cryst.'' '''2010''', 43(4), 929–936. [https://doi.org/10.1107/S0021889810020352 doi: 10.1107/S0021889810020352]<br />
** [http://www.pprime.fr/?q=fr/nanoparticules-nanostructures Official site.]<br />
* '''NANOCELL''': Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry<br />
** [http://faculty.washington.edu/h2/simulation.html Official site.]<br />
** 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]<br />
* '''[[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].<br />
** 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<br />
** Citation: G. Pospelov, W. Van Herck, J. Burle, J. M. Carmona Loaiza, C. Durniak, J. M. Fisher, M. Ganeva, D. Yurov and J. Wuttke [https://scripts.iucr.org/cgi-bin/paper?ge5067 BornAgain: software for simulating and fitting grazing-incidence small-angle scattering] ''J. Appl. Cryst.'' '''2020''', 53, 262-276. [https://doi.org/10.1107/S1600576719016789 doi: 10.1107/S1600576719016789]<br />
** [http://www.bornagainproject.org/ Official site.]<br />
* '''[[HipGISAXS]]''': A high-performance (massively parallel) C++ software for simulating GISAXS data.<br />
** 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]<br />
** 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'''.<br />
** [http://portal.nersc.gov/project/als/hipgisaxs/ Official site.]<br />
* '''SimDiffraction''': Simulation of diffraction patterns.<br />
** May be obtained by contacting [http://www.ntnu.edu/employees/dag.breiby Dag Werner Breiby], Dept. Physics, NTNU.<br />
** 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]<br />
* '''Diffraction Pattern Calculator (DPC) toolkit''': User-friendly GUI for determining [[unit-cell]] [[lattice]] parameters in [[GIWAXS]] data.<br />
** 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]<br />
** [http://www.princeton.edu/cbe/people/faculty/loo/group/software Official site.]<br />
* '''Indexing''': Python code for overlaying peak positions for a particular unit cell on a detector image.<br />
** Code available on [https://github.com/esther279/Indexing github].<br />
<br />
===[[Reflectivity]]===<br />
* '''Reflfit''': NIST software for fitting neutron (or x-ray) reflectivity curves.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/ Official site.]<br />
* '''Motofit''': Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.<br />
** 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]<br />
** [http://motofit.sourceforge.net/ Official site.]<br />
* '''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]].<br />
** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.]<br />
* '''GA refl''': Simultaneous fitting of x-ray and neutron polarized reflectometry data.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/garefl.html Official site.]<br />
* '''Simulreflec''': Calculate reflectivity of magnetic multiplayer systems.<br />
** [http://www-llb.cea.fr/prism/programs/simulreflec/simulreflec.html Official site.]<br />
* '''AFIT''': Fitting of reflectometry data. ([http://physchem.ox.ac.uk/%7erkt/AFit.zip download])<br />
* '''Parratt32''': Windows GUI implementing the Parratt formalism. ([http://www.hmi.de/bensc/instrumentation/instrumente/v6/refl/parratt_en.htm link])<br />
* '''Drydoc and Wetdoc''': Multiple contrast data fitting. ([http://www.studsvik.uu.se/research/NR/drydoc.htm link])<br />
* '''Surface''': Analysis of specular reflectivity. ([http://www.isis.rl.ac.uk/largescale/SURF/technical/surface.htm link])<br />
* '''Polly''': Polarized neutron reflectometry. ([http://www.isis.rl.ac.uk/largescale/CRISP/downloads/POLLY/reg_form.htm link])<br />
* '''Superfit''': Specular and diffuse neutron reflectivity. ([http://www.mf.mpg.de/en/abteilungen/dosch/software/software_en.shtml link])<br />
* '''GenX''': Parratt formalism combined with genetic algorithm.<br />
** Citation: Matts Björck and Gabriella Andersson [http://journals.iucr.org/j/issues/2007/06/00/aj5091/aj5091bdy.html GenX: an extensible X-ray reflectivity refinement program utilizing differential evolution] ''J. Appl. Cryst.'' '''2007''', 40, 1174-1178. [http://dx.doi.org/10.1107/S0021889807045086 doi: 10.1107/S0021889807045086 ]<br />
** [http://genx.sourceforge.net/ Official site.]<br />
* '''Aurore''': Open source Matlab code for neutron reflectivity, including error estimates.<br />
** Citation: Y. Gerelli [http://scripts.iucr.org/cgi-bin/paper?rg5094 Aurore: new software for neutron reflectivity data analysis] ''J. Appl. Cryst.'' '''2016''', 49, 330-339. [http://dx.doi.org/10.1107/S1600576716000108 doi: 10.1107/S1600576716000108]<br />
** [https://sourceforge.net/projects/aurorenr/ Official site.]<br />
* '''Web Reflectivity Calculator''': Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity.<br />
** [https://www.ncnr.nist.gov/instruments/magik/calculators/reflectivity-calculator.html Available online.]<br />
** Citation: Brian B. Maranville [http://nvlpubs.nist.gov/nistpubs/jres/122/jres.122.034.pdf Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity] ''Journal of Research of National Institute of Standards and Technology'' '''2017''', 122, 1-6. [https://doi.org/10.6028/jres.122.034 doi: 10.6028/jres.122.034]<br />
* '''refnx''': Python reflectivity code.<br />
** [https://github.com/refnx/refnx Available on github]<br />
** Citation: A.R.J. Nelson and S.W. Prescott [http://scripts.iucr.org/cgi-bin/paper?rg5158 refnx: neutron and X-ray reflectometry analysis in Python] ''J. Appl. Cryst.'' '''2019'''. [https://doi.org/10.1107/S1600576718017296 doi: 10.1107/S1600576718017296]<br />
* '''Multifitting''': Reflectivity calculations for multilayer systems<br />
** Citation: M. Svechnikov [http://scripts.iucr.org/cgi-bin/paper?te5051 Multifitting: software for the reflectometric reconstruction of multilayer nanofilms] ''J. Appl. Cryst.'' '''2019''' [https://doi.org/10.1107/S160057671901584X doi: 10.1107/S160057671901584X]<br />
<br />
===[[Crystallography]]===<br />
* [http://www.iucr.org/resources/other-directories/software IUCr Crystallographic software list]<br />
* [http://biophysics.med.jhmi.edu/cgi-bin/software/software_list?category=crystallography X-ray Lab Crystallography Software list]<br />
* '''Sir2014''': Crystal structure solving for small/medium structures, from [[x-ray]] or [[electron]] diffraction data.<br />
** [http://wwwba.ic.cnr.it/content/sir2011-v10 Official site.]<br />
** Citation: M. C. Burla, R. Caliandro, B. Carrozzini, G. L. Cascarano, C. Cuocci, C. Giacovazzo, M. Mallamo, A. Mazzone and G. Polidori [http://scripts.iucr.org/cgi-bin/paper?kk5193 Crystal structure determination and refinement via SIR2014] ''J. Appl. Cryst.'' '''2015''', 48, 306-309. [http://dx.doi.org/10.1107/S1600576715001132 doi: 10.1107/S1600576715001132]<br />
* '''SynchWeb & ISPyB''': Web interface for tracking samples and data (focused on [[MX]]).<br />
** Citation: S. J. Fisher, K. E. Levik, M. A. Williams, A. W. Ashton and K. E. McAuley [http://scripts.iucr.org/cgi-bin/paper?fs5101 SynchWeb: a modern interface for ISPyB] ''J. Appl. Cryst.'' '''2015''', 28. [http://dx.doi.org/10.1107/S1600576715004847 doi: 10.1107/S1600576715004847]<br />
* '''GSAS''': Open-source [[Python]] software for all types of crystallography studies.<br />
** Toby, B. H., & Von Dreele, R. B. [http://scripts.iucr.org/cgi-bin/paper?S0021889813003531 GSAS-II: the genesis of a modern open-source all purpose crystallography software package] ''Journal of Applied Crystallography'' '''2013''', 46(2), 544-549. [http://dx.doi.org/10.1107/S0021889813003531 doi: 10.1107/S0021889813003531]<br />
** [https://subversion.xor.aps.anl.gov/trac/pyGSAS Official site.]<br />
* '''Jana2006''': Reconstruct electron density modulation from powder or single-crystal data.<br />
** Citations: Petricek, V., Dusek, M. & Palatinus, L. Crystallographic Computing System JANA2006: General features ''Z. Kristallogr.'' '''2014''', 229(5), 345-352. [10.1515/zkri-2014-1737 doi: 10.1515/zkri-2014-1737]<br />
** [http://jana.fzu.cz/ Official site.]<br />
* '''τompas''': TEM online multi-purpose analyzing system<br />
** Citation: R.-X. Xie and W.-Z. Zhang [http://scripts.iucr.org/cgi-bin/paper?ks5644 τompas: a free and integrated tool for online crystallographic analysis in transmission electron microscopy] ''J. Appl. Cryst.'' '''2020''', 53. [https://doi.org/10.1107/S1600576720000801 doi: 10.1107/S1600576720000801]<br />
* '''UnitCell Tools''': Determine unit-cell parameters from a single electron diffraction pattern.<br />
** Citation: Hong-Long Shi and Zi-An Li [https://journals.iucr.org/m/issues/2021/05/00/gq5014/index.html UnitCell Tools, a package to determine unit-cell parameters from a single electron diffraction pattern] ''IUCrJ'' '''2020''' [https://doi.org/10.1107/S2052252521007867 doi: 10.1107/S2052252521007867]<br />
<br />
===Wave/Matter interaction===<br />
These software packages directly simulation the propagation of an EM field, and/or the interaction between EM waves and material:<br />
* '''SRW''' (Synchrotron Radiation Workshop): Fast numerical simulation of near-field and far-field of radiation generated by electron beams traveling through magnetic fields. I.e. can be used to simulate x-ray emission from [[synchrotron]] sources (e.g. [[undulator]]).<br />
** [https://www.esrf.fr/Accelerators/Groups/InsertionDevices/Software/SRW Official site.]<br />
* '''Shadow''': X-ray optics simulation package for coherent x-ray wavefront propagation simulations.<br />
** Citation: Niccolo Canestrari, Oleg Chubar and Manuel Sanchez del Rio [https://iopscience.iop.org/article/10.1088/1742-6596/425/16/162007 Improved models for synchrotron radiation sources in SHADOW] ''J. Phys.: Conf. Ser.'' '''2013''', 425 162007. [http://dx.doi.org/10.1088/1742-6596/425/16/162007 doi: 10.1088/1742-6596/425/16/162007]<br />
* '''WPG''' (WavePropaGator): Software package for simulating coherent and partially coherent X-ray wavefront propagation, especially intended for simulating [[XFEL]]<br />
** [https://wpg.readthedocs.io/en/stable/wpg.html Docs.]<br />
** [https://github.com/samoylv/WPG Code.]<br />
<br />
==Computing [[Materials]] Properties==<br />
* '''X-Ray Interactions With Matter''': CXRO/LBL web-portal with various calculators for x-ray interaction parameters.<br />
** [http://henke.lbl.gov/optical_constants/ Official site].<br />
* '''NCNR''': NIST Center for Neutron Research web-based calculator for Neutron [[SLD|Scattering Length Density]] and [[Absorption]].<br />
** [http://www.ncnr.nist.gov/resources/activation/ Official site].<br />
* '''pyFPRIME and ABSORB''': [[APS]] software for computing approximate x-ray scattering cross sections.<br />
** [https://subversion.xor.aps.anl.gov/trac/pyFprime/ Official site].<br />
* '''xraylib''': x-ray elemental information (spectroscopic)<br />
** [https://github.com/tschoonj/xraylib/wiki Official site].<br />
** Citation: [http://www.sciencedirect.com/science/article/pii/S0584854711001984 The xraylib library for X-ray–matter interactions. Recent developments] ''Spectrochimica Acta Part B: Atomic Spectroscopy'' '''2011''', 66 (11-12), 776-784. [http://dx.doi.org/10.1016/j.sab.2011.09.011 doi: 10.1016/j.sab.2011.09.011]<br />
* '''DANSE Periodic Table''': Python library for x-ray and neutron elemental scattering properties.<br />
** [http://www.reflectometry.org/danse/elements.html Official site].<br />
* '''MultiSciView''': Web-based tool for looking at arbitrary arrays of 2D image data. Convenient for looking at scattering images arranged based on metadata (coordinates, annealing history, etc.).<br />
** Citation: [https://www.sciencedirect.com/science/article/pii/S2468502X18300093 MultiSciView: Multivariate Scientific X-ray Image Visual Exploration with Cross-Data Space Views] ''Visual Informatics'' '''2018''', 1(2), 14-25 [http://dx.doi.org/10.1016/j.visinf.2018.04.003 doi: 10.1016/j.visinf.2018.04.003]<br />
<br />
==Synchrotron==<br />
* '''[https://github.com/silx-kit/silx SILX]''': Data reading/writing for synchrotron data formats.<br />
* '''[https://nsls-ii.github.io/bluesky/ BlueSky]''': Instrument control, including data saving into a database and access via databroker.<br />
<br />
==General==<br />
* '''SciStreams''': Simple workflow/pipeline software (building on [http://dask.pydata.org/en/latest/ Dask] and [https://github.com/mrocklin/streams Streams]), intended for asynchronous and distributed computations at a beamline.<br />
** [https://github.com/CFN-softbio/SciStreams Code available on github.]<br />
* '''ParaView''': Generalized GUI for visualizing scientific data, such as 3D images (uses [[Python]] and QT).<br />
** [http://www.paraview.org/ Official site.]<br />
* '''Mantid''': Framework for computing and visualizing materials science data.<br />
** [http://www.mantidproject.org/Main_Page Official site.]<br />
** Citation: O. Arnold, et al., Mantid—Data analysis and visualization package for neutron scattering and μSR experiments, Nuclear Instruments and Methods in Physics Research Section A, Volume 764, 11 November 2014, Pages 156-166. [http://dx.doi.org/10.1016/j.nima.2014.07.029 doi: 10.1016/j.nima.2014.07.029]<br />
* '''DAWN''' (Data Analysis WorkbeNch): An application (based on Eclipse) for general scientific data analysis. It is mainly developed by the [http://www.diamond.ac.uk/Home.html Diamond Light Source] and is well-optimized for analysis of x-ray data, including [[SAXS]]-specific features.<br />
** [http://dawnsci.org/ Official site.]<br />
<br />
==Custom==<br />
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 numerically. 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).<br />
<br />
==See Also==<br />
* [http://smallangle.org/content/software#Reduction-Visualisation SAS Portal Software List]<br />
* [http://www.ccp14.ac.uk/recomm/ Resources for Crystallographic Software Developers]<br />
* [[Data formats]]<br />
** [[NeXus data format]]<br />
* [[NSLS-II Control Software]]<br />
* [[NSLS-II Analysis Software]]</div>KevinYagerhttp://gisaxs.com/index.php?title=Software&diff=6151Software2023-12-08T14:11:55Z<p>KevinYager: /* Wave/Matter interaction */</p>
<hr />
<div>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.<br />
<br />
==Data Viewing, Reduction, and Simple Analysis==<br />
These packages provide ways to view data, and perform simple operations (linecuts, etc.).<br />
===Geared towards 2D data===<br />
* '''Fit2D''': A well-known package for treatment and conversion 2D scattering images.<br />
** 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]<br />
** [http://www.esrf.eu/computing/scientific/FIT2D/ Official site.]<br />
** [http://staff.chess.cornell.edu/~smilgies/D-lineNotes/GISAXS-at-D-line/fit2d-GIXS-primer.html Fit2D primer.]<br />
** [http://g-line.chess.cornell.edu/G-lineStatus/G-lineManuals/CheatSheets/FIT2D_MAIN.html Fit2D hints page.]<br />
* '''Datasqueeze''': Graphical tool for analyzing 2D detector images.<br />
** [http://www.datasqueezesoftware.com/ Official site.]<br />
* '''ImageJ''': A generic tool for image treatment and analysis. Can be used to open and process x-ray detector images.<br />
** [http://rsb.info.nih.gov/ij/ Official site.]<br />
* '''NeXpy''': [[Python]] GUI for working with the [[NeXus data format]].<br />
** [https://nexpy.github.io/nexpy/ Official site.]<br />
* '''pycxdgui''': Very simple viewer for area images.<br />
** [https://github.com/CFN-softbio/pycxdgui Code available on github.]<br />
* '''[[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.<br />
** Citation: L. Yang, [http://journals.iucr.org/s/issues/2013/02/00/issconts.html Using an in-vacuum CCD detector for simultaneous small- and wide-angle scattering at beamline X9] ''J. Synchrotron Rad.'' '''2013''', 20, 211. [http://dx.doi.org/10.1107/S0909049512048984 doi: 10.1107/S0909049512048984]<br />
** [http://www.bnl.gov/ps/x9/software/view.asp Official site.]<br />
* '''[[pyXS]]''': Python scripts (with C++ backend) for performing analysis of 2D data.<br />
** [http://www.bnl.gov/ps/x9/software/pyXS.asp Official site.]<br />
* '''[[SciAnalysis]]''': Python scripts for analysis of 2D x-ray scattering data. Well-suited to batch analysis of many files.<br />
** [https://github.com/CFN-softbio/SciAnalysis Code available on github.]<br />
* '''[[GIXSGUI]]''': Visualization and reduction package for GISAXS. Requires the commerical Matlab software. Written by Zhang Jiang ([[APS]]).<br />
** Citation: Z. Jiang [http://scripts.iucr.org/cgi-bin/paper?S1600576715004434 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. [http://dx.doi.org/10.1107/S1600576715004434 doi: 10.1107/S1600576715004434]<br />
** [https://www.aps.anl.gov/Sector-8/8-ID/Operations-and-Schedules/Useful-Links/Sector-8-GIXSGUI Official site.]<br />
* '''[[GISAXSshop]]''': 2D visualization and reduction for GISAXS. Requires the Igor (Wavemetrics). Written by Byeongdu Lee ([[APS]]).<br />
** [https://sites.google.com/site/byeongdu/software Official site.]<br />
* '''Xi-Cam''': Robust GUI (pyQT based) and libraries for analyzing 2D scattering images. Developed at LBNL in connection with the [http://www.camera.lbl.gov/ CAMERA] project.<br />
** Citation: Pandolfi, R.J.; Hexemer, A.; et al. [http://journals.iucr.org/s/issues/2018/04/00/xe5032/index.html#BB14 Xi-cam: a versatile interface for data visualization and analysis] ''J. Syncr. Rad.'' '''2018''', 25 (4), 1261-1270. [https://doi.org/10.1107/S1600577518005787 doi: 10.1107/S1600577518005787]<br />
** [http://www.camera.lbl.gov/#!xi-cam-interface/z8vcm Official site.]<br />
<br />
===Geared towards 1D data===<br />
* '''NCNR SANS/USANS Package''': Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''Nika''': Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/nika.html Official site.]<br />
* '''Indra 2''': Reduction of USAXS data. Requires the commercial IgorPro software. Written for the 15ID instrument at [[APS]].<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/indra_2.html Official site.]<br />
* '''DPDAK''': Open-source Python tool for analyzing large sets of SAXS data. Works on Linux and Windows.<br />
** [https://dpdak.desy.de/index.php/Hauptseite Official site.]<br />
* '''SAS-cam''': SAXS data reduction, using the [https://bio.tools/sastbx SASTBX package].<br />
** Citation: H. Wu, Y. Li, G. Liu, H. Liu and N. Li [http://scripts.iucr.org/cgi-bin/paper?ei5058 SAS-cam: a program for automatic processing and analysis of small-angle scattering data] ''J. Appl. Cryst.'' '''2020''', 53, 1147-1153. [https://doi.org/10.1107/S1600576720008985 doi: 10.1107/S1600576720008985]<br />
<br />
==Data Modeling and Fitting==<br />
These packages can predict scattering curves for various possible nano- or molecular- structures. Some of the packages allow fitting of experimental data.<br />
===[[SAXS]]===<br />
* '''NCNR SANS/USANS Package''': Can model form factors for many common object shapes in solution. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''SASView''': [[Python]] code to model form factors. (Replacement for NIST Igor software.)<br />
** [http://www.sasview.org/ Official site.]<br />
* '''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.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/irena.html Official site.]<br />
* '''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.).<br />
** 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]<br />
** [http://www.pci.uni-bayreuth.de/rg_foerster/en/Software/index.html Official site.]<br />
* '''SASFit''': Combined fitting of 1D scattering curves.<br />
** [https://kur.web.psi.ch/sans1/SANSSoft/sasfit.html Official site.]<br />
* '''BayesApp.org''': Online tool for estimating distribution functions from SAS data.<br />
** [http://www.bayesapp.org/ Official site.]<br />
** 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]<br />
* '''SCT''': Software to predict/fit [[SAS|small-angle scattering]] data from atomistic models of molecules and proteins.<br />
** Citation: D. W. Wright and S. J. Perkins [http://scripts.iucr.org/cgi-bin/paper?po5031 SCT: a suite of programs for comparing atomistic models with small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48 [http://dx.doi.org/10.1107/S1600576715007062 doi: 10.1107/S1600576715007062]<br />
** [https://github.com/dww100/sct Official site.]<br />
* '''McSAS''': Monte Carlo regression to fit [[SAS|small-angle scattering]] data using collections/distributions of particles.<br />
** [http://mcsas.net/ Official site.]<br />
** I. Bressler, B. R. Pauw and A. F. Thünemann [http://scripts.iucr.org/cgi-bin/paper?vg5017 Citation: McSAS: software for the retrieval of model parameter distributions from scattering patterns] ''J. Appl. Cryst.'' '''2015''', 48, 962-969. [http://dx.doi.org/10.1107/S1600576715007347 doi: 10.1107/S1600576715007347]<br />
* '''pySAXS''': Package and GUI for SAXS analysis.<br />
** [http://iramis.cea.fr/en/Phocea/Vie_des_labos/Ast/ast_sstechnique.php?id_ast=1799 Official site.]<br />
* '''[[ScatterSim]]''': [[Python]] code for simulating the one-dimensional curve (circular average) for [[Lattices of nano-objects|nanoparticle superlattices]].<br />
** Citation: [[Yager, K.G.]]; Zhang, Y.; Lu, F.; Gang, O. "[http://scripts.iucr.org/cgi-bin/paper?S160057671302832X Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems]" ''Journal of Applied Crystallography'' '''2014''', 47, 118–129. [http://dx.doi.org/10.1107/S160057671302832X doi: 10.1107/S160057671302832X]<br />
*** See also [[Paper:Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems|summary of paper]].<br />
** [https://github.com/CFN-softbio/ScatterSim Code available on github.]<br />
<br />
===[[BioSAXS]]===<br />
* '''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]].<br />
** [http://www.bioisis.net/tutorial/9 Official site.]<br />
* '''BioXTAS RAW''': Simple program for performing 1D [[Guinier plot|Guinier analysis]] for [[BioSAXS]] data. (Provided by [[CHESS]].)<br />
** Citation: J. B. Hopkins, R. E. Gillilan and S. Skou [http://scripts.iucr.org/cgi-bin/paper?ge5036 BioXTAS RAW: improvements to a free open-source program for small-angle X-ray scattering data reduction and analysis] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717011438 doi: 10.1107/S1600576717011438]<br />
** [http://bioxtasraw.sourceforge.net/ Official site], [http://sourceforge.net/projects/bioxtasraw/ download].<br />
* '''[[ATSAS]]''': A suite of tools for small-angle scattering data of biological macromolecules.<br />
** 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]<br />
** 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]<br />
** Citation: D. Franke, M. V. Petoukhov, P. V. Konarev, A. Panjkovich, A. Tuukkanen, H. D. T. Mertens, A. G. Kikhney, N. R. Hajizadeh, J. M. Franklin, C. M. Jeffries and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?ge5042 ATSAS 2.8: a comprehensive data analysis suite for small-angle scattering from macromolecular solutions] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717007786 doi: 10.1107/S1600576717007786]<br />
** [http://www.embl-hamburg.de/biosaxs/software.html Official site.]<br />
* '''Biomachina''': Visualization of low-resolution bead-based models of proteins from SAXS data.<br />
** [http://situs.biomachina.org/tutorial_saxs.html#visual Official site.]<br />
* '''ScatterBrain''': Cross-platform (Windows, OSX, Linux) IDL software, provided by Australian Synchrotron.<br />
** [http://www.synchrotron.org.au/index.php/aussyncbeamlines/saxswaxs/software-saxswaxs Official site.]<br />
<br />
===[[GISAXS]]===<br />
* '''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.<br />
** Citation: R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
** [http://www.insp.jussieu.fr/oxydes/IsGISAXS/isgisaxs.htm Official site.]<br />
* '''FitGISAXS''': DWBA modeling. Requires commercial IgorPro software.<br />
** Citation: Babonneau, D. [http://scripts.iucr.org/cgi-bin/paper?hx5104 FitGISAXS: software package for modelling and analysis of GISAXS data using IGOR Pro] ''J. Appl. Cryst.'' '''2010''', 43(4), 929–936. [https://doi.org/10.1107/S0021889810020352 doi: 10.1107/S0021889810020352]<br />
** [http://www.pprime.fr/?q=fr/nanoparticules-nanostructures Official site.]<br />
* '''NANOCELL''': Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry<br />
** [http://faculty.washington.edu/h2/simulation.html Official site.]<br />
** 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]<br />
* '''[[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].<br />
** 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<br />
** Citation: G. Pospelov, W. Van Herck, J. Burle, J. M. Carmona Loaiza, C. Durniak, J. M. Fisher, M. Ganeva, D. Yurov and J. Wuttke [https://scripts.iucr.org/cgi-bin/paper?ge5067 BornAgain: software for simulating and fitting grazing-incidence small-angle scattering] ''J. Appl. Cryst.'' '''2020''', 53, 262-276. [https://doi.org/10.1107/S1600576719016789 doi: 10.1107/S1600576719016789]<br />
** [http://www.bornagainproject.org/ Official site.]<br />
* '''[[HipGISAXS]]''': A high-performance (massively parallel) C++ software for simulating GISAXS data.<br />
** 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]<br />
** 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'''.<br />
** [http://portal.nersc.gov/project/als/hipgisaxs/ Official site.]<br />
* '''SimDiffraction''': Simulation of diffraction patterns.<br />
** May be obtained by contacting [http://www.ntnu.edu/employees/dag.breiby Dag Werner Breiby], Dept. Physics, NTNU.<br />
** 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]<br />
* '''Diffraction Pattern Calculator (DPC) toolkit''': User-friendly GUI for determining [[unit-cell]] [[lattice]] parameters in [[GIWAXS]] data.<br />
** 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]<br />
** [http://www.princeton.edu/cbe/people/faculty/loo/group/software Official site.]<br />
* '''Indexing''': Python code for overlaying peak positions for a particular unit cell on a detector image.<br />
** Code available on [https://github.com/esther279/Indexing github].<br />
<br />
===[[Reflectivity]]===<br />
* '''Reflfit''': NIST software for fitting neutron (or x-ray) reflectivity curves.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/ Official site.]<br />
* '''Motofit''': Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.<br />
** 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]<br />
** [http://motofit.sourceforge.net/ Official site.]<br />
* '''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]].<br />
** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.]<br />
* '''GA refl''': Simultaneous fitting of x-ray and neutron polarized reflectometry data.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/garefl.html Official site.]<br />
* '''Simulreflec''': Calculate reflectivity of magnetic multiplayer systems.<br />
** [http://www-llb.cea.fr/prism/programs/simulreflec/simulreflec.html Official site.]<br />
* '''AFIT''': Fitting of reflectometry data. ([http://physchem.ox.ac.uk/%7erkt/AFit.zip download])<br />
* '''Parratt32''': Windows GUI implementing the Parratt formalism. ([http://www.hmi.de/bensc/instrumentation/instrumente/v6/refl/parratt_en.htm link])<br />
* '''Drydoc and Wetdoc''': Multiple contrast data fitting. ([http://www.studsvik.uu.se/research/NR/drydoc.htm link])<br />
* '''Surface''': Analysis of specular reflectivity. ([http://www.isis.rl.ac.uk/largescale/SURF/technical/surface.htm link])<br />
* '''Polly''': Polarized neutron reflectometry. ([http://www.isis.rl.ac.uk/largescale/CRISP/downloads/POLLY/reg_form.htm link])<br />
* '''Superfit''': Specular and diffuse neutron reflectivity. ([http://www.mf.mpg.de/en/abteilungen/dosch/software/software_en.shtml link])<br />
* '''GenX''': Parratt formalism combined with genetic algorithm.<br />
** Citation: Matts Björck and Gabriella Andersson [http://journals.iucr.org/j/issues/2007/06/00/aj5091/aj5091bdy.html GenX: an extensible X-ray reflectivity refinement program utilizing differential evolution] ''J. Appl. Cryst.'' '''2007''', 40, 1174-1178. [http://dx.doi.org/10.1107/S0021889807045086 doi: 10.1107/S0021889807045086 ]<br />
** [http://genx.sourceforge.net/ Official site.]<br />
* '''Aurore''': Open source Matlab code for neutron reflectivity, including error estimates.<br />
** Citation: Y. Gerelli [http://scripts.iucr.org/cgi-bin/paper?rg5094 Aurore: new software for neutron reflectivity data analysis] ''J. Appl. Cryst.'' '''2016''', 49, 330-339. [http://dx.doi.org/10.1107/S1600576716000108 doi: 10.1107/S1600576716000108]<br />
** [https://sourceforge.net/projects/aurorenr/ Official site.]<br />
* '''Web Reflectivity Calculator''': Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity.<br />
** [https://www.ncnr.nist.gov/instruments/magik/calculators/reflectivity-calculator.html Available online.]<br />
** Citation: Brian B. Maranville [http://nvlpubs.nist.gov/nistpubs/jres/122/jres.122.034.pdf Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity] ''Journal of Research of National Institute of Standards and Technology'' '''2017''', 122, 1-6. [https://doi.org/10.6028/jres.122.034 doi: 10.6028/jres.122.034]<br />
* '''refnx''': Python reflectivity code.<br />
** [https://github.com/refnx/refnx Available on github]<br />
** Citation: A.R.J. Nelson and S.W. Prescott [http://scripts.iucr.org/cgi-bin/paper?rg5158 refnx: neutron and X-ray reflectometry analysis in Python] ''J. Appl. Cryst.'' '''2019'''. [https://doi.org/10.1107/S1600576718017296 doi: 10.1107/S1600576718017296]<br />
* '''Multifitting''': Reflectivity calculations for multilayer systems<br />
** Citation: M. Svechnikov [http://scripts.iucr.org/cgi-bin/paper?te5051 Multifitting: software for the reflectometric reconstruction of multilayer nanofilms] ''J. Appl. Cryst.'' '''2019''' [https://doi.org/10.1107/S160057671901584X doi: 10.1107/S160057671901584X]<br />
<br />
===[[Crystallography]]===<br />
* [http://www.iucr.org/resources/other-directories/software IUCr Crystallographic software list]<br />
* [http://biophysics.med.jhmi.edu/cgi-bin/software/software_list?category=crystallography X-ray Lab Crystallography Software list]<br />
* '''Sir2014''': Crystal structure solving for small/medium structures, from [[x-ray]] or [[electron]] diffraction data.<br />
** [http://wwwba.ic.cnr.it/content/sir2011-v10 Official site.]<br />
** Citation: M. C. Burla, R. Caliandro, B. Carrozzini, G. L. Cascarano, C. Cuocci, C. Giacovazzo, M. Mallamo, A. Mazzone and G. Polidori [http://scripts.iucr.org/cgi-bin/paper?kk5193 Crystal structure determination and refinement via SIR2014] ''J. Appl. Cryst.'' '''2015''', 48, 306-309. [http://dx.doi.org/10.1107/S1600576715001132 doi: 10.1107/S1600576715001132]<br />
* '''SynchWeb & ISPyB''': Web interface for tracking samples and data (focused on [[MX]]).<br />
** Citation: S. J. Fisher, K. E. Levik, M. A. Williams, A. W. Ashton and K. E. McAuley [http://scripts.iucr.org/cgi-bin/paper?fs5101 SynchWeb: a modern interface for ISPyB] ''J. Appl. Cryst.'' '''2015''', 28. [http://dx.doi.org/10.1107/S1600576715004847 doi: 10.1107/S1600576715004847]<br />
* '''GSAS''': Open-source [[Python]] software for all types of crystallography studies.<br />
** Toby, B. H., & Von Dreele, R. B. [http://scripts.iucr.org/cgi-bin/paper?S0021889813003531 GSAS-II: the genesis of a modern open-source all purpose crystallography software package] ''Journal of Applied Crystallography'' '''2013''', 46(2), 544-549. [http://dx.doi.org/10.1107/S0021889813003531 doi: 10.1107/S0021889813003531]<br />
** [https://subversion.xor.aps.anl.gov/trac/pyGSAS Official site.]<br />
* '''Jana2006''': Reconstruct electron density modulation from powder or single-crystal data.<br />
** Citations: Petricek, V., Dusek, M. & Palatinus, L. Crystallographic Computing System JANA2006: General features ''Z. Kristallogr.'' '''2014''', 229(5), 345-352. [10.1515/zkri-2014-1737 doi: 10.1515/zkri-2014-1737]<br />
** [http://jana.fzu.cz/ Official site.]<br />
* '''τompas''': TEM online multi-purpose analyzing system<br />
** Citation: R.-X. Xie and W.-Z. Zhang [http://scripts.iucr.org/cgi-bin/paper?ks5644 τompas: a free and integrated tool for online crystallographic analysis in transmission electron microscopy] ''J. Appl. Cryst.'' '''2020''', 53. [https://doi.org/10.1107/S1600576720000801 doi: 10.1107/S1600576720000801]<br />
* '''UnitCell Tools''': Determine unit-cell parameters from a single electron diffraction pattern.<br />
** Citation: Hong-Long Shi and Zi-An Li [https://journals.iucr.org/m/issues/2021/05/00/gq5014/index.html UnitCell Tools, a package to determine unit-cell parameters from a single electron diffraction pattern] ''IUCrJ'' '''2020''' [https://doi.org/10.1107/S2052252521007867 doi: 10.1107/S2052252521007867]<br />
<br />
===Wave/Matter interaction===<br />
These software packages directly simulation the propagation of an EM field, and/or the interaction between EM waves and material:<br />
* '''SRW''' (Synchrotron Radiation Workshop): Fast numerical simulation of near-field and far-field of radiation generated by electron beams traveling through magnetic fields. I.e. can be used to simulate x-ray emission from [[synchrotron]] sources (e.g. [[undulator]]).<br />
** [https://www.esrf.fr/Accelerators/Groups/InsertionDevices/Software/SRW Official site.]<br />
* '''WPG''' (WavePropaGator): Software package for simulating coherent and partially coherent X-ray wavefront propagation, especially intended for simulating [[XFEL]]<br />
** [https://wpg.readthedocs.io/en/stable/wpg.html Docs.]<br />
** [https://github.com/samoylv/WPG Code.]<br />
<br />
==Computing [[Materials]] Properties==<br />
* '''X-Ray Interactions With Matter''': CXRO/LBL web-portal with various calculators for x-ray interaction parameters.<br />
** [http://henke.lbl.gov/optical_constants/ Official site].<br />
* '''NCNR''': NIST Center for Neutron Research web-based calculator for Neutron [[SLD|Scattering Length Density]] and [[Absorption]].<br />
** [http://www.ncnr.nist.gov/resources/activation/ Official site].<br />
* '''pyFPRIME and ABSORB''': [[APS]] software for computing approximate x-ray scattering cross sections.<br />
** [https://subversion.xor.aps.anl.gov/trac/pyFprime/ Official site].<br />
* '''xraylib''': x-ray elemental information (spectroscopic)<br />
** [https://github.com/tschoonj/xraylib/wiki Official site].<br />
** Citation: [http://www.sciencedirect.com/science/article/pii/S0584854711001984 The xraylib library for X-ray–matter interactions. Recent developments] ''Spectrochimica Acta Part B: Atomic Spectroscopy'' '''2011''', 66 (11-12), 776-784. [http://dx.doi.org/10.1016/j.sab.2011.09.011 doi: 10.1016/j.sab.2011.09.011]<br />
* '''DANSE Periodic Table''': Python library for x-ray and neutron elemental scattering properties.<br />
** [http://www.reflectometry.org/danse/elements.html Official site].<br />
* '''MultiSciView''': Web-based tool for looking at arbitrary arrays of 2D image data. Convenient for looking at scattering images arranged based on metadata (coordinates, annealing history, etc.).<br />
** Citation: [https://www.sciencedirect.com/science/article/pii/S2468502X18300093 MultiSciView: Multivariate Scientific X-ray Image Visual Exploration with Cross-Data Space Views] ''Visual Informatics'' '''2018''', 1(2), 14-25 [http://dx.doi.org/10.1016/j.visinf.2018.04.003 doi: 10.1016/j.visinf.2018.04.003]<br />
<br />
==Synchrotron==<br />
* '''[https://github.com/silx-kit/silx SILX]''': Data reading/writing for synchrotron data formats.<br />
* '''[https://nsls-ii.github.io/bluesky/ BlueSky]''': Instrument control, including data saving into a database and access via databroker.<br />
<br />
==General==<br />
* '''SciStreams''': Simple workflow/pipeline software (building on [http://dask.pydata.org/en/latest/ Dask] and [https://github.com/mrocklin/streams Streams]), intended for asynchronous and distributed computations at a beamline.<br />
** [https://github.com/CFN-softbio/SciStreams Code available on github.]<br />
* '''ParaView''': Generalized GUI for visualizing scientific data, such as 3D images (uses [[Python]] and QT).<br />
** [http://www.paraview.org/ Official site.]<br />
* '''Mantid''': Framework for computing and visualizing materials science data.<br />
** [http://www.mantidproject.org/Main_Page Official site.]<br />
** Citation: O. Arnold, et al., Mantid—Data analysis and visualization package for neutron scattering and μSR experiments, Nuclear Instruments and Methods in Physics Research Section A, Volume 764, 11 November 2014, Pages 156-166. [http://dx.doi.org/10.1016/j.nima.2014.07.029 doi: 10.1016/j.nima.2014.07.029]<br />
* '''DAWN''' (Data Analysis WorkbeNch): An application (based on Eclipse) for general scientific data analysis. It is mainly developed by the [http://www.diamond.ac.uk/Home.html Diamond Light Source] and is well-optimized for analysis of x-ray data, including [[SAXS]]-specific features.<br />
** [http://dawnsci.org/ Official site.]<br />
<br />
==Custom==<br />
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 numerically. 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).<br />
<br />
==See Also==<br />
* [http://smallangle.org/content/software#Reduction-Visualisation SAS Portal Software List]<br />
* [http://www.ccp14.ac.uk/recomm/ Resources for Crystallographic Software Developers]<br />
* [[Data formats]]<br />
** [[NeXus data format]]<br />
* [[NSLS-II Control Software]]<br />
* [[NSLS-II Analysis Software]]</div>KevinYagerhttp://gisaxs.com/index.php?title=Software&diff=6150Software2023-12-08T14:11:34Z<p>KevinYager: /* Wave/Matter interaction */</p>
<hr />
<div>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.<br />
<br />
==Data Viewing, Reduction, and Simple Analysis==<br />
These packages provide ways to view data, and perform simple operations (linecuts, etc.).<br />
===Geared towards 2D data===<br />
* '''Fit2D''': A well-known package for treatment and conversion 2D scattering images.<br />
** 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]<br />
** [http://www.esrf.eu/computing/scientific/FIT2D/ Official site.]<br />
** [http://staff.chess.cornell.edu/~smilgies/D-lineNotes/GISAXS-at-D-line/fit2d-GIXS-primer.html Fit2D primer.]<br />
** [http://g-line.chess.cornell.edu/G-lineStatus/G-lineManuals/CheatSheets/FIT2D_MAIN.html Fit2D hints page.]<br />
* '''Datasqueeze''': Graphical tool for analyzing 2D detector images.<br />
** [http://www.datasqueezesoftware.com/ Official site.]<br />
* '''ImageJ''': A generic tool for image treatment and analysis. Can be used to open and process x-ray detector images.<br />
** [http://rsb.info.nih.gov/ij/ Official site.]<br />
* '''NeXpy''': [[Python]] GUI for working with the [[NeXus data format]].<br />
** [https://nexpy.github.io/nexpy/ Official site.]<br />
* '''pycxdgui''': Very simple viewer for area images.<br />
** [https://github.com/CFN-softbio/pycxdgui Code available on github.]<br />
* '''[[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.<br />
** Citation: L. Yang, [http://journals.iucr.org/s/issues/2013/02/00/issconts.html Using an in-vacuum CCD detector for simultaneous small- and wide-angle scattering at beamline X9] ''J. Synchrotron Rad.'' '''2013''', 20, 211. [http://dx.doi.org/10.1107/S0909049512048984 doi: 10.1107/S0909049512048984]<br />
** [http://www.bnl.gov/ps/x9/software/view.asp Official site.]<br />
* '''[[pyXS]]''': Python scripts (with C++ backend) for performing analysis of 2D data.<br />
** [http://www.bnl.gov/ps/x9/software/pyXS.asp Official site.]<br />
* '''[[SciAnalysis]]''': Python scripts for analysis of 2D x-ray scattering data. Well-suited to batch analysis of many files.<br />
** [https://github.com/CFN-softbio/SciAnalysis Code available on github.]<br />
* '''[[GIXSGUI]]''': Visualization and reduction package for GISAXS. Requires the commerical Matlab software. Written by Zhang Jiang ([[APS]]).<br />
** Citation: Z. Jiang [http://scripts.iucr.org/cgi-bin/paper?S1600576715004434 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. [http://dx.doi.org/10.1107/S1600576715004434 doi: 10.1107/S1600576715004434]<br />
** [https://www.aps.anl.gov/Sector-8/8-ID/Operations-and-Schedules/Useful-Links/Sector-8-GIXSGUI Official site.]<br />
* '''[[GISAXSshop]]''': 2D visualization and reduction for GISAXS. Requires the Igor (Wavemetrics). Written by Byeongdu Lee ([[APS]]).<br />
** [https://sites.google.com/site/byeongdu/software Official site.]<br />
* '''Xi-Cam''': Robust GUI (pyQT based) and libraries for analyzing 2D scattering images. Developed at LBNL in connection with the [http://www.camera.lbl.gov/ CAMERA] project.<br />
** Citation: Pandolfi, R.J.; Hexemer, A.; et al. [http://journals.iucr.org/s/issues/2018/04/00/xe5032/index.html#BB14 Xi-cam: a versatile interface for data visualization and analysis] ''J. Syncr. Rad.'' '''2018''', 25 (4), 1261-1270. [https://doi.org/10.1107/S1600577518005787 doi: 10.1107/S1600577518005787]<br />
** [http://www.camera.lbl.gov/#!xi-cam-interface/z8vcm Official site.]<br />
<br />
===Geared towards 1D data===<br />
* '''NCNR SANS/USANS Package''': Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''Nika''': Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/nika.html Official site.]<br />
* '''Indra 2''': Reduction of USAXS data. Requires the commercial IgorPro software. Written for the 15ID instrument at [[APS]].<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/indra_2.html Official site.]<br />
* '''DPDAK''': Open-source Python tool for analyzing large sets of SAXS data. Works on Linux and Windows.<br />
** [https://dpdak.desy.de/index.php/Hauptseite Official site.]<br />
* '''SAS-cam''': SAXS data reduction, using the [https://bio.tools/sastbx SASTBX package].<br />
** Citation: H. Wu, Y. Li, G. Liu, H. Liu and N. Li [http://scripts.iucr.org/cgi-bin/paper?ei5058 SAS-cam: a program for automatic processing and analysis of small-angle scattering data] ''J. Appl. Cryst.'' '''2020''', 53, 1147-1153. [https://doi.org/10.1107/S1600576720008985 doi: 10.1107/S1600576720008985]<br />
<br />
==Data Modeling and Fitting==<br />
These packages can predict scattering curves for various possible nano- or molecular- structures. Some of the packages allow fitting of experimental data.<br />
===[[SAXS]]===<br />
* '''NCNR SANS/USANS Package''': Can model form factors for many common object shapes in solution. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''SASView''': [[Python]] code to model form factors. (Replacement for NIST Igor software.)<br />
** [http://www.sasview.org/ Official site.]<br />
* '''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.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/irena.html Official site.]<br />
* '''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.).<br />
** 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]<br />
** [http://www.pci.uni-bayreuth.de/rg_foerster/en/Software/index.html Official site.]<br />
* '''SASFit''': Combined fitting of 1D scattering curves.<br />
** [https://kur.web.psi.ch/sans1/SANSSoft/sasfit.html Official site.]<br />
* '''BayesApp.org''': Online tool for estimating distribution functions from SAS data.<br />
** [http://www.bayesapp.org/ Official site.]<br />
** 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]<br />
* '''SCT''': Software to predict/fit [[SAS|small-angle scattering]] data from atomistic models of molecules and proteins.<br />
** Citation: D. W. Wright and S. J. Perkins [http://scripts.iucr.org/cgi-bin/paper?po5031 SCT: a suite of programs for comparing atomistic models with small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48 [http://dx.doi.org/10.1107/S1600576715007062 doi: 10.1107/S1600576715007062]<br />
** [https://github.com/dww100/sct Official site.]<br />
* '''McSAS''': Monte Carlo regression to fit [[SAS|small-angle scattering]] data using collections/distributions of particles.<br />
** [http://mcsas.net/ Official site.]<br />
** I. Bressler, B. R. Pauw and A. F. Thünemann [http://scripts.iucr.org/cgi-bin/paper?vg5017 Citation: McSAS: software for the retrieval of model parameter distributions from scattering patterns] ''J. Appl. Cryst.'' '''2015''', 48, 962-969. [http://dx.doi.org/10.1107/S1600576715007347 doi: 10.1107/S1600576715007347]<br />
* '''pySAXS''': Package and GUI for SAXS analysis.<br />
** [http://iramis.cea.fr/en/Phocea/Vie_des_labos/Ast/ast_sstechnique.php?id_ast=1799 Official site.]<br />
* '''[[ScatterSim]]''': [[Python]] code for simulating the one-dimensional curve (circular average) for [[Lattices of nano-objects|nanoparticle superlattices]].<br />
** Citation: [[Yager, K.G.]]; Zhang, Y.; Lu, F.; Gang, O. "[http://scripts.iucr.org/cgi-bin/paper?S160057671302832X Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems]" ''Journal of Applied Crystallography'' '''2014''', 47, 118–129. [http://dx.doi.org/10.1107/S160057671302832X doi: 10.1107/S160057671302832X]<br />
*** See also [[Paper:Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems|summary of paper]].<br />
** [https://github.com/CFN-softbio/ScatterSim Code available on github.]<br />
<br />
===[[BioSAXS]]===<br />
* '''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]].<br />
** [http://www.bioisis.net/tutorial/9 Official site.]<br />
* '''BioXTAS RAW''': Simple program for performing 1D [[Guinier plot|Guinier analysis]] for [[BioSAXS]] data. (Provided by [[CHESS]].)<br />
** Citation: J. B. Hopkins, R. E. Gillilan and S. Skou [http://scripts.iucr.org/cgi-bin/paper?ge5036 BioXTAS RAW: improvements to a free open-source program for small-angle X-ray scattering data reduction and analysis] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717011438 doi: 10.1107/S1600576717011438]<br />
** [http://bioxtasraw.sourceforge.net/ Official site], [http://sourceforge.net/projects/bioxtasraw/ download].<br />
* '''[[ATSAS]]''': A suite of tools for small-angle scattering data of biological macromolecules.<br />
** 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]<br />
** 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]<br />
** Citation: D. Franke, M. V. Petoukhov, P. V. Konarev, A. Panjkovich, A. Tuukkanen, H. D. T. Mertens, A. G. Kikhney, N. R. Hajizadeh, J. M. Franklin, C. M. Jeffries and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?ge5042 ATSAS 2.8: a comprehensive data analysis suite for small-angle scattering from macromolecular solutions] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717007786 doi: 10.1107/S1600576717007786]<br />
** [http://www.embl-hamburg.de/biosaxs/software.html Official site.]<br />
* '''Biomachina''': Visualization of low-resolution bead-based models of proteins from SAXS data.<br />
** [http://situs.biomachina.org/tutorial_saxs.html#visual Official site.]<br />
* '''ScatterBrain''': Cross-platform (Windows, OSX, Linux) IDL software, provided by Australian Synchrotron.<br />
** [http://www.synchrotron.org.au/index.php/aussyncbeamlines/saxswaxs/software-saxswaxs Official site.]<br />
<br />
===[[GISAXS]]===<br />
* '''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.<br />
** Citation: R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
** [http://www.insp.jussieu.fr/oxydes/IsGISAXS/isgisaxs.htm Official site.]<br />
* '''FitGISAXS''': DWBA modeling. Requires commercial IgorPro software.<br />
** Citation: Babonneau, D. [http://scripts.iucr.org/cgi-bin/paper?hx5104 FitGISAXS: software package for modelling and analysis of GISAXS data using IGOR Pro] ''J. Appl. Cryst.'' '''2010''', 43(4), 929–936. [https://doi.org/10.1107/S0021889810020352 doi: 10.1107/S0021889810020352]<br />
** [http://www.pprime.fr/?q=fr/nanoparticules-nanostructures Official site.]<br />
* '''NANOCELL''': Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry<br />
** [http://faculty.washington.edu/h2/simulation.html Official site.]<br />
** 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]<br />
* '''[[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].<br />
** 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<br />
** Citation: G. Pospelov, W. Van Herck, J. Burle, J. M. Carmona Loaiza, C. Durniak, J. M. Fisher, M. Ganeva, D. Yurov and J. Wuttke [https://scripts.iucr.org/cgi-bin/paper?ge5067 BornAgain: software for simulating and fitting grazing-incidence small-angle scattering] ''J. Appl. Cryst.'' '''2020''', 53, 262-276. [https://doi.org/10.1107/S1600576719016789 doi: 10.1107/S1600576719016789]<br />
** [http://www.bornagainproject.org/ Official site.]<br />
* '''[[HipGISAXS]]''': A high-performance (massively parallel) C++ software for simulating GISAXS data.<br />
** 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]<br />
** 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'''.<br />
** [http://portal.nersc.gov/project/als/hipgisaxs/ Official site.]<br />
* '''SimDiffraction''': Simulation of diffraction patterns.<br />
** May be obtained by contacting [http://www.ntnu.edu/employees/dag.breiby Dag Werner Breiby], Dept. Physics, NTNU.<br />
** 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]<br />
* '''Diffraction Pattern Calculator (DPC) toolkit''': User-friendly GUI for determining [[unit-cell]] [[lattice]] parameters in [[GIWAXS]] data.<br />
** 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]<br />
** [http://www.princeton.edu/cbe/people/faculty/loo/group/software Official site.]<br />
* '''Indexing''': Python code for overlaying peak positions for a particular unit cell on a detector image.<br />
** Code available on [https://github.com/esther279/Indexing github].<br />
<br />
===[[Reflectivity]]===<br />
* '''Reflfit''': NIST software for fitting neutron (or x-ray) reflectivity curves.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/ Official site.]<br />
* '''Motofit''': Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.<br />
** 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]<br />
** [http://motofit.sourceforge.net/ Official site.]<br />
* '''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]].<br />
** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.]<br />
* '''GA refl''': Simultaneous fitting of x-ray and neutron polarized reflectometry data.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/garefl.html Official site.]<br />
* '''Simulreflec''': Calculate reflectivity of magnetic multiplayer systems.<br />
** [http://www-llb.cea.fr/prism/programs/simulreflec/simulreflec.html Official site.]<br />
* '''AFIT''': Fitting of reflectometry data. ([http://physchem.ox.ac.uk/%7erkt/AFit.zip download])<br />
* '''Parratt32''': Windows GUI implementing the Parratt formalism. ([http://www.hmi.de/bensc/instrumentation/instrumente/v6/refl/parratt_en.htm link])<br />
* '''Drydoc and Wetdoc''': Multiple contrast data fitting. ([http://www.studsvik.uu.se/research/NR/drydoc.htm link])<br />
* '''Surface''': Analysis of specular reflectivity. ([http://www.isis.rl.ac.uk/largescale/SURF/technical/surface.htm link])<br />
* '''Polly''': Polarized neutron reflectometry. ([http://www.isis.rl.ac.uk/largescale/CRISP/downloads/POLLY/reg_form.htm link])<br />
* '''Superfit''': Specular and diffuse neutron reflectivity. ([http://www.mf.mpg.de/en/abteilungen/dosch/software/software_en.shtml link])<br />
* '''GenX''': Parratt formalism combined with genetic algorithm.<br />
** Citation: Matts Björck and Gabriella Andersson [http://journals.iucr.org/j/issues/2007/06/00/aj5091/aj5091bdy.html GenX: an extensible X-ray reflectivity refinement program utilizing differential evolution] ''J. Appl. Cryst.'' '''2007''', 40, 1174-1178. [http://dx.doi.org/10.1107/S0021889807045086 doi: 10.1107/S0021889807045086 ]<br />
** [http://genx.sourceforge.net/ Official site.]<br />
* '''Aurore''': Open source Matlab code for neutron reflectivity, including error estimates.<br />
** Citation: Y. Gerelli [http://scripts.iucr.org/cgi-bin/paper?rg5094 Aurore: new software for neutron reflectivity data analysis] ''J. Appl. Cryst.'' '''2016''', 49, 330-339. [http://dx.doi.org/10.1107/S1600576716000108 doi: 10.1107/S1600576716000108]<br />
** [https://sourceforge.net/projects/aurorenr/ Official site.]<br />
* '''Web Reflectivity Calculator''': Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity.<br />
** [https://www.ncnr.nist.gov/instruments/magik/calculators/reflectivity-calculator.html Available online.]<br />
** Citation: Brian B. Maranville [http://nvlpubs.nist.gov/nistpubs/jres/122/jres.122.034.pdf Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity] ''Journal of Research of National Institute of Standards and Technology'' '''2017''', 122, 1-6. [https://doi.org/10.6028/jres.122.034 doi: 10.6028/jres.122.034]<br />
* '''refnx''': Python reflectivity code.<br />
** [https://github.com/refnx/refnx Available on github]<br />
** Citation: A.R.J. Nelson and S.W. Prescott [http://scripts.iucr.org/cgi-bin/paper?rg5158 refnx: neutron and X-ray reflectometry analysis in Python] ''J. Appl. Cryst.'' '''2019'''. [https://doi.org/10.1107/S1600576718017296 doi: 10.1107/S1600576718017296]<br />
* '''Multifitting''': Reflectivity calculations for multilayer systems<br />
** Citation: M. Svechnikov [http://scripts.iucr.org/cgi-bin/paper?te5051 Multifitting: software for the reflectometric reconstruction of multilayer nanofilms] ''J. Appl. Cryst.'' '''2019''' [https://doi.org/10.1107/S160057671901584X doi: 10.1107/S160057671901584X]<br />
<br />
===[[Crystallography]]===<br />
* [http://www.iucr.org/resources/other-directories/software IUCr Crystallographic software list]<br />
* [http://biophysics.med.jhmi.edu/cgi-bin/software/software_list?category=crystallography X-ray Lab Crystallography Software list]<br />
* '''Sir2014''': Crystal structure solving for small/medium structures, from [[x-ray]] or [[electron]] diffraction data.<br />
** [http://wwwba.ic.cnr.it/content/sir2011-v10 Official site.]<br />
** Citation: M. C. Burla, R. Caliandro, B. Carrozzini, G. L. Cascarano, C. Cuocci, C. Giacovazzo, M. Mallamo, A. Mazzone and G. Polidori [http://scripts.iucr.org/cgi-bin/paper?kk5193 Crystal structure determination and refinement via SIR2014] ''J. Appl. Cryst.'' '''2015''', 48, 306-309. [http://dx.doi.org/10.1107/S1600576715001132 doi: 10.1107/S1600576715001132]<br />
* '''SynchWeb & ISPyB''': Web interface for tracking samples and data (focused on [[MX]]).<br />
** Citation: S. J. Fisher, K. E. Levik, M. A. Williams, A. W. Ashton and K. E. McAuley [http://scripts.iucr.org/cgi-bin/paper?fs5101 SynchWeb: a modern interface for ISPyB] ''J. Appl. Cryst.'' '''2015''', 28. [http://dx.doi.org/10.1107/S1600576715004847 doi: 10.1107/S1600576715004847]<br />
* '''GSAS''': Open-source [[Python]] software for all types of crystallography studies.<br />
** Toby, B. H., & Von Dreele, R. B. [http://scripts.iucr.org/cgi-bin/paper?S0021889813003531 GSAS-II: the genesis of a modern open-source all purpose crystallography software package] ''Journal of Applied Crystallography'' '''2013''', 46(2), 544-549. [http://dx.doi.org/10.1107/S0021889813003531 doi: 10.1107/S0021889813003531]<br />
** [https://subversion.xor.aps.anl.gov/trac/pyGSAS Official site.]<br />
* '''Jana2006''': Reconstruct electron density modulation from powder or single-crystal data.<br />
** Citations: Petricek, V., Dusek, M. & Palatinus, L. Crystallographic Computing System JANA2006: General features ''Z. Kristallogr.'' '''2014''', 229(5), 345-352. [10.1515/zkri-2014-1737 doi: 10.1515/zkri-2014-1737]<br />
** [http://jana.fzu.cz/ Official site.]<br />
* '''τompas''': TEM online multi-purpose analyzing system<br />
** Citation: R.-X. Xie and W.-Z. Zhang [http://scripts.iucr.org/cgi-bin/paper?ks5644 τompas: a free and integrated tool for online crystallographic analysis in transmission electron microscopy] ''J. Appl. Cryst.'' '''2020''', 53. [https://doi.org/10.1107/S1600576720000801 doi: 10.1107/S1600576720000801]<br />
* '''UnitCell Tools''': Determine unit-cell parameters from a single electron diffraction pattern.<br />
** Citation: Hong-Long Shi and Zi-An Li [https://journals.iucr.org/m/issues/2021/05/00/gq5014/index.html UnitCell Tools, a package to determine unit-cell parameters from a single electron diffraction pattern] ''IUCrJ'' '''2020''' [https://doi.org/10.1107/S2052252521007867 doi: 10.1107/S2052252521007867]<br />
<br />
===Wave/Matter interaction===<br />
These software packages directly simulation the propagation of an EM field, and/or the interaction between EM waves and material:<br />
* '''SRW''' (Synchrotron Radiation Workshop): Fast numerical simulation of near-field and far-field of radiation generated by electron beams traveling through magnetic fields. I.e. can be used to simulate x-ray emission from [[synchrotron]] sources (e.g. [[undulator]]).<br />
** [https://www.esrf.fr/Accelerators/Groups/InsertionDevices/Software/SRW Official site]]<br />
* '''WPG''' (WavePropaGator): Software package for simulating coherent and partially coherent X-ray wavefront propagation, especially intended for simulating [[XFEL]]<br />
** [https://wpg.readthedocs.io/en/stable/wpg.html Docs]<br />
** [https://github.com/samoylv/WPG Code]<br />
<br />
==Computing [[Materials]] Properties==<br />
* '''X-Ray Interactions With Matter''': CXRO/LBL web-portal with various calculators for x-ray interaction parameters.<br />
** [http://henke.lbl.gov/optical_constants/ Official site].<br />
* '''NCNR''': NIST Center for Neutron Research web-based calculator for Neutron [[SLD|Scattering Length Density]] and [[Absorption]].<br />
** [http://www.ncnr.nist.gov/resources/activation/ Official site].<br />
* '''pyFPRIME and ABSORB''': [[APS]] software for computing approximate x-ray scattering cross sections.<br />
** [https://subversion.xor.aps.anl.gov/trac/pyFprime/ Official site].<br />
* '''xraylib''': x-ray elemental information (spectroscopic)<br />
** [https://github.com/tschoonj/xraylib/wiki Official site].<br />
** Citation: [http://www.sciencedirect.com/science/article/pii/S0584854711001984 The xraylib library for X-ray–matter interactions. Recent developments] ''Spectrochimica Acta Part B: Atomic Spectroscopy'' '''2011''', 66 (11-12), 776-784. [http://dx.doi.org/10.1016/j.sab.2011.09.011 doi: 10.1016/j.sab.2011.09.011]<br />
* '''DANSE Periodic Table''': Python library for x-ray and neutron elemental scattering properties.<br />
** [http://www.reflectometry.org/danse/elements.html Official site].<br />
* '''MultiSciView''': Web-based tool for looking at arbitrary arrays of 2D image data. Convenient for looking at scattering images arranged based on metadata (coordinates, annealing history, etc.).<br />
** Citation: [https://www.sciencedirect.com/science/article/pii/S2468502X18300093 MultiSciView: Multivariate Scientific X-ray Image Visual Exploration with Cross-Data Space Views] ''Visual Informatics'' '''2018''', 1(2), 14-25 [http://dx.doi.org/10.1016/j.visinf.2018.04.003 doi: 10.1016/j.visinf.2018.04.003]<br />
<br />
==Synchrotron==<br />
* '''[https://github.com/silx-kit/silx SILX]''': Data reading/writing for synchrotron data formats.<br />
* '''[https://nsls-ii.github.io/bluesky/ BlueSky]''': Instrument control, including data saving into a database and access via databroker.<br />
<br />
==General==<br />
* '''SciStreams''': Simple workflow/pipeline software (building on [http://dask.pydata.org/en/latest/ Dask] and [https://github.com/mrocklin/streams Streams]), intended for asynchronous and distributed computations at a beamline.<br />
** [https://github.com/CFN-softbio/SciStreams Code available on github.]<br />
* '''ParaView''': Generalized GUI for visualizing scientific data, such as 3D images (uses [[Python]] and QT).<br />
** [http://www.paraview.org/ Official site.]<br />
* '''Mantid''': Framework for computing and visualizing materials science data.<br />
** [http://www.mantidproject.org/Main_Page Official site.]<br />
** Citation: O. Arnold, et al., Mantid—Data analysis and visualization package for neutron scattering and μSR experiments, Nuclear Instruments and Methods in Physics Research Section A, Volume 764, 11 November 2014, Pages 156-166. [http://dx.doi.org/10.1016/j.nima.2014.07.029 doi: 10.1016/j.nima.2014.07.029]<br />
* '''DAWN''' (Data Analysis WorkbeNch): An application (based on Eclipse) for general scientific data analysis. It is mainly developed by the [http://www.diamond.ac.uk/Home.html Diamond Light Source] and is well-optimized for analysis of x-ray data, including [[SAXS]]-specific features.<br />
** [http://dawnsci.org/ Official site.]<br />
<br />
==Custom==<br />
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 numerically. 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).<br />
<br />
==See Also==<br />
* [http://smallangle.org/content/software#Reduction-Visualisation SAS Portal Software List]<br />
* [http://www.ccp14.ac.uk/recomm/ Resources for Crystallographic Software Developers]<br />
* [[Data formats]]<br />
** [[NeXus data format]]<br />
* [[NSLS-II Control Software]]<br />
* [[NSLS-II Analysis Software]]</div>KevinYagerhttp://gisaxs.com/index.php?title=Software&diff=6149Software2023-12-08T14:09:22Z<p>KevinYager: /* Wave/Matter interaction */</p>
<hr />
<div>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.<br />
<br />
==Data Viewing, Reduction, and Simple Analysis==<br />
These packages provide ways to view data, and perform simple operations (linecuts, etc.).<br />
===Geared towards 2D data===<br />
* '''Fit2D''': A well-known package for treatment and conversion 2D scattering images.<br />
** 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]<br />
** [http://www.esrf.eu/computing/scientific/FIT2D/ Official site.]<br />
** [http://staff.chess.cornell.edu/~smilgies/D-lineNotes/GISAXS-at-D-line/fit2d-GIXS-primer.html Fit2D primer.]<br />
** [http://g-line.chess.cornell.edu/G-lineStatus/G-lineManuals/CheatSheets/FIT2D_MAIN.html Fit2D hints page.]<br />
* '''Datasqueeze''': Graphical tool for analyzing 2D detector images.<br />
** [http://www.datasqueezesoftware.com/ Official site.]<br />
* '''ImageJ''': A generic tool for image treatment and analysis. Can be used to open and process x-ray detector images.<br />
** [http://rsb.info.nih.gov/ij/ Official site.]<br />
* '''NeXpy''': [[Python]] GUI for working with the [[NeXus data format]].<br />
** [https://nexpy.github.io/nexpy/ Official site.]<br />
* '''pycxdgui''': Very simple viewer for area images.<br />
** [https://github.com/CFN-softbio/pycxdgui Code available on github.]<br />
* '''[[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.<br />
** Citation: L. Yang, [http://journals.iucr.org/s/issues/2013/02/00/issconts.html Using an in-vacuum CCD detector for simultaneous small- and wide-angle scattering at beamline X9] ''J. Synchrotron Rad.'' '''2013''', 20, 211. [http://dx.doi.org/10.1107/S0909049512048984 doi: 10.1107/S0909049512048984]<br />
** [http://www.bnl.gov/ps/x9/software/view.asp Official site.]<br />
* '''[[pyXS]]''': Python scripts (with C++ backend) for performing analysis of 2D data.<br />
** [http://www.bnl.gov/ps/x9/software/pyXS.asp Official site.]<br />
* '''[[SciAnalysis]]''': Python scripts for analysis of 2D x-ray scattering data. Well-suited to batch analysis of many files.<br />
** [https://github.com/CFN-softbio/SciAnalysis Code available on github.]<br />
* '''[[GIXSGUI]]''': Visualization and reduction package for GISAXS. Requires the commerical Matlab software. Written by Zhang Jiang ([[APS]]).<br />
** Citation: Z. Jiang [http://scripts.iucr.org/cgi-bin/paper?S1600576715004434 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. [http://dx.doi.org/10.1107/S1600576715004434 doi: 10.1107/S1600576715004434]<br />
** [https://www.aps.anl.gov/Sector-8/8-ID/Operations-and-Schedules/Useful-Links/Sector-8-GIXSGUI Official site.]<br />
* '''[[GISAXSshop]]''': 2D visualization and reduction for GISAXS. Requires the Igor (Wavemetrics). Written by Byeongdu Lee ([[APS]]).<br />
** [https://sites.google.com/site/byeongdu/software Official site.]<br />
* '''Xi-Cam''': Robust GUI (pyQT based) and libraries for analyzing 2D scattering images. Developed at LBNL in connection with the [http://www.camera.lbl.gov/ CAMERA] project.<br />
** Citation: Pandolfi, R.J.; Hexemer, A.; et al. [http://journals.iucr.org/s/issues/2018/04/00/xe5032/index.html#BB14 Xi-cam: a versatile interface for data visualization and analysis] ''J. Syncr. Rad.'' '''2018''', 25 (4), 1261-1270. [https://doi.org/10.1107/S1600577518005787 doi: 10.1107/S1600577518005787]<br />
** [http://www.camera.lbl.gov/#!xi-cam-interface/z8vcm Official site.]<br />
<br />
===Geared towards 1D data===<br />
* '''NCNR SANS/USANS Package''': Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''Nika''': Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/nika.html Official site.]<br />
* '''Indra 2''': Reduction of USAXS data. Requires the commercial IgorPro software. Written for the 15ID instrument at [[APS]].<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/indra_2.html Official site.]<br />
* '''DPDAK''': Open-source Python tool for analyzing large sets of SAXS data. Works on Linux and Windows.<br />
** [https://dpdak.desy.de/index.php/Hauptseite Official site.]<br />
* '''SAS-cam''': SAXS data reduction, using the [https://bio.tools/sastbx SASTBX package].<br />
** Citation: H. Wu, Y. Li, G. Liu, H. Liu and N. Li [http://scripts.iucr.org/cgi-bin/paper?ei5058 SAS-cam: a program for automatic processing and analysis of small-angle scattering data] ''J. Appl. Cryst.'' '''2020''', 53, 1147-1153. [https://doi.org/10.1107/S1600576720008985 doi: 10.1107/S1600576720008985]<br />
<br />
==Data Modeling and Fitting==<br />
These packages can predict scattering curves for various possible nano- or molecular- structures. Some of the packages allow fitting of experimental data.<br />
===[[SAXS]]===<br />
* '''NCNR SANS/USANS Package''': Can model form factors for many common object shapes in solution. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''SASView''': [[Python]] code to model form factors. (Replacement for NIST Igor software.)<br />
** [http://www.sasview.org/ Official site.]<br />
* '''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.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/irena.html Official site.]<br />
* '''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.).<br />
** 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]<br />
** [http://www.pci.uni-bayreuth.de/rg_foerster/en/Software/index.html Official site.]<br />
* '''SASFit''': Combined fitting of 1D scattering curves.<br />
** [https://kur.web.psi.ch/sans1/SANSSoft/sasfit.html Official site.]<br />
* '''BayesApp.org''': Online tool for estimating distribution functions from SAS data.<br />
** [http://www.bayesapp.org/ Official site.]<br />
** 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]<br />
* '''SCT''': Software to predict/fit [[SAS|small-angle scattering]] data from atomistic models of molecules and proteins.<br />
** Citation: D. W. Wright and S. J. Perkins [http://scripts.iucr.org/cgi-bin/paper?po5031 SCT: a suite of programs for comparing atomistic models with small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48 [http://dx.doi.org/10.1107/S1600576715007062 doi: 10.1107/S1600576715007062]<br />
** [https://github.com/dww100/sct Official site.]<br />
* '''McSAS''': Monte Carlo regression to fit [[SAS|small-angle scattering]] data using collections/distributions of particles.<br />
** [http://mcsas.net/ Official site.]<br />
** I. Bressler, B. R. Pauw and A. F. Thünemann [http://scripts.iucr.org/cgi-bin/paper?vg5017 Citation: McSAS: software for the retrieval of model parameter distributions from scattering patterns] ''J. Appl. Cryst.'' '''2015''', 48, 962-969. [http://dx.doi.org/10.1107/S1600576715007347 doi: 10.1107/S1600576715007347]<br />
* '''pySAXS''': Package and GUI for SAXS analysis.<br />
** [http://iramis.cea.fr/en/Phocea/Vie_des_labos/Ast/ast_sstechnique.php?id_ast=1799 Official site.]<br />
* '''[[ScatterSim]]''': [[Python]] code for simulating the one-dimensional curve (circular average) for [[Lattices of nano-objects|nanoparticle superlattices]].<br />
** Citation: [[Yager, K.G.]]; Zhang, Y.; Lu, F.; Gang, O. "[http://scripts.iucr.org/cgi-bin/paper?S160057671302832X Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems]" ''Journal of Applied Crystallography'' '''2014''', 47, 118–129. [http://dx.doi.org/10.1107/S160057671302832X doi: 10.1107/S160057671302832X]<br />
*** See also [[Paper:Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems|summary of paper]].<br />
** [https://github.com/CFN-softbio/ScatterSim Code available on github.]<br />
<br />
===[[BioSAXS]]===<br />
* '''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]].<br />
** [http://www.bioisis.net/tutorial/9 Official site.]<br />
* '''BioXTAS RAW''': Simple program for performing 1D [[Guinier plot|Guinier analysis]] for [[BioSAXS]] data. (Provided by [[CHESS]].)<br />
** Citation: J. B. Hopkins, R. E. Gillilan and S. Skou [http://scripts.iucr.org/cgi-bin/paper?ge5036 BioXTAS RAW: improvements to a free open-source program for small-angle X-ray scattering data reduction and analysis] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717011438 doi: 10.1107/S1600576717011438]<br />
** [http://bioxtasraw.sourceforge.net/ Official site], [http://sourceforge.net/projects/bioxtasraw/ download].<br />
* '''[[ATSAS]]''': A suite of tools for small-angle scattering data of biological macromolecules.<br />
** 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]<br />
** 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]<br />
** Citation: D. Franke, M. V. Petoukhov, P. V. Konarev, A. Panjkovich, A. Tuukkanen, H. D. T. Mertens, A. G. Kikhney, N. R. Hajizadeh, J. M. Franklin, C. M. Jeffries and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?ge5042 ATSAS 2.8: a comprehensive data analysis suite for small-angle scattering from macromolecular solutions] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717007786 doi: 10.1107/S1600576717007786]<br />
** [http://www.embl-hamburg.de/biosaxs/software.html Official site.]<br />
* '''Biomachina''': Visualization of low-resolution bead-based models of proteins from SAXS data.<br />
** [http://situs.biomachina.org/tutorial_saxs.html#visual Official site.]<br />
* '''ScatterBrain''': Cross-platform (Windows, OSX, Linux) IDL software, provided by Australian Synchrotron.<br />
** [http://www.synchrotron.org.au/index.php/aussyncbeamlines/saxswaxs/software-saxswaxs Official site.]<br />
<br />
===[[GISAXS]]===<br />
* '''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.<br />
** Citation: R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
** [http://www.insp.jussieu.fr/oxydes/IsGISAXS/isgisaxs.htm Official site.]<br />
* '''FitGISAXS''': DWBA modeling. Requires commercial IgorPro software.<br />
** Citation: Babonneau, D. [http://scripts.iucr.org/cgi-bin/paper?hx5104 FitGISAXS: software package for modelling and analysis of GISAXS data using IGOR Pro] ''J. Appl. Cryst.'' '''2010''', 43(4), 929–936. [https://doi.org/10.1107/S0021889810020352 doi: 10.1107/S0021889810020352]<br />
** [http://www.pprime.fr/?q=fr/nanoparticules-nanostructures Official site.]<br />
* '''NANOCELL''': Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry<br />
** [http://faculty.washington.edu/h2/simulation.html Official site.]<br />
** 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]<br />
* '''[[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].<br />
** 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<br />
** Citation: G. Pospelov, W. Van Herck, J. Burle, J. M. Carmona Loaiza, C. Durniak, J. M. Fisher, M. Ganeva, D. Yurov and J. Wuttke [https://scripts.iucr.org/cgi-bin/paper?ge5067 BornAgain: software for simulating and fitting grazing-incidence small-angle scattering] ''J. Appl. Cryst.'' '''2020''', 53, 262-276. [https://doi.org/10.1107/S1600576719016789 doi: 10.1107/S1600576719016789]<br />
** [http://www.bornagainproject.org/ Official site.]<br />
* '''[[HipGISAXS]]''': A high-performance (massively parallel) C++ software for simulating GISAXS data.<br />
** 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]<br />
** 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'''.<br />
** [http://portal.nersc.gov/project/als/hipgisaxs/ Official site.]<br />
* '''SimDiffraction''': Simulation of diffraction patterns.<br />
** May be obtained by contacting [http://www.ntnu.edu/employees/dag.breiby Dag Werner Breiby], Dept. Physics, NTNU.<br />
** 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]<br />
* '''Diffraction Pattern Calculator (DPC) toolkit''': User-friendly GUI for determining [[unit-cell]] [[lattice]] parameters in [[GIWAXS]] data.<br />
** 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]<br />
** [http://www.princeton.edu/cbe/people/faculty/loo/group/software Official site.]<br />
* '''Indexing''': Python code for overlaying peak positions for a particular unit cell on a detector image.<br />
** Code available on [https://github.com/esther279/Indexing github].<br />
<br />
===[[Reflectivity]]===<br />
* '''Reflfit''': NIST software for fitting neutron (or x-ray) reflectivity curves.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/ Official site.]<br />
* '''Motofit''': Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.<br />
** 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]<br />
** [http://motofit.sourceforge.net/ Official site.]<br />
* '''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]].<br />
** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.]<br />
* '''GA refl''': Simultaneous fitting of x-ray and neutron polarized reflectometry data.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/garefl.html Official site.]<br />
* '''Simulreflec''': Calculate reflectivity of magnetic multiplayer systems.<br />
** [http://www-llb.cea.fr/prism/programs/simulreflec/simulreflec.html Official site.]<br />
* '''AFIT''': Fitting of reflectometry data. ([http://physchem.ox.ac.uk/%7erkt/AFit.zip download])<br />
* '''Parratt32''': Windows GUI implementing the Parratt formalism. ([http://www.hmi.de/bensc/instrumentation/instrumente/v6/refl/parratt_en.htm link])<br />
* '''Drydoc and Wetdoc''': Multiple contrast data fitting. ([http://www.studsvik.uu.se/research/NR/drydoc.htm link])<br />
* '''Surface''': Analysis of specular reflectivity. ([http://www.isis.rl.ac.uk/largescale/SURF/technical/surface.htm link])<br />
* '''Polly''': Polarized neutron reflectometry. ([http://www.isis.rl.ac.uk/largescale/CRISP/downloads/POLLY/reg_form.htm link])<br />
* '''Superfit''': Specular and diffuse neutron reflectivity. ([http://www.mf.mpg.de/en/abteilungen/dosch/software/software_en.shtml link])<br />
* '''GenX''': Parratt formalism combined with genetic algorithm.<br />
** Citation: Matts Björck and Gabriella Andersson [http://journals.iucr.org/j/issues/2007/06/00/aj5091/aj5091bdy.html GenX: an extensible X-ray reflectivity refinement program utilizing differential evolution] ''J. Appl. Cryst.'' '''2007''', 40, 1174-1178. [http://dx.doi.org/10.1107/S0021889807045086 doi: 10.1107/S0021889807045086 ]<br />
** [http://genx.sourceforge.net/ Official site.]<br />
* '''Aurore''': Open source Matlab code for neutron reflectivity, including error estimates.<br />
** Citation: Y. Gerelli [http://scripts.iucr.org/cgi-bin/paper?rg5094 Aurore: new software for neutron reflectivity data analysis] ''J. Appl. Cryst.'' '''2016''', 49, 330-339. [http://dx.doi.org/10.1107/S1600576716000108 doi: 10.1107/S1600576716000108]<br />
** [https://sourceforge.net/projects/aurorenr/ Official site.]<br />
* '''Web Reflectivity Calculator''': Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity.<br />
** [https://www.ncnr.nist.gov/instruments/magik/calculators/reflectivity-calculator.html Available online.]<br />
** Citation: Brian B. Maranville [http://nvlpubs.nist.gov/nistpubs/jres/122/jres.122.034.pdf Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity] ''Journal of Research of National Institute of Standards and Technology'' '''2017''', 122, 1-6. [https://doi.org/10.6028/jres.122.034 doi: 10.6028/jres.122.034]<br />
* '''refnx''': Python reflectivity code.<br />
** [https://github.com/refnx/refnx Available on github]<br />
** Citation: A.R.J. Nelson and S.W. Prescott [http://scripts.iucr.org/cgi-bin/paper?rg5158 refnx: neutron and X-ray reflectometry analysis in Python] ''J. Appl. Cryst.'' '''2019'''. [https://doi.org/10.1107/S1600576718017296 doi: 10.1107/S1600576718017296]<br />
* '''Multifitting''': Reflectivity calculations for multilayer systems<br />
** Citation: M. Svechnikov [http://scripts.iucr.org/cgi-bin/paper?te5051 Multifitting: software for the reflectometric reconstruction of multilayer nanofilms] ''J. Appl. Cryst.'' '''2019''' [https://doi.org/10.1107/S160057671901584X doi: 10.1107/S160057671901584X]<br />
<br />
===[[Crystallography]]===<br />
* [http://www.iucr.org/resources/other-directories/software IUCr Crystallographic software list]<br />
* [http://biophysics.med.jhmi.edu/cgi-bin/software/software_list?category=crystallography X-ray Lab Crystallography Software list]<br />
* '''Sir2014''': Crystal structure solving for small/medium structures, from [[x-ray]] or [[electron]] diffraction data.<br />
** [http://wwwba.ic.cnr.it/content/sir2011-v10 Official site.]<br />
** Citation: M. C. Burla, R. Caliandro, B. Carrozzini, G. L. Cascarano, C. Cuocci, C. Giacovazzo, M. Mallamo, A. Mazzone and G. Polidori [http://scripts.iucr.org/cgi-bin/paper?kk5193 Crystal structure determination and refinement via SIR2014] ''J. Appl. Cryst.'' '''2015''', 48, 306-309. [http://dx.doi.org/10.1107/S1600576715001132 doi: 10.1107/S1600576715001132]<br />
* '''SynchWeb & ISPyB''': Web interface for tracking samples and data (focused on [[MX]]).<br />
** Citation: S. J. Fisher, K. E. Levik, M. A. Williams, A. W. Ashton and K. E. McAuley [http://scripts.iucr.org/cgi-bin/paper?fs5101 SynchWeb: a modern interface for ISPyB] ''J. Appl. Cryst.'' '''2015''', 28. [http://dx.doi.org/10.1107/S1600576715004847 doi: 10.1107/S1600576715004847]<br />
* '''GSAS''': Open-source [[Python]] software for all types of crystallography studies.<br />
** Toby, B. H., & Von Dreele, R. B. [http://scripts.iucr.org/cgi-bin/paper?S0021889813003531 GSAS-II: the genesis of a modern open-source all purpose crystallography software package] ''Journal of Applied Crystallography'' '''2013''', 46(2), 544-549. [http://dx.doi.org/10.1107/S0021889813003531 doi: 10.1107/S0021889813003531]<br />
** [https://subversion.xor.aps.anl.gov/trac/pyGSAS Official site.]<br />
* '''Jana2006''': Reconstruct electron density modulation from powder or single-crystal data.<br />
** Citations: Petricek, V., Dusek, M. & Palatinus, L. Crystallographic Computing System JANA2006: General features ''Z. Kristallogr.'' '''2014''', 229(5), 345-352. [10.1515/zkri-2014-1737 doi: 10.1515/zkri-2014-1737]<br />
** [http://jana.fzu.cz/ Official site.]<br />
* '''τompas''': TEM online multi-purpose analyzing system<br />
** Citation: R.-X. Xie and W.-Z. Zhang [http://scripts.iucr.org/cgi-bin/paper?ks5644 τompas: a free and integrated tool for online crystallographic analysis in transmission electron microscopy] ''J. Appl. Cryst.'' '''2020''', 53. [https://doi.org/10.1107/S1600576720000801 doi: 10.1107/S1600576720000801]<br />
* '''UnitCell Tools''': Determine unit-cell parameters from a single electron diffraction pattern.<br />
** Citation: Hong-Long Shi and Zi-An Li [https://journals.iucr.org/m/issues/2021/05/00/gq5014/index.html UnitCell Tools, a package to determine unit-cell parameters from a single electron diffraction pattern] ''IUCrJ'' '''2020''' [https://doi.org/10.1107/S2052252521007867 doi: 10.1107/S2052252521007867]<br />
<br />
===Wave/Matter interaction===<br />
These software packages directly simulation the propagation of an EM field, and/or the interaction between EM waves and material:<br />
* '''WPG''' (WavePropaGator): Software package for simulating coherent and partially coherent X-ray wavefront propagation, especially intended for simulating [[XFEL]]<br />
** [https://wpg.readthedocs.io/en/stable/wpg.html Docs]<br />
** [https://github.com/samoylv/WPG Code]<br />
<br />
==Computing [[Materials]] Properties==<br />
* '''X-Ray Interactions With Matter''': CXRO/LBL web-portal with various calculators for x-ray interaction parameters.<br />
** [http://henke.lbl.gov/optical_constants/ Official site].<br />
* '''NCNR''': NIST Center for Neutron Research web-based calculator for Neutron [[SLD|Scattering Length Density]] and [[Absorption]].<br />
** [http://www.ncnr.nist.gov/resources/activation/ Official site].<br />
* '''pyFPRIME and ABSORB''': [[APS]] software for computing approximate x-ray scattering cross sections.<br />
** [https://subversion.xor.aps.anl.gov/trac/pyFprime/ Official site].<br />
* '''xraylib''': x-ray elemental information (spectroscopic)<br />
** [https://github.com/tschoonj/xraylib/wiki Official site].<br />
** Citation: [http://www.sciencedirect.com/science/article/pii/S0584854711001984 The xraylib library for X-ray–matter interactions. Recent developments] ''Spectrochimica Acta Part B: Atomic Spectroscopy'' '''2011''', 66 (11-12), 776-784. [http://dx.doi.org/10.1016/j.sab.2011.09.011 doi: 10.1016/j.sab.2011.09.011]<br />
* '''DANSE Periodic Table''': Python library for x-ray and neutron elemental scattering properties.<br />
** [http://www.reflectometry.org/danse/elements.html Official site].<br />
* '''MultiSciView''': Web-based tool for looking at arbitrary arrays of 2D image data. Convenient for looking at scattering images arranged based on metadata (coordinates, annealing history, etc.).<br />
** Citation: [https://www.sciencedirect.com/science/article/pii/S2468502X18300093 MultiSciView: Multivariate Scientific X-ray Image Visual Exploration with Cross-Data Space Views] ''Visual Informatics'' '''2018''', 1(2), 14-25 [http://dx.doi.org/10.1016/j.visinf.2018.04.003 doi: 10.1016/j.visinf.2018.04.003]<br />
<br />
==Synchrotron==<br />
* '''[https://github.com/silx-kit/silx SILX]''': Data reading/writing for synchrotron data formats.<br />
* '''[https://nsls-ii.github.io/bluesky/ BlueSky]''': Instrument control, including data saving into a database and access via databroker.<br />
<br />
==General==<br />
* '''SciStreams''': Simple workflow/pipeline software (building on [http://dask.pydata.org/en/latest/ Dask] and [https://github.com/mrocklin/streams Streams]), intended for asynchronous and distributed computations at a beamline.<br />
** [https://github.com/CFN-softbio/SciStreams Code available on github.]<br />
* '''ParaView''': Generalized GUI for visualizing scientific data, such as 3D images (uses [[Python]] and QT).<br />
** [http://www.paraview.org/ Official site.]<br />
* '''Mantid''': Framework for computing and visualizing materials science data.<br />
** [http://www.mantidproject.org/Main_Page Official site.]<br />
** Citation: O. Arnold, et al., Mantid—Data analysis and visualization package for neutron scattering and μSR experiments, Nuclear Instruments and Methods in Physics Research Section A, Volume 764, 11 November 2014, Pages 156-166. [http://dx.doi.org/10.1016/j.nima.2014.07.029 doi: 10.1016/j.nima.2014.07.029]<br />
* '''DAWN''' (Data Analysis WorkbeNch): An application (based on Eclipse) for general scientific data analysis. It is mainly developed by the [http://www.diamond.ac.uk/Home.html Diamond Light Source] and is well-optimized for analysis of x-ray data, including [[SAXS]]-specific features.<br />
** [http://dawnsci.org/ Official site.]<br />
<br />
==Custom==<br />
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 numerically. 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).<br />
<br />
==See Also==<br />
* [http://smallangle.org/content/software#Reduction-Visualisation SAS Portal Software List]<br />
* [http://www.ccp14.ac.uk/recomm/ Resources for Crystallographic Software Developers]<br />
* [[Data formats]]<br />
** [[NeXus data format]]<br />
* [[NSLS-II Control Software]]<br />
* [[NSLS-II Analysis Software]]</div>KevinYagerhttp://gisaxs.com/index.php?title=Software&diff=6148Software2023-12-08T14:08:32Z<p>KevinYager: /* Crystallography */</p>
<hr />
<div>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.<br />
<br />
==Data Viewing, Reduction, and Simple Analysis==<br />
These packages provide ways to view data, and perform simple operations (linecuts, etc.).<br />
===Geared towards 2D data===<br />
* '''Fit2D''': A well-known package for treatment and conversion 2D scattering images.<br />
** 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]<br />
** [http://www.esrf.eu/computing/scientific/FIT2D/ Official site.]<br />
** [http://staff.chess.cornell.edu/~smilgies/D-lineNotes/GISAXS-at-D-line/fit2d-GIXS-primer.html Fit2D primer.]<br />
** [http://g-line.chess.cornell.edu/G-lineStatus/G-lineManuals/CheatSheets/FIT2D_MAIN.html Fit2D hints page.]<br />
* '''Datasqueeze''': Graphical tool for analyzing 2D detector images.<br />
** [http://www.datasqueezesoftware.com/ Official site.]<br />
* '''ImageJ''': A generic tool for image treatment and analysis. Can be used to open and process x-ray detector images.<br />
** [http://rsb.info.nih.gov/ij/ Official site.]<br />
* '''NeXpy''': [[Python]] GUI for working with the [[NeXus data format]].<br />
** [https://nexpy.github.io/nexpy/ Official site.]<br />
* '''pycxdgui''': Very simple viewer for area images.<br />
** [https://github.com/CFN-softbio/pycxdgui Code available on github.]<br />
* '''[[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.<br />
** Citation: L. Yang, [http://journals.iucr.org/s/issues/2013/02/00/issconts.html Using an in-vacuum CCD detector for simultaneous small- and wide-angle scattering at beamline X9] ''J. Synchrotron Rad.'' '''2013''', 20, 211. [http://dx.doi.org/10.1107/S0909049512048984 doi: 10.1107/S0909049512048984]<br />
** [http://www.bnl.gov/ps/x9/software/view.asp Official site.]<br />
* '''[[pyXS]]''': Python scripts (with C++ backend) for performing analysis of 2D data.<br />
** [http://www.bnl.gov/ps/x9/software/pyXS.asp Official site.]<br />
* '''[[SciAnalysis]]''': Python scripts for analysis of 2D x-ray scattering data. Well-suited to batch analysis of many files.<br />
** [https://github.com/CFN-softbio/SciAnalysis Code available on github.]<br />
* '''[[GIXSGUI]]''': Visualization and reduction package for GISAXS. Requires the commerical Matlab software. Written by Zhang Jiang ([[APS]]).<br />
** Citation: Z. Jiang [http://scripts.iucr.org/cgi-bin/paper?S1600576715004434 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. [http://dx.doi.org/10.1107/S1600576715004434 doi: 10.1107/S1600576715004434]<br />
** [https://www.aps.anl.gov/Sector-8/8-ID/Operations-and-Schedules/Useful-Links/Sector-8-GIXSGUI Official site.]<br />
* '''[[GISAXSshop]]''': 2D visualization and reduction for GISAXS. Requires the Igor (Wavemetrics). Written by Byeongdu Lee ([[APS]]).<br />
** [https://sites.google.com/site/byeongdu/software Official site.]<br />
* '''Xi-Cam''': Robust GUI (pyQT based) and libraries for analyzing 2D scattering images. Developed at LBNL in connection with the [http://www.camera.lbl.gov/ CAMERA] project.<br />
** Citation: Pandolfi, R.J.; Hexemer, A.; et al. [http://journals.iucr.org/s/issues/2018/04/00/xe5032/index.html#BB14 Xi-cam: a versatile interface for data visualization and analysis] ''J. Syncr. Rad.'' '''2018''', 25 (4), 1261-1270. [https://doi.org/10.1107/S1600577518005787 doi: 10.1107/S1600577518005787]<br />
** [http://www.camera.lbl.gov/#!xi-cam-interface/z8vcm Official site.]<br />
<br />
===Geared towards 1D data===<br />
* '''NCNR SANS/USANS Package''': Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''Nika''': Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/nika.html Official site.]<br />
* '''Indra 2''': Reduction of USAXS data. Requires the commercial IgorPro software. Written for the 15ID instrument at [[APS]].<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/indra_2.html Official site.]<br />
* '''DPDAK''': Open-source Python tool for analyzing large sets of SAXS data. Works on Linux and Windows.<br />
** [https://dpdak.desy.de/index.php/Hauptseite Official site.]<br />
* '''SAS-cam''': SAXS data reduction, using the [https://bio.tools/sastbx SASTBX package].<br />
** Citation: H. Wu, Y. Li, G. Liu, H. Liu and N. Li [http://scripts.iucr.org/cgi-bin/paper?ei5058 SAS-cam: a program for automatic processing and analysis of small-angle scattering data] ''J. Appl. Cryst.'' '''2020''', 53, 1147-1153. [https://doi.org/10.1107/S1600576720008985 doi: 10.1107/S1600576720008985]<br />
<br />
==Data Modeling and Fitting==<br />
These packages can predict scattering curves for various possible nano- or molecular- structures. Some of the packages allow fitting of experimental data.<br />
===[[SAXS]]===<br />
* '''NCNR SANS/USANS Package''': Can model form factors for many common object shapes in solution. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''SASView''': [[Python]] code to model form factors. (Replacement for NIST Igor software.)<br />
** [http://www.sasview.org/ Official site.]<br />
* '''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.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/irena.html Official site.]<br />
* '''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.).<br />
** 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]<br />
** [http://www.pci.uni-bayreuth.de/rg_foerster/en/Software/index.html Official site.]<br />
* '''SASFit''': Combined fitting of 1D scattering curves.<br />
** [https://kur.web.psi.ch/sans1/SANSSoft/sasfit.html Official site.]<br />
* '''BayesApp.org''': Online tool for estimating distribution functions from SAS data.<br />
** [http://www.bayesapp.org/ Official site.]<br />
** 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]<br />
* '''SCT''': Software to predict/fit [[SAS|small-angle scattering]] data from atomistic models of molecules and proteins.<br />
** Citation: D. W. Wright and S. J. Perkins [http://scripts.iucr.org/cgi-bin/paper?po5031 SCT: a suite of programs for comparing atomistic models with small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48 [http://dx.doi.org/10.1107/S1600576715007062 doi: 10.1107/S1600576715007062]<br />
** [https://github.com/dww100/sct Official site.]<br />
* '''McSAS''': Monte Carlo regression to fit [[SAS|small-angle scattering]] data using collections/distributions of particles.<br />
** [http://mcsas.net/ Official site.]<br />
** I. Bressler, B. R. Pauw and A. F. Thünemann [http://scripts.iucr.org/cgi-bin/paper?vg5017 Citation: McSAS: software for the retrieval of model parameter distributions from scattering patterns] ''J. Appl. Cryst.'' '''2015''', 48, 962-969. [http://dx.doi.org/10.1107/S1600576715007347 doi: 10.1107/S1600576715007347]<br />
* '''pySAXS''': Package and GUI for SAXS analysis.<br />
** [http://iramis.cea.fr/en/Phocea/Vie_des_labos/Ast/ast_sstechnique.php?id_ast=1799 Official site.]<br />
* '''[[ScatterSim]]''': [[Python]] code for simulating the one-dimensional curve (circular average) for [[Lattices of nano-objects|nanoparticle superlattices]].<br />
** Citation: [[Yager, K.G.]]; Zhang, Y.; Lu, F.; Gang, O. "[http://scripts.iucr.org/cgi-bin/paper?S160057671302832X Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems]" ''Journal of Applied Crystallography'' '''2014''', 47, 118–129. [http://dx.doi.org/10.1107/S160057671302832X doi: 10.1107/S160057671302832X]<br />
*** See also [[Paper:Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems|summary of paper]].<br />
** [https://github.com/CFN-softbio/ScatterSim Code available on github.]<br />
<br />
===[[BioSAXS]]===<br />
* '''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]].<br />
** [http://www.bioisis.net/tutorial/9 Official site.]<br />
* '''BioXTAS RAW''': Simple program for performing 1D [[Guinier plot|Guinier analysis]] for [[BioSAXS]] data. (Provided by [[CHESS]].)<br />
** Citation: J. B. Hopkins, R. E. Gillilan and S. Skou [http://scripts.iucr.org/cgi-bin/paper?ge5036 BioXTAS RAW: improvements to a free open-source program for small-angle X-ray scattering data reduction and analysis] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717011438 doi: 10.1107/S1600576717011438]<br />
** [http://bioxtasraw.sourceforge.net/ Official site], [http://sourceforge.net/projects/bioxtasraw/ download].<br />
* '''[[ATSAS]]''': A suite of tools for small-angle scattering data of biological macromolecules.<br />
** 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]<br />
** 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]<br />
** Citation: D. Franke, M. V. Petoukhov, P. V. Konarev, A. Panjkovich, A. Tuukkanen, H. D. T. Mertens, A. G. Kikhney, N. R. Hajizadeh, J. M. Franklin, C. M. Jeffries and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?ge5042 ATSAS 2.8: a comprehensive data analysis suite for small-angle scattering from macromolecular solutions] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717007786 doi: 10.1107/S1600576717007786]<br />
** [http://www.embl-hamburg.de/biosaxs/software.html Official site.]<br />
* '''Biomachina''': Visualization of low-resolution bead-based models of proteins from SAXS data.<br />
** [http://situs.biomachina.org/tutorial_saxs.html#visual Official site.]<br />
* '''ScatterBrain''': Cross-platform (Windows, OSX, Linux) IDL software, provided by Australian Synchrotron.<br />
** [http://www.synchrotron.org.au/index.php/aussyncbeamlines/saxswaxs/software-saxswaxs Official site.]<br />
<br />
===[[GISAXS]]===<br />
* '''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.<br />
** Citation: R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
** [http://www.insp.jussieu.fr/oxydes/IsGISAXS/isgisaxs.htm Official site.]<br />
* '''FitGISAXS''': DWBA modeling. Requires commercial IgorPro software.<br />
** Citation: Babonneau, D. [http://scripts.iucr.org/cgi-bin/paper?hx5104 FitGISAXS: software package for modelling and analysis of GISAXS data using IGOR Pro] ''J. Appl. Cryst.'' '''2010''', 43(4), 929–936. [https://doi.org/10.1107/S0021889810020352 doi: 10.1107/S0021889810020352]<br />
** [http://www.pprime.fr/?q=fr/nanoparticules-nanostructures Official site.]<br />
* '''NANOCELL''': Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry<br />
** [http://faculty.washington.edu/h2/simulation.html Official site.]<br />
** 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]<br />
* '''[[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].<br />
** 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<br />
** Citation: G. Pospelov, W. Van Herck, J. Burle, J. M. Carmona Loaiza, C. Durniak, J. M. Fisher, M. Ganeva, D. Yurov and J. Wuttke [https://scripts.iucr.org/cgi-bin/paper?ge5067 BornAgain: software for simulating and fitting grazing-incidence small-angle scattering] ''J. Appl. Cryst.'' '''2020''', 53, 262-276. [https://doi.org/10.1107/S1600576719016789 doi: 10.1107/S1600576719016789]<br />
** [http://www.bornagainproject.org/ Official site.]<br />
* '''[[HipGISAXS]]''': A high-performance (massively parallel) C++ software for simulating GISAXS data.<br />
** 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]<br />
** 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'''.<br />
** [http://portal.nersc.gov/project/als/hipgisaxs/ Official site.]<br />
* '''SimDiffraction''': Simulation of diffraction patterns.<br />
** May be obtained by contacting [http://www.ntnu.edu/employees/dag.breiby Dag Werner Breiby], Dept. Physics, NTNU.<br />
** 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]<br />
* '''Diffraction Pattern Calculator (DPC) toolkit''': User-friendly GUI for determining [[unit-cell]] [[lattice]] parameters in [[GIWAXS]] data.<br />
** 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]<br />
** [http://www.princeton.edu/cbe/people/faculty/loo/group/software Official site.]<br />
* '''Indexing''': Python code for overlaying peak positions for a particular unit cell on a detector image.<br />
** Code available on [https://github.com/esther279/Indexing github].<br />
<br />
===[[Reflectivity]]===<br />
* '''Reflfit''': NIST software for fitting neutron (or x-ray) reflectivity curves.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/ Official site.]<br />
* '''Motofit''': Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.<br />
** 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]<br />
** [http://motofit.sourceforge.net/ Official site.]<br />
* '''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]].<br />
** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.]<br />
* '''GA refl''': Simultaneous fitting of x-ray and neutron polarized reflectometry data.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/garefl.html Official site.]<br />
* '''Simulreflec''': Calculate reflectivity of magnetic multiplayer systems.<br />
** [http://www-llb.cea.fr/prism/programs/simulreflec/simulreflec.html Official site.]<br />
* '''AFIT''': Fitting of reflectometry data. ([http://physchem.ox.ac.uk/%7erkt/AFit.zip download])<br />
* '''Parratt32''': Windows GUI implementing the Parratt formalism. ([http://www.hmi.de/bensc/instrumentation/instrumente/v6/refl/parratt_en.htm link])<br />
* '''Drydoc and Wetdoc''': Multiple contrast data fitting. ([http://www.studsvik.uu.se/research/NR/drydoc.htm link])<br />
* '''Surface''': Analysis of specular reflectivity. ([http://www.isis.rl.ac.uk/largescale/SURF/technical/surface.htm link])<br />
* '''Polly''': Polarized neutron reflectometry. ([http://www.isis.rl.ac.uk/largescale/CRISP/downloads/POLLY/reg_form.htm link])<br />
* '''Superfit''': Specular and diffuse neutron reflectivity. ([http://www.mf.mpg.de/en/abteilungen/dosch/software/software_en.shtml link])<br />
* '''GenX''': Parratt formalism combined with genetic algorithm.<br />
** Citation: Matts Björck and Gabriella Andersson [http://journals.iucr.org/j/issues/2007/06/00/aj5091/aj5091bdy.html GenX: an extensible X-ray reflectivity refinement program utilizing differential evolution] ''J. Appl. Cryst.'' '''2007''', 40, 1174-1178. [http://dx.doi.org/10.1107/S0021889807045086 doi: 10.1107/S0021889807045086 ]<br />
** [http://genx.sourceforge.net/ Official site.]<br />
* '''Aurore''': Open source Matlab code for neutron reflectivity, including error estimates.<br />
** Citation: Y. Gerelli [http://scripts.iucr.org/cgi-bin/paper?rg5094 Aurore: new software for neutron reflectivity data analysis] ''J. Appl. Cryst.'' '''2016''', 49, 330-339. [http://dx.doi.org/10.1107/S1600576716000108 doi: 10.1107/S1600576716000108]<br />
** [https://sourceforge.net/projects/aurorenr/ Official site.]<br />
* '''Web Reflectivity Calculator''': Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity.<br />
** [https://www.ncnr.nist.gov/instruments/magik/calculators/reflectivity-calculator.html Available online.]<br />
** Citation: Brian B. Maranville [http://nvlpubs.nist.gov/nistpubs/jres/122/jres.122.034.pdf Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity] ''Journal of Research of National Institute of Standards and Technology'' '''2017''', 122, 1-6. [https://doi.org/10.6028/jres.122.034 doi: 10.6028/jres.122.034]<br />
* '''refnx''': Python reflectivity code.<br />
** [https://github.com/refnx/refnx Available on github]<br />
** Citation: A.R.J. Nelson and S.W. Prescott [http://scripts.iucr.org/cgi-bin/paper?rg5158 refnx: neutron and X-ray reflectometry analysis in Python] ''J. Appl. Cryst.'' '''2019'''. [https://doi.org/10.1107/S1600576718017296 doi: 10.1107/S1600576718017296]<br />
* '''Multifitting''': Reflectivity calculations for multilayer systems<br />
** Citation: M. Svechnikov [http://scripts.iucr.org/cgi-bin/paper?te5051 Multifitting: software for the reflectometric reconstruction of multilayer nanofilms] ''J. Appl. Cryst.'' '''2019''' [https://doi.org/10.1107/S160057671901584X doi: 10.1107/S160057671901584X]<br />
<br />
===[[Crystallography]]===<br />
* [http://www.iucr.org/resources/other-directories/software IUCr Crystallographic software list]<br />
* [http://biophysics.med.jhmi.edu/cgi-bin/software/software_list?category=crystallography X-ray Lab Crystallography Software list]<br />
* '''Sir2014''': Crystal structure solving for small/medium structures, from [[x-ray]] or [[electron]] diffraction data.<br />
** [http://wwwba.ic.cnr.it/content/sir2011-v10 Official site.]<br />
** Citation: M. C. Burla, R. Caliandro, B. Carrozzini, G. L. Cascarano, C. Cuocci, C. Giacovazzo, M. Mallamo, A. Mazzone and G. Polidori [http://scripts.iucr.org/cgi-bin/paper?kk5193 Crystal structure determination and refinement via SIR2014] ''J. Appl. Cryst.'' '''2015''', 48, 306-309. [http://dx.doi.org/10.1107/S1600576715001132 doi: 10.1107/S1600576715001132]<br />
* '''SynchWeb & ISPyB''': Web interface for tracking samples and data (focused on [[MX]]).<br />
** Citation: S. J. Fisher, K. E. Levik, M. A. Williams, A. W. Ashton and K. E. McAuley [http://scripts.iucr.org/cgi-bin/paper?fs5101 SynchWeb: a modern interface for ISPyB] ''J. Appl. Cryst.'' '''2015''', 28. [http://dx.doi.org/10.1107/S1600576715004847 doi: 10.1107/S1600576715004847]<br />
* '''GSAS''': Open-source [[Python]] software for all types of crystallography studies.<br />
** Toby, B. H., & Von Dreele, R. B. [http://scripts.iucr.org/cgi-bin/paper?S0021889813003531 GSAS-II: the genesis of a modern open-source all purpose crystallography software package] ''Journal of Applied Crystallography'' '''2013''', 46(2), 544-549. [http://dx.doi.org/10.1107/S0021889813003531 doi: 10.1107/S0021889813003531]<br />
** [https://subversion.xor.aps.anl.gov/trac/pyGSAS Official site.]<br />
* '''Jana2006''': Reconstruct electron density modulation from powder or single-crystal data.<br />
** Citations: Petricek, V., Dusek, M. & Palatinus, L. Crystallographic Computing System JANA2006: General features ''Z. Kristallogr.'' '''2014''', 229(5), 345-352. [10.1515/zkri-2014-1737 doi: 10.1515/zkri-2014-1737]<br />
** [http://jana.fzu.cz/ Official site.]<br />
* '''τompas''': TEM online multi-purpose analyzing system<br />
** Citation: R.-X. Xie and W.-Z. Zhang [http://scripts.iucr.org/cgi-bin/paper?ks5644 τompas: a free and integrated tool for online crystallographic analysis in transmission electron microscopy] ''J. Appl. Cryst.'' '''2020''', 53. [https://doi.org/10.1107/S1600576720000801 doi: 10.1107/S1600576720000801]<br />
* '''UnitCell Tools''': Determine unit-cell parameters from a single electron diffraction pattern.<br />
** Citation: Hong-Long Shi and Zi-An Li [https://journals.iucr.org/m/issues/2021/05/00/gq5014/index.html UnitCell Tools, a package to determine unit-cell parameters from a single electron diffraction pattern] ''IUCrJ'' '''2020''' [https://doi.org/10.1107/S2052252521007867 doi: 10.1107/S2052252521007867]<br />
<br />
===Wave/Matter interaction===<br />
These software packages directly simulation the propagation of an EM field, and/or the interaction between EM waves and material:<br />
* WPG (WavePropaGator): Software package for simulating coherent and partially coherent X-ray wavefront propagation, especially intended for simulating [[XFEL]]<br />
** [https://wpg.readthedocs.io/en/stable/wpg.html Docs]<br />
** [https://github.com/samoylv/WPG Code]<br />
<br />
==Computing [[Materials]] Properties==<br />
* '''X-Ray Interactions With Matter''': CXRO/LBL web-portal with various calculators for x-ray interaction parameters.<br />
** [http://henke.lbl.gov/optical_constants/ Official site].<br />
* '''NCNR''': NIST Center for Neutron Research web-based calculator for Neutron [[SLD|Scattering Length Density]] and [[Absorption]].<br />
** [http://www.ncnr.nist.gov/resources/activation/ Official site].<br />
* '''pyFPRIME and ABSORB''': [[APS]] software for computing approximate x-ray scattering cross sections.<br />
** [https://subversion.xor.aps.anl.gov/trac/pyFprime/ Official site].<br />
* '''xraylib''': x-ray elemental information (spectroscopic)<br />
** [https://github.com/tschoonj/xraylib/wiki Official site].<br />
** Citation: [http://www.sciencedirect.com/science/article/pii/S0584854711001984 The xraylib library for X-ray–matter interactions. Recent developments] ''Spectrochimica Acta Part B: Atomic Spectroscopy'' '''2011''', 66 (11-12), 776-784. [http://dx.doi.org/10.1016/j.sab.2011.09.011 doi: 10.1016/j.sab.2011.09.011]<br />
* '''DANSE Periodic Table''': Python library for x-ray and neutron elemental scattering properties.<br />
** [http://www.reflectometry.org/danse/elements.html Official site].<br />
* '''MultiSciView''': Web-based tool for looking at arbitrary arrays of 2D image data. Convenient for looking at scattering images arranged based on metadata (coordinates, annealing history, etc.).<br />
** Citation: [https://www.sciencedirect.com/science/article/pii/S2468502X18300093 MultiSciView: Multivariate Scientific X-ray Image Visual Exploration with Cross-Data Space Views] ''Visual Informatics'' '''2018''', 1(2), 14-25 [http://dx.doi.org/10.1016/j.visinf.2018.04.003 doi: 10.1016/j.visinf.2018.04.003]<br />
<br />
==Synchrotron==<br />
* '''[https://github.com/silx-kit/silx SILX]''': Data reading/writing for synchrotron data formats.<br />
* '''[https://nsls-ii.github.io/bluesky/ BlueSky]''': Instrument control, including data saving into a database and access via databroker.<br />
<br />
==General==<br />
* '''SciStreams''': Simple workflow/pipeline software (building on [http://dask.pydata.org/en/latest/ Dask] and [https://github.com/mrocklin/streams Streams]), intended for asynchronous and distributed computations at a beamline.<br />
** [https://github.com/CFN-softbio/SciStreams Code available on github.]<br />
* '''ParaView''': Generalized GUI for visualizing scientific data, such as 3D images (uses [[Python]] and QT).<br />
** [http://www.paraview.org/ Official site.]<br />
* '''Mantid''': Framework for computing and visualizing materials science data.<br />
** [http://www.mantidproject.org/Main_Page Official site.]<br />
** Citation: O. Arnold, et al., Mantid—Data analysis and visualization package for neutron scattering and μSR experiments, Nuclear Instruments and Methods in Physics Research Section A, Volume 764, 11 November 2014, Pages 156-166. [http://dx.doi.org/10.1016/j.nima.2014.07.029 doi: 10.1016/j.nima.2014.07.029]<br />
* '''DAWN''' (Data Analysis WorkbeNch): An application (based on Eclipse) for general scientific data analysis. It is mainly developed by the [http://www.diamond.ac.uk/Home.html Diamond Light Source] and is well-optimized for analysis of x-ray data, including [[SAXS]]-specific features.<br />
** [http://dawnsci.org/ Official site.]<br />
<br />
==Custom==<br />
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 numerically. 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).<br />
<br />
==See Also==<br />
* [http://smallangle.org/content/software#Reduction-Visualisation SAS Portal Software List]<br />
* [http://www.ccp14.ac.uk/recomm/ Resources for Crystallographic Software Developers]<br />
* [[Data formats]]<br />
** [[NeXus data format]]<br />
* [[NSLS-II Control Software]]<br />
* [[NSLS-II Analysis Software]]</div>KevinYagerhttp://gisaxs.com/index.php?title=DWBA&diff=6147DWBA2023-12-01T14:29:16Z<p>KevinYager: /* Mathematical form */</p>
<hr />
<div>The '''Distorted Wave Born Approximation''' ('''DWBA''') is a theoretical approach in [[scattering]] theory (or, more generally, in [[quantum mechanics]]). In the [[Born approximation]] (BA), when calculating the interaction between matter and incident radiation ('scattering'), the total field inside the material is assumed to simply be the incident field. In other words, the modification of the field due to scattering events is assumed to be negligible; this is valid in the limit of weak scattering. Every particle simply sees the incident field, and scatters independently (though these scattered fields interfere with one another, giving rise to the usual appearance of [[scattering features]] in the far-field).<br />
<br />
The Born approximation is not valid in all cases; in particular, when scattering becomes very strong, the approximation is no longer valid. As one example, at some point one must consider [[multiple scattering]]: the scattered rays can, themselves, become sources of scattering. [[GISAXS]] and other grazing-incidence techniques typically probe regimes where the Born approximation is not valid. For instance, in GISAXS, the x-ray beam will be reflected by the film-substrate and film-ambient interfaces; and may in fact undergo multiple reflections ([[X-ray waveguiding|waveguiding]]). This, and other [[dynamical scattering]] effects need to be accounted for in order to understand GISAXS data.<br />
<br />
The DWBA is an extension to the BA, which accounts for higher-order multiple scattering effects. Conceptually, it accounts for the fact that the radiation field in the material should be solved under the condition that the scattering entities introduce substantial perturbations to the field. Mathematically, DWBA uses the BA as an idealized case, to which successive perturbation terms are introduced.<br />
<br />
==Mathematical form==<br />
In the simplest DWBA formalism, the sample is assumed to be a flat interface, with perturbations thereof that encode the in-plane order (lateral [[electron-density distribution]]). The sample's structure can also be thought of as a variety of nanoscale scattering objects distributed over an otherwise flat substrate. As usual, the [[scattering intensity]] can be split into a [[Form Factor]] and [[Structure Factor]] contribution:<br />
:<math><br />
I(\mathbf{q}) = \left \langle \right |F|^2 \rangle S(q_{\parallel})<br />
</math><br />
The structure factor (''S'') describes the spatial arrangement of the objects ([[Fourier transform]] of the position autocorrelation function), while the form factor (''F'') is the Fourier transform of the shape of the objects. In the BA, this simply:<br />
:<math><br />
F(\mathbf{q}) = \Delta \rho \int \limits _{V} e^{ i \mathbf{q} \cdot \mathbf{r} } \mathrm{d}V<br />
</math><br />
However, to account for [[reflection]] and [[refraction]] effects, the DWBA introduces additional terms. The figure below shows four different scattering events which are considered:<br />
<br />
<br />
[[Image:Four terms.png|600px]]<br />
<br />
<br />
The first term is the BA, while the next 3 terms describe various specific multiple-scattering events. In principle, an infinite series of different combinations of reflection and scattering need to be included. However, as will be seen, higher-order terms are progressively more and more unlikely (and thus weak, in terms of their contribution to the total scattering). The DWBA, by considering these 4 terms, can adequately reproduce much GISAXS data. The various terms described above interfere coherently; thus the final scattering that is measured on the [[detector]] comes from their combination:<br />
<br />
:<math><br />
\begin{alignat}{2}<br />
F_{\mathrm{DWBA}}(q_{\parallel},k_{iz},k_{fz}) = & \, F(q_{\parallel},k_{fz}-k_{iz}) \\<br />
& + r_F(\alpha_i) F(q_{\parallel},k_{fz}+k_{iz}) \\<br />
& + r_F(\alpha_f) F(q_{\parallel},-k_{fz}-k_{iz}) \\<br />
& + r_F(\alpha_i) r_F(\alpha_f) F(q_{\parallel},-k_{fz}+k_{iz})<br />
\end{alignat}<br />
</math><br />
<br />
It is important to notice that the higher-order contributions to ''F'' are multiplied by the Fresnel [[reflectivity]] (<math>\scriptstyle r_F</math>). This occurs since these terms involve reflection events.<br />
:<math><br />
r_F = \frac{k_z-\tilde{k}_z}{k_z+\tilde{k}_z}<br />
</math><br />
Where:<br />
:<math><br />
\tilde{k}_z = - \sqrt{ n^2 k^2_0 - |k_{\parallel}|^2 }<br />
</math><br />
And ''n'' is the complex [[refractive index]] of the substrate.<br />
<br />
Because the reflectivity falls off very rapidly with increasing angle ([[Fresnel plot|scaling of]] <math>\scriptstyle R \sim q^{-4}</math>), these terms are only relevant at small angles. This has several implications:<br />
* The DWBA is only relevant at small incident angles (<math>\scriptstyle \alpha_i</math>); i.e. it matters for grazing-incidence experiments, but not transmission scattering ([[TSAXS]]).<br />
* The DWBA is only relevant at small exit angles (<math>\scriptstyle \alpha_f</math>); i.e. it matters for [[GISAXS]] but not [[GIWAXS]], and is most pronounced at small angles (near the [[Yoneda]] and [[horizon]]).<br />
* Higher-order terms (beyond the 4 covered by the DWBA) are strongly suppressed because they involve even more multiplications by <math>\scriptstyle R_F</math>. These can thus be ignored, except when angles are very close to the [[critical angle]] (e.g. [[x-ray waveguiding]]).<br />
<br />
Using the effective form factor (<math>\scriptstyle F_{\mathrm{DWBA}}</math>), the total incoherent cross-section becomes:<br />
:<math><br />
\frac{\mathrm{d}\sigma}{\mathrm{d}\Omega} = \left \langle |F_{\mathrm{DWBA}}|^2 \right \rangle S(q_{\parallel})<br />
</math><br />
While the coherent cross-section accounts for the [[specular rod]].<br />
<br />
==Channels==<br />
The DWBA has four scattering terms, which can conceptually be divided into two channels: transmission channel (scattering direction consistent with incident beam) and reflection channel (scattering consistent with reflected beam).<br />
<br />
[[Image:Figure DWBAc02.png|800px]]<br />
<br />
==References==<br />
===Foundational===<br />
* George H. Vineyard [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.26.4146 Grazing-incidence diffraction and the distorted-wave approximation for the study of surfaces] ''Phys. Rev. B'' '''1982''', 26, 4146. [http://dx.doi.org/10.1103/PhysRevB.26.4146 doi: 10.1103/PhysRevB.26.4146]<br />
* S. K. Sinha, E. B. Sirota, S. Garoff, and H. B. Stanley [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.38.2297 X-ray and neutron scattering from rough surfaces] ''Phys. Rev. B'' '''1988''', 38, 2297. [http://dx.doi.org/10.1103/PhysRevB.38.2297 doi: 10.1103/PhysRevB.38.2297]<br />
* M. Rauscher, T. Salditt, and H. Spohn [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.52.16855 Small-angle x-ray scattering under grazing incidence: The cross section in the distorted-wave Born approximation] ''Phys. Rev. B'' '''1995''', 52, 16855. [http://dx.doi.org/10.1103/PhysRevB.52.16855 doi: 10.1103/PhysRevB.52.16855]<br />
* Michael F. Toney and Sean Brennan [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.39.7963 Observation of the effect of refraction on x rays diffracted in a grazing-incidence asymmetric Bragg geometry] ''Phys. Rev. B'' '''1989''', 39, 7963. [http://dx.doi.org/10.1103/PhysRevB.39.7963 doi: 10.1103/PhysRevB.39.7963]<br />
<br />
===Variants===<br />
* '''Islands on surfaces''':<br />
** Markus Rauscher, Rogerio Paniago, Hartmut Metzger, Zoltan Kovats, Jan Domke, Johann Peisl, Hans-Dieter Pfannes, Jörg Schulze and Ignaz Eisele [http://scitation.aip.org/content/aip/journal/jap/86/12/10.1063/1.371724 Grazing incidence small angle x-ray scattering from free-standing nanostructures] ''J. Appl. Phys.'' '''1999''', 86, 6763. [http://dx.doi.org/10.1063/1.371724 doi: 10.1063/1.371724]<br />
** R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
<br />
* '''Graded interface''':<br />
** Dick K. G. de Boer [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.53.6048 X-ray scattering and x-ray fluorescence from materials with rough interfaces] ''Phys. Rev. B'' '''1996''', 53, 6048. [http://dx.doi.org/10.1103/PhysRevB.53.6048 doi: 10.1103/PhysRevB.53.6048]<br />
** A. Sentenac and J.-J. Greffet [http://www.opticsinfobase.org/josaa/abstract.cfm?uri=JOSAA-15-2-528 Mean-field theory of light scattering by one-dimensional rough surfaces] ''JOSA A'' '''1998''', 15 (2), 528-532. [http://dx.doi.org/10.1364/JOSAA.15.000528 doi: 10.1364/JOSAA.15.000528]<br />
** Rémi Lazzari, Frédéric Leroy, and Gilles Renaud [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.76.125411 Grazing-incidence small-angle x-ray scattering from dense packing of islands on surfaces: Development of distorted wave Born approximation and correlation between particle sizes and spacing] ''Phys. Rev. B'' '''2007''', 76, 125411. [http://dx.doi.org/10.1103/PhysRevB.76.125411 doi: 10.1103/PhysRevB.76.125411]<br />
<br />
* '''[[X-ray waveguiding]]''': Zhang Jiang, Dong Ryeol Lee, Suresh Narayanan, Jin Wang, and Sunil K. Sinha [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.84.075440 Waveguide-enhanced grazing-incidence small-angle x-ray scattering of buried nanostructures in thin films] ''Phys. Rev. B'' '''2011''', 84, 075440. [http://dx.doi.org/10.1103/PhysRevB.84.075440 doi: 10.1103/PhysRevB.84.075440]<br />
<br />
===Refraction Correction===<br />
* Byeongdu Lee, Insun Park, Jinhwan Yoon, Soojin Park, Jehan Kim, Kwang-Woo Kim, Taihyun Chang, and Moonhor Ree [http://pubs.acs.org/doi/abs/10.1021/ma047562d Structural Analysis of Block Copolymer Thin Films with Grazing Incidence Small-Angle X-ray Scattering] ''Macromolecules'' '''2005''', 38 (10), 4311-4323. [http://dx.doi.org/10.1021/ma047562d doi: 10.1021/ma047562d]<br />
* P. Busch, M. Rauscher, D.-M. Smilgies, D. Posselt and C. M. Papadakis [http://scripts.iucr.org/cgi-bin/paper?S0021889806012337 Grazing-incidence small-angle X-ray scattering from thin polymer films with lamellar structures - the scattering cross section in the distorted-wave Born approximation] ''J. Appl. Cryst.'' '''2006''', 39, 433-442. [http://dx.doi.org/10.1107/S0021889806012337 doi: 10.1107/S0021889806012337]<br />
* Rémi Lazzari, Frédéric Leroy, and Gilles Renaud [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.76.125411 Grazing-incidence small-angle x-ray scattering from dense packing of islands on surfaces: Development of distorted wave Born approximation and correlation between particle sizes and spacing] ''Phys. Rev. B'' '''2007''', 76, 125411. [http://dx.doi.org/10.1103/PhysRevB.76.125411 doi: 10.1103/PhysRevB.76.125411]<br />
* 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]<br />
* Lu, X.; [[Yager, K.G.]]; Johnston, D.; Black, C.T.; Ocko, B.M. '''[http://scripts.iucr.org/cgi-bin/paper?S0021889812047887 Grazing-incidence transmission X-ray scattering: surface scattering in the Born approximation]''' ''Journal of Applied Crystallography'' '''2013''', 46, 165–172. [http://dx.doi.org/10.1107/S0021889812047887 doi: 10.1107/S0021889812047887]<br />
* Liu, J.; Yager, K.G. [http://journals.iucr.org/m/issues/2018/06/00/hf5364/index.html Unwarping GISAXS data] ''IUCrJ'' '''2018''', 5, 737–752. [http://dx.doi.org/10.1107/S2052252518012058 doi: 10.1107/S2052252518012058]<br />
<br />
===Multiple Channels===<br />
* Byeongdu Lee, Insun Park, Jinhwan Yoon, Soojin Park, Jehan Kim, Kwang-Woo Kim, Taihyun Chang, and Moonhor Ree [https://pubs.acs.org/doi/abs/10.1021/ma047562d Structural Analysis of Block Copolymer Thin Films with Grazing Incidence Small-Angle X-ray Scattering] ''Macromolecules'' '''2005''', 38 (10), 4311–4323. [http://dx.doi.org/10.1021/ma047562d doi: 10.1021/ma047562d]<br />
* Liu, J.; Yager, K.G. [http://journals.iucr.org/m/issues/2018/06/00/hf5364/index.html Unwarping GISAXS data] ''IUCrJ'' '''2018''', 5, 737–752. [http://dx.doi.org/10.1107/S2052252518012058 doi: 10.1107/S2052252518012058]<br />
<br />
===Application of DWBA===<br />
* '''Nanoporous thin film''': Byeongdu Lee, Jinhwan Yoon, Weontae Oh, Yongtaek Hwang, Kyuyoung Heo, Kyeong Sik Jin, Jehan Kim, Kwang-Woo Kim and Moonhor Ree [http://pubs.acs.org/doi/abs/10.1021/ma048214e In-Situ Grazing Incidence Small-Angle X-ray Scattering Studies on Nanopore Evolution in Low-k Organosilicate Dielectric Thin Films] ''Macromolecules'' '''2005''', 38 (8), 3395–3405 [http://dx.doi.org/10.1021/ma048214e doi: 10.1021/ma048214e]<br />
* '''Lamellar mesostructures''': P. Busch, M. Rauscher, D.-M. Smilgies, D. Posselt and C. M. Papadakis [http://scripts.iucr.org/cgi-bin/paper?S0021889806012337 Grazing-incidence small-angle X-ray scattering from thin polymer films with lamellar structures - the scattering cross section in the distorted-wave Born approximation] ''J. Appl. Cryst.'' '''2006''', 39, 433-442. [http://dx.doi.org/10.1107/S0021889806012337 doi: 10.1107/S0021889806012337]<br />
* '''Diffraction patterns''': 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]<br />
* '''Ge nanodots''': H Okuda, K Kuno, S Ochiai, N Usami, K Nakajima, O Sakata, S Sasaki and M Takata [http://iopscience.iop.org/1742-6596/184/1/012005 Effect of reflected waves on the GISAXS analysis of as-grown capped Ge nanodots] ''J. Phys.: Conf. Ser.'' '''2009''', 184, 012005. [http://dx.doi.org/10.1088/1742-6596/184/1/012005 doi: 10.1088/1742-6596/184/1/012005]<br />
<br />
===Summaries/Reviews===<br />
* Gilles Renaud, Rémi Lazzari, Frédéric Leroy [http://www.sciencedirect.com/science/article/pii/S0167572909000399 Probing surface and interface morphology with Grazing Incidence Small Angle X-Ray Scattering] ''Surface Science Reports'' '''2009''' 64 (8), 255-380. [http://dx.doi.org/10.1016/j.surfrep.2009.07.002 doi: 10.1016/j.surfrep.2009.07.002]<br />
<br />
==See Also==<br />
* [http://en.wikipedia.org/wiki/Born_approximation#Distorted_wave_Born_approximation_.28DWBA.29 Wikipedia:DWBA]<br />
* [http://www.gisaxs.de/theory.html GISAXS.de Theory]</div>KevinYagerhttp://gisaxs.com/index.php?title=File:Figure_DWBAc02.png&diff=6146File:Figure DWBAc02.png2023-12-01T14:28:48Z<p>KevinYager: Example data showing how the overall GISAXS scattering intensity arises from contributions from transmission-mode and reflection-mode scattering channels.</p>
<hr />
<div>== Summary ==<br />
Example data showing how the overall GISAXS scattering intensity arises from contributions from transmission-mode and reflection-mode scattering channels.</div>KevinYagerhttp://gisaxs.com/index.php?title=DWBA&diff=6145DWBA2023-12-01T14:25:35Z<p>KevinYager: /* Mathematical form */</p>
<hr />
<div>The '''Distorted Wave Born Approximation''' ('''DWBA''') is a theoretical approach in [[scattering]] theory (or, more generally, in [[quantum mechanics]]). In the [[Born approximation]] (BA), when calculating the interaction between matter and incident radiation ('scattering'), the total field inside the material is assumed to simply be the incident field. In other words, the modification of the field due to scattering events is assumed to be negligible; this is valid in the limit of weak scattering. Every particle simply sees the incident field, and scatters independently (though these scattered fields interfere with one another, giving rise to the usual appearance of [[scattering features]] in the far-field).<br />
<br />
The Born approximation is not valid in all cases; in particular, when scattering becomes very strong, the approximation is no longer valid. As one example, at some point one must consider [[multiple scattering]]: the scattered rays can, themselves, become sources of scattering. [[GISAXS]] and other grazing-incidence techniques typically probe regimes where the Born approximation is not valid. For instance, in GISAXS, the x-ray beam will be reflected by the film-substrate and film-ambient interfaces; and may in fact undergo multiple reflections ([[X-ray waveguiding|waveguiding]]). This, and other [[dynamical scattering]] effects need to be accounted for in order to understand GISAXS data.<br />
<br />
The DWBA is an extension to the BA, which accounts for higher-order multiple scattering effects. Conceptually, it accounts for the fact that the radiation field in the material should be solved under the condition that the scattering entities introduce substantial perturbations to the field. Mathematically, DWBA uses the BA as an idealized case, to which successive perturbation terms are introduced.<br />
<br />
==Mathematical form==<br />
In the simplest DWBA formalism, the sample is assumed to be a flat interface, with perturbations thereof that encode the in-plane order (lateral [[electron-density distribution]]). The sample's structure can also be thought of as a variety of nanoscale scattering objects distributed over an otherwise flat substrate. As usual, the [[scattering intensity]] can be split into a [[Form Factor]] and [[Structure Factor]] contribution:<br />
:<math><br />
I(\mathbf{q}) = \left \langle \right |F|^2 \rangle S(q_{\parallel})<br />
</math><br />
The structure factor (''S'') describes the spatial arrangement of the objects ([[Fourier transform]] of the position autocorrelation function), while the form factor (''F'') is the Fourier transform of the shape of the objects. In the BA, this simply:<br />
:<math><br />
F(\mathbf{q}) = \Delta \rho \int \limits _{V} e^{ i \mathbf{q} \cdot \mathbf{r} } \mathrm{d}V<br />
</math><br />
However, to account for [[reflection]] and [[refraction]] effects, the DWBA introduces additional terms. The figure below shows four different scattering events which are considered:<br />
<br />
<br />
[[Image:Four terms.png|600px]]<br />
<br />
<br />
The first term is the BA, while the next 3 terms describe various specific multiple-scattering events. In principle, an infinite series of different combinations of reflection and scattering need to be included. However, as will be seen, higher-order terms are progressively more and more unlikely (and thus weak, in terms of their contribution to the total scattering). The DWBA, by considering these 4 terms, can adequately reproduce much GISAXS data. The various terms described above interfere coherently; thus the final scattering that is measured on the [[detector]] comes from their combination:<br />
<br />
:<math><br />
\begin{alignat}{2}<br />
F_{\mathrm{DWBA}}(q_{\parallel},k_{iz},k_{fz}) = & \, F(q_{\parallel},k_{fz}-k_{iz}) \\<br />
& + r_F(\alpha_i) F(q_{\parallel},k_{fz}+k_{iz}) \\<br />
& + r_F(\alpha_f) F(q_{\parallel},-k_{fz}-k_{iz}) \\<br />
& + r_F(\alpha_i) r_F(\alpha_f) F(q_{\parallel},-k_{fz}+k_{iz})<br />
\end{alignat}<br />
</math><br />
<br />
It is important to notice that the higher-order contributions to ''F'' are multiplied by the Fresnel [[reflectivity]] (<math>\scriptstyle r_F</math>). This occurs since these terms involve reflection events.<br />
:<math><br />
r_F = \frac{k_z-\tilde{k}_z}{k_z+\tilde{k}_z}<br />
</math><br />
Where:<br />
:<math><br />
\tilde{k}_z = - \sqrt{ n^2 k^2_0 - |k_{\parallel}|^2 }<br />
</math><br />
And ''n'' is the complex [[refractive index]] of the substrate.<br />
<br />
Because the reflectivity falls off very rapidly with increasing angle ([[Fresnel plot|scaling of]] <math>\scriptstyle R \sim q^{-4}</math>), these terms are only relevant at small angles. This has several implications:<br />
* The DWBA is only relevant at small incident angles (<math>\scriptstyle \alpha_i</math>); i.e. it matters for grazing-incidence experiments, but not transmission scattering ([[TSAXS]]).<br />
* The DWBA is only relevant at small exit angles (<math>\scriptstyle \alpha_f</math>); i.e. it matters for [[GISAXS]] but not [[GIWAXS]], and is most pronounced at small angles (near the [[Yoneda]] and [[horizon]]).<br />
* Higher-order terms (beyond the 4 covered by the DWBA) are strongly suppressed because they involve even more multiplications by <math>\scriptstyle R_F</math>. These can thus be ignored, except when angles are very close to the [[critical angle]] (e.g. [[x-ray waveguiding]]).<br />
<br />
Using the effective form factor (<math>\scriptstyle F_{\mathrm{DWBA}}</math>), the total incoherent cross-section becomes:<br />
:<math><br />
\frac{\mathrm{d}\sigma}{\mathrm{d}\Omega} = \left \langle |F_{\mathrm{DWBA}}|^2 \right \rangle S(q_{\parallel})<br />
</math><br />
While the coherent cross-section accounts for the [[specular rod]].<br />
<br />
==References==<br />
===Foundational===<br />
* George H. Vineyard [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.26.4146 Grazing-incidence diffraction and the distorted-wave approximation for the study of surfaces] ''Phys. Rev. B'' '''1982''', 26, 4146. [http://dx.doi.org/10.1103/PhysRevB.26.4146 doi: 10.1103/PhysRevB.26.4146]<br />
* S. K. Sinha, E. B. Sirota, S. Garoff, and H. B. Stanley [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.38.2297 X-ray and neutron scattering from rough surfaces] ''Phys. Rev. B'' '''1988''', 38, 2297. [http://dx.doi.org/10.1103/PhysRevB.38.2297 doi: 10.1103/PhysRevB.38.2297]<br />
* M. Rauscher, T. Salditt, and H. Spohn [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.52.16855 Small-angle x-ray scattering under grazing incidence: The cross section in the distorted-wave Born approximation] ''Phys. Rev. B'' '''1995''', 52, 16855. [http://dx.doi.org/10.1103/PhysRevB.52.16855 doi: 10.1103/PhysRevB.52.16855]<br />
* Michael F. Toney and Sean Brennan [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.39.7963 Observation of the effect of refraction on x rays diffracted in a grazing-incidence asymmetric Bragg geometry] ''Phys. Rev. B'' '''1989''', 39, 7963. [http://dx.doi.org/10.1103/PhysRevB.39.7963 doi: 10.1103/PhysRevB.39.7963]<br />
<br />
===Variants===<br />
* '''Islands on surfaces''':<br />
** Markus Rauscher, Rogerio Paniago, Hartmut Metzger, Zoltan Kovats, Jan Domke, Johann Peisl, Hans-Dieter Pfannes, Jörg Schulze and Ignaz Eisele [http://scitation.aip.org/content/aip/journal/jap/86/12/10.1063/1.371724 Grazing incidence small angle x-ray scattering from free-standing nanostructures] ''J. Appl. Phys.'' '''1999''', 86, 6763. [http://dx.doi.org/10.1063/1.371724 doi: 10.1063/1.371724]<br />
** R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
<br />
* '''Graded interface''':<br />
** Dick K. G. de Boer [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.53.6048 X-ray scattering and x-ray fluorescence from materials with rough interfaces] ''Phys. Rev. B'' '''1996''', 53, 6048. [http://dx.doi.org/10.1103/PhysRevB.53.6048 doi: 10.1103/PhysRevB.53.6048]<br />
** A. Sentenac and J.-J. Greffet [http://www.opticsinfobase.org/josaa/abstract.cfm?uri=JOSAA-15-2-528 Mean-field theory of light scattering by one-dimensional rough surfaces] ''JOSA A'' '''1998''', 15 (2), 528-532. [http://dx.doi.org/10.1364/JOSAA.15.000528 doi: 10.1364/JOSAA.15.000528]<br />
** Rémi Lazzari, Frédéric Leroy, and Gilles Renaud [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.76.125411 Grazing-incidence small-angle x-ray scattering from dense packing of islands on surfaces: Development of distorted wave Born approximation and correlation between particle sizes and spacing] ''Phys. Rev. B'' '''2007''', 76, 125411. [http://dx.doi.org/10.1103/PhysRevB.76.125411 doi: 10.1103/PhysRevB.76.125411]<br />
<br />
* '''[[X-ray waveguiding]]''': Zhang Jiang, Dong Ryeol Lee, Suresh Narayanan, Jin Wang, and Sunil K. Sinha [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.84.075440 Waveguide-enhanced grazing-incidence small-angle x-ray scattering of buried nanostructures in thin films] ''Phys. Rev. B'' '''2011''', 84, 075440. [http://dx.doi.org/10.1103/PhysRevB.84.075440 doi: 10.1103/PhysRevB.84.075440]<br />
<br />
===Refraction Correction===<br />
* Byeongdu Lee, Insun Park, Jinhwan Yoon, Soojin Park, Jehan Kim, Kwang-Woo Kim, Taihyun Chang, and Moonhor Ree [http://pubs.acs.org/doi/abs/10.1021/ma047562d Structural Analysis of Block Copolymer Thin Films with Grazing Incidence Small-Angle X-ray Scattering] ''Macromolecules'' '''2005''', 38 (10), 4311-4323. [http://dx.doi.org/10.1021/ma047562d doi: 10.1021/ma047562d]<br />
* P. Busch, M. Rauscher, D.-M. Smilgies, D. Posselt and C. M. Papadakis [http://scripts.iucr.org/cgi-bin/paper?S0021889806012337 Grazing-incidence small-angle X-ray scattering from thin polymer films with lamellar structures - the scattering cross section in the distorted-wave Born approximation] ''J. Appl. Cryst.'' '''2006''', 39, 433-442. [http://dx.doi.org/10.1107/S0021889806012337 doi: 10.1107/S0021889806012337]<br />
* Rémi Lazzari, Frédéric Leroy, and Gilles Renaud [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.76.125411 Grazing-incidence small-angle x-ray scattering from dense packing of islands on surfaces: Development of distorted wave Born approximation and correlation between particle sizes and spacing] ''Phys. Rev. B'' '''2007''', 76, 125411. [http://dx.doi.org/10.1103/PhysRevB.76.125411 doi: 10.1103/PhysRevB.76.125411]<br />
* 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]<br />
* Lu, X.; [[Yager, K.G.]]; Johnston, D.; Black, C.T.; Ocko, B.M. '''[http://scripts.iucr.org/cgi-bin/paper?S0021889812047887 Grazing-incidence transmission X-ray scattering: surface scattering in the Born approximation]''' ''Journal of Applied Crystallography'' '''2013''', 46, 165–172. [http://dx.doi.org/10.1107/S0021889812047887 doi: 10.1107/S0021889812047887]<br />
* Liu, J.; Yager, K.G. [http://journals.iucr.org/m/issues/2018/06/00/hf5364/index.html Unwarping GISAXS data] ''IUCrJ'' '''2018''', 5, 737–752. [http://dx.doi.org/10.1107/S2052252518012058 doi: 10.1107/S2052252518012058]<br />
<br />
===Multiple Channels===<br />
* Byeongdu Lee, Insun Park, Jinhwan Yoon, Soojin Park, Jehan Kim, Kwang-Woo Kim, Taihyun Chang, and Moonhor Ree [https://pubs.acs.org/doi/abs/10.1021/ma047562d Structural Analysis of Block Copolymer Thin Films with Grazing Incidence Small-Angle X-ray Scattering] ''Macromolecules'' '''2005''', 38 (10), 4311–4323. [http://dx.doi.org/10.1021/ma047562d doi: 10.1021/ma047562d]<br />
* Liu, J.; Yager, K.G. [http://journals.iucr.org/m/issues/2018/06/00/hf5364/index.html Unwarping GISAXS data] ''IUCrJ'' '''2018''', 5, 737–752. [http://dx.doi.org/10.1107/S2052252518012058 doi: 10.1107/S2052252518012058]<br />
<br />
===Application of DWBA===<br />
* '''Nanoporous thin film''': Byeongdu Lee, Jinhwan Yoon, Weontae Oh, Yongtaek Hwang, Kyuyoung Heo, Kyeong Sik Jin, Jehan Kim, Kwang-Woo Kim and Moonhor Ree [http://pubs.acs.org/doi/abs/10.1021/ma048214e In-Situ Grazing Incidence Small-Angle X-ray Scattering Studies on Nanopore Evolution in Low-k Organosilicate Dielectric Thin Films] ''Macromolecules'' '''2005''', 38 (8), 3395–3405 [http://dx.doi.org/10.1021/ma048214e doi: 10.1021/ma048214e]<br />
* '''Lamellar mesostructures''': P. Busch, M. Rauscher, D.-M. Smilgies, D. Posselt and C. M. Papadakis [http://scripts.iucr.org/cgi-bin/paper?S0021889806012337 Grazing-incidence small-angle X-ray scattering from thin polymer films with lamellar structures - the scattering cross section in the distorted-wave Born approximation] ''J. Appl. Cryst.'' '''2006''', 39, 433-442. [http://dx.doi.org/10.1107/S0021889806012337 doi: 10.1107/S0021889806012337]<br />
* '''Diffraction patterns''': 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]<br />
* '''Ge nanodots''': H Okuda, K Kuno, S Ochiai, N Usami, K Nakajima, O Sakata, S Sasaki and M Takata [http://iopscience.iop.org/1742-6596/184/1/012005 Effect of reflected waves on the GISAXS analysis of as-grown capped Ge nanodots] ''J. Phys.: Conf. Ser.'' '''2009''', 184, 012005. [http://dx.doi.org/10.1088/1742-6596/184/1/012005 doi: 10.1088/1742-6596/184/1/012005]<br />
<br />
===Summaries/Reviews===<br />
* Gilles Renaud, Rémi Lazzari, Frédéric Leroy [http://www.sciencedirect.com/science/article/pii/S0167572909000399 Probing surface and interface morphology with Grazing Incidence Small Angle X-Ray Scattering] ''Surface Science Reports'' '''2009''' 64 (8), 255-380. [http://dx.doi.org/10.1016/j.surfrep.2009.07.002 doi: 10.1016/j.surfrep.2009.07.002]<br />
<br />
==See Also==<br />
* [http://en.wikipedia.org/wiki/Born_approximation#Distorted_wave_Born_approximation_.28DWBA.29 Wikipedia:DWBA]<br />
* [http://www.gisaxs.de/theory.html GISAXS.de Theory]</div>KevinYagerhttp://gisaxs.com/index.php?title=DWBA&diff=6144DWBA2023-12-01T14:25:18Z<p>KevinYager: /* Mathematical form */</p>
<hr />
<div>The '''Distorted Wave Born Approximation''' ('''DWBA''') is a theoretical approach in [[scattering]] theory (or, more generally, in [[quantum mechanics]]). In the [[Born approximation]] (BA), when calculating the interaction between matter and incident radiation ('scattering'), the total field inside the material is assumed to simply be the incident field. In other words, the modification of the field due to scattering events is assumed to be negligible; this is valid in the limit of weak scattering. Every particle simply sees the incident field, and scatters independently (though these scattered fields interfere with one another, giving rise to the usual appearance of [[scattering features]] in the far-field).<br />
<br />
The Born approximation is not valid in all cases; in particular, when scattering becomes very strong, the approximation is no longer valid. As one example, at some point one must consider [[multiple scattering]]: the scattered rays can, themselves, become sources of scattering. [[GISAXS]] and other grazing-incidence techniques typically probe regimes where the Born approximation is not valid. For instance, in GISAXS, the x-ray beam will be reflected by the film-substrate and film-ambient interfaces; and may in fact undergo multiple reflections ([[X-ray waveguiding|waveguiding]]). This, and other [[dynamical scattering]] effects need to be accounted for in order to understand GISAXS data.<br />
<br />
The DWBA is an extension to the BA, which accounts for higher-order multiple scattering effects. Conceptually, it accounts for the fact that the radiation field in the material should be solved under the condition that the scattering entities introduce substantial perturbations to the field. Mathematically, DWBA uses the BA as an idealized case, to which successive perturbation terms are introduced.<br />
<br />
==Mathematical form==<br />
In the simplest DWBA formalism, the sample is assumed to be a flat interface, with perturbations thereof that encode the in-plane order (lateral [[electron-density distribution]]). The sample's structure can also be thought of as a variety of nanoscale scattering objects distributed over an otherwise flat substrate. As usual, the [[scattering intensity]] can be split into a [[Form Factor]] and [[Structure Factor]] contribution:<br />
:<math><br />
I(\mathbf{q}) = \left \langle \right |F|^2 \rangle S(q_{\parallel})<br />
</math><br />
The structure factor (''S'') describes the spatial arrangement of the objects ([[Fourier transform]] of the position autocorrelation function), while the form factor (''F'') is the Fourier transform of the shape of the objects. In the BA, this simply:<br />
:<math><br />
F(\mathbf{q}) = \Delta \rho \int \limits _{V} e^{ i \mathbf{q} \cdot \mathbf{r} } \mathrm{d}V<br />
</math><br />
However, to account for [[reflection]] and [[refraction]] effects, the DWBA introduces additional terms. The figure below shows four different scattering events which are considered:<br />
<br />
'''TBD'''<br />
[[Image:Four terms.png|600px]]<br />
<br />
The first term is the BA, while the next 3 terms describe various specific multiple-scattering events. In principle, an infinite series of different combinations of reflection and scattering need to be included. However, as will be seen, higher-order terms are progressively more and more unlikely (and thus weak, in terms of their contribution to the total scattering). The DWBA, by considering these 4 terms, can adequately reproduce much GISAXS data. The various terms described above interfere coherently; thus the final scattering that is measured on the [[detector]] comes from their combination:<br />
<br />
:<math><br />
\begin{alignat}{2}<br />
F_{\mathrm{DWBA}}(q_{\parallel},k_{iz},k_{fz}) = & \, F(q_{\parallel},k_{fz}-k_{iz}) \\<br />
& + r_F(\alpha_i) F(q_{\parallel},k_{fz}+k_{iz}) \\<br />
& + r_F(\alpha_f) F(q_{\parallel},-k_{fz}-k_{iz}) \\<br />
& + r_F(\alpha_i) r_F(\alpha_f) F(q_{\parallel},-k_{fz}+k_{iz})<br />
\end{alignat}<br />
</math><br />
<br />
It is important to notice that the higher-order contributions to ''F'' are multiplied by the Fresnel [[reflectivity]] (<math>\scriptstyle r_F</math>). This occurs since these terms involve reflection events.<br />
:<math><br />
r_F = \frac{k_z-\tilde{k}_z}{k_z+\tilde{k}_z}<br />
</math><br />
Where:<br />
:<math><br />
\tilde{k}_z = - \sqrt{ n^2 k^2_0 - |k_{\parallel}|^2 }<br />
</math><br />
And ''n'' is the complex [[refractive index]] of the substrate.<br />
<br />
Because the reflectivity falls off very rapidly with increasing angle ([[Fresnel plot|scaling of]] <math>\scriptstyle R \sim q^{-4}</math>), these terms are only relevant at small angles. This has several implications:<br />
* The DWBA is only relevant at small incident angles (<math>\scriptstyle \alpha_i</math>); i.e. it matters for grazing-incidence experiments, but not transmission scattering ([[TSAXS]]).<br />
* The DWBA is only relevant at small exit angles (<math>\scriptstyle \alpha_f</math>); i.e. it matters for [[GISAXS]] but not [[GIWAXS]], and is most pronounced at small angles (near the [[Yoneda]] and [[horizon]]).<br />
* Higher-order terms (beyond the 4 covered by the DWBA) are strongly suppressed because they involve even more multiplications by <math>\scriptstyle R_F</math>. These can thus be ignored, except when angles are very close to the [[critical angle]] (e.g. [[x-ray waveguiding]]).<br />
<br />
Using the effective form factor (<math>\scriptstyle F_{\mathrm{DWBA}}</math>), the total incoherent cross-section becomes:<br />
:<math><br />
\frac{\mathrm{d}\sigma}{\mathrm{d}\Omega} = \left \langle |F_{\mathrm{DWBA}}|^2 \right \rangle S(q_{\parallel})<br />
</math><br />
While the coherent cross-section accounts for the [[specular rod]].<br />
<br />
==References==<br />
===Foundational===<br />
* George H. Vineyard [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.26.4146 Grazing-incidence diffraction and the distorted-wave approximation for the study of surfaces] ''Phys. Rev. B'' '''1982''', 26, 4146. [http://dx.doi.org/10.1103/PhysRevB.26.4146 doi: 10.1103/PhysRevB.26.4146]<br />
* S. K. Sinha, E. B. Sirota, S. Garoff, and H. B. Stanley [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.38.2297 X-ray and neutron scattering from rough surfaces] ''Phys. Rev. B'' '''1988''', 38, 2297. [http://dx.doi.org/10.1103/PhysRevB.38.2297 doi: 10.1103/PhysRevB.38.2297]<br />
* M. Rauscher, T. Salditt, and H. Spohn [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.52.16855 Small-angle x-ray scattering under grazing incidence: The cross section in the distorted-wave Born approximation] ''Phys. Rev. B'' '''1995''', 52, 16855. [http://dx.doi.org/10.1103/PhysRevB.52.16855 doi: 10.1103/PhysRevB.52.16855]<br />
* Michael F. Toney and Sean Brennan [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.39.7963 Observation of the effect of refraction on x rays diffracted in a grazing-incidence asymmetric Bragg geometry] ''Phys. Rev. B'' '''1989''', 39, 7963. [http://dx.doi.org/10.1103/PhysRevB.39.7963 doi: 10.1103/PhysRevB.39.7963]<br />
<br />
===Variants===<br />
* '''Islands on surfaces''':<br />
** Markus Rauscher, Rogerio Paniago, Hartmut Metzger, Zoltan Kovats, Jan Domke, Johann Peisl, Hans-Dieter Pfannes, Jörg Schulze and Ignaz Eisele [http://scitation.aip.org/content/aip/journal/jap/86/12/10.1063/1.371724 Grazing incidence small angle x-ray scattering from free-standing nanostructures] ''J. Appl. Phys.'' '''1999''', 86, 6763. [http://dx.doi.org/10.1063/1.371724 doi: 10.1063/1.371724]<br />
** R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
<br />
* '''Graded interface''':<br />
** Dick K. G. de Boer [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.53.6048 X-ray scattering and x-ray fluorescence from materials with rough interfaces] ''Phys. Rev. B'' '''1996''', 53, 6048. [http://dx.doi.org/10.1103/PhysRevB.53.6048 doi: 10.1103/PhysRevB.53.6048]<br />
** A. Sentenac and J.-J. Greffet [http://www.opticsinfobase.org/josaa/abstract.cfm?uri=JOSAA-15-2-528 Mean-field theory of light scattering by one-dimensional rough surfaces] ''JOSA A'' '''1998''', 15 (2), 528-532. [http://dx.doi.org/10.1364/JOSAA.15.000528 doi: 10.1364/JOSAA.15.000528]<br />
** Rémi Lazzari, Frédéric Leroy, and Gilles Renaud [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.76.125411 Grazing-incidence small-angle x-ray scattering from dense packing of islands on surfaces: Development of distorted wave Born approximation and correlation between particle sizes and spacing] ''Phys. Rev. B'' '''2007''', 76, 125411. [http://dx.doi.org/10.1103/PhysRevB.76.125411 doi: 10.1103/PhysRevB.76.125411]<br />
<br />
* '''[[X-ray waveguiding]]''': Zhang Jiang, Dong Ryeol Lee, Suresh Narayanan, Jin Wang, and Sunil K. Sinha [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.84.075440 Waveguide-enhanced grazing-incidence small-angle x-ray scattering of buried nanostructures in thin films] ''Phys. Rev. B'' '''2011''', 84, 075440. [http://dx.doi.org/10.1103/PhysRevB.84.075440 doi: 10.1103/PhysRevB.84.075440]<br />
<br />
===Refraction Correction===<br />
* Byeongdu Lee, Insun Park, Jinhwan Yoon, Soojin Park, Jehan Kim, Kwang-Woo Kim, Taihyun Chang, and Moonhor Ree [http://pubs.acs.org/doi/abs/10.1021/ma047562d Structural Analysis of Block Copolymer Thin Films with Grazing Incidence Small-Angle X-ray Scattering] ''Macromolecules'' '''2005''', 38 (10), 4311-4323. [http://dx.doi.org/10.1021/ma047562d doi: 10.1021/ma047562d]<br />
* P. Busch, M. Rauscher, D.-M. Smilgies, D. Posselt and C. M. Papadakis [http://scripts.iucr.org/cgi-bin/paper?S0021889806012337 Grazing-incidence small-angle X-ray scattering from thin polymer films with lamellar structures - the scattering cross section in the distorted-wave Born approximation] ''J. Appl. Cryst.'' '''2006''', 39, 433-442. [http://dx.doi.org/10.1107/S0021889806012337 doi: 10.1107/S0021889806012337]<br />
* Rémi Lazzari, Frédéric Leroy, and Gilles Renaud [http://journals.aps.org/prb/abstract/10.1103/PhysRevB.76.125411 Grazing-incidence small-angle x-ray scattering from dense packing of islands on surfaces: Development of distorted wave Born approximation and correlation between particle sizes and spacing] ''Phys. Rev. B'' '''2007''', 76, 125411. [http://dx.doi.org/10.1103/PhysRevB.76.125411 doi: 10.1103/PhysRevB.76.125411]<br />
* 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]<br />
* Lu, X.; [[Yager, K.G.]]; Johnston, D.; Black, C.T.; Ocko, B.M. '''[http://scripts.iucr.org/cgi-bin/paper?S0021889812047887 Grazing-incidence transmission X-ray scattering: surface scattering in the Born approximation]''' ''Journal of Applied Crystallography'' '''2013''', 46, 165–172. [http://dx.doi.org/10.1107/S0021889812047887 doi: 10.1107/S0021889812047887]<br />
* Liu, J.; Yager, K.G. [http://journals.iucr.org/m/issues/2018/06/00/hf5364/index.html Unwarping GISAXS data] ''IUCrJ'' '''2018''', 5, 737–752. [http://dx.doi.org/10.1107/S2052252518012058 doi: 10.1107/S2052252518012058]<br />
<br />
===Multiple Channels===<br />
* Byeongdu Lee, Insun Park, Jinhwan Yoon, Soojin Park, Jehan Kim, Kwang-Woo Kim, Taihyun Chang, and Moonhor Ree [https://pubs.acs.org/doi/abs/10.1021/ma047562d Structural Analysis of Block Copolymer Thin Films with Grazing Incidence Small-Angle X-ray Scattering] ''Macromolecules'' '''2005''', 38 (10), 4311–4323. [http://dx.doi.org/10.1021/ma047562d doi: 10.1021/ma047562d]<br />
* Liu, J.; Yager, K.G. [http://journals.iucr.org/m/issues/2018/06/00/hf5364/index.html Unwarping GISAXS data] ''IUCrJ'' '''2018''', 5, 737–752. [http://dx.doi.org/10.1107/S2052252518012058 doi: 10.1107/S2052252518012058]<br />
<br />
===Application of DWBA===<br />
* '''Nanoporous thin film''': Byeongdu Lee, Jinhwan Yoon, Weontae Oh, Yongtaek Hwang, Kyuyoung Heo, Kyeong Sik Jin, Jehan Kim, Kwang-Woo Kim and Moonhor Ree [http://pubs.acs.org/doi/abs/10.1021/ma048214e In-Situ Grazing Incidence Small-Angle X-ray Scattering Studies on Nanopore Evolution in Low-k Organosilicate Dielectric Thin Films] ''Macromolecules'' '''2005''', 38 (8), 3395–3405 [http://dx.doi.org/10.1021/ma048214e doi: 10.1021/ma048214e]<br />
* '''Lamellar mesostructures''': P. Busch, M. Rauscher, D.-M. Smilgies, D. Posselt and C. M. Papadakis [http://scripts.iucr.org/cgi-bin/paper?S0021889806012337 Grazing-incidence small-angle X-ray scattering from thin polymer films with lamellar structures - the scattering cross section in the distorted-wave Born approximation] ''J. Appl. Cryst.'' '''2006''', 39, 433-442. [http://dx.doi.org/10.1107/S0021889806012337 doi: 10.1107/S0021889806012337]<br />
* '''Diffraction patterns''': 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]<br />
* '''Ge nanodots''': H Okuda, K Kuno, S Ochiai, N Usami, K Nakajima, O Sakata, S Sasaki and M Takata [http://iopscience.iop.org/1742-6596/184/1/012005 Effect of reflected waves on the GISAXS analysis of as-grown capped Ge nanodots] ''J. Phys.: Conf. Ser.'' '''2009''', 184, 012005. [http://dx.doi.org/10.1088/1742-6596/184/1/012005 doi: 10.1088/1742-6596/184/1/012005]<br />
<br />
===Summaries/Reviews===<br />
* Gilles Renaud, Rémi Lazzari, Frédéric Leroy [http://www.sciencedirect.com/science/article/pii/S0167572909000399 Probing surface and interface morphology with Grazing Incidence Small Angle X-Ray Scattering] ''Surface Science Reports'' '''2009''' 64 (8), 255-380. [http://dx.doi.org/10.1016/j.surfrep.2009.07.002 doi: 10.1016/j.surfrep.2009.07.002]<br />
<br />
==See Also==<br />
* [http://en.wikipedia.org/wiki/Born_approximation#Distorted_wave_Born_approximation_.28DWBA.29 Wikipedia:DWBA]<br />
* [http://www.gisaxs.de/theory.html GISAXS.de Theory]</div>KevinYagerhttp://gisaxs.com/index.php?title=File:Four_terms.png&diff=6143File:Four terms.png2023-12-01T14:24:44Z<p>KevinYager: Distorted Wave Born Approximation (DWBA) includes four scattering contributions.</p>
<hr />
<div>== Summary ==<br />
Distorted Wave Born Approximation (DWBA) includes four scattering contributions.</div>KevinYagerhttp://gisaxs.com/index.php?title=Interfacial_width&diff=6142Interfacial width2023-09-21T12:33:21Z<p>KevinYager: /* See Also */</p>
<hr />
<div>==See Also==<br />
* [[Porod scattering]]: interfacial width<br />
* Adam B. Burns, Dane Christie, William D. Mulhearn, Richard A. Register [https://onlinelibrary.wiley.com/doi/10.1002/polb.24848 Estimating the segregation strength of microphase-separated diblock copolymers from the interfacial width] ''J. Poly. Sci. B: Poly. Phys.'' '''2019''', [http://dx.doi.org/10.1002/polb.24848 doi: 10.1002/polb.24848]</div>KevinYagerhttp://gisaxs.com/index.php?title=Interfacial_width&diff=6141Interfacial width2023-09-21T12:33:00Z<p>KevinYager: /* See Also */</p>
<hr />
<div>==See Also==<br />
* [[Porod scattering]] Interfacial Width<br />
* Adam B. Burns, Dane Christie, William D. Mulhearn, Richard A. Register [https://onlinelibrary.wiley.com/doi/10.1002/polb.24848 Estimating the segregation strength of microphase-separated diblock copolymers from the interfacial width] ''J. Poly. Sci. B: Poly. Phys.'' '''2019''', [http://dx.doi.org/10.1002/polb.24848 doi: 10.1002/polb.24848]</div>KevinYagerhttp://gisaxs.com/index.php?title=Interfacial_width&diff=6140Interfacial width2023-09-21T12:32:49Z<p>KevinYager: Created page with "==See Also== * Porod Scattering Interfacial Width * Adam B. Burns, Dane Christie, William D. Mulhearn, Richard A. Register [https://onlinelibrary.wiley.com/doi/10.1002/pol..."</p>
<hr />
<div>==See Also==<br />
* [[Porod Scattering]] Interfacial Width<br />
* Adam B. Burns, Dane Christie, William D. Mulhearn, Richard A. Register [https://onlinelibrary.wiley.com/doi/10.1002/polb.24848 Estimating the segregation strength of microphase-separated diblock copolymers from the interfacial width] ''J. Poly. Sci. B: Poly. Phys.'' '''2019''', [http://dx.doi.org/10.1002/polb.24848 doi: 10.1002/polb.24848]</div>KevinYagerhttp://gisaxs.com/index.php?title=Binary_cross-entropy_loss&diff=6139Binary cross-entropy loss2023-02-03T20:54:00Z<p>KevinYager: </p>
<hr />
<div>The binary cross-entropy loss is given by:<br />
:<math><br />
L = - \frac{1}{m} \sum_{i=1}^{m} \left[ y_i \cdot \log{ (\hat{y_i}) } + (1-y_i) \cdot \log{ (1-\hat{y_i}) } \right]<br />
</math><br />
for <math>m</math> training examples (indexed by <math>i</math>) where <math>y_i</math> is the class label (0 or 1) and <math>\hat{y_i}</math> is the prediction for that example (i.e. the predicted probability that it is a positive example). Thus <math>1-\hat{y_i}</math> is the probability that it is a negative example.<br />
<br />
<br />
====True Positive====<br />
:<math><br />
\left[ 1 \cdot 0 + (0) \cdot -\infty \right] \approx 0<br />
</math><br />
====False Negative====<br />
:<math><br />
\left[ 1 \cdot -\infty + (0) \cdot 0 \right] \approx -\infty<br />
</math><br />
====False Positive====<br />
:<math><br />
\left[ 0 \cdot 0 + (1) \cdot -\infty \right] \approx -\infty<br />
</math><br />
====True Negative====<br />
:<math><br />
\left[ 0 \cdot -\infty + (1) \cdot 0 \right] \approx 0<br />
</math></div>KevinYagerhttp://gisaxs.com/index.php?title=Binary_cross-entropy_loss&diff=6138Binary cross-entropy loss2023-02-03T20:37:48Z<p>KevinYager: </p>
<hr />
<div>The binary cross-entropy loss is given by:<br />
:<math><br />
L = - \frac{1}{m} \sum_{i=1}^{m} \left[ y_i \cdot \log{ (\hat{y_i}) } + (1-y_i) \cdot \log{ (1-\hat{y_i}) } \right]<br />
</math><br />
for <math>m</math> training examples (indexed by <math>i</math>) where <math>y_i</math> is the class label (0 or 1) and <math>\hat{y_i}</math> is the prediction for that example (i.e. the predicted probability that it is a positive example). Thus <math>1-\hat{y_i}</math> is the probability that it is a negative example. Note that we are adding</div>KevinYagerhttp://gisaxs.com/index.php?title=Binary_cross-entropy_loss&diff=6137Binary cross-entropy loss2023-02-03T20:36:44Z<p>KevinYager: Created page with "The binary cross-entropy loss is given by: :<math> L = - \frac{1}{m} \sum_{i=1}^{m} \left[ y_i \cdot \log{ (\hat{y_i}) } + (1-y_i) \cdot \log{ (1-\hat{y_i}) } \right] </math>..."</p>
<hr />
<div>The binary cross-entropy loss is given by:<br />
:<math><br />
L = - \frac{1}{m} \sum_{i=1}^{m} \left[ y_i \cdot \log{ (\hat{y_i}) } + (1-y_i) \cdot \log{ (1-\hat{y_i}) } \right]<br />
</math><br />
for <math>m</math> training examples (indexed by <math>i</math>) where <math>y_i</math> is the class label (0 or 1) and <math>\hat{y_i}</math> is the prediction for that example (i.e. the predicted probability that it is a positive example). Thus <math>1-\hat{y_i}</math> is the probability that it is a negative example.</div>KevinYagerhttp://gisaxs.com/index.php?title=Unit_cell&diff=6136Unit cell2022-11-14T14:33:08Z<p>KevinYager: /* Vectors */</p>
<hr />
<div>[[Image:Bcc02-unit cell.png|thumb|right|300px|Example of the [[Lattice:BCC|BCC]] unit cell.]]<br />
<br />
The '''unit cell''' is the basic building block of a crystal [[lattice]] (whether an atomic crystal or a nanoscale [[superlattice]]). Crystalline materials have a periodic structure, with the unit cell being the minimal volume necessary to fully describe the repeating structure. There are a finite number of possible symmetries for the repeating unit cell.<br />
<br />
A unit cell can be defined by three vectors that lie along the edges of the enclosing [http://en.wikipedia.org/wiki/Parallelepiped parallelepped]. We denote the vectors as <math>\mathbf{a}</math>, <math>\mathbf{b}</math>, and <math>\mathbf{c}</math>; alternately the unit cell can be described by the lengths of these vectors (<math>a</math>, <math>b</math>, <math>c</math>), and the angles between them:<br />
: <math>\alpha</math>, the angle between <math>b</math> and <math>c</math><br />
: <math>\beta</math>, the angle between <math>a</math> and <math>c</math><br />
: <math>\gamma</math>, the angle between <math>a</math> and <math>b</math><br />
<br />
<br />
==Mathematical description==<br />
===Vectors===<br />
There are many ways to define the Cartesian basis for the unit cell in [[real-space]]. A typical definition is:<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \sin{\theta_c} \cos{\phi_c} \\<br />
c \sin{\theta_c} \sin{\phi_c} \\<br />
c \cos{\theta_c}<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c \frac{ \cos{\alpha} - \cos{\beta}\cos{\gamma} }{\sin{\gamma}} \\<br />
c \sqrt{ 1 - \cos^2{\beta} - \left( \frac{\cos{\alpha} - \cos{\beta}\cos{\gamma}}{\sin{\gamma}} \right)^2 }<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
There are many mathematically equivalent ways to express a given definition. For instance, the vector <math>\mathbf{c}</math> can also be written as (c.f. [https://www.ocf.berkeley.edu/~rfu/notes/vect_unit_cells.pdf these notes] and [https://doi.org/10.1107/S0108767396005697 Trueblood et al. ''Acta Cryst'' '''1996''', A52, 770-781]):<br />
:<math>\begin{array}{l}<br />
\mathbf{c} = \begin{bmatrix}<br />
c \cos{\beta} \\<br />
-c \sin \beta \cos \alpha^{*} \\<br />
\frac{1}{c^{*}} \\<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c \frac{\cos\alpha -\cos\beta \cos\gamma }{\sin\gamma} \\<br />
\frac{c}{\sin\gamma} \sqrt{1 + 2 \cos\alpha\cos\beta\cos\gamma - \cos^2 \alpha - \cos^2\beta -\cos^2\gamma}\\<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
<br />
===Relations===<br />
:<math>\mathbf{a} \cdot \mathbf{b} = a b \cos{\gamma}</math><br />
:<math>\mathbf{a} \cdot \mathbf{c} = a c \cos{\beta}</math><br />
:<math>\mathbf{b} \cdot \mathbf{c} = b c \cos{\alpha}</math><br />
<br />
===Volume===<br />
<br />
:<math>V = |\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c})| = |\mathbf{b} \cdot (\mathbf{c} \times \mathbf{a})| = |\mathbf{c} \cdot (\mathbf{a} \times \mathbf{b})|</math><br />
If ''a'', ''b'', and ''c'' are the parallelepiped edge lengths, and α, β, and γ are the internal angles between the edges, the volume is<br />
:<math><br />
V = a b c \sqrt{1+2\cos(\alpha)\cos(\beta)\cos(\gamma)-\cos^2(\alpha)-\cos^2(\beta)-\cos^2(\gamma)}.<br />
</math><br />
The volume of a unit cell with all edge-length equal to unity is:<br />
:<math>v =\sqrt{1-\cos^2(\alpha)-\cos^2(\beta)-\cos^2(\gamma)+2\cos(\alpha)\cos(\beta)\cos(\gamma)}</math><br />
<br />
===Angles===<br />
* <math>\gamma</math> is the angle between <math>\mathbf{a}</math> and <math>\mathbf{b}</math><br />
* <math>\beta</math> is the angle between <math>\mathbf{a}</math> and <math>\mathbf{c}</math><br />
* <math>\alpha</math> is the angle between <math>\mathbf{b}</math> and <math>\mathbf{c}</math><br />
<br />
[[Image:Unit cell01.png|center|thumb|300px|Unit cell definition using parallelepiped with lengths ''a'', ''b'', ''c'' and angles between the sides given by α,β,γ (from Wikipedia [http://en.wikipedia.org/wiki/Fractional_coordinates fractional coordinates]). ]]<br />
<br />
===Reciprocal vectors===<br />
The repeating structure of a unit cell creates peaks in [[reciprocal space]]. In particular, we observe maxima (constructive interference) when:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{q} \cdot \mathbf{a} & = 2 \pi h \\<br />
\mathbf{q} \cdot \mathbf{b} & = 2 \pi k \\<br />
\mathbf{q} \cdot \mathbf{c} & = 2 \pi l \\<br />
\end{alignat}<br />
</math><br />
Where <math>h</math>, <math>k</math>, and <math>l</math> are integers. We define reciprocal-space vectors:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{u} & = \frac{\mathbf{b}\times\mathbf{c}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } = \frac{1}{V} \mathbf{b}\times\mathbf{c} \\<br />
\mathbf{v} & = \frac{\mathbf{c}\times\mathbf{a}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } =\frac{1}{V} \mathbf{c}\times\mathbf{a} \\<br />
\mathbf{w} & = \frac{\mathbf{a}\times\mathbf{b}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } =\frac{1}{V} \mathbf{a}\times\mathbf{b} \\<br />
\end{alignat}<br />
</math><br />
And we can then express the [[momentum transfer]] (<math>\mathbf{q}</math>) in terms of these reciprocal vectors:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{q} & = (\mathbf{q}\cdot\mathbf{a})\mathbf{u} + (\mathbf{q}\cdot\mathbf{b})\mathbf{v} + (\mathbf{q}\cdot\mathbf{c})\mathbf{w}<br />
\end{alignat}<br />
</math><br />
Combining with the three Laue equations yields:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{q}_{hkl} & = (2 \pi h)\mathbf{u} + (2 \pi k)\mathbf{v} + (2 \pi l)\mathbf{w} \\<br />
& = 2 \pi(h\mathbf{u} + k \mathbf{v} + l \mathbf{w}) \\<br />
& = 2 \pi \mathbf{H}_{hkl}<br />
\end{alignat}<br />
</math><br />
Where <math>\mathbf{H}_{hkl}</math> is a vector that defines the position of [[Bragg's law|Bragg reflection]] <math>hkl</math> for the reciprocal-lattice.<br />
<br />
==Examples==<br />
====Cubic====<br />
Since <math>\alpha=\beta=\gamma=90^{\circ}</math>, <math>V=abc</math>, and:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{a}<br />
& = \begin{bmatrix} a \\ 0 \\ 0 \end{bmatrix} \\<br />
\mathbf{b}<br />
& = \begin{bmatrix} 0 \\ b \\ 0 \end{bmatrix} \\<br />
\mathbf{c}<br />
& = \begin{bmatrix} 0 \\ 0 \\ c \end{bmatrix} \\<br />
\end{alignat}<br />
</math><br />
And in reciprocal-space:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{u}<br />
& =\frac{1}{V} \mathbf{b}\times\mathbf{c}<br />
& =\frac{1}{V} \begin{bmatrix} b c \\ 0 \\ 0 \end{bmatrix}<br />
& = \begin{bmatrix} \frac{1}{a} \\ 0 \\ 0 \end{bmatrix}\\<br />
\mathbf{v}<br />
& =\frac{1}{V} \mathbf{c}\times\mathbf{a}<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ a c \\ 0 \end{bmatrix}<br />
& = \begin{bmatrix} 0 \\ \frac{1}{b} \\ 0 \end{bmatrix}\\<br />
\mathbf{w} <br />
& =\frac{1}{V} \mathbf{a}\times\mathbf{b}<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ 0 \\ a b \end{bmatrix}<br />
& = \begin{bmatrix} 0 \\ 0 \\ \frac{1}{c} \end{bmatrix}\\<br />
\end{alignat}<br />
</math><br />
So:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{q}_{hkl} <br />
& = (2 \pi h)\mathbf{u} + (2 \pi k)\mathbf{v} + (2 \pi l)\mathbf{w} \\<br />
& = (2 \pi h)\begin{bmatrix} \frac{1}{a} \\ 0 \\ 0 \end{bmatrix} <br />
+ (2 \pi k)\begin{bmatrix} 0 \\ \frac{1}{b} \\ 0 \end{bmatrix} <br />
+ (2 \pi l)\begin{bmatrix} 0 \\ 0 \\ \frac{1}{c} \end{bmatrix} \\<br />
& = \begin{bmatrix} \frac{2 \pi h}{a} \\ \frac{2 \pi k}{b} \\ \frac{2 \pi l}{c} \end{bmatrix} <br />
\end{alignat}<br />
</math><br />
And:<br />
:<math><br />
q_{hkl} = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{b} \right)^2 + \left( \frac{l}{c} \right)^2 } <br />
</math><br />
<br />
====Hexagonal====<br />
Since <math>\alpha=\beta=90^{\circ}</math> and <math>\gamma=60^{\circ}</math>, <math>V=\frac{\sqrt{3}}{2}abc</math>, and:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{a}<br />
& = \begin{bmatrix} a \\ 0 \\ 0 \end{bmatrix} \\<br />
\mathbf{b}<br />
& = \begin{bmatrix} \frac{1}{2}b \\ \frac{\sqrt{3}}{2} b \\ 0 \end{bmatrix} \\<br />
\mathbf{c}<br />
& = \begin{bmatrix} 0 \\ 0 \\ c \end{bmatrix} \\<br />
\end{alignat}<br />
</math><br />
And in reciprocal-space:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{u}<br />
& =\frac{1}{V} \mathbf{b}\times\mathbf{c}<br />
& =\frac{1}{V} \begin{bmatrix} \frac{\sqrt{3}}{2} b c \\ -\frac{1}{2} b c \\ 0 \end{bmatrix}<br />
& = \begin{bmatrix} \frac{1}{a} \\ \frac{1}{\sqrt{3}a} \\ 0 \end{bmatrix}\\<br />
\mathbf{v}<br />
& =\frac{1}{V} \mathbf{c}\times\mathbf{a}<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ a c \\ 0 \end{bmatrix}<br />
& = \begin{bmatrix} 0 \\ \frac{2}{\sqrt{3}b} \\ 0 \end{bmatrix}\\<br />
\mathbf{w} <br />
& =\frac{1}{V} \mathbf{a}\times\mathbf{b}<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ 0 \\ \frac{\sqrt{3}}{2} a b \end{bmatrix}<br />
& = \begin{bmatrix} 0 \\ 0 \\ \frac{1}{c} \end{bmatrix}\\<br />
\end{alignat}<br />
</math><br />
So:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{q}_{hkl} <br />
& = (2 \pi h)\mathbf{u} + (2 \pi k)\mathbf{v} + (2 \pi l)\mathbf{w} \\<br />
& = (2 \pi h)\begin{bmatrix} \frac{1}{a} \\ \frac{1}{\sqrt{3}a} \\ 0 \end{bmatrix} <br />
+ (2 \pi k)\begin{bmatrix} 0 \\ \frac{2}{\sqrt{3}b} \\ 0 \end{bmatrix} <br />
+ (2 \pi l)\begin{bmatrix} 0 \\ 0 \\ \frac{1}{c} \end{bmatrix} \\<br />
& = \begin{bmatrix} \frac{2 \pi h}{a} \\ \frac{2 \pi h}{\sqrt{3}a} + \frac{4 \pi k}{\sqrt{3}b} \\ \frac{2 \pi l}{c} \end{bmatrix} \\<br />
& = \begin{bmatrix} \frac{2 \pi h}{a} \\ \frac{2 \pi (h + 2 k)}{\sqrt{3}a} \\ \frac{2 \pi l}{c} \end{bmatrix} <br />
\end{alignat}<br />
</math><br />
<br />
==See Also==<br />
* [[Lattices]]<br />
* K. N. Trueblood, H.-B. Bürgi, H. Burzlaff, J. D. Dunitz, C. M. Gramaccioli, H. H. Schulz, U. Shmueli and S. C. Abrahams [https://scripts.iucr.org/cgi-bin/paper?S0108767396005697 Atomic Dispacement Parameter Nomenclature. Report of a Subcommittee on Atomic Displacement Parameter Nomenclature] ''Acta Cryst'' '''1996''', A52, 770-781. [https://doi.org/10.1107/S0108767396005697 doi: 10.1107/S0108767396005697]</div>KevinYagerhttp://gisaxs.com/index.php?title=Unit_cell&diff=6135Unit cell2022-11-14T14:29:30Z<p>KevinYager: /* See Also */</p>
<hr />
<div>[[Image:Bcc02-unit cell.png|thumb|right|300px|Example of the [[Lattice:BCC|BCC]] unit cell.]]<br />
<br />
The '''unit cell''' is the basic building block of a crystal [[lattice]] (whether an atomic crystal or a nanoscale [[superlattice]]). Crystalline materials have a periodic structure, with the unit cell being the minimal volume necessary to fully describe the repeating structure. There are a finite number of possible symmetries for the repeating unit cell.<br />
<br />
A unit cell can be defined by three vectors that lie along the edges of the enclosing [http://en.wikipedia.org/wiki/Parallelepiped parallelepped]. We denote the vectors as <math>\mathbf{a}</math>, <math>\mathbf{b}</math>, and <math>\mathbf{c}</math>; alternately the unit cell can be described by the lengths of these vectors (<math>a</math>, <math>b</math>, <math>c</math>), and the angles between them:<br />
: <math>\alpha</math>, the angle between <math>b</math> and <math>c</math><br />
: <math>\beta</math>, the angle between <math>a</math> and <math>c</math><br />
: <math>\gamma</math>, the angle between <math>a</math> and <math>b</math><br />
<br />
<br />
==Mathematical description==<br />
===Vectors===<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \sin{\theta_c} \cos{\phi_c} \\<br />
c \sin{\theta_c} \sin{\phi_c} \\<br />
c \cos{\theta_c}<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c \frac{ \cos{\alpha} - \cos{\beta}\cos{\gamma} }{\sin{\gamma}} \\<br />
c \sqrt{ 1 - \cos^2{\beta} - \left( \frac{\cos{\alpha} - \cos{\beta}\cos{\gamma}}{\sin{\gamma}} \right)^2 }<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
<br />
===Relations===<br />
:<math>\mathbf{a} \cdot \mathbf{b} = a b \cos{\gamma}</math><br />
:<math>\mathbf{a} \cdot \mathbf{c} = a c \cos{\beta}</math><br />
:<math>\mathbf{b} \cdot \mathbf{c} = b c \cos{\alpha}</math><br />
<br />
===Volume===<br />
<br />
:<math>V = |\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c})| = |\mathbf{b} \cdot (\mathbf{c} \times \mathbf{a})| = |\mathbf{c} \cdot (\mathbf{a} \times \mathbf{b})|</math><br />
If ''a'', ''b'', and ''c'' are the parallelepiped edge lengths, and α, β, and γ are the internal angles between the edges, the volume is<br />
:<math><br />
V = a b c \sqrt{1+2\cos(\alpha)\cos(\beta)\cos(\gamma)-\cos^2(\alpha)-\cos^2(\beta)-\cos^2(\gamma)}.<br />
</math><br />
The volume of a unit cell with all edge-length equal to unity is:<br />
:<math>v =\sqrt{1-\cos^2(\alpha)-\cos^2(\beta)-\cos^2(\gamma)+2\cos(\alpha)\cos(\beta)\cos(\gamma)}</math><br />
<br />
===Angles===<br />
* <math>\gamma</math> is the angle between <math>\mathbf{a}</math> and <math>\mathbf{b}</math><br />
* <math>\beta</math> is the angle between <math>\mathbf{a}</math> and <math>\mathbf{c}</math><br />
* <math>\alpha</math> is the angle between <math>\mathbf{b}</math> and <math>\mathbf{c}</math><br />
<br />
[[Image:Unit cell01.png|center|thumb|300px|Unit cell definition using parallelepiped with lengths ''a'', ''b'', ''c'' and angles between the sides given by α,β,γ (from Wikipedia [http://en.wikipedia.org/wiki/Fractional_coordinates fractional coordinates]). ]]<br />
<br />
===Reciprocal vectors===<br />
The repeating structure of a unit cell creates peaks in [[reciprocal space]]. In particular, we observe maxima (constructive interference) when:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{q} \cdot \mathbf{a} & = 2 \pi h \\<br />
\mathbf{q} \cdot \mathbf{b} & = 2 \pi k \\<br />
\mathbf{q} \cdot \mathbf{c} & = 2 \pi l \\<br />
\end{alignat}<br />
</math><br />
Where <math>h</math>, <math>k</math>, and <math>l</math> are integers. We define reciprocal-space vectors:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{u} & = \frac{\mathbf{b}\times\mathbf{c}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } = \frac{1}{V} \mathbf{b}\times\mathbf{c} \\<br />
\mathbf{v} & = \frac{\mathbf{c}\times\mathbf{a}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } =\frac{1}{V} \mathbf{c}\times\mathbf{a} \\<br />
\mathbf{w} & = \frac{\mathbf{a}\times\mathbf{b}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } =\frac{1}{V} \mathbf{a}\times\mathbf{b} \\<br />
\end{alignat}<br />
</math><br />
And we can then express the [[momentum transfer]] (<math>\mathbf{q}</math>) in terms of these reciprocal vectors:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{q} & = (\mathbf{q}\cdot\mathbf{a})\mathbf{u} + (\mathbf{q}\cdot\mathbf{b})\mathbf{v} + (\mathbf{q}\cdot\mathbf{c})\mathbf{w}<br />
\end{alignat}<br />
</math><br />
Combining with the three Laue equations yields:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{q}_{hkl} & = (2 \pi h)\mathbf{u} + (2 \pi k)\mathbf{v} + (2 \pi l)\mathbf{w} \\<br />
& = 2 \pi(h\mathbf{u} + k \mathbf{v} + l \mathbf{w}) \\<br />
& = 2 \pi \mathbf{H}_{hkl}<br />
\end{alignat}<br />
</math><br />
Where <math>\mathbf{H}_{hkl}</math> is a vector that defines the position of [[Bragg's law|Bragg reflection]] <math>hkl</math> for the reciprocal-lattice.<br />
<br />
==Examples==<br />
====Cubic====<br />
Since <math>\alpha=\beta=\gamma=90^{\circ}</math>, <math>V=abc</math>, and:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{a}<br />
& = \begin{bmatrix} a \\ 0 \\ 0 \end{bmatrix} \\<br />
\mathbf{b}<br />
& = \begin{bmatrix} 0 \\ b \\ 0 \end{bmatrix} \\<br />
\mathbf{c}<br />
& = \begin{bmatrix} 0 \\ 0 \\ c \end{bmatrix} \\<br />
\end{alignat}<br />
</math><br />
And in reciprocal-space:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{u}<br />
& =\frac{1}{V} \mathbf{b}\times\mathbf{c}<br />
& =\frac{1}{V} \begin{bmatrix} b c \\ 0 \\ 0 \end{bmatrix}<br />
& = \begin{bmatrix} \frac{1}{a} \\ 0 \\ 0 \end{bmatrix}\\<br />
\mathbf{v}<br />
& =\frac{1}{V} \mathbf{c}\times\mathbf{a}<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ a c \\ 0 \end{bmatrix}<br />
& = \begin{bmatrix} 0 \\ \frac{1}{b} \\ 0 \end{bmatrix}\\<br />
\mathbf{w} <br />
& =\frac{1}{V} \mathbf{a}\times\mathbf{b}<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ 0 \\ a b \end{bmatrix}<br />
& = \begin{bmatrix} 0 \\ 0 \\ \frac{1}{c} \end{bmatrix}\\<br />
\end{alignat}<br />
</math><br />
So:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{q}_{hkl} <br />
& = (2 \pi h)\mathbf{u} + (2 \pi k)\mathbf{v} + (2 \pi l)\mathbf{w} \\<br />
& = (2 \pi h)\begin{bmatrix} \frac{1}{a} \\ 0 \\ 0 \end{bmatrix} <br />
+ (2 \pi k)\begin{bmatrix} 0 \\ \frac{1}{b} \\ 0 \end{bmatrix} <br />
+ (2 \pi l)\begin{bmatrix} 0 \\ 0 \\ \frac{1}{c} \end{bmatrix} \\<br />
& = \begin{bmatrix} \frac{2 \pi h}{a} \\ \frac{2 \pi k}{b} \\ \frac{2 \pi l}{c} \end{bmatrix} <br />
\end{alignat}<br />
</math><br />
And:<br />
:<math><br />
q_{hkl} = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{b} \right)^2 + \left( \frac{l}{c} \right)^2 } <br />
</math><br />
<br />
====Hexagonal====<br />
Since <math>\alpha=\beta=90^{\circ}</math> and <math>\gamma=60^{\circ}</math>, <math>V=\frac{\sqrt{3}}{2}abc</math>, and:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{a}<br />
& = \begin{bmatrix} a \\ 0 \\ 0 \end{bmatrix} \\<br />
\mathbf{b}<br />
& = \begin{bmatrix} \frac{1}{2}b \\ \frac{\sqrt{3}}{2} b \\ 0 \end{bmatrix} \\<br />
\mathbf{c}<br />
& = \begin{bmatrix} 0 \\ 0 \\ c \end{bmatrix} \\<br />
\end{alignat}<br />
</math><br />
And in reciprocal-space:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{u}<br />
& =\frac{1}{V} \mathbf{b}\times\mathbf{c}<br />
& =\frac{1}{V} \begin{bmatrix} \frac{\sqrt{3}}{2} b c \\ -\frac{1}{2} b c \\ 0 \end{bmatrix}<br />
& = \begin{bmatrix} \frac{1}{a} \\ \frac{1}{\sqrt{3}a} \\ 0 \end{bmatrix}\\<br />
\mathbf{v}<br />
& =\frac{1}{V} \mathbf{c}\times\mathbf{a}<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ a c \\ 0 \end{bmatrix}<br />
& = \begin{bmatrix} 0 \\ \frac{2}{\sqrt{3}b} \\ 0 \end{bmatrix}\\<br />
\mathbf{w} <br />
& =\frac{1}{V} \mathbf{a}\times\mathbf{b}<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ 0 \\ \frac{\sqrt{3}}{2} a b \end{bmatrix}<br />
& = \begin{bmatrix} 0 \\ 0 \\ \frac{1}{c} \end{bmatrix}\\<br />
\end{alignat}<br />
</math><br />
So:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{q}_{hkl} <br />
& = (2 \pi h)\mathbf{u} + (2 \pi k)\mathbf{v} + (2 \pi l)\mathbf{w} \\<br />
& = (2 \pi h)\begin{bmatrix} \frac{1}{a} \\ \frac{1}{\sqrt{3}a} \\ 0 \end{bmatrix} <br />
+ (2 \pi k)\begin{bmatrix} 0 \\ \frac{2}{\sqrt{3}b} \\ 0 \end{bmatrix} <br />
+ (2 \pi l)\begin{bmatrix} 0 \\ 0 \\ \frac{1}{c} \end{bmatrix} \\<br />
& = \begin{bmatrix} \frac{2 \pi h}{a} \\ \frac{2 \pi h}{\sqrt{3}a} + \frac{4 \pi k}{\sqrt{3}b} \\ \frac{2 \pi l}{c} \end{bmatrix} \\<br />
& = \begin{bmatrix} \frac{2 \pi h}{a} \\ \frac{2 \pi (h + 2 k)}{\sqrt{3}a} \\ \frac{2 \pi l}{c} \end{bmatrix} <br />
\end{alignat}<br />
</math><br />
<br />
==See Also==<br />
* [[Lattices]]<br />
* K. N. Trueblood, H.-B. Bürgi, H. Burzlaff, J. D. Dunitz, C. M. Gramaccioli, H. H. Schulz, U. Shmueli and S. C. Abrahams [https://scripts.iucr.org/cgi-bin/paper?S0108767396005697 Atomic Dispacement Parameter Nomenclature. Report of a Subcommittee on Atomic Displacement Parameter Nomenclature] ''Acta Cryst'' '''1996''', A52, 770-781. [https://doi.org/10.1107/S0108767396005697 doi: 10.1107/S0108767396005697]</div>KevinYagerhttp://gisaxs.com/index.php?title=Talk:Unit_cell&diff=6134Talk:Unit cell2022-11-14T14:26:54Z<p>KevinYager: /* Vectors */</p>
<hr />
<div>====Extra math expressions====<br />
A given real-space cubic lattice will have dimensions:<br />
:<math>\left(a,b,c\right)</math><br />
Such that the position of any particular cell within the infinite lattice is:<br />
:<math>\mathbf{r}_{hkl} = \left\langle ah,bk,cl\right\rangle </math><br />
Where ''h'', ''k'', and ''l'' are indices.<br />
The corresponding inverse-space lattice would be:<br />
:<math><br />
\mathbf{q}_{hkl} = 2\pi \left\langle \frac{h}{a} , \frac{k}{b} , \frac{l}{c} \right\rangle<br />
</math><br />
:<math><br />
q_{hkl} = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{b} \right)^2 + \left( \frac{l}{c} \right)^2 } <br />
</math><br />
In the case where <math>a=b=c</math>:<br />
:<math><br />
\begin{alignat}{2}<br />
q_{hkl} & = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{a} \right)^2 + \left( \frac{l}{a} \right)^2 } \\<br />
& = \frac{2\pi}{a} \sqrt{ h^2 + k^2 + l^2 }<br />
\end{alignat}<br />
</math><br />
<br />
====Vectors====<br />
There are many equivalent ways to define/construct the Cartesian basis for the unit cell in real-space. The unit cell vectors can be written as:<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \sin{\theta_c} \cos{\phi_c} \\<br />
c \sin{\theta_c} \sin{\phi_c} \\<br />
c \cos{\theta_c}<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c \frac{ \cos{\alpha} - \cos{\beta}\cos{\gamma} }{\sin{\gamma}} \\<br />
c \sqrt{ 1 - \cos^2{\beta} - \left( \frac{\cos{\alpha} - \cos{\beta}\cos{\gamma}}{\sin{\gamma}} \right)^2 }<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
<br />
According to [https://www.ocf.berkeley.edu/~rfu/notes/vect_unit_cells.pdf this], the vectors can be written as:<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c_y \\<br />
c_z \\<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
\frac{c}{\sin \gamma} \left( \cos \alpha - \cos \beta \cos \gamma \right) \\<br />
\frac{c}{\sin \gamma} \sqrt{ 1 - \cos^2 \alpha - \cos^2 \beta - \cos^2 \gamma + 2 \cos \alpha \cos \beta \cos \gamma } \\<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
which is mathematically equivalent.<br />
<br />
According to:<br />
* K. N. Trueblood, H.-B. Bürgi, H. Burzlaff, J. D. Dunitz, C. M. Gramaccioli, H. H. Schulz, U. Shmueli and S. C. Abrahams [https://scripts.iucr.org/cgi-bin/paper?S0108767396005697 Atomic Dispacement Parameter Nomenclature. Report of a Subcommittee on Atomic Displacement Parameter Nomenclature] ''Acta Cryst'' '''1996''', A52, 770-781. [https://doi.org/10.1107/S0108767396005697 doi: 10.1107/S0108767396005697]<br />
The vectors are written as:<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \cos{\beta} \\<br />
-c \sin \beta \cos \alpha^{*} \\<br />
\frac{1}{c^{*}} \\<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c \frac{\cos\alpha -\cos\beta \cos\gamma }{\sin\gamma} \\<br />
\frac{c}{\sin\gamma} \sqrt{1 + 2 \cos\alpha\cos\beta\cos\gamma - \cos^2 \alpha - \cos^2\beta -\cos^2\gamma}\\<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
This is, again, an equivalent expression. The equivalence can be show by:<br />
:<math>\begin{alignat}{2}<br />
c_z &= 1/c^{*} \\<br />
&= \frac{c}{\sin\gamma} \sqrt{1 + 2 \cos\alpha\cos\beta\cos\gamma - \cos^2 \alpha - \cos^2\beta -\cos^2\gamma}\\<br />
&= c \sqrt{\frac{1 + 2 \cos\alpha\cos\beta\cos\gamma - \cos^2 \alpha - \cos^2\beta -\cos^2\gamma}{\sin^2\gamma} }\\<br />
&= c \sqrt{\frac{1}{\sin^2\gamma} + \frac{2 \cos\alpha\cos\beta\cos\gamma}{\sin^2\gamma} - \frac{\cos^2 \alpha}{\sin^2\gamma} - \frac{\cos^2\beta}{\sin^2\gamma} - \frac{\cos^2\gamma}{\sin^2\gamma} }\\<br />
&= c \sqrt{\frac{1-\cos^2\gamma}{\sin^2\gamma} + \frac{2 \cos\alpha\cos\beta\cos\gamma}{\sin^2\gamma} - \frac{\cos^2 \alpha}{\sin^2\gamma} - \frac{\cos^2\beta}{\sin^2\gamma} }\\<br />
&= c \sqrt{\frac{\sin^2\gamma}{\sin^2\gamma} + \frac{2 \cos\alpha\cos\beta\cos\gamma}{\sin^2\gamma} - \frac{\cos^2 \alpha}{\sin^2\gamma} - \frac{\cos^2\beta(\sin^2\gamma+\cos^2\gamma)}{\sin^2\gamma} }\\<br />
&= c \sqrt{1 + \frac{2 \cos\alpha\cos\beta\cos\gamma}{\sin^2\gamma} - \frac{\cos^2 \alpha}{\sin^2\gamma} - \frac{\cos^2\beta\sin^2\gamma}{\sin^2\gamma} -\frac{\cos^2\beta\cos^2\gamma}{\sin^2\gamma} }\\<br />
&= c \sqrt{1 - \cos^2\beta \frac{\sin^2\gamma}{\sin^2\gamma} - \frac{\cos^2 \alpha}{\sin^2\gamma} + \frac{2 \cos\alpha\cos\beta\cos\gamma}{\sin^2\gamma} -\frac{\cos^2\beta\cos^2\gamma}{\sin^2\gamma} }\\<br />
&= c \sqrt{1 - \cos^2\beta - \frac{1}{\sin^2\gamma}\left( \cos^2 \alpha - 2 \cos\alpha\cos\beta\cos\gamma + \cos^2\beta\cos^2\gamma \right)}\\<br />
&= c \sqrt{1 - \cos^2\beta - \frac{1}{\sin^2\gamma}\left( \cos\alpha - \cos\beta\cos\gamma\right)\left( \cos\alpha - \cos\beta\cos\gamma\right)}\\<br />
&= c \sqrt{1 - \cos^2\beta - \left(\frac{ \cos\alpha - \cos\beta\cos\gamma}{\sin\gamma}\right)^2 }\\<br />
<br />
\end{alignat}<br />
</math><br />
<br />
====TBD: Reciprocal vector components====<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{u} & = ... \\<br />
\mathbf{v} & = ... \\<br />
\mathbf{w} <br />
& = \frac{\mathbf{a}\times\mathbf{b}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } \\<br />
& =\frac{1}{V} \mathbf{a}\times\mathbf{b} \\<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ 0 \\ a b \sin{\gamma} \end{bmatrix} \\<br />
\end{alignat}<br />
</math><br />
<br />
==Calculate q_hkl generally==<br />
<source lang="python"><br />
def q_hkl(self, h, k, l):<br />
"""Determines the position in reciprocal space for the given reflection."""<br />
<br />
# The 'unitcell' coordinate system assumes:<br />
# a-axis lies along x-axis<br />
# b-axis is in x-y plane<br />
# c-axis is vertical (or at a tilt, depending on beta)<br />
<br />
# Convert from (unitcell) Cartesian to (unitcell) fractional coordinates<br />
reduced_volume = sqrt( 1 - (cos(self.alpha))**2 - (cos(self.beta))**2 - (cos(self.gamma))**2 + 2*cos(self.alpha)*cos(self.beta)*cos(self.gamma) )<br />
#volume = reduced_volume*self.lattice_spacing_a*self.lattice_spacing_b*self.lattice_spacing_c<br />
a = ( self.lattice_spacing_a , \<br />
0.0 , \<br />
0.0 )<br />
b = ( self.lattice_spacing_b*cos(self.gamma) , \<br />
self.lattice_spacing_b*sin(self.gamma) , \<br />
0.0 )<br />
c = ( self.lattice_spacing_c*cos(self.beta) , \<br />
self.lattice_spacing_c*( cos(self.alpha) - cos(self.beta)*cos(self.gamma) )/( sin(self.gamma) ) , \<br />
self.lattice_spacing_c*reduced_volume/( sin(self.gamma) ) )<br />
<br />
# Compute (unitcell) reciprocal-space lattice vectors<br />
volume = np.dot( a, np.cross(b,c) )<br />
u = np.cross( b, c ) / volume # Along qx<br />
v = np.cross( c, a ) / volume # Along qy<br />
w = np.cross( a, b ) / volume # Along qz<br />
<br />
qhkl_vector = 2*pi*( h*u + k*v + l*w )<br />
qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )<br />
<br />
return (qhkl, qhkl_vector)<br />
<br />
<br />
<br />
def q_hkl_length(self, h, k, l):<br />
<br />
qhkl, qhkl_vector = self.q_hkl(h,k,l)<br />
#qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )<br />
<br />
return qhkl<br />
</source></div>KevinYagerhttp://gisaxs.com/index.php?title=Talk:Unit_cell&diff=6133Talk:Unit cell2022-11-14T14:14:26Z<p>KevinYager: /* Vectors */</p>
<hr />
<div>====Extra math expressions====<br />
A given real-space cubic lattice will have dimensions:<br />
:<math>\left(a,b,c\right)</math><br />
Such that the position of any particular cell within the infinite lattice is:<br />
:<math>\mathbf{r}_{hkl} = \left\langle ah,bk,cl\right\rangle </math><br />
Where ''h'', ''k'', and ''l'' are indices.<br />
The corresponding inverse-space lattice would be:<br />
:<math><br />
\mathbf{q}_{hkl} = 2\pi \left\langle \frac{h}{a} , \frac{k}{b} , \frac{l}{c} \right\rangle<br />
</math><br />
:<math><br />
q_{hkl} = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{b} \right)^2 + \left( \frac{l}{c} \right)^2 } <br />
</math><br />
In the case where <math>a=b=c</math>:<br />
:<math><br />
\begin{alignat}{2}<br />
q_{hkl} & = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{a} \right)^2 + \left( \frac{l}{a} \right)^2 } \\<br />
& = \frac{2\pi}{a} \sqrt{ h^2 + k^2 + l^2 }<br />
\end{alignat}<br />
</math><br />
<br />
====Vectors====<br />
There are many equivalent ways to define/construct the Cartesian basis for the unit cell in real-space. The unit cell vectors can be written as:<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \sin{\theta_c} \cos{\phi_c} \\<br />
c \sin{\theta_c} \sin{\phi_c} \\<br />
c \cos{\theta_c}<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c \frac{ \cos{\alpha} - \cos{\beta}\cos{\gamma} }{\sin{\gamma}} \\<br />
c \sqrt{ 1 - \cos^2{\beta} - \left( \frac{\cos{\alpha} - \cos{\beta}\cos{\gamma}}{\sin{\gamma}} \right)^2 }<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
<br />
According to [https://www.ocf.berkeley.edu/~rfu/notes/vect_unit_cells.pdf this], the vectors can be written as:<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c_y \\<br />
c_z \\<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
\frac{c}{\sin \gamma} \left( \cos \alpha - \cos \beta \cos \gamma \right) \\<br />
\frac{c}{\sin \gamma} \sqrt{ 1 - \cos^2 \alpha - \cos^2 \beta - \cos^2 \gamma + 2 \cos \alpha \cos \beta \cos \gamma } \\<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
which is mathematically equivalent.<br />
<br />
According to:<br />
* K. N. Trueblood, H.-B. Bürgi, H. Burzlaff, J. D. Dunitz, C. M. Gramaccioli, H. H. Schulz, U. Shmueli and S. C. Abrahams [https://scripts.iucr.org/cgi-bin/paper?S0108767396005697 Atomic Dispacement Parameter Nomenclature. Report of a Subcommittee on Atomic Displacement Parameter Nomenclature] ''Acta Cryst'' '''1996''', A52, 770-781. [https://doi.org/10.1107/S0108767396005697 doi: 10.1107/S0108767396005697]<br />
The vectors are written as:<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \cos{\beta} \\<br />
-c \sin \beta \cos \alpha^{*} \\<br />
\frac{1}{c^{*}} \\<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c \frac{\cos\alpha -\cos\beta \cos\gamma }{\sin\gamma} \\<br />
\frac{c}{\sin\gamma} \sqrt{1 + 2 \cos\alpha\cos\beta\cos\gamma - \cos^2 \alpha - \cos^2\beta -\cos^2\gamma}\\<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
This is, again, an equivalent expression. The equivalence can be show by:<br />
:<math>\begin{alignat}{2}<br />
c_z &= 1/c^{*} \\<br />
&= \frac{c}{\sin\gamma} \sqrt{1 + 2 \cos\alpha\cos\beta\cos\gamma - \cos^2 \alpha - \cos^2\beta -\cos^2\gamma}\\<br />
&= c \sqrt{\frac{1 + 2 \cos\alpha\cos\beta\cos\gamma - \cos^2 \alpha - \cos^2\beta -\cos^2\gamma}{\sin^2\gamma} }\\<br />
&= c \sqrt{\frac{1}{\sin^2\gamma} + \frac{2 \cos\alpha\cos\beta\cos\gamma}{\sin^2\gamma} - \frac{\cos^2 \alpha}{\sin^2\gamma} - \frac{\cos^2\beta -\cos^2\gamma}{\sin^2\gamma} }\\<br />
&= c \sqrt{\frac{1}{\sin^2\gamma} + \frac{2 \cos\alpha\cos\beta\cos\gamma}{\sin^2\gamma} - \frac{\cos^2 \alpha}{\sin^2\gamma} - \frac{\cos^2\beta}{\sin^2\gamma} - \frac{\cos^2\gamma}{\sin^2\gamma} }\\<br />
&= c \sqrt{\frac{1}{\sin^2\gamma} + \frac{2 \cos\alpha\cos\beta\cos\gamma}{\sin^2\gamma} - \frac{\cos^2 \alpha}{\sin^2\gamma} - \frac{\cos^2\beta}{\sin^2\gamma} - \frac{\cos^2\gamma}{\sin^2\gamma} }\\<br />
\end{alignat}<br />
</math><br />
<br />
====TBD: Reciprocal vector components====<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{u} & = ... \\<br />
\mathbf{v} & = ... \\<br />
\mathbf{w} <br />
& = \frac{\mathbf{a}\times\mathbf{b}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } \\<br />
& =\frac{1}{V} \mathbf{a}\times\mathbf{b} \\<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ 0 \\ a b \sin{\gamma} \end{bmatrix} \\<br />
\end{alignat}<br />
</math><br />
<br />
==Calculate q_hkl generally==<br />
<source lang="python"><br />
def q_hkl(self, h, k, l):<br />
"""Determines the position in reciprocal space for the given reflection."""<br />
<br />
# The 'unitcell' coordinate system assumes:<br />
# a-axis lies along x-axis<br />
# b-axis is in x-y plane<br />
# c-axis is vertical (or at a tilt, depending on beta)<br />
<br />
# Convert from (unitcell) Cartesian to (unitcell) fractional coordinates<br />
reduced_volume = sqrt( 1 - (cos(self.alpha))**2 - (cos(self.beta))**2 - (cos(self.gamma))**2 + 2*cos(self.alpha)*cos(self.beta)*cos(self.gamma) )<br />
#volume = reduced_volume*self.lattice_spacing_a*self.lattice_spacing_b*self.lattice_spacing_c<br />
a = ( self.lattice_spacing_a , \<br />
0.0 , \<br />
0.0 )<br />
b = ( self.lattice_spacing_b*cos(self.gamma) , \<br />
self.lattice_spacing_b*sin(self.gamma) , \<br />
0.0 )<br />
c = ( self.lattice_spacing_c*cos(self.beta) , \<br />
self.lattice_spacing_c*( cos(self.alpha) - cos(self.beta)*cos(self.gamma) )/( sin(self.gamma) ) , \<br />
self.lattice_spacing_c*reduced_volume/( sin(self.gamma) ) )<br />
<br />
# Compute (unitcell) reciprocal-space lattice vectors<br />
volume = np.dot( a, np.cross(b,c) )<br />
u = np.cross( b, c ) / volume # Along qx<br />
v = np.cross( c, a ) / volume # Along qy<br />
w = np.cross( a, b ) / volume # Along qz<br />
<br />
qhkl_vector = 2*pi*( h*u + k*v + l*w )<br />
qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )<br />
<br />
return (qhkl, qhkl_vector)<br />
<br />
<br />
<br />
def q_hkl_length(self, h, k, l):<br />
<br />
qhkl, qhkl_vector = self.q_hkl(h,k,l)<br />
#qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )<br />
<br />
return qhkl<br />
</source></div>KevinYagerhttp://gisaxs.com/index.php?title=Talk:Unit_cell&diff=6132Talk:Unit cell2022-11-14T13:58:21Z<p>KevinYager: /* Vectors (Wrong?) */</p>
<hr />
<div>====Extra math expressions====<br />
A given real-space cubic lattice will have dimensions:<br />
:<math>\left(a,b,c\right)</math><br />
Such that the position of any particular cell within the infinite lattice is:<br />
:<math>\mathbf{r}_{hkl} = \left\langle ah,bk,cl\right\rangle </math><br />
Where ''h'', ''k'', and ''l'' are indices.<br />
The corresponding inverse-space lattice would be:<br />
:<math><br />
\mathbf{q}_{hkl} = 2\pi \left\langle \frac{h}{a} , \frac{k}{b} , \frac{l}{c} \right\rangle<br />
</math><br />
:<math><br />
q_{hkl} = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{b} \right)^2 + \left( \frac{l}{c} \right)^2 } <br />
</math><br />
In the case where <math>a=b=c</math>:<br />
:<math><br />
\begin{alignat}{2}<br />
q_{hkl} & = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{a} \right)^2 + \left( \frac{l}{a} \right)^2 } \\<br />
& = \frac{2\pi}{a} \sqrt{ h^2 + k^2 + l^2 }<br />
\end{alignat}<br />
</math><br />
<br />
====Vectors====<br />
There are many equivalent ways to define/construct the Cartesian basis for the unit cell in real-space. The unit cell vectors can be written as:<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \sin{\theta_c} \cos{\phi_c} \\<br />
c \sin{\theta_c} \sin{\phi_c} \\<br />
c \cos{\theta_c}<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c \frac{ \cos{\alpha} - \cos{\beta}\cos{\gamma} }{\sin{\gamma}} \\<br />
c \sqrt{ 1 - \cos^2{\beta} - \left( \frac{\cos{\alpha} - \cos{\beta}\cos{\gamma}}{\sin{\gamma}} \right)^2 }<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
<br />
According to [https://www.ocf.berkeley.edu/~rfu/notes/vect_unit_cells.pdf this], the vectors can be written as:<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c_y \\<br />
c_z \\<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
\frac{c}{\sin \gamma} \left( \cos \alpha - \cos \beta \cos \gamma \right) \\<br />
\frac{c}{\sin \gamma} \sqrt{ 1 - \cos^2 \alpha - \cos^2 \beta - \cos^2 \gamma + 2 \cos \alpha \cos \beta \cos \gamma } \\<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
which is mathematically equivalent.<br />
<br />
According to:<br />
* K. N. Trueblood, H.-B. Bürgi, H. Burzlaff, J. D. Dunitz, C. M. Gramaccioli, H. H. Schulz, U. Shmueli and S. C. Abrahams [https://scripts.iucr.org/cgi-bin/paper?S0108767396005697 Atomic Dispacement Parameter Nomenclature. Report of a Subcommittee on Atomic Displacement Parameter Nomenclature] ''Acta Cryst'' '''1996''', A52, 770-781. [https://doi.org/10.1107/S0108767396005697 doi: 10.1107/S0108767396005697]<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \cos{\beta} \\<br />
-c \sin \beta \cos \alpha^{*} \\<br />
\frac{1}{c^{*}} \\<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
\frac{c}{\sin \gamma} \left( \cos \alpha - \cos \beta \cos \gamma \right) \\<br />
\frac{c}{\sin \gamma} \sqrt{ 1 - \cos^2 \alpha - \cos^2 \beta - \cos^2 \gamma + 2 \cos \alpha \cos \beta \cos \gamma } \\<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
<br />
====TBD: Reciprocal vector components====<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{u} & = ... \\<br />
\mathbf{v} & = ... \\<br />
\mathbf{w} <br />
& = \frac{\mathbf{a}\times\mathbf{b}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } \\<br />
& =\frac{1}{V} \mathbf{a}\times\mathbf{b} \\<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ 0 \\ a b \sin{\gamma} \end{bmatrix} \\<br />
\end{alignat}<br />
</math><br />
<br />
==Calculate q_hkl generally==<br />
<source lang="python"><br />
def q_hkl(self, h, k, l):<br />
"""Determines the position in reciprocal space for the given reflection."""<br />
<br />
# The 'unitcell' coordinate system assumes:<br />
# a-axis lies along x-axis<br />
# b-axis is in x-y plane<br />
# c-axis is vertical (or at a tilt, depending on beta)<br />
<br />
# Convert from (unitcell) Cartesian to (unitcell) fractional coordinates<br />
reduced_volume = sqrt( 1 - (cos(self.alpha))**2 - (cos(self.beta))**2 - (cos(self.gamma))**2 + 2*cos(self.alpha)*cos(self.beta)*cos(self.gamma) )<br />
#volume = reduced_volume*self.lattice_spacing_a*self.lattice_spacing_b*self.lattice_spacing_c<br />
a = ( self.lattice_spacing_a , \<br />
0.0 , \<br />
0.0 )<br />
b = ( self.lattice_spacing_b*cos(self.gamma) , \<br />
self.lattice_spacing_b*sin(self.gamma) , \<br />
0.0 )<br />
c = ( self.lattice_spacing_c*cos(self.beta) , \<br />
self.lattice_spacing_c*( cos(self.alpha) - cos(self.beta)*cos(self.gamma) )/( sin(self.gamma) ) , \<br />
self.lattice_spacing_c*reduced_volume/( sin(self.gamma) ) )<br />
<br />
# Compute (unitcell) reciprocal-space lattice vectors<br />
volume = np.dot( a, np.cross(b,c) )<br />
u = np.cross( b, c ) / volume # Along qx<br />
v = np.cross( c, a ) / volume # Along qy<br />
w = np.cross( a, b ) / volume # Along qz<br />
<br />
qhkl_vector = 2*pi*( h*u + k*v + l*w )<br />
qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )<br />
<br />
return (qhkl, qhkl_vector)<br />
<br />
<br />
<br />
def q_hkl_length(self, h, k, l):<br />
<br />
qhkl, qhkl_vector = self.q_hkl(h,k,l)<br />
#qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )<br />
<br />
return qhkl<br />
</source></div>KevinYagerhttp://gisaxs.com/index.php?title=Talk:Unit_cell&diff=6131Talk:Unit cell2022-11-14T13:30:16Z<p>KevinYager: </p>
<hr />
<div>====Extra math expressions====<br />
A given real-space cubic lattice will have dimensions:<br />
:<math>\left(a,b,c\right)</math><br />
Such that the position of any particular cell within the infinite lattice is:<br />
:<math>\mathbf{r}_{hkl} = \left\langle ah,bk,cl\right\rangle </math><br />
Where ''h'', ''k'', and ''l'' are indices.<br />
The corresponding inverse-space lattice would be:<br />
:<math><br />
\mathbf{q}_{hkl} = 2\pi \left\langle \frac{h}{a} , \frac{k}{b} , \frac{l}{c} \right\rangle<br />
</math><br />
:<math><br />
q_{hkl} = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{b} \right)^2 + \left( \frac{l}{c} \right)^2 } <br />
</math><br />
In the case where <math>a=b=c</math>:<br />
:<math><br />
\begin{alignat}{2}<br />
q_{hkl} & = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{a} \right)^2 + \left( \frac{l}{a} \right)^2 } \\<br />
& = \frac{2\pi}{a} \sqrt{ h^2 + k^2 + l^2 }<br />
\end{alignat}<br />
</math><br />
<br />
====Vectors (Wrong?)====<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \sin{\theta_c} \cos{\phi_c} \\<br />
c \sin{\theta_c} \sin{\phi_c} \\<br />
c \cos{\theta_c}<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c \frac{ \cos{\alpha} - \cos{\beta}\cos{\gamma} }{\sin{\gamma}} \\<br />
c \sqrt{ 1 - \cos^2{\beta} - \left( \frac{\cos{\alpha} - \cos{\beta}\cos{\gamma}}{\sin{\gamma}} \right)^2 }<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
<br />
<br />
====TBD: Reciprocal vector components====<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{u} & = ... \\<br />
\mathbf{v} & = ... \\<br />
\mathbf{w} <br />
& = \frac{\mathbf{a}\times\mathbf{b}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } \\<br />
& =\frac{1}{V} \mathbf{a}\times\mathbf{b} \\<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ 0 \\ a b \sin{\gamma} \end{bmatrix} \\<br />
\end{alignat}<br />
</math><br />
<br />
==Calculate q_hkl generally==<br />
<source lang="python"><br />
def q_hkl(self, h, k, l):<br />
"""Determines the position in reciprocal space for the given reflection."""<br />
<br />
# The 'unitcell' coordinate system assumes:<br />
# a-axis lies along x-axis<br />
# b-axis is in x-y plane<br />
# c-axis is vertical (or at a tilt, depending on beta)<br />
<br />
# Convert from (unitcell) Cartesian to (unitcell) fractional coordinates<br />
reduced_volume = sqrt( 1 - (cos(self.alpha))**2 - (cos(self.beta))**2 - (cos(self.gamma))**2 + 2*cos(self.alpha)*cos(self.beta)*cos(self.gamma) )<br />
#volume = reduced_volume*self.lattice_spacing_a*self.lattice_spacing_b*self.lattice_spacing_c<br />
a = ( self.lattice_spacing_a , \<br />
0.0 , \<br />
0.0 )<br />
b = ( self.lattice_spacing_b*cos(self.gamma) , \<br />
self.lattice_spacing_b*sin(self.gamma) , \<br />
0.0 )<br />
c = ( self.lattice_spacing_c*cos(self.beta) , \<br />
self.lattice_spacing_c*( cos(self.alpha) - cos(self.beta)*cos(self.gamma) )/( sin(self.gamma) ) , \<br />
self.lattice_spacing_c*reduced_volume/( sin(self.gamma) ) )<br />
<br />
# Compute (unitcell) reciprocal-space lattice vectors<br />
volume = np.dot( a, np.cross(b,c) )<br />
u = np.cross( b, c ) / volume # Along qx<br />
v = np.cross( c, a ) / volume # Along qy<br />
w = np.cross( a, b ) / volume # Along qz<br />
<br />
qhkl_vector = 2*pi*( h*u + k*v + l*w )<br />
qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )<br />
<br />
return (qhkl, qhkl_vector)<br />
<br />
<br />
<br />
def q_hkl_length(self, h, k, l):<br />
<br />
qhkl, qhkl_vector = self.q_hkl(h,k,l)<br />
#qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )<br />
<br />
return qhkl<br />
</source></div>KevinYagerhttp://gisaxs.com/index.php?title=Talk:Unit_cell&diff=6130Talk:Unit cell2022-11-14T13:29:42Z<p>KevinYager: </p>
<hr />
<div>====Extra math expressions====<br />
A given real-space cubic lattice will have dimensions:<br />
:<math>\left(a,b,c\right)</math><br />
Such that the position of any particular cell within the infinite lattice is:<br />
:<math>\mathbf{r}_{hkl} = \left\langle ah,bk,cl\right\rangle </math><br />
Where ''h'', ''k'', and ''l'' are indices.<br />
The corresponding inverse-space lattice would be:<br />
:<math><br />
\mathbf{q}_{hkl} = 2\pi \left\langle \frac{h}{a} , \frac{k}{b} , \frac{l}{c} \right\rangle<br />
</math><br />
:<math><br />
q_{hkl} = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{b} \right)^2 + \left( \frac{l}{c} \right)^2 } <br />
</math><br />
In the case where <math>a=b=c</math>:<br />
:<math><br />
\begin{alignat}{2}<br />
q_{hkl} & = 2\pi \sqrt{ \left( \frac{h}{a} \right)^2 + \left( \frac{k}{a} \right)^2 + \left( \frac{l}{a} \right)^2 } \\<br />
& = \frac{2\pi}{a} \sqrt{ h^2 + k^2 + l^2 }<br />
\end{alignat}<br />
</math><br />
<br />
===Vectors (Wrong?)===<br />
:<math>\begin{array}{l}<br />
\mathbf{a} = \begin{bmatrix}<br />
a \\<br />
0 \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{b} = \begin{bmatrix}<br />
b \cos{\gamma} \\<br />
b \sin{\gamma} \\<br />
0<br />
\end{bmatrix} \\<br />
\mathbf{c} = \begin{bmatrix}<br />
c \sin{\theta_c} \cos{\phi_c} \\<br />
c \sin{\theta_c} \sin{\phi_c} \\<br />
c \cos{\theta_c}<br />
\end{bmatrix}<br />
= \begin{bmatrix}<br />
c \cos{\beta} \\<br />
c \frac{ \cos{\alpha} - \cos{\beta}\cos{\gamma} }{\sin{\gamma}} \\<br />
c \sqrt{ 1 - \cos^2{\beta} - \left( \frac{\cos{\alpha} - \cos{\beta}\cos{\gamma}}{\sin{\gamma}} \right)^2 }<br />
\end{bmatrix}<br />
\end{array}<br />
</math><br />
<br />
<br />
====TBD: Reciprocal vector components====<br />
:<math><br />
\begin{alignat}{2}<br />
\mathbf{u} & = ... \\<br />
\mathbf{v} & = ... \\<br />
\mathbf{w} <br />
& = \frac{\mathbf{a}\times\mathbf{b}}{\mathbf{a}\cdot (\mathbf{b}\times\mathbf{c}) } \\<br />
& =\frac{1}{V} \mathbf{a}\times\mathbf{b} \\<br />
& =\frac{1}{V} \begin{bmatrix} 0 \\ 0 \\ a b \sin{\gamma} \end{bmatrix} \\<br />
\end{alignat}<br />
</math><br />
<br />
==Calculate q_hkl generally==<br />
<source lang="python"><br />
def q_hkl(self, h, k, l):<br />
"""Determines the position in reciprocal space for the given reflection."""<br />
<br />
# The 'unitcell' coordinate system assumes:<br />
# a-axis lies along x-axis<br />
# b-axis is in x-y plane<br />
# c-axis is vertical (or at a tilt, depending on beta)<br />
<br />
# Convert from (unitcell) Cartesian to (unitcell) fractional coordinates<br />
reduced_volume = sqrt( 1 - (cos(self.alpha))**2 - (cos(self.beta))**2 - (cos(self.gamma))**2 + 2*cos(self.alpha)*cos(self.beta)*cos(self.gamma) )<br />
#volume = reduced_volume*self.lattice_spacing_a*self.lattice_spacing_b*self.lattice_spacing_c<br />
a = ( self.lattice_spacing_a , \<br />
0.0 , \<br />
0.0 )<br />
b = ( self.lattice_spacing_b*cos(self.gamma) , \<br />
self.lattice_spacing_b*sin(self.gamma) , \<br />
0.0 )<br />
c = ( self.lattice_spacing_c*cos(self.beta) , \<br />
self.lattice_spacing_c*( cos(self.alpha) - cos(self.beta)*cos(self.gamma) )/( sin(self.gamma) ) , \<br />
self.lattice_spacing_c*reduced_volume/( sin(self.gamma) ) )<br />
<br />
# Compute (unitcell) reciprocal-space lattice vectors<br />
volume = np.dot( a, np.cross(b,c) )<br />
u = np.cross( b, c ) / volume # Along qx<br />
v = np.cross( c, a ) / volume # Along qy<br />
w = np.cross( a, b ) / volume # Along qz<br />
<br />
qhkl_vector = 2*pi*( h*u + k*v + l*w )<br />
qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )<br />
<br />
return (qhkl, qhkl_vector)<br />
<br />
<br />
<br />
def q_hkl_length(self, h, k, l):<br />
<br />
qhkl, qhkl_vector = self.q_hkl(h,k,l)<br />
#qhkl = sqrt( qhkl_vector[0]**2 + qhkl_vector[1]**2 + qhkl_vector[2]**2 )<br />
<br />
return qhkl<br />
</source></div>KevinYagerhttp://gisaxs.com/index.php?title=PrA&diff=6129PrA2022-05-31T14:55:35Z<p>KevinYager: </p>
<hr />
<div>'''PrA''' is a simple ad-hoc parameter to define the "non-circularity" or [https://en.wikipedia.org/wiki/Ellipse eccentricity] of a 2D object. This quantity is simply:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} = \frac{Pr}{A}<br />
\end{alignat}<br />
</math><br />
Where <math>P</math> is the object's perimeter, <math>A</math> is its surface area, and <math>r</math> is an effective size (radius), computed based on the corresponding circle of the same area:<br />
:<math><br />
\begin{alignat}{2}<br />
r = \sqrt{\frac{A}{\pi}}<br />
\end{alignat}<br />
</math><br />
This definition of PrA is convenient, since it provides a simple measure of eccentricity. In particular, for a circle one expects:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{(2 \pi r)(r)}{\pi r^2} \\<br />
& = 2<br />
\end{alignat}<br />
</math><br />
Since a circle has the minimal perimeter (for a given area), this is a limiting value of PrA:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} \geq 2<br />
\end{alignat}<br />
</math><br />
And thus any non-circular object will have a larger PrA. An infinitely eccentric object would have <math>\mathrm{PRA} \to \infty</math>.<br />
===Ellipse===<br />
If the object is an [https://en.wikipedia.org/wiki/Ellipse ellipse], with equation:<br />
: <math>\frac{x^2}{a^2}+\frac{y^2}{b^2} = 1</math><br />
Then the width is <math>2a</math> and height <math>2b</math> (we assume <math>a \ge b</math>), the foci are <math>(\pm c, 0)</math> for <math display="inline">c = \sqrt{a^2-b^2}</math>. The eccentricity is:<br />
: <math>e = \frac{c}{a} = \sqrt{1 - \frac{b^2}{a^2}}</math><br />
A circle has <math>e=0</math>, while increasingly squashed ellipses have values of <math>e</math> closer and closer to <math>1</math>. The area of an ellipse is:<br />
: <math>A = \pi a b</math><br />
The perimeter is not analytic but can be approximated very roughly by:<br />
: <math>P \approx \pi (a +b)</math><br />
Which yields:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{P \left( \sqrt{\frac{A}{\pi}} \right) }{A} \\<br />
& \approx \frac{\pi(a+b) }{\pi a b} \left( \sqrt{\frac{\pi a b}{\pi}} \right) \\<br />
& \approx \frac{(a+b) }{ a b} \sqrt{a b} \\<br />
& \approx \frac{(a+b) }{ \sqrt{a b} } \\<br />
\end{alignat}<br />
</math><br />
One can establish a relationship between eccentricity and PrA by setting <math>b=1</math> and considering <math>a \in [1, \infty]</math>:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & \approx \frac{(a+1) }{ \sqrt{a} } \\<br />
e & = \sqrt{1 - \frac{1}{a^2}}<br />
\end{alignat}<br />
</math><br />
In particular:<br />
:<math><br />
\begin{alignat}{2}<br />
\frac{(a+1) }{ \sqrt{a} } & = \mathrm{PRA} \\<br />
(a+1)^2 & = \mathrm{PRA}^2 a \\<br />
a^2+2a+1- \mathrm{PRA}^2 a & = 0 \\<br />
(1)a^2+(2-\mathrm{PRA}^2 )a+(1) & = 0 \\<br />
\end{alignat}<br />
</math><br />
From the quadratic equation:<br />
:<math><br />
\begin{alignat}{2}<br />
a & = \frac{-(2-\mathrm{PRA}^2)\pm \sqrt{(2-\mathrm{PRA}^2)^2 - 4(1)(1)} }{2(1)} \\<br />
& = \frac{1}{2} \left( -2+\mathrm{PRA}^2\pm \sqrt{(2-\mathrm{PRA}^2)^2 - 4} \right)\\<br />
& = \frac{1}{2} \left( \mathrm{PRA}^2-2 \pm \sqrt{(2-\mathrm{PRA}^2)^2 - 4} \right)\\<br />
& = \frac{1}{2} \left( \mathrm{PRA}^2-2 \pm \sqrt{4 -4\mathrm{PRA}^2 + \mathrm{PRA}^4 - 4} \right)\\<br />
& = \frac{1}{2} \left( \mathrm{PRA}^2-2 \pm \sqrt{\mathrm{PRA}^4 - 4\mathrm{PRA}^2} \right)\\<br />
& = \frac{1}{2} \left( \mathrm{PRA}^2-2 \pm \mathrm{PRA} \sqrt{\mathrm{PRA}^2 - 4} \right)\\<br />
\end{alignat}<br />
</math><br />
Since <math>a \to \infty</math> as <math>P \to \infty</math>, we select the positive branch.<br />
:<math><br />
\begin{alignat}{2}<br />
a & = \frac{1}{2} \left( \mathrm{PRA}^2-2 + \mathrm{PRA} \sqrt{\mathrm{PRA}^2 - 4} \right)\\<br />
a^2 & = \frac{1}{4} \left( \mathrm{PRA}^2-2 + \mathrm{PRA} \sqrt{\mathrm{PRA}^2 - 4} \right)^2\\<br />
\end{alignat}<br />
</math><br />
And so:<br />
:<math><br />
\begin{alignat}{2}<br />
e & = \sqrt{1 - \frac{1}{a^2}} \\<br />
& = \sqrt{1 - \frac{4}{\left( \mathrm{PRA}^2-2 + \mathrm{PRA} \sqrt{\mathrm{PRA}^2 - 4} \right)^2}} \\<br />
\end{alignat}<br />
</math><br />
We can convert into a width:height ratio (<math>a/b</math>) as:<br />
:<math><br />
\begin{alignat}{2}<br />
\frac{a}{b} & = \sqrt{1 - e^2} \\<br />
& = \frac{1}{2} \left( \mathrm{PRA}^2-2 + \mathrm{PRA} \sqrt{\mathrm{PRA}^2 - 4} \right)\\<br />
\end{alignat}<br />
</math></div>KevinYagerhttp://gisaxs.com/index.php?title=Form_Factor:Cylindrical_symmetry&diff=6128Form Factor:Cylindrical symmetry2022-05-23T17:17:34Z<p>KevinYager: </p>
<hr />
<div>==Derivation==<br />
===Form Factor===<br />
Assuming a particle is cylindrically-symmetric:<br />
::<math>\rho(\mathbf{r}) = \rho(r,\phi,z) = \rho(r)</math><br />
We of course use [http://en.wikipedia.org/wiki/Cylindrical_coordinate_system cylindrical coordinates]:<br />
::<math><br />
\mathbf{r}=(x,y,z)=(r \cos\phi, r \sin\phi, z)<br />
</math><br />
We can take advantage of the cylindrical symmetry by rotating any candidate ''q''-vector into the <math>q_x,q_z</math> plane, eliminating the <math>q_y</math> component:<br />
::<math> \mathbf{q}=(q_x,0,q_z) </math><br />
::<math><br />
\begin{alignat}{2}<br />
\mathbf{q}\cdot\mathbf{r} & =q_x x + q_y y + q_z z \\<br />
& = q_x r \cos\phi + q_z z \\<br />
\end{alignat}<br />
</math><br />
<br />
The form factor is (note that the integration limits in ''z'' define the particle size in that direction):<br />
:<math><br />
\begin{alignat}{2}<br />
F(\mathbf{q})<br />
& = \int \rho(\mathbf{r}) e^{i \mathbf{q} \cdot \mathbf{r} } \mathrm{d}V \\<br />
& = \int\limits_{z=0}^{L}\int\limits_{\phi=0}^{2 \pi}\int\limits_{r=0}^{\infty} \rho(r) e^{i \mathbf{q} \cdot \mathbf{r} } r \mathrm{d}r \mathrm{d}\phi \mathrm{d}z \\<br />
& = \int\limits_{0}^{L}\int\limits_{0}^{2 \pi}\int\limits_{0}^{\infty} \rho(r) e^{i (q_x r \cos \phi + q_z z) } r \mathrm{d}r \mathrm{d}\phi \mathrm{d}z \\<br />
& = \left( \int\limits_{0}^{L} e^{i q_z z } \mathrm{d}z \right) \int\limits_{0}^{\infty} r \rho(r) \left ( \int\limits_{0}^{2 \pi} e^{i q_x r \cos \phi } \mathrm{d}\phi \right) \mathrm{d}r \\<br />
& = \left( \left[ \frac{1}{i q_z}e^{i q_z z} \right]_{z=0}^{L} \right) \int\limits_{0}^{\infty} r \rho(r) \left ( \int\limits_{0}^{2 \pi} e^{i q_x r \cos \phi } \mathrm{d}\phi \right) \mathrm{d}r \\<br />
& = \left( \frac{e^{i q_z L} - 1}{i q_z} \right) \int\limits_{0}^{\infty} r \rho(r) \left ( \int\limits_{0}^{2 \pi} e^{i q_x r \cos \phi } \mathrm{d}\phi \right) \mathrm{d}r \\<br />
<br />
\end{alignat}<br />
</math></div>KevinYagerhttp://gisaxs.com/index.php?title=PrA&diff=6127PrA2022-05-12T21:37:43Z<p>KevinYager: /* Ellipse */</p>
<hr />
<div>'''PrA''' is a simple ad-hoc parameter to define the "non-circularity" or [https://en.wikipedia.org/wiki/Ellipse eccentricity] of a 2D object. This quantity is simply:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} = \frac{Pr}{A}<br />
\end{alignat}<br />
</math><br />
Where <math>P</math> is the object's perimeter, <math>A</math> is its surface area, and <math>r</math> is an effective size (radius), computed based on the corresponding circle of the same area:<br />
:<math><br />
\begin{alignat}{2}<br />
r = \sqrt{\frac{A}{\pi}}<br />
\end{alignat}<br />
</math><br />
This definition of PrA is convenient, since it provides a simple measure of eccentricity. In particular, for a circle one expects:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{(2 \pi r)(r)}{\pi r^2} \\<br />
& = 2<br />
\end{alignat}<br />
</math><br />
Since a circle has the minimal perimeter (for a given area), this is a limiting value of PrA:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} \geq 2<br />
\end{alignat}<br />
</math><br />
And thus any non-circular object will have a larger PrA. An infinitely eccentric object would have <math>\mathrm{PRA} \to \infty</math>.<br />
===Ellipse===<br />
If the object is an [https://en.wikipedia.org/wiki/Ellipse ellipse], with equation:<br />
: <math>\frac{x^2}{a^2}+\frac{y^2}{b^2} = 1</math><br />
Then the width is <math>2a</math> and height <math>2b</math> (we assume <math>a \ge b</math>), the foci are <math>(\pm c, 0)</math> for <math display="inline">c = \sqrt{a^2-b^2}</math>. The eccentricity is:<br />
: <math>e = \frac{c}{a} = \sqrt{1 - \frac{b^2}{a^2}}</math><br />
A circle has <math>e=0</math>, while increasingly squashed ellipses have values of <math>e</math> closer and closer to <math>1</math>. The area of an ellipse is:<br />
: <math>A = \pi a b</math><br />
The perimeter is not analytic but can be approximated very roughly by:<br />
: <math>P \approx \pi (a +b)</math><br />
Which yields:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{P \left( \sqrt{\frac{A}{\pi}} \right) }{A} \\<br />
& \approx \frac{\pi(a+b) }{\pi a b} \left( \sqrt{\frac{\pi a b}{\pi}} \right) \\<br />
& \approx \frac{(a+b) }{ a b} \sqrt{a b} \\<br />
& \approx \frac{(a+b) }{ \sqrt{a b} } \\<br />
\end{alignat}<br />
</math><br />
One can establish a relationship between eccentricity and PrA by setting <math>b=1</math> and considering <math>a \in [1, \infty]</math>:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & \approx \frac{(a+1) }{ \sqrt{a} } \\<br />
e & = \sqrt{1 - \frac{1}{a^2}}<br />
\end{alignat}<br />
</math><br />
In particular:<br />
:<math><br />
\begin{alignat}{2}<br />
\frac{(a+1) }{ \sqrt{a} } & = \mathrm{PRA} \\<br />
(a+1)^2 & = \mathrm{PRA}^2 a \\<br />
a^2+2a+1- \mathrm{PRA}^2 a & = 0 \\<br />
(1)a^2+(2-\mathrm{PRA}^2 )a+(1) & = 0 \\<br />
\end{alignat}<br />
</math><br />
From the quadratic equation:<br />
:<math><br />
\begin{alignat}{2}<br />
a & = \frac{-(2-\mathrm{PRA}^2)\pm \sqrt{(2-\mathrm{PRA}^2)^2 - 4(1)(1)} }{2(1)} \\<br />
& = \frac{1}{2} \left( -2+\mathrm{PRA}^2\pm \sqrt{(2-\mathrm{PRA}^2)^2 - 4} \right)\\<br />
& = \frac{1}{2} \left( \mathrm{PRA}^2-2 \pm \sqrt{(2-\mathrm{PRA}^2)^2 - 4} \right)\\<br />
& = \frac{1}{2} \left( \mathrm{PRA}^2-2 \pm \sqrt{4 -4\mathrm{PRA}^2 + \mathrm{PRA}^4 - 4} \right)\\<br />
& = \frac{1}{2} \left( \mathrm{PRA}^2-2 \pm \sqrt{\mathrm{PRA}^4 - 4\mathrm{PRA}^2} \right)\\<br />
& = \frac{1}{2} \left( \mathrm{PRA}^2-2 \pm \mathrm{PRA} \sqrt{\mathrm{PRA}^2 - 4} \right)\\<br />
\end{alignat}<br />
</math><br />
Since <math>a \to \infty</math> as <math>P \to \infty</math>, we select the positive branch.<br />
:<math><br />
\begin{alignat}{2}<br />
a & = \frac{1}{2} \left( \mathrm{PRA}^2-2 + \mathrm{PRA} \sqrt{\mathrm{PRA}^2 - 4} \right)\\<br />
a^2 & = \frac{1}{4} \left( \mathrm{PRA}^2-2 + \mathrm{PRA} \sqrt{\mathrm{PRA}^2 - 4} \right)^2\\<br />
\end{alignat}<br />
</math><br />
And so:<br />
:<math><br />
\begin{alignat}{2}<br />
e & = \sqrt{1 - \frac{1}{a^2}} \\<br />
& = \sqrt{1 - \frac{4}{\left( \mathrm{PRA}^2-2 + \mathrm{PRA} \sqrt{\mathrm{PRA}^2 - 4} \right)^2}} \\<br />
\end{alignat}<br />
</math></div>KevinYagerhttp://gisaxs.com/index.php?title=PrA&diff=6126PrA2022-05-12T21:27:39Z<p>KevinYager: /* Ellipse */</p>
<hr />
<div>'''PrA''' is a simple ad-hoc parameter to define the "non-circularity" or [https://en.wikipedia.org/wiki/Ellipse eccentricity] of a 2D object. This quantity is simply:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} = \frac{Pr}{A}<br />
\end{alignat}<br />
</math><br />
Where <math>P</math> is the object's perimeter, <math>A</math> is its surface area, and <math>r</math> is an effective size (radius), computed based on the corresponding circle of the same area:<br />
:<math><br />
\begin{alignat}{2}<br />
r = \sqrt{\frac{A}{\pi}}<br />
\end{alignat}<br />
</math><br />
This definition of PrA is convenient, since it provides a simple measure of eccentricity. In particular, for a circle one expects:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{(2 \pi r)(r)}{\pi r^2} \\<br />
& = 2<br />
\end{alignat}<br />
</math><br />
Since a circle has the minimal perimeter (for a given area), this is a limiting value of PrA:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} \geq 2<br />
\end{alignat}<br />
</math><br />
And thus any non-circular object will have a larger PrA. An infinitely eccentric object would have <math>\mathrm{PRA} \to \infty</math>.<br />
===Ellipse===<br />
If the object is an [https://en.wikipedia.org/wiki/Ellipse ellipse], with equation:<br />
: <math>\frac{x^2}{a^2}+\frac{y^2}{b^2} = 1</math><br />
Then the width is <math>2a</math> and height <math>2b</math> (we assume <math>a \ge b</math>), the foci are <math>(\pm c, 0)</math> for <math display="inline">c = \sqrt{a^2-b^2}</math>. The eccentricity is:<br />
: <math>e = \frac{c}{a} = \sqrt{1 - \frac{b^2}{a^2}}</math><br />
A circle has <math>e=0</math>, while increasingly squashed ellipses have values of <math>e</math> closer and closer to <math>1</math>. The area of an ellipse is:<br />
: <math>A = \pi a b</math><br />
The perimeter is not analytic but can be approximated very roughly by:<br />
: <math>P \approx \pi (a +b)</math><br />
Which yields:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{P \left( \sqrt{\frac{A}{\pi}} \right) }{A} \\<br />
& \approx \frac{\pi(a+b) }{\pi a b} \left( \sqrt{\frac{\pi a b}{\pi}} \right) \\<br />
& \approx \frac{(a+b) }{ a b} \sqrt{a b} \\<br />
& \approx \frac{(a+b) }{ \sqrt{a b} } \\<br />
\end{alignat}<br />
</math><br />
One can establish a relationship between eccentricity and PrA by setting <math>b=1</math> and considering <math>a \in [1, \infty]</math>:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & \approx \frac{(a+1) }{ \sqrt{a} } \\<br />
e & = \sqrt{1 - \frac{1}{a^2}}<br />
\end{alignat}<br />
</math><br />
In particular:<br />
:<math><br />
\begin{alignat}{2}<br />
\frac{(a+1) }{ \sqrt{a} } & = \mathrm{PRA} \\<br />
(a+1)^2 & = \mathrm{PRA}^2 a \\<br />
a^2+2a+1- \mathrm{PRA}^2 a & = 0 \\<br />
(1)a^2+(2-\mathrm{PRA}^2 )a+(1) & = 0 \\<br />
\end{alignat}<br />
</math><br />
From the quadratic equation:<br />
:<math><br />
\begin{alignat}{2}<br />
a & = \frac{-(2-\mathrm{PRA}^2)\pm \sqrt{(2-\mathrm{PRA}^2)^2 - 4(1)(1)} }{2(1)} \\<br />
& = \frac{1}{2} \left( -2+\mathrm{PRA}^2\pm \sqrt{(2+\mathrm{PRA}^2)^2 - 4} \right)\\<br />
& = \frac{1}{2} \left( \mathrm{PRA}^2\pm \sqrt{(2+\mathrm{PRA}^2)^2 - 4} -2 \right)\\<br />
& = \frac{1}{2} \left( \mathrm{PRA}^2\pm \sqrt{(2+\mathrm{PRA}^2)^2 - 4} -2 \right)\\<br />
\end{alignat}<br />
</math><br />
Since <math>a \to \infty</math> as <math>P \to \infty</math>, we select the positive branch.</div>KevinYagerhttp://gisaxs.com/index.php?title=PrA&diff=6125PrA2022-05-12T21:05:42Z<p>KevinYager: </p>
<hr />
<div>'''PrA''' is a simple ad-hoc parameter to define the "non-circularity" or [https://en.wikipedia.org/wiki/Ellipse eccentricity] of a 2D object. This quantity is simply:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} = \frac{Pr}{A}<br />
\end{alignat}<br />
</math><br />
Where <math>P</math> is the object's perimeter, <math>A</math> is its surface area, and <math>r</math> is an effective size (radius), computed based on the corresponding circle of the same area:<br />
:<math><br />
\begin{alignat}{2}<br />
r = \sqrt{\frac{A}{\pi}}<br />
\end{alignat}<br />
</math><br />
This definition of PrA is convenient, since it provides a simple measure of eccentricity. In particular, for a circle one expects:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{(2 \pi r)(r)}{\pi r^2} \\<br />
& = 2<br />
\end{alignat}<br />
</math><br />
Since a circle has the minimal perimeter (for a given area), this is a limiting value of PrA:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} \geq 2<br />
\end{alignat}<br />
</math><br />
And thus any non-circular object will have a larger PrA. An infinitely eccentric object would have <math>\mathrm{PRA} \to \infty</math>.<br />
===Ellipse===<br />
If the object is an [https://en.wikipedia.org/wiki/Ellipse ellipse], with equation:<br />
: <math>\frac{x^2}{a^2}+\frac{y^2}{b^2} = 1</math><br />
Then the width is <math>2a</math> and height <math>2b</math> (we assume <math>a \ge b</math>), the foci are <math>(\pm c, 0)</math> for <math display="inline">c = \sqrt{a^2-b^2}</math>. The eccentricity is:<br />
: <math>e = \frac{c}{a} = \sqrt{1 - \frac{b^2}{a^2}}</math><br />
A circle has <math>e=0</math>, while increasingly squashed ellipses have values of <math>e</math> closer and closer to <math>1</math>. The area of an ellipse is:<br />
: <math>A = \pi a b</math><br />
The perimeter is not analytic but can be approximated very roughly by:<br />
: <math>P \approx \pi (a +b)</math><br />
Which yields:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{P \left( \sqrt{\frac{A}{\pi}} \right) }{A} \\<br />
& \approx \frac{\pi(a+b) }{\pi a b} \left( \sqrt{\frac{\pi a b}{\pi}} \right) \\<br />
& \approx \frac{(a+b) }{ a b} \sqrt{a b} \\<br />
& \approx \frac{(a+b) }{ \sqrt{a b} } \\<br />
\end{alignat}<br />
</math><br />
One can establish a relationship between eccentricity and PrA by setting <math>b=1</math> and considering <math>a \in [1, \infty]</math>:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & \approx \frac{(a+1) }{ \sqrt{a} } \\<br />
e & = \sqrt{1 - \frac{1}{a^2}}<br />
\end{alignat}<br />
</math><br />
So:</div>KevinYagerhttp://gisaxs.com/index.php?title=PrA&diff=6124PrA2022-05-12T20:57:18Z<p>KevinYager: /* Ellipse */</p>
<hr />
<div>'''PrA''' is a simple ad-hoc parameter to define the "non-circularity" or [https://en.wikipedia.org/wiki/Ellipse eccentricity] of a 2D object. This quantity is simply:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} = \frac{Pr}{A}<br />
\end{alignat}<br />
</math><br />
Where <math>P</math> is the object's perimeter, <math>A</math> is its surface area, and <math>r</math> is an effective size (radius), computed based on the corresponding circle of the same area:<br />
:<math><br />
\begin{alignat}{2}<br />
r = \sqrt{\frac{A}{\pi}}<br />
\end{alignat}<br />
</math><br />
This definition of PrA is convenient, since it provides a simple measure of eccentricity. In particular, for a circle one expects:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{(2 \pi r)(r)}{\pi r^2} \\<br />
& = 2<br />
\end{alignat}<br />
</math><br />
Since a circle has the minimal perimeter (for a given area), this is a limiting value of PrA:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} \geq 2<br />
\end{alignat}<br />
</math><br />
And thus any non-circular object will have a larger PrA. An infinitely eccentric object would have <math>\mathrm{PRA} \to \infty</math>.<br />
===Ellipse===<br />
If the object is an [https://en.wikipedia.org/wiki/Ellipse ellipse], with equation:<br />
: <math>\frac{x^2}{a^2}+\frac{y^2}{b^2} = 1</math><br />
Then the width is <math>2a</math> and height <math>2b</math> (we assume <math>a \ge b</math>), the foci are <math>(\pm c, 0)</math> for <math display="inline">c = \sqrt{a^2-b^2}</math>. The eccentricity is:<br />
: <math>e = \frac{c}{a} = \sqrt{1 - \frac{b^2}{a^2}}</math><br />
A circle has <math>e=0</math>, while increasingly squashed ellipses have values of <math>e</math> closer and closer to <math>1</math>. The area of an ellipse is:<br />
: <math>A = \pi a b</math><br />
The perimeter is not analytic but can be approximated very roughly by:<br />
: <math>P \approx \pi (a +b)</math><br />
Which yields:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{P \left( \sqrt{\frac{A}{\pi}} \right) }{A} \\<br />
& \approx \frac{\pi(a+b) }{\pi a b} \left( \sqrt{\frac{\pi a b}{\pi}} \right) \\<br />
& \approx \frac{(a+b) }{ a b} \sqrt{a b} \\<br />
& \approx \frac{(a+b) }{ \sqrt{a b} } \\<br />
\end{alignat}<br />
</math><br />
One can establish a relationship between eccentricity and PrA by setting <math>b=1</math> and considering <math>a \in [1, \infnty</math>:</div>KevinYagerhttp://gisaxs.com/index.php?title=PrA&diff=6123PrA2022-05-12T20:49:43Z<p>KevinYager: </p>
<hr />
<div>'''PrA''' is a simple ad-hoc parameter to define the "non-circularity" or [https://en.wikipedia.org/wiki/Ellipse eccentricity] of a 2D object. This quantity is simply:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} = \frac{Pr}{A}<br />
\end{alignat}<br />
</math><br />
Where <math>P</math> is the object's perimeter, <math>A</math> is its surface area, and <math>r</math> is an effective size (radius), computed based on the corresponding circle of the same area:<br />
:<math><br />
\begin{alignat}{2}<br />
r = \sqrt{\frac{A}{\pi}}<br />
\end{alignat}<br />
</math><br />
This definition of PrA is convenient, since it provides a simple measure of eccentricity. In particular, for a circle one expects:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{(2 \pi r)(r)}{\pi r^2} \\<br />
& = 2<br />
\end{alignat}<br />
</math><br />
Since a circle has the minimal perimeter (for a given area), this is a limiting value of PrA:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} \geq 2<br />
\end{alignat}<br />
</math><br />
And thus any non-circular object will have a larger PrA. An infinitely eccentric object would have <math>\mathrm{PRA} \to \infty</math>.<br />
===Ellipse===<br />
If the object is an [https://en.wikipedia.org/wiki/Ellipse ellipse], with equation:<br />
: <math>\frac{x^2}{a^2}+\frac{y^2}{b^2} = 1</math><br />
Then the width is <math>2a</math> and height <math>2b</math> (we assume <math>a \ge b</math>), the foci are <math>(\pm c, 0)</math> for <math display="inline">c = \sqrt{a^2-b^2}</math>. The eccentricity is:<br />
: <math>e = \frac{c}{a} = \sqrt{1 - \frac{b^2}{a^2}}</math><br />
The area is:<br />
: <math>A = \pi a b</math><br />
The perimeter is not analytic but can be approximated very roughly by:<br />
: <math>P \approx \pi (a +b)</math><br />
Which yields:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{P \left( \sqrt{\frac{A}{\pi}} \right) }{A} \\<br />
& \approx \frac{\pi(a+b) }{\pi a b} \left( \sqrt{\frac{\pi a b}{\pi}} \right) \\<br />
& \approx \frac{(a+b) }{ a b} \sqrt{a b} \\<br />
& \approx \frac{(a+b) }{ \sqrt{a b} } \\<br />
\end{alignat}<br />
</math></div>KevinYagerhttp://gisaxs.com/index.php?title=PrA&diff=6122PrA2022-05-12T20:35:27Z<p>KevinYager: Created page with "'''PrA''' is a simple ad-hoc parameter to define the "non-circularity" or [https://en.wikipedia.org/wiki/Ellipse eccentricity] of a 2D object. This quantity is simply: :<math>..."</p>
<hr />
<div>'''PrA''' is a simple ad-hoc parameter to define the "non-circularity" or [https://en.wikipedia.org/wiki/Ellipse eccentricity] of a 2D object. This quantity is simply:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} = \frac{Pr}{A}<br />
\end{alignat}<br />
</math><br />
Where <math>P</math> is the object's perimeter, <math>A</math> is its surface area, and <math>r</math> is an effective size (radius), computed based on the corresponding circle of the same area:<br />
:<math><br />
\begin{alignat}{2}<br />
r = \sqrt{\frac{A}{\pi}}<br />
\end{alignat}<br />
</math><br />
This definition of PrA is convenient, since it provides a simple measure of eccentricity. In particular, for a circle one expects:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} & = \frac{Pr}{A} \\<br />
& = \frac{(2 \pi r)(r)}{\pi r^2} \\<br />
& = 2<br />
\end{alignat}<br />
</math><br />
Since a circle has the minimal perimeter (for a given area), this is a limiting value of PrA:<br />
:<math><br />
\begin{alignat}{2}<br />
\mathrm{PRA} \geq 2<br />
\end{alignat}<br />
</math><br />
And thus any non-circular object will have a larger PrA.</div>KevinYagerhttp://gisaxs.com/index.php?title=Circular_orientation_distribution_function&diff=6121Circular orientation distribution function2022-04-15T19:22:20Z<p>KevinYager: /* References */</p>
<hr />
<div>In assessing the orientation of aligned materials, one can use the [[orientation order parameter]] to quantify order. Another possibility is to fit [[scattering]] data using an equation that has 'circular wrapping' (i.e. periodic along <math>\scriptstyle 2 \pi</math>).<br />
<br />
=<math>\eta </math> function=<br />
Ruland ''et al.'' present such an equation:<br />
<br />
:<math><br />
I (\chi) = \frac{1 - \eta^2}{(1+\eta)^2 - 4 \eta \cos^2 \chi}<br />
</math><br />
<br />
Where <math>\scriptstyle \chi </math> is the angle along the arc of the [[scattering features|scattering ring/feature]]. The single fit parameter (<math>\scriptstyle \eta </math>) is convenient in that it behaves in a similar way to an order parameter: a value close to 1.0 indicates strong alignment, while progressively smaller values indicate lesser alignment. For a random sample, the scattering is isotropic and <math>\scriptstyle \eta = 0</math>.<br />
<br />
[[Image:Eta func-I chi.png|500px]]<br />
<br />
==Normalized==<br />
The function normalized so that the maximum is always at 1 would be:<br />
:<math><br />
I_{\mathrm{norm}} (\chi) = \frac{(1+\eta)^2 - 4 \eta}{(1+\eta)^2 - 4 \eta \cos^2 \chi}<br />
</math><br />
<br />
==References==<br />
* Ruland, W.; Tompa, H., The Effect of Preferred Orientation on the Intensity Distribution of (Hk) Interferences. Acta Crystallographica Section A 1968, 24, 93-99. [http://dx.doi.org/10.1107/S0567739468000112 10.1107/S0567739468000112]<br />
* Ruland, W.; Smarsly, B., Saxs of Self-Assembled Oriented Lamellar Nanocomposite Films: An Advanced Method of Evaluation. J. Appl. Crystallogr. 2004, 37, 575-584. [http://dx.doi.org/10.1107/S0021889804011288 doi: 10.1107/S0021889804011288]<br />
* [[Kevin G. Yager]], Christopher Forrey, Gurpreet Singh, Sushil K. Satija, Kirt A. Page, Derek L. Patton, Jack F. Douglas, Ronald L. Jones and Alamgir Karim [http://pubs.rsc.org/en/Content/ArticleLanding/2015/SM/C5SM00896D#!divAbstract Thermally-induced transition of lamellae orientation in block-copolymer films on ‘neutral’ nanoparticle-coated substrates] ''Soft Matter'' '''2015''' [http://dx.doi.org/10.1039/C5SM00896D doi: 10.1039/C5SM00896D]<br />
* De France, K.J.; Yager, K.G.; Hoare, T.; Cranston, E.D. "Cooperative Ordering and Kinetics of Cellulose Nanocrystal Alignment in a Magnetic Field" Langmuir 2016, 32, 7564–7571. [http://dx.doi.org/10.1021/acs.langmuir.6b01827 doi: 10.1021/acs.langmuir.6b01827]<br />
<br />
=Maier-Saupe distribution parameter=<br />
<br />
:<math><br />
I(\chi) = \frac{1}{c} \exp \left [ m \cos ^2 \chi \right ]<br />
</math><br />
<br />
Where <math>\scriptstyle m</math> is a parameter that can be related to the [[orientation order parameter|order parameter]] <math>\scriptstyle S</math>; specifically <math>\scriptstyle m =0 </math> is for an isotropic distribution (<math>\scriptstyle S = 0</math>), while <math>\scriptstyle m \to \infty</math> is for a well-aligned system (<math>\scriptstyle S \to 1</math>).<br />
<br />
[[Image:MaierSaupe-ODF-01.png|500px]]<br />
[[Image:MaierSaupe-ODF-021.png|500px]]<br />
<br />
The parameter ''c'' can be used to normalize:<br />
<br />
[[Image:MaierSaupe-ODF-01b.png|500px]]<br />
[[Image:MaierSaupe-ODF-02b.png|500px]]<br />
<br />
<br />
==References==<br />
* B. J. Lemaire, P. Panine, J. C. P. Gabriel and P. Davidson [http://iopscience.iop.org/article/10.1209/epl/i2002-00159-8/meta The measurement by SAXS of the nematic order parameter of laponite gels] ''Europhysics Letters'' '''2002''', 59 (1), 55-61.<br />
* Maier W. and Saupe A., Z. Naturforsch. A, 13 ([http://www.znaturforsch.com/aa/v13a/c13a.htm 1958]) [http://zfn.mpdl.mpg.de/data/Reihe_A/13/ZNA-1958-13a-0564_n.pdf 564]; 14 ([http://www.znaturforsch.com/aa/v14a/c14a.htm 1959]) [http://zfn.mpdl.mpg.de/data/Reihe_A/14/ZNA-1959-14a-0882.pdf 882]; 15 ([http://www.znaturforsch.com/aa/v15a/c15a.htm 1960]) [http://zfn.mpdl.mpg.de/data/Reihe_A/15/ZNA-1960-15a-0287.pdf 287].</div>KevinYagerhttp://gisaxs.com/index.php?title=Form_Factor&diff=6120Form Factor2022-03-25T15:45:02Z<p>KevinYager: /* Specific form factors */</p>
<hr />
<div><br />
[[Image:Sphere form factor.png|thumb|right|300px|Example form factor scattering from a [[Form Factor:Sphere|sphere]].]]<br />
<br />
The '''Form Factor''' ('''FF''') is the [[scattering]] which results from the ''shape'' of a particle. When particles are distributed without any particle-particle correlations (e.g. dilute solution of non-interacting particles, freely floating), then the scattering one observes is entirely the form factor. By comparison, when particles are in a well-defined structure, the scattering is dominated by the [[structure factor]]; though even in these cases the form factor continues to contribute, since it modulates both the structure factor and the [[diffuse scattering]].<br />
<br />
When reading discussions of scattering modeling, one must be careful about the usage of the term 'form factor'. This same term is often used to describe three different (though related) quantities:<br />
* <math>F(\mathbf{q})</math>, the '''form factor amplitude''' arising from a single particle; this can be thought of as the 3D [[reciprocal-space]] of the particle, and is thus in general anisotropic.<br />
* <math>|F(\mathbf{q})|^2</math>, the '''form factor intensity'''; whereas the amplitude cannot be measured experimentally, the form factor [[scattering intensity|intensity]] in principle can be.<br />
* <math>P(q) = \left\langle |F(\mathbf{q})|^2 \right\rangle </math>, the '''isotropic form factor intensity'''; i.e. the orientational averaged of the form factor square. This is the 1D scattering that is measured for, e.g., particles freely distributed distributed in solution (since they tumble randomly and thus average over all possible orientations).<br />
<br />
==Equations==<br />
In the most general case of an arbitrary distribution of [[Scattering Length Density|scattering density]], <math>\rho(\mathbf{r})</math>, the form factor is computed by integrating over all space:<br />
<br />
:<math><br />
F_{j}(\mathbf{q}) = \int \rho_j(\mathbf{r}) e^{i \mathbf{q} \cdot \mathbf{r} } \mathrm{d}V <br />
</math><br />
<br />
The subscript denotes that the form factor is for particle ''j''; in multi-component systems, each particle has its own form factor. For a particle of uniform density and volume ''V'', we denote the scattering contrast with respect to the ambient as <math>\Delta \rho</math>, and the form factor is simply:<br />
<br />
:<math><br />
F_{j}(\mathbf{q}) = \Delta \rho \int\limits_{V} e^{i \mathbf{q} \cdot \mathbf{r} } \mathrm{d}V <br />
</math><br />
<br />
For monodisperse particles, the average (isotropic) form factor intensity is an average over all possible particle orientations:<br />
:<math><br />
\begin{alignat}{2}<br />
P_j(q) & = \left\langle |F_j(\mathbf{q})|^2 \right\rangle \\<br />
& = \int\limits_{\phi=0}^{2\pi}\int\limits_{\theta=0}^{\pi} | F_j(-q\sin\theta\cos\phi,q\sin\theta\sin\phi,q\cos\theta)|^2 \sin\theta\mathrm{d}\theta\mathrm{d}\phi<br />
\end{alignat}<br />
</math><br />
<br />
Note that in cases where particles are not monodisperse, then the above average would also include averages over the distritubions in particle size and/or shape. Note that for <math>q=0</math>, we expect:<br />
:<math><br />
\begin{alignat}{2}<br />
F(0) & = \int\limits_{\mathrm{all\,\,space}} \rho(\mathbf{r}) e^{0} \mathrm{d}\mathbf{r} = \rho_{\mathrm{total}} \\<br />
& = \Delta \rho \int\limits_{V} e^{0} \mathrm{d}\mathbf{r} = \Delta \rho V<br />
\end{alignat}<br />
</math><br />
And so:<br />
:<math><br />
\begin{alignat}{2}<br />
P(0) & = \left\langle \left| F(0) \right|^2 \right\rangle \\<br />
& = 4 \pi \Delta \rho^2 V^2<br />
\end{alignat}<br />
</math><br />
As expected, scattering intensity scales with the square of the scattering contrast and the particle volume. For multi-component systems, this has the effect of greatly emphasizing larger particles. For instance, a 2-fold increase in particle diameter results in a <math>(2^3)^2 = 64</math>-fold increase in scattering intensity.<br />
<br />
==Form Factor Equations==<br />
* [[Atomic Form Factor]]<br />
* [[Form Factor:Sphere|Sphere]]<br />
* [[Form Factor:Ellipsoid of revolution|Ellipsoid of revolution]]<br />
* [[Form Factor:Cube|Cube]]<br />
* [[Form Factor:Octahedron|Octahedron]]<br />
* [[Form Factor:Pyramid|Pyramid]]<br />
* [[Form Factor:Superball|Superball]] (can be used to describe rounded cubes/octahedra/etc.)<br />
<br />
==Form Factor Equations in the Literature==<br />
===Reviews/summaries of form factors===<br />
The following is a partial list of form factors that have been published in the literature:<br />
* [http://www.ncnr.nist.gov/resources/old_applets/index.html NCNR SANS solution form factors]:<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Sphere.html Sphere]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyHardSphere.html PolyHardSphere]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyRectSphere.html PolyRectSphere]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/CoreShell.html CoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyCoreShell.html PolyCoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyCoreShellRatio.html PolyCoreShellRatio]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Cylinder.html Cylinder]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/HollowCylinder.html HollowCylinder]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/CoreShellCylinder.html CoreShellCylinder]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Ellipsoid.html Ellipsoid]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/OblateCoreShell.html OblateCoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/ProlateCoreShell.html ProlateCoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/TwoHomopolymerRPA.html TwoHomopolymerRPA]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/DAB.html DAB]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/TeubnerStrey.html TeubnerStrey]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Lorentz.html Lorentz]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PeakLorentz.html PeakLorentz]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PeakGauss.html PeakGauss]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PowerLaw.html PowerLaw]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/BE_RPA.html BE_RPA]<br />
<br />
* [http://ln-www.insp.upmc.fr/axe4/Oxydes/IsGISAXS/figures/doc/manual.html IsGISAXS, Born form factors] (see also Gilles Renaud, Rémi Lazzari,Frédéric Leroy "[http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TVY-4X36TK4-1&_user=2422869&_coverDate=08%2F31%2F2009&_rdoc=1&_fmt=high&_orig=gateway&_origin=gateway&_sort=d&_docanchor=&view=c&_searchStrId=1702575836&_rerunOrigin=google&_acct=C000057228&_version=1&_urlVersion=0&_userid=2422869&md5=d5f357bfcbf9a39bb8e42cfeac555359&searchtype=a Probing surface and interface morphology with Grazing Incidence Small Angle X-Ray Scattering]" Surface Science Reports, 64 (8), 31 August 2009, 255-380 [http://dx.doi.org/10.1016/j.surfrep.2009.07.002 doi:10.1016/j.surfrep.2009.07.002]):<br />
** Parallelepiped<br />
** Pyramid<br />
** Cylinder<br />
** Cone<br />
** Prism 3<br />
** Tetrahedron<br />
** Prism 6<br />
** cone 6<br />
** Sphere<br />
** Cubooctahedron<br />
** Facetted sphere<br />
** Full sphere<br />
** Full spheroid<br />
** Box<br />
** Anisotropic pyramid<br />
** Hemi-ellipsoid<br />
<br />
* [http://apps.jcns.fz-juelich.de/src/BornAgain/FFCatalog.pdf BornAgain form factor catalog] (updated with each software release): Contains all form factors from IsGisaxs, plus the following:<br />
** hard particles:<br />
*** Dodecahedron<br />
*** Icosahedron<br />
** ripples:<br />
*** sinusoidal (as in FitGisaxs)<br />
*** saw-tooth (as in FitGisaxs)<br />
** soft particles (documentation forthcoming):<br />
*** Gaussian ellipsoid<br />
*** Ornstein-Zernike<br />
<br />
* Pedersen Review: [http://linkinghub.elsevier.com/retrieve/pii/S0001868697003126 Analysis of small-angle scattering data from colloids and polymer solutions: modeling and least-squares fitting] Jan Skov Pedersen, Advances in Colloid and Interface Science 1997, 70, 171. [http://dx.doi.org/10.1016/S0001-8686(97)00312-6 doi: 10.1016/S0001-8686(97)00312-6]<br />
*# Homogeneous sphere<br />
*# Spherical shell<br />
*# Spherical concentric shells<br />
*# Particles consisting of spherical subunits<br />
*# Ellipsoid of revolution<br />
*# Tri-axial ellipsoid<br />
*# Cube and rectangular parallelepipedons<br />
*# Truncated octahedra<br />
*# Faceted sphere<br />
*# Cube with terraces<br />
*# Cylinder<br />
*# Cylinder with elliptical cross section<br />
*# Cylinder with spherical end-caps<br />
*# Infinitely thin rod<br />
*# Infinitely thin circular disk<br />
*# Fractal aggregates<br />
*# Flexible polymers with Gaussian statistics<br />
*# Flexible self-avoiding polymers<br />
*# Semi-flexible polymers without self-avoidance<br />
*# Semi-flexible polymers with self-avoidance<br />
*# Star polymer with Gaussian statistics<br />
*# Star-burst polymer with Gaussian statistics<br />
*# Regular comb polymer with Gaussian statistics<br />
*# Arbitrarily branched polymers with Gaussian statistics<br />
*# Sphere with Gaussian chains attached<br />
*# Ellipsoid with Gaussian chains attached<br />
*# Cylinder with Gaussian chains attached<br />
<br />
* [http://www.nature.com/nmat/journal/v9/n11/extref/nmat2870-s1.pdf Supplementary Information] of: Matthew R. Jones, Robert J. Macfarlane, Byeongdu Lee, Jian Zhang, Kaylie L. Young, Andrew J. Senesi, and Chad A. Mirkin "[http://www.nature.com/nmat/journal/v9/n11/full/nmat2870.html DNA-nanoparticle superlattices formed from anisotropic building blocks]" Nature Materials '''9''', 913-917, '''2010'''. [http://dx.doi.org/10.1038/nmat2870 doi: 10.1038/nmat2870]<br />
*# Pyramid<br />
*# Cube<br />
*# Cylinder<br />
*# Octahedron<br />
*# Rhombic dodecahedron (RD)<br />
*# Triangular prism<br />
<br />
===Form factors for classes of geometric shapes===<br />
* '''Platonic solids''': [http://scripts.iucr.org/cgi-bin/paper?S0021889811011691 Scattering functions of Platonic solids] Xin Li, Roger Pynn, Wei-Ren Chen, et al. ''Journal of Applied Crystallography'' '''2011''', 44, p.1 [http://dx.doi.org/10.1107/S0021889811011691 doi:10.1107/S0021889811011691]<br />
*# Tetrahedron<br />
*# Hexahedron (cube, parallelepiped, etc.)<br />
*# Octahedron<br />
*# Dodecahedron<br />
*# Icosahedron<br />
<br />
* '''Polyhedra''': <br />
** [http://scripts.iucr.org/cgi-bin/paper?aj5251 Scattering functions of polyhedra] A. Senesi and B. Lee ''J. Appl. Cryst.'' '''2015''', 48, 565-577. [http://dx.doi.org/10.1107/S1600576715002964 doi: 10.1107/S1600576715002964]<br />
** [http://scripts.iucr.org/cgi-bin/paper?fs5152 Form factor of any polyhedron: a general compact formula and its singularities] B. Croset ''Journal of Applied Crystallography'' '''2017'''. [https://doi.org/10.1107/S1600576717010147 doi: 10.1107/S1600576717010147]<br />
** [https://arxiv.org/abs/1703.00255 Form factor (Fourier shape transform) of polygon and polyhedron] J. Wuttke ''ArXiv'':1703.00255<br />
<br />
<br />
===Specific form factors===<br />
* [http://www.eng.uc.edu/~gbeaucag/Classes/Analysis/Chapter8.html This tutorial] lists sphere, rod, disk, and Gaussian polymer coil.<br />
* '''Block-Copolymer Micelles''': [http://pubs.acs.org/doi/abs/10.1021/ma9512115 Scattering Form Factor of Block Copolymer Micelles] Jan Skov Pedersen* and Michael C. Gerstenberg, Macromolecules, 1996, 29 (4), pp 1363–1365 [http://dx.doi.org/10.1021/ma9512115 DOI: 10.1021/ma9512115]<br />
* '''Capped cylinder''': [http://scripts.iucr.org/cgi-bin/paper?S0021889804000020 Scattering from cylinders with globular end-caps]. H. Kaya. J. Appl. Cryst. (2004). 37, 223-230 [http://dx.doi.org/10.1107/S0021889804000020 doi: 10.1107/S0021889804000020]<br />
* '''Lens-shaped disc'''" [http://scripts.iucr.org/cgi-bin/paper?aj5016 Scattering from capped cylinders. Addendum.] H. Kaya and N.-R. de Souza. J. Appl. Cryst. (2004). 37, 508-509 [http://dx.doi.org/10.1107/S0021889804005709 doi: 10.1107/S0021889804005709 ]<br />
* '''Star polymer:'''<br />
** Benoit, H. [http://onlinelibrary.wiley.com/doi/10.1002/pol.1953.120110512/abstract On the effect of branching and polydispersity on the angular distribution of the light scattered by gaussian coils] ''J. Polym. Sci.'' '''1953''', 11, 507–510. [http://dx.doi.org/10.1002/pol.1953.120110512 doi: 10.1002/pol.1953.120110512]<br />
** Richter, D.; Farago, B.; Huang, J. S.; Fetters, L. J.; Ewen, B. [http://pubs.acs.org/doi/abs/10.1021/ma00191a085 A study of single-arm relaxation in a polystyrene star polymer by neutron spin echo spectroscopy] ''Macromoleules'' '''1989''', 22, 468–472. [http://dx.doi.org/10.1021/ma00191a085 doi: 10.1021/ma00191a085]<br />
** L. Willner, O. Jucknischke, D. Richter, J. Roovers, L.-L. Zhou, P. M. Toporowski, L. J. Fetters, J. S. Huang, M. Y. Lin, N. Hadjichristidis [http://pubs.acs.org/doi/abs/10.1021/ma00092a022 Structural Investigation of Star Polymers in Solution by Small-Angle Neutron Scattering] ''Macromolecules'' '''1994''', 27 (14), 3821–3829. [http://dx.doi.org/10.1021/ma00092a022 doi: 10.1021/ma00092a022]<br />
** Takuro Matsunaga, Takamasa Sakai, Yuki Akagi, Ung-il Chung and Mitsuhiro Shibayama [http://pubs.acs.org/doi/abs/10.1021/ma901013q SANS and SLS Studies on Tetra-Arm PEG Gels in As-Prepared and Swollen States] ''Macromolecules'' '''2009''', 42 (16), 6245–6252. [http://dx.doi.org/10.1021/ma901013q doi: 10.1021/ma901013q]<br />
** X. Li, C. Do, Y. Liu, L. Sánchez-Diáz, G. Smith and W.-R. Chen [http://scripts.iucr.org/cgi-bin/paper?fs5081 A scattering function of star polymers including excluded volume effects] ''J. Appl. Cryst.'' '''2014''', 47 [http://dx.doi.org/10.1107/S1600576714022249 doi: 10.1107/S1600576714022249]<br />
** Durgesh K. Rai, Gregory Beaucage, Kedar Ratkanthwar, Peter Beaucage, Ramnath Ramachandran, and Nikos Hadjichristidis [https://journals.aps.org/pre/abstract/10.1103/PhysRevE.92.012602 Determination of the interaction parameter and topological scaling features of symmetric star polymers in dilute solution] ''Phys. Rev. E'' '''2015''', 012602. [https://doi.org/10.1103/PhysRevE.92.012602 doi: 10.1103/PhysRevE.92.012602]<br />
* '''Cylinders vs. ribbons in solution''': Y. Su, C. Burger, B. S. Hsiao and B. Chu [http://journals.iucr.org/j/issues/2014/02/00/fs5073/stdsup.html Characterization of TEMPO-oxidized cellulose nanofibers in aqueous suspension by small-angle X-ray scattering] ''J. Appl. Cryst. '''2014''', 47, 788. [http://dx.doi.org/10.1107/S1600576714005020 doi: 10.1107/S1600576714005020]<br />
* '''Hollow cylinders''': Kun Lu , Jaby Jacob , Pappannan Thiyagarajan , Vincent P. Conticello , and David G. Lynn [http://pubs.acs.org/doi/full/10.1021/ja0341642 Exploiting Amyloid Fibril Lamination for Nanotube Self-Assembly] ''J. Am. Chem. Soc.'' '''2003''', 125 (21), 6391–6393. [http://dx.doi.org/10.1021/ja0341642 doi: 10.1021/ja0341642]<br />
* '''Amino acids''': D. Tong, S. Yang and L. Lu [http://scripts.iucr.org/cgi-bin/paper?vg5046 Accurate optimization of amino acid form factors for computing small-angle X-ray scattering intensity of atomistic protein structures] ''J. Appl. Cryst.'' '''2016''', 49. [http://dx.doi.org/10.1107/S1600576716007962 doi: 10.1107/S1600576716007962]<br />
* '''Helical nanostructures''': Max Burian and Heinz Amenitsch [http://journals.iucr.org/m/issues/2018/04/00/tj5016/index.html Dummy-atom modelling of stacked and helical nanostructures from solution scattering data] ''IUCrJ'' '''2018''' [https://doi.org/10.1107/S2052252518005493 DOI: 10.1107/S2052252518005493]<br />
<br />
==See Also==<br />
* Computing the scattering for [[lattices of nano-objects]] also involves computing the form factor.<br />
* M. Burian, G. Fritz-Popovski, M. He, M. V. Kovalenko, O. Paris and R. T. Lechner [http://scripts.iucr.org/cgi-bin/paper?vg5016 Considerations on the model-free shape retrieval of inorganic nanocrystals from small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48, 857-868. [http://dx.doi.org/10.1107/S1600576715006846 10.1107/S1600576715006846]<br />
* R. A. X. Persson and J. Bergenholtz [http://scripts.iucr.org/cgi-bin/paper?po5072 Efficient computation of the scattering intensity from systems of nonspherical particles] ''J. Appl. Cryst.'' '''2016''', 49 [http://dx.doi.org/10.1107/S1600576716011481 doi:10.1107/S1600576716011481]<br />
* Bernard Croseta [http://scripts.iucr.org/cgi-bin/paper?fs5161 Form factor of rounded objects: the sections method] ''J. Appl. Cryst.'' '''2018''' [https://doi.org/10.1107/S1600576718007239 doi: 10.1107/S1600576718007239]</div>KevinYagerhttp://gisaxs.com/index.php?title=Form_Factor&diff=6119Form Factor2022-03-25T15:44:32Z<p>KevinYager: /* Specific form factors */</p>
<hr />
<div><br />
[[Image:Sphere form factor.png|thumb|right|300px|Example form factor scattering from a [[Form Factor:Sphere|sphere]].]]<br />
<br />
The '''Form Factor''' ('''FF''') is the [[scattering]] which results from the ''shape'' of a particle. When particles are distributed without any particle-particle correlations (e.g. dilute solution of non-interacting particles, freely floating), then the scattering one observes is entirely the form factor. By comparison, when particles are in a well-defined structure, the scattering is dominated by the [[structure factor]]; though even in these cases the form factor continues to contribute, since it modulates both the structure factor and the [[diffuse scattering]].<br />
<br />
When reading discussions of scattering modeling, one must be careful about the usage of the term 'form factor'. This same term is often used to describe three different (though related) quantities:<br />
* <math>F(\mathbf{q})</math>, the '''form factor amplitude''' arising from a single particle; this can be thought of as the 3D [[reciprocal-space]] of the particle, and is thus in general anisotropic.<br />
* <math>|F(\mathbf{q})|^2</math>, the '''form factor intensity'''; whereas the amplitude cannot be measured experimentally, the form factor [[scattering intensity|intensity]] in principle can be.<br />
* <math>P(q) = \left\langle |F(\mathbf{q})|^2 \right\rangle </math>, the '''isotropic form factor intensity'''; i.e. the orientational averaged of the form factor square. This is the 1D scattering that is measured for, e.g., particles freely distributed distributed in solution (since they tumble randomly and thus average over all possible orientations).<br />
<br />
==Equations==<br />
In the most general case of an arbitrary distribution of [[Scattering Length Density|scattering density]], <math>\rho(\mathbf{r})</math>, the form factor is computed by integrating over all space:<br />
<br />
:<math><br />
F_{j}(\mathbf{q}) = \int \rho_j(\mathbf{r}) e^{i \mathbf{q} \cdot \mathbf{r} } \mathrm{d}V <br />
</math><br />
<br />
The subscript denotes that the form factor is for particle ''j''; in multi-component systems, each particle has its own form factor. For a particle of uniform density and volume ''V'', we denote the scattering contrast with respect to the ambient as <math>\Delta \rho</math>, and the form factor is simply:<br />
<br />
:<math><br />
F_{j}(\mathbf{q}) = \Delta \rho \int\limits_{V} e^{i \mathbf{q} \cdot \mathbf{r} } \mathrm{d}V <br />
</math><br />
<br />
For monodisperse particles, the average (isotropic) form factor intensity is an average over all possible particle orientations:<br />
:<math><br />
\begin{alignat}{2}<br />
P_j(q) & = \left\langle |F_j(\mathbf{q})|^2 \right\rangle \\<br />
& = \int\limits_{\phi=0}^{2\pi}\int\limits_{\theta=0}^{\pi} | F_j(-q\sin\theta\cos\phi,q\sin\theta\sin\phi,q\cos\theta)|^2 \sin\theta\mathrm{d}\theta\mathrm{d}\phi<br />
\end{alignat}<br />
</math><br />
<br />
Note that in cases where particles are not monodisperse, then the above average would also include averages over the distritubions in particle size and/or shape. Note that for <math>q=0</math>, we expect:<br />
:<math><br />
\begin{alignat}{2}<br />
F(0) & = \int\limits_{\mathrm{all\,\,space}} \rho(\mathbf{r}) e^{0} \mathrm{d}\mathbf{r} = \rho_{\mathrm{total}} \\<br />
& = \Delta \rho \int\limits_{V} e^{0} \mathrm{d}\mathbf{r} = \Delta \rho V<br />
\end{alignat}<br />
</math><br />
And so:<br />
:<math><br />
\begin{alignat}{2}<br />
P(0) & = \left\langle \left| F(0) \right|^2 \right\rangle \\<br />
& = 4 \pi \Delta \rho^2 V^2<br />
\end{alignat}<br />
</math><br />
As expected, scattering intensity scales with the square of the scattering contrast and the particle volume. For multi-component systems, this has the effect of greatly emphasizing larger particles. For instance, a 2-fold increase in particle diameter results in a <math>(2^3)^2 = 64</math>-fold increase in scattering intensity.<br />
<br />
==Form Factor Equations==<br />
* [[Atomic Form Factor]]<br />
* [[Form Factor:Sphere|Sphere]]<br />
* [[Form Factor:Ellipsoid of revolution|Ellipsoid of revolution]]<br />
* [[Form Factor:Cube|Cube]]<br />
* [[Form Factor:Octahedron|Octahedron]]<br />
* [[Form Factor:Pyramid|Pyramid]]<br />
* [[Form Factor:Superball|Superball]] (can be used to describe rounded cubes/octahedra/etc.)<br />
<br />
==Form Factor Equations in the Literature==<br />
===Reviews/summaries of form factors===<br />
The following is a partial list of form factors that have been published in the literature:<br />
* [http://www.ncnr.nist.gov/resources/old_applets/index.html NCNR SANS solution form factors]:<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Sphere.html Sphere]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyHardSphere.html PolyHardSphere]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyRectSphere.html PolyRectSphere]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/CoreShell.html CoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyCoreShell.html PolyCoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyCoreShellRatio.html PolyCoreShellRatio]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Cylinder.html Cylinder]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/HollowCylinder.html HollowCylinder]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/CoreShellCylinder.html CoreShellCylinder]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Ellipsoid.html Ellipsoid]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/OblateCoreShell.html OblateCoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/ProlateCoreShell.html ProlateCoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/TwoHomopolymerRPA.html TwoHomopolymerRPA]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/DAB.html DAB]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/TeubnerStrey.html TeubnerStrey]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Lorentz.html Lorentz]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PeakLorentz.html PeakLorentz]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PeakGauss.html PeakGauss]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PowerLaw.html PowerLaw]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/BE_RPA.html BE_RPA]<br />
<br />
* [http://ln-www.insp.upmc.fr/axe4/Oxydes/IsGISAXS/figures/doc/manual.html IsGISAXS, Born form factors] (see also Gilles Renaud, Rémi Lazzari,Frédéric Leroy "[http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TVY-4X36TK4-1&_user=2422869&_coverDate=08%2F31%2F2009&_rdoc=1&_fmt=high&_orig=gateway&_origin=gateway&_sort=d&_docanchor=&view=c&_searchStrId=1702575836&_rerunOrigin=google&_acct=C000057228&_version=1&_urlVersion=0&_userid=2422869&md5=d5f357bfcbf9a39bb8e42cfeac555359&searchtype=a Probing surface and interface morphology with Grazing Incidence Small Angle X-Ray Scattering]" Surface Science Reports, 64 (8), 31 August 2009, 255-380 [http://dx.doi.org/10.1016/j.surfrep.2009.07.002 doi:10.1016/j.surfrep.2009.07.002]):<br />
** Parallelepiped<br />
** Pyramid<br />
** Cylinder<br />
** Cone<br />
** Prism 3<br />
** Tetrahedron<br />
** Prism 6<br />
** cone 6<br />
** Sphere<br />
** Cubooctahedron<br />
** Facetted sphere<br />
** Full sphere<br />
** Full spheroid<br />
** Box<br />
** Anisotropic pyramid<br />
** Hemi-ellipsoid<br />
<br />
* [http://apps.jcns.fz-juelich.de/src/BornAgain/FFCatalog.pdf BornAgain form factor catalog] (updated with each software release): Contains all form factors from IsGisaxs, plus the following:<br />
** hard particles:<br />
*** Dodecahedron<br />
*** Icosahedron<br />
** ripples:<br />
*** sinusoidal (as in FitGisaxs)<br />
*** saw-tooth (as in FitGisaxs)<br />
** soft particles (documentation forthcoming):<br />
*** Gaussian ellipsoid<br />
*** Ornstein-Zernike<br />
<br />
* Pedersen Review: [http://linkinghub.elsevier.com/retrieve/pii/S0001868697003126 Analysis of small-angle scattering data from colloids and polymer solutions: modeling and least-squares fitting] Jan Skov Pedersen, Advances in Colloid and Interface Science 1997, 70, 171. [http://dx.doi.org/10.1016/S0001-8686(97)00312-6 doi: 10.1016/S0001-8686(97)00312-6]<br />
*# Homogeneous sphere<br />
*# Spherical shell<br />
*# Spherical concentric shells<br />
*# Particles consisting of spherical subunits<br />
*# Ellipsoid of revolution<br />
*# Tri-axial ellipsoid<br />
*# Cube and rectangular parallelepipedons<br />
*# Truncated octahedra<br />
*# Faceted sphere<br />
*# Cube with terraces<br />
*# Cylinder<br />
*# Cylinder with elliptical cross section<br />
*# Cylinder with spherical end-caps<br />
*# Infinitely thin rod<br />
*# Infinitely thin circular disk<br />
*# Fractal aggregates<br />
*# Flexible polymers with Gaussian statistics<br />
*# Flexible self-avoiding polymers<br />
*# Semi-flexible polymers without self-avoidance<br />
*# Semi-flexible polymers with self-avoidance<br />
*# Star polymer with Gaussian statistics<br />
*# Star-burst polymer with Gaussian statistics<br />
*# Regular comb polymer with Gaussian statistics<br />
*# Arbitrarily branched polymers with Gaussian statistics<br />
*# Sphere with Gaussian chains attached<br />
*# Ellipsoid with Gaussian chains attached<br />
*# Cylinder with Gaussian chains attached<br />
<br />
* [http://www.nature.com/nmat/journal/v9/n11/extref/nmat2870-s1.pdf Supplementary Information] of: Matthew R. Jones, Robert J. Macfarlane, Byeongdu Lee, Jian Zhang, Kaylie L. Young, Andrew J. Senesi, and Chad A. Mirkin "[http://www.nature.com/nmat/journal/v9/n11/full/nmat2870.html DNA-nanoparticle superlattices formed from anisotropic building blocks]" Nature Materials '''9''', 913-917, '''2010'''. [http://dx.doi.org/10.1038/nmat2870 doi: 10.1038/nmat2870]<br />
*# Pyramid<br />
*# Cube<br />
*# Cylinder<br />
*# Octahedron<br />
*# Rhombic dodecahedron (RD)<br />
*# Triangular prism<br />
<br />
===Form factors for classes of geometric shapes===<br />
* '''Platonic solids''': [http://scripts.iucr.org/cgi-bin/paper?S0021889811011691 Scattering functions of Platonic solids] Xin Li, Roger Pynn, Wei-Ren Chen, et al. ''Journal of Applied Crystallography'' '''2011''', 44, p.1 [http://dx.doi.org/10.1107/S0021889811011691 doi:10.1107/S0021889811011691]<br />
*# Tetrahedron<br />
*# Hexahedron (cube, parallelepiped, etc.)<br />
*# Octahedron<br />
*# Dodecahedron<br />
*# Icosahedron<br />
<br />
* '''Polyhedra''': <br />
** [http://scripts.iucr.org/cgi-bin/paper?aj5251 Scattering functions of polyhedra] A. Senesi and B. Lee ''J. Appl. Cryst.'' '''2015''', 48, 565-577. [http://dx.doi.org/10.1107/S1600576715002964 doi: 10.1107/S1600576715002964]<br />
** [http://scripts.iucr.org/cgi-bin/paper?fs5152 Form factor of any polyhedron: a general compact formula and its singularities] B. Croset ''Journal of Applied Crystallography'' '''2017'''. [https://doi.org/10.1107/S1600576717010147 doi: 10.1107/S1600576717010147]<br />
** [https://arxiv.org/abs/1703.00255 Form factor (Fourier shape transform) of polygon and polyhedron] J. Wuttke ''ArXiv'':1703.00255<br />
<br />
<br />
===Specific form factors===<br />
* [http://www.eng.uc.edu/~gbeaucag/Classes/Analysis/Chapter8.html This tutorial] lists sphere, rod, disk, and Gaussian polymer coil.<br />
* '''Block-Copolymer Micelles''': [http://pubs.acs.org/doi/abs/10.1021/ma9512115 Scattering Form Factor of Block Copolymer Micelles] Jan Skov Pedersen* and Michael C. Gerstenberg, Macromolecules, 1996, 29 (4), pp 1363–1365 [http://dx.doi.org/10.1021/ma9512115 DOI: 10.1021/ma9512115]<br />
* '''Capped cylinder''': [http://scripts.iucr.org/cgi-bin/paper?S0021889804000020 Scattering from cylinders with globular end-caps]. H. Kaya. J. Appl. Cryst. (2004). 37, 223-230 [http://dx.doi.org/10.1107/S0021889804000020 doi: 10.1107/S0021889804000020]<br />
* '''Lens-shaped disc'''" [http://scripts.iucr.org/cgi-bin/paper?aj5016 Scattering from capped cylinders. Addendum.] H. Kaya and N.-R. de Souza. J. Appl. Cryst. (2004). 37, 508-509 [http://dx.doi.org/10.1107/S0021889804005709 doi: 10.1107/S0021889804005709 ]<br />
* '''Star polymer:'''<br />
** Benoit, H. [http://onlinelibrary.wiley.com/doi/10.1002/pol.1953.120110512/abstract On the effect of branching and polydispersity on the angular distribution of the light scattered by gaussian coils] ''J. Polym. Sci.'' '''1953''', 11, 507–510. [http://dx.doi.org/10.1002/pol.1953.120110512 doi: 10.1002/pol.1953.120110512]<br />
** Richter, D.; Farago, B.; Huang, J. S.; Fetters, L. J.; Ewen, B. [http://pubs.acs.org/doi/abs/10.1021/ma00191a085 A study of single-arm relaxation in a polystyrene star polymer by neutron spin echo spectroscopy] ''Macromoleules'' '''1989''', 22, 468–472. [http://dx.doi.org/10.1021/ma00191a085 doi: 10.1021/ma00191a085]<br />
** L. Willner, O. Jucknischke, D. Richter, J. Roovers, L.-L. Zhou, P. M. Toporowski, L. J. Fetters, J. S. Huang, M. Y. Lin, N. Hadjichristidis [http://pubs.acs.org/doi/abs/10.1021/ma00092a022 Structural Investigation of Star Polymers in Solution by Small-Angle Neutron Scattering] ''Macromolecules'' '''1994''', 27 (14), 3821–3829. [http://dx.doi.org/10.1021/ma00092a022 doi: 10.1021/ma00092a022]<br />
** Takuro Matsunaga, Takamasa Sakai, Yuki Akagi, Ung-il Chung and Mitsuhiro Shibayama [http://pubs.acs.org/doi/abs/10.1021/ma901013q SANS and SLS Studies on Tetra-Arm PEG Gels in As-Prepared and Swollen States] ''Macromolecules'' '''2009''', 42 (16), 6245–6252. [http://dx.doi.org/10.1021/ma901013q doi: 10.1021/ma901013q]<br />
** X. Li, C. Do, Y. Liu, L. Sánchez-Diáz, G. Smith and W.-R. Chen [http://scripts.iucr.org/cgi-bin/paper?fs5081 A scattering function of star polymers including excluded volume effects] ''J. Appl. Cryst.'' '''2014''', 47 [http://dx.doi.org/10.1107/S1600576714022249 doi: 10.1107/S1600576714022249]<br />
** [https://journals.aps.org/pre/abstract/10.1103/PhysRevE.92.012602 Determination of the interaction parameter and topological scaling features of symmetric star polymers in dilute solution] ''Phys. Rev. E'' '''2015''', 012602. [https://doi.org/10.1103/PhysRevE.92.012602 doi: 10.1103/PhysRevE.92.012602]<br />
* '''Cylinders vs. ribbons in solution''': Y. Su, C. Burger, B. S. Hsiao and B. Chu [http://journals.iucr.org/j/issues/2014/02/00/fs5073/stdsup.html Characterization of TEMPO-oxidized cellulose nanofibers in aqueous suspension by small-angle X-ray scattering] ''J. Appl. Cryst. '''2014''', 47, 788. [http://dx.doi.org/10.1107/S1600576714005020 doi: 10.1107/S1600576714005020]<br />
* '''Hollow cylinders''': Kun Lu , Jaby Jacob , Pappannan Thiyagarajan , Vincent P. Conticello , and David G. Lynn [http://pubs.acs.org/doi/full/10.1021/ja0341642 Exploiting Amyloid Fibril Lamination for Nanotube Self-Assembly] ''J. Am. Chem. Soc.'' '''2003''', 125 (21), 6391–6393. [http://dx.doi.org/10.1021/ja0341642 doi: 10.1021/ja0341642]<br />
* '''Amino acids''': D. Tong, S. Yang and L. Lu [http://scripts.iucr.org/cgi-bin/paper?vg5046 Accurate optimization of amino acid form factors for computing small-angle X-ray scattering intensity of atomistic protein structures] ''J. Appl. Cryst.'' '''2016''', 49. [http://dx.doi.org/10.1107/S1600576716007962 doi: 10.1107/S1600576716007962]<br />
* '''Helical nanostructures''': Max Burian and Heinz Amenitsch [http://journals.iucr.org/m/issues/2018/04/00/tj5016/index.html Dummy-atom modelling of stacked and helical nanostructures from solution scattering data] ''IUCrJ'' '''2018''' [https://doi.org/10.1107/S2052252518005493 DOI: 10.1107/S2052252518005493]<br />
<br />
==See Also==<br />
* Computing the scattering for [[lattices of nano-objects]] also involves computing the form factor.<br />
* M. Burian, G. Fritz-Popovski, M. He, M. V. Kovalenko, O. Paris and R. T. Lechner [http://scripts.iucr.org/cgi-bin/paper?vg5016 Considerations on the model-free shape retrieval of inorganic nanocrystals from small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48, 857-868. [http://dx.doi.org/10.1107/S1600576715006846 10.1107/S1600576715006846]<br />
* R. A. X. Persson and J. Bergenholtz [http://scripts.iucr.org/cgi-bin/paper?po5072 Efficient computation of the scattering intensity from systems of nonspherical particles] ''J. Appl. Cryst.'' '''2016''', 49 [http://dx.doi.org/10.1107/S1600576716011481 doi:10.1107/S1600576716011481]<br />
* Bernard Croseta [http://scripts.iucr.org/cgi-bin/paper?fs5161 Form factor of rounded objects: the sections method] ''J. Appl. Cryst.'' '''2018''' [https://doi.org/10.1107/S1600576718007239 doi: 10.1107/S1600576718007239]</div>KevinYagerhttp://gisaxs.com/index.php?title=Form_Factor&diff=6118Form Factor2022-03-25T15:44:11Z<p>KevinYager: /* Specific form factors */</p>
<hr />
<div><br />
[[Image:Sphere form factor.png|thumb|right|300px|Example form factor scattering from a [[Form Factor:Sphere|sphere]].]]<br />
<br />
The '''Form Factor''' ('''FF''') is the [[scattering]] which results from the ''shape'' of a particle. When particles are distributed without any particle-particle correlations (e.g. dilute solution of non-interacting particles, freely floating), then the scattering one observes is entirely the form factor. By comparison, when particles are in a well-defined structure, the scattering is dominated by the [[structure factor]]; though even in these cases the form factor continues to contribute, since it modulates both the structure factor and the [[diffuse scattering]].<br />
<br />
When reading discussions of scattering modeling, one must be careful about the usage of the term 'form factor'. This same term is often used to describe three different (though related) quantities:<br />
* <math>F(\mathbf{q})</math>, the '''form factor amplitude''' arising from a single particle; this can be thought of as the 3D [[reciprocal-space]] of the particle, and is thus in general anisotropic.<br />
* <math>|F(\mathbf{q})|^2</math>, the '''form factor intensity'''; whereas the amplitude cannot be measured experimentally, the form factor [[scattering intensity|intensity]] in principle can be.<br />
* <math>P(q) = \left\langle |F(\mathbf{q})|^2 \right\rangle </math>, the '''isotropic form factor intensity'''; i.e. the orientational averaged of the form factor square. This is the 1D scattering that is measured for, e.g., particles freely distributed distributed in solution (since they tumble randomly and thus average over all possible orientations).<br />
<br />
==Equations==<br />
In the most general case of an arbitrary distribution of [[Scattering Length Density|scattering density]], <math>\rho(\mathbf{r})</math>, the form factor is computed by integrating over all space:<br />
<br />
:<math><br />
F_{j}(\mathbf{q}) = \int \rho_j(\mathbf{r}) e^{i \mathbf{q} \cdot \mathbf{r} } \mathrm{d}V <br />
</math><br />
<br />
The subscript denotes that the form factor is for particle ''j''; in multi-component systems, each particle has its own form factor. For a particle of uniform density and volume ''V'', we denote the scattering contrast with respect to the ambient as <math>\Delta \rho</math>, and the form factor is simply:<br />
<br />
:<math><br />
F_{j}(\mathbf{q}) = \Delta \rho \int\limits_{V} e^{i \mathbf{q} \cdot \mathbf{r} } \mathrm{d}V <br />
</math><br />
<br />
For monodisperse particles, the average (isotropic) form factor intensity is an average over all possible particle orientations:<br />
:<math><br />
\begin{alignat}{2}<br />
P_j(q) & = \left\langle |F_j(\mathbf{q})|^2 \right\rangle \\<br />
& = \int\limits_{\phi=0}^{2\pi}\int\limits_{\theta=0}^{\pi} | F_j(-q\sin\theta\cos\phi,q\sin\theta\sin\phi,q\cos\theta)|^2 \sin\theta\mathrm{d}\theta\mathrm{d}\phi<br />
\end{alignat}<br />
</math><br />
<br />
Note that in cases where particles are not monodisperse, then the above average would also include averages over the distritubions in particle size and/or shape. Note that for <math>q=0</math>, we expect:<br />
:<math><br />
\begin{alignat}{2}<br />
F(0) & = \int\limits_{\mathrm{all\,\,space}} \rho(\mathbf{r}) e^{0} \mathrm{d}\mathbf{r} = \rho_{\mathrm{total}} \\<br />
& = \Delta \rho \int\limits_{V} e^{0} \mathrm{d}\mathbf{r} = \Delta \rho V<br />
\end{alignat}<br />
</math><br />
And so:<br />
:<math><br />
\begin{alignat}{2}<br />
P(0) & = \left\langle \left| F(0) \right|^2 \right\rangle \\<br />
& = 4 \pi \Delta \rho^2 V^2<br />
\end{alignat}<br />
</math><br />
As expected, scattering intensity scales with the square of the scattering contrast and the particle volume. For multi-component systems, this has the effect of greatly emphasizing larger particles. For instance, a 2-fold increase in particle diameter results in a <math>(2^3)^2 = 64</math>-fold increase in scattering intensity.<br />
<br />
==Form Factor Equations==<br />
* [[Atomic Form Factor]]<br />
* [[Form Factor:Sphere|Sphere]]<br />
* [[Form Factor:Ellipsoid of revolution|Ellipsoid of revolution]]<br />
* [[Form Factor:Cube|Cube]]<br />
* [[Form Factor:Octahedron|Octahedron]]<br />
* [[Form Factor:Pyramid|Pyramid]]<br />
* [[Form Factor:Superball|Superball]] (can be used to describe rounded cubes/octahedra/etc.)<br />
<br />
==Form Factor Equations in the Literature==<br />
===Reviews/summaries of form factors===<br />
The following is a partial list of form factors that have been published in the literature:<br />
* [http://www.ncnr.nist.gov/resources/old_applets/index.html NCNR SANS solution form factors]:<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Sphere.html Sphere]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyHardSphere.html PolyHardSphere]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyRectSphere.html PolyRectSphere]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/CoreShell.html CoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyCoreShell.html PolyCoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PolyCoreShellRatio.html PolyCoreShellRatio]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Cylinder.html Cylinder]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/HollowCylinder.html HollowCylinder]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/CoreShellCylinder.html CoreShellCylinder]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Ellipsoid.html Ellipsoid]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/OblateCoreShell.html OblateCoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/ProlateCoreShell.html ProlateCoreShell]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/TwoHomopolymerRPA.html TwoHomopolymerRPA]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/DAB.html DAB]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/TeubnerStrey.html TeubnerStrey]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/Lorentz.html Lorentz]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PeakLorentz.html PeakLorentz]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PeakGauss.html PeakGauss]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/PowerLaw.html PowerLaw]<br />
** [http://www.ncnr.nist.gov/resources/old_applets/sansmodels/BE_RPA.html BE_RPA]<br />
<br />
* [http://ln-www.insp.upmc.fr/axe4/Oxydes/IsGISAXS/figures/doc/manual.html IsGISAXS, Born form factors] (see also Gilles Renaud, Rémi Lazzari,Frédéric Leroy "[http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TVY-4X36TK4-1&_user=2422869&_coverDate=08%2F31%2F2009&_rdoc=1&_fmt=high&_orig=gateway&_origin=gateway&_sort=d&_docanchor=&view=c&_searchStrId=1702575836&_rerunOrigin=google&_acct=C000057228&_version=1&_urlVersion=0&_userid=2422869&md5=d5f357bfcbf9a39bb8e42cfeac555359&searchtype=a Probing surface and interface morphology with Grazing Incidence Small Angle X-Ray Scattering]" Surface Science Reports, 64 (8), 31 August 2009, 255-380 [http://dx.doi.org/10.1016/j.surfrep.2009.07.002 doi:10.1016/j.surfrep.2009.07.002]):<br />
** Parallelepiped<br />
** Pyramid<br />
** Cylinder<br />
** Cone<br />
** Prism 3<br />
** Tetrahedron<br />
** Prism 6<br />
** cone 6<br />
** Sphere<br />
** Cubooctahedron<br />
** Facetted sphere<br />
** Full sphere<br />
** Full spheroid<br />
** Box<br />
** Anisotropic pyramid<br />
** Hemi-ellipsoid<br />
<br />
* [http://apps.jcns.fz-juelich.de/src/BornAgain/FFCatalog.pdf BornAgain form factor catalog] (updated with each software release): Contains all form factors from IsGisaxs, plus the following:<br />
** hard particles:<br />
*** Dodecahedron<br />
*** Icosahedron<br />
** ripples:<br />
*** sinusoidal (as in FitGisaxs)<br />
*** saw-tooth (as in FitGisaxs)<br />
** soft particles (documentation forthcoming):<br />
*** Gaussian ellipsoid<br />
*** Ornstein-Zernike<br />
<br />
* Pedersen Review: [http://linkinghub.elsevier.com/retrieve/pii/S0001868697003126 Analysis of small-angle scattering data from colloids and polymer solutions: modeling and least-squares fitting] Jan Skov Pedersen, Advances in Colloid and Interface Science 1997, 70, 171. [http://dx.doi.org/10.1016/S0001-8686(97)00312-6 doi: 10.1016/S0001-8686(97)00312-6]<br />
*# Homogeneous sphere<br />
*# Spherical shell<br />
*# Spherical concentric shells<br />
*# Particles consisting of spherical subunits<br />
*# Ellipsoid of revolution<br />
*# Tri-axial ellipsoid<br />
*# Cube and rectangular parallelepipedons<br />
*# Truncated octahedra<br />
*# Faceted sphere<br />
*# Cube with terraces<br />
*# Cylinder<br />
*# Cylinder with elliptical cross section<br />
*# Cylinder with spherical end-caps<br />
*# Infinitely thin rod<br />
*# Infinitely thin circular disk<br />
*# Fractal aggregates<br />
*# Flexible polymers with Gaussian statistics<br />
*# Flexible self-avoiding polymers<br />
*# Semi-flexible polymers without self-avoidance<br />
*# Semi-flexible polymers with self-avoidance<br />
*# Star polymer with Gaussian statistics<br />
*# Star-burst polymer with Gaussian statistics<br />
*# Regular comb polymer with Gaussian statistics<br />
*# Arbitrarily branched polymers with Gaussian statistics<br />
*# Sphere with Gaussian chains attached<br />
*# Ellipsoid with Gaussian chains attached<br />
*# Cylinder with Gaussian chains attached<br />
<br />
* [http://www.nature.com/nmat/journal/v9/n11/extref/nmat2870-s1.pdf Supplementary Information] of: Matthew R. Jones, Robert J. Macfarlane, Byeongdu Lee, Jian Zhang, Kaylie L. Young, Andrew J. Senesi, and Chad A. Mirkin "[http://www.nature.com/nmat/journal/v9/n11/full/nmat2870.html DNA-nanoparticle superlattices formed from anisotropic building blocks]" Nature Materials '''9''', 913-917, '''2010'''. [http://dx.doi.org/10.1038/nmat2870 doi: 10.1038/nmat2870]<br />
*# Pyramid<br />
*# Cube<br />
*# Cylinder<br />
*# Octahedron<br />
*# Rhombic dodecahedron (RD)<br />
*# Triangular prism<br />
<br />
===Form factors for classes of geometric shapes===<br />
* '''Platonic solids''': [http://scripts.iucr.org/cgi-bin/paper?S0021889811011691 Scattering functions of Platonic solids] Xin Li, Roger Pynn, Wei-Ren Chen, et al. ''Journal of Applied Crystallography'' '''2011''', 44, p.1 [http://dx.doi.org/10.1107/S0021889811011691 doi:10.1107/S0021889811011691]<br />
*# Tetrahedron<br />
*# Hexahedron (cube, parallelepiped, etc.)<br />
*# Octahedron<br />
*# Dodecahedron<br />
*# Icosahedron<br />
<br />
* '''Polyhedra''': <br />
** [http://scripts.iucr.org/cgi-bin/paper?aj5251 Scattering functions of polyhedra] A. Senesi and B. Lee ''J. Appl. Cryst.'' '''2015''', 48, 565-577. [http://dx.doi.org/10.1107/S1600576715002964 doi: 10.1107/S1600576715002964]<br />
** [http://scripts.iucr.org/cgi-bin/paper?fs5152 Form factor of any polyhedron: a general compact formula and its singularities] B. Croset ''Journal of Applied Crystallography'' '''2017'''. [https://doi.org/10.1107/S1600576717010147 doi: 10.1107/S1600576717010147]<br />
** [https://arxiv.org/abs/1703.00255 Form factor (Fourier shape transform) of polygon and polyhedron] J. Wuttke ''ArXiv'':1703.00255<br />
<br />
<br />
===Specific form factors===<br />
* [http://www.eng.uc.edu/~gbeaucag/Classes/Analysis/Chapter8.html This tutorial] lists sphere, rod, disk, and Gaussian polymer coil.<br />
* '''Block-Copolymer Micelles''': [http://pubs.acs.org/doi/abs/10.1021/ma9512115 Scattering Form Factor of Block Copolymer Micelles] Jan Skov Pedersen* and Michael C. Gerstenberg, Macromolecules, 1996, 29 (4), pp 1363–1365 [http://dx.doi.org/10.1021/ma9512115 DOI: 10.1021/ma9512115]<br />
* '''Capped cylinder''': [http://scripts.iucr.org/cgi-bin/paper?S0021889804000020 Scattering from cylinders with globular end-caps]. H. Kaya. J. Appl. Cryst. (2004). 37, 223-230 [http://dx.doi.org/10.1107/S0021889804000020 doi: 10.1107/S0021889804000020]<br />
* '''Lens-shaped disc'''" [http://scripts.iucr.org/cgi-bin/paper?aj5016 Scattering from capped cylinders. Addendum.] H. Kaya and N.-R. de Souza. J. Appl. Cryst. (2004). 37, 508-509 [http://dx.doi.org/10.1107/S0021889804005709 doi: 10.1107/S0021889804005709 ]<br />
* '''Star polymer:'''<br />
** Benoit, H. [http://onlinelibrary.wiley.com/doi/10.1002/pol.1953.120110512/abstract On the effect of branching and polydispersity on the angular distribution of the light scattered by gaussian coils] ''J. Polym. Sci.'' '''1953''', 11, 507–510. [http://dx.doi.org/10.1002/pol.1953.120110512 doi: 10.1002/pol.1953.120110512]<br />
** Richter, D.; Farago, B.; Huang, J. S.; Fetters, L. J.; Ewen, B. [http://pubs.acs.org/doi/abs/10.1021/ma00191a085 A study of single-arm relaxation in a polystyrene star polymer by neutron spin echo spectroscopy] ''Macromoleules'' '''1989''', 22, 468–472. [http://dx.doi.org/10.1021/ma00191a085 doi: 10.1021/ma00191a085]<br />
** L. Willner, O. Jucknischke, D. Richter, J. Roovers, L.-L. Zhou, P. M. Toporowski, L. J. Fetters, J. S. Huang, M. Y. Lin, N. Hadjichristidis [http://pubs.acs.org/doi/abs/10.1021/ma00092a022 Structural Investigation of Star Polymers in Solution by Small-Angle Neutron Scattering] ''Macromolecules'' '''1994''', 27 (14), 3821–3829. [http://dx.doi.org/10.1021/ma00092a022 doi: 10.1021/ma00092a022]<br />
** Takuro Matsunaga, Takamasa Sakai, Yuki Akagi, Ung-il Chung and Mitsuhiro Shibayama [http://pubs.acs.org/doi/abs/10.1021/ma901013q SANS and SLS Studies on Tetra-Arm PEG Gels in As-Prepared and Swollen States] ''Macromolecules'' '''2009''', 42 (16), 6245–6252. [http://dx.doi.org/10.1021/ma901013q doi: 10.1021/ma901013q]<br />
** X. Li, C. Do, Y. Liu, L. Sánchez-Diáz, G. Smith and W.-R. Chen [http://scripts.iucr.org/cgi-bin/paper?fs5081 A scattering function of star polymers including excluded volume effects] ''J. Appl. Cryst.'' '''2014''', 47 [http://dx.doi.org/10.1107/S1600576714022249 doi: 10.1107/S1600576714022249]<br />
** [https://journals.aps.org/pre/abstract/10.1103/PhysRevE.92.012602 Determination of the interaction parameter and topological scaling features of symmetric star polymers in dilute solution] ''Phys. Rev. E'' '''2015''', 012602. [https://doi.org/10.1103/PhysRevE.92.012602 doi: 10.1103/PhysRevE.92.012602]<br />
<br />
<br />
* '''Cylinders vs. ribbons in solution''': Y. Su, C. Burger, B. S. Hsiao and B. Chu [http://journals.iucr.org/j/issues/2014/02/00/fs5073/stdsup.html Characterization of TEMPO-oxidized cellulose nanofibers in aqueous suspension by small-angle X-ray scattering] ''J. Appl. Cryst. '''2014''', 47, 788. [http://dx.doi.org/10.1107/S1600576714005020 doi: 10.1107/S1600576714005020]<br />
* '''Hollow cylinders''': Kun Lu , Jaby Jacob , Pappannan Thiyagarajan , Vincent P. Conticello , and David G. Lynn [http://pubs.acs.org/doi/full/10.1021/ja0341642 Exploiting Amyloid Fibril Lamination for Nanotube Self-Assembly] ''J. Am. Chem. Soc.'' '''2003''', 125 (21), 6391–6393. [http://dx.doi.org/10.1021/ja0341642 doi: 10.1021/ja0341642]<br />
* '''Amino acids''': D. Tong, S. Yang and L. Lu [http://scripts.iucr.org/cgi-bin/paper?vg5046 Accurate optimization of amino acid form factors for computing small-angle X-ray scattering intensity of atomistic protein structures] ''J. Appl. Cryst.'' '''2016''', 49. [http://dx.doi.org/10.1107/S1600576716007962 doi: 10.1107/S1600576716007962]<br />
* '''Helical nanostructures''': Max Burian and Heinz Amenitsch [http://journals.iucr.org/m/issues/2018/04/00/tj5016/index.html Dummy-atom modelling of stacked and helical nanostructures from solution scattering data] ''IUCrJ'' '''2018''' [https://doi.org/10.1107/S2052252518005493 DOI: 10.1107/S2052252518005493]<br />
<br />
==See Also==<br />
* Computing the scattering for [[lattices of nano-objects]] also involves computing the form factor.<br />
* M. Burian, G. Fritz-Popovski, M. He, M. V. Kovalenko, O. Paris and R. T. Lechner [http://scripts.iucr.org/cgi-bin/paper?vg5016 Considerations on the model-free shape retrieval of inorganic nanocrystals from small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48, 857-868. [http://dx.doi.org/10.1107/S1600576715006846 10.1107/S1600576715006846]<br />
* R. A. X. Persson and J. Bergenholtz [http://scripts.iucr.org/cgi-bin/paper?po5072 Efficient computation of the scattering intensity from systems of nonspherical particles] ''J. Appl. Cryst.'' '''2016''', 49 [http://dx.doi.org/10.1107/S1600576716011481 doi:10.1107/S1600576716011481]<br />
* Bernard Croseta [http://scripts.iucr.org/cgi-bin/paper?fs5161 Form factor of rounded objects: the sections method] ''J. Appl. Cryst.'' '''2018''' [https://doi.org/10.1107/S1600576718007239 doi: 10.1107/S1600576718007239]</div>KevinYagerhttp://gisaxs.com/index.php?title=Useful_Literature&diff=6117Useful Literature2022-03-25T15:30:59Z<p>KevinYager: /* Books */</p>
<hr />
<div>==Books==<br />
* [http://www.wiley.com/WileyCDA/WileyTitle/productCd-EHEP002243.html Elements of Modern X-ray Physics], 2nd Edition, Jens Als-Nielsen, Des McMorrow, ISBN-13: 978-0470973943 [http://www.amazon.com/Elements-Modern-X-ray-Physics-Als-Nielsen/dp/0470973943 Amazon link]<br />
<br />
[[Image:Book cover-EHEP002243.jpg|100px]]<br />
<br />
* X-Ray Scattering from Soft-Matter Thin Films, Metin Tolan, ISBN: 9783540651826 [http://www.amazon.com/X-Ray-Scattering-Soft-Matter-Thin-Films/dp/3540651829 Amazon link]<br />
<br />
[[Image:Book cover02.jpg|100px]]<br />
<br />
* X-Ray Diffuse Scattering from Self-Organized Mesoscopic Semiconductor Structures, Martin Schmidbauer, ISBN-13: 978-3540201793 [http://www.amazon.com/Scattering-Self-Organized-Mesoscopic-Semiconductor-Structures/dp/3540201793 Amazon link]<br />
<br />
[[Image:Book cover03.png|100px]]<br />
<br />
* Structure Analysis by Small-Angle X-Ray and Neutron Scattering, L.A. Feigin, D.I. Svergun, ISBN-13: 978-1475766264 [http://www.amazon.com/Structure-Analysis-Small-Angle-Neutron-Scattering/dp/1475766262 Amazon link]<br />
<br />
[[Image:41DqtOAlqNL. SX331 BO1,204,203,200 .jpg|100px]]<br />
<br />
* [https://www.elsevier.com/books/Scattering%20Methods%20and%20their%20Application%20in%20Colloid%20and%20Interface%20Science/9780128135808?utm_campaign=ELS%20STBK%20AuthorConnect%20Published&utm_campaignPK=883284117&utm_term=OP43996&utm_content=883462657&utm_source=93&BID=1513264625&utm_medium=email&SIS_ID=-1 Scattering Methods and their Application in Colloid and Interface Science 1st Edition] Otto Glatter, Elsevier, ISBN: 9780128135815<br />
<br />
[[Image:9780128135808.jpg|100px]]<br />
<br />
* [https://www.worldcat.org/title/methods-of-x-ray-and-neutron-scattering-in-polymer-science/oclc/41834979 Methods of X-ray and neutron scattering in polymer science] R. J. Roe, ISBN: 9780195113211 [https://www.amazon.com/dp/0195113217?tag=worldcat-20&linkCode=ogi&th=1&psc=1 Amazon link]<br />
<br />
[[ Image:+-+42498369 140.jpg|100px]]<br />
<br />
* The SAXS Guide: Getting acquainted with the principles, Heimo Schnablegger and Yashveer Singh, Anton Paar 2013. [https://www.anton-paar.com/fileadmin/Landing-pages/saxs-symposium/SAXS-Guide_preview_Website.pdf Available for free]<br />
<br />
[[Image:SAXS guide.png|100px]]<br />
<br />
==Data Books==<br />
* [http://xdb.lbl.gov/ X-ray data booklet], Center for X-ray Optics and Advanced Light Source, October 2009, LBNL/PUB-490 Rev. 3.<br />
<br />
[[Image:xray_data_booklet_cover.gif|100px]]<br />
<br />
* [http://www.ill.eu/quick-links/publications/ Neutron data booklet], 2nd edition, Institut Laue-Langevin, July 2003, ISBN: 0-9704143-7-4 [http://www.amazon.com/Neutron-Data-Booklet-Second-Edition/dp/0970414374 Amazon link]<br />
<br />
[[Image:neutron_data_booklet_cover.jpeg|100px]]<br />
<br />
<br />
==Review Articles==<br />
* [https://www.nature.com/articles/s43586-021-00064-9 Small-angle X-ray and neutron scattering] Jeffries, C.M., Ilavsky, J., Martel, A. et al. ''Nature Reviews Methods Primers'' '''2021''', 1, 70. [https://doi.org/10.1038/s43586-021-00064-9 doi: 10.1038/s43586-021-00064-9]<br />
* [http://www.tandfonline.com/doi/abs/10.1080/0889311X.2015.1024114#.VeBr_ryVu5M X-ray scattering characterisation of nanoparticles] Bridget Ingham ''Crystallography Reviews'' '''2015''' [http://dx.doi.org/10.1080/0889311X.2015.1024114 doi: 10.1080/0889311X.2015.1024114]<br />
===[[SAXS]]===<br />
* [http://scripts.iucr.org/cgi-bin/paper?S0021889878013485 Recent developments in polymer applications of small-angle neutron, X-ray and light scattering] J. S. Higgins and R. S. Stein ''J. Appl. Cryst.'' '''1978''', 11, 346-375. [http://dx.doi.org/10.1107/S0021889878013485 doi: 10.1107/S0021889878013485]<br />
* [http://pubs.acs.org/doi/pdf/10.1021/cr9900376 Small-Angle X-ray Scattering of Polymers] Benjamin Chu and Benjamin S. Hsiao ''Chemical Reviews'' '''2001''', 101 (6), 1727-1762. [http://dx.doi.org/10.1021/cr9900376 doi: 10.1021/cr9900376]<br />
* [http://scripts.iucr.org/cgi-bin/paper?S0021889803000335 Small-angle scattering in materials science - a short review of applications in alloys, ceramics and composite materials] P. Fratzl ''J. Appl. Cryst.'' '''2003''', 36, 397-404. [http://dx.doi.org/10.1107/S0021889803000335 doi: 10.1107/S0021889803000335]<br />
* [http://www.sciencedirect.com/science/article/pii/S0042207X05002691 Nanostructure as seen by the SAXS] P. Dubček ''Vacuum'' '''2005''', 80 (1-3), 92-97. [http://dx.doi.org/10.1016/j.vacuum.2005.07.045 doi: 10.1016/j.vacuum.2005.07.045]<br />
* [http://onlinelibrary.wiley.com/doi/10.1002/9783527613748.ch4/summary Small-Angle Scattering of X-Rays and Neutrons] Claudine E. Williams, Roland P. May and André Guinier ''[http://dx.doi.org/10.1002/9783527613748 X-ray Characterization of Materials]'' '''2007''', edited by E. Lifshin, Chapter 4, 211–254. [http://dx.doi.org/10.1002/9783527613748.ch4 doi: 10.1002/9783527613748.ch4]<br />
* [http://www.annualreviews.org/doi/abs/10.1146/annurev-physchem-040412-110132 Small-Angle X-Ray Scattering on Biological Macromolecules and Nanocomposites in Solution] Clement E. Blanchet and Dmitri I. Svergun ''Annual Review of Physical Chemistry'' '''2013''', 64, 37-54. [http://dx.doi.org/10.1146/annurev-physchem-040412-110132 doi: 10.1146/annurev-physchem-040412-110132]<br />
* [http://pubs.acs.org/doi/abs/10.1021/acs.chemrev.5b00690 Small Angle X-ray Scattering for Nanoparticle Research] Tao Li, Andrew J. Senesi, and Byeongdu Lee ''Chemical Reviews'' '''2016''' [http://dx.doi.org/10.1021/acs.chemrev.5b00690 doi: 10.1021/acs.chemrev.5b00690]<br />
<br />
===[[BioSAXS]]===<br />
* Refer to [[BioSAXS#References|BioSAXS References]].<br />
* [http://pubs.acs.org/doi/abs/10.1021/acsnano.7b03447 Imaging of Biological Materials and Cells by X-ray Scattering and Diffraction] Clément Y. J. Hémonnot and Sarah Köster ''ACS Nano'' '''2017''' [http://dx.doi.org/10.1021/acsnano.7b03447 doi: 10.1021/acsnano.7b03447]<br />
<br />
===[[GISAXS]]===<br />
* [http://staff.chess.cornell.edu/~smilgies/refs/SRN-GISAXS.pdf Characterization of polymer thin films with small‐angle X‐ray scattering under grazing incidence (GISAXS)] Detlef‐M. Smilgies, Peter Busch, Christine M. Papadakis & Dorthe Posselt, ''Synchrotron Radiation News'' '''2002''', 15 (5), 35-42. [http://dx.doi.org/10.1080/08940880208602975 doi: 10.1080/08940880208602975]<br />
<br />
* P. Müller-Buschbaum [http://staff.chess.cornell.edu/~smilgies/gisaxs/junk/BuschbaumReview.pdf Grazing incidence small-angle X-ray scattering: an advanced scattering technique for the investigation of nanostructured polymer films] ''Anal Bioanal Chem.'' '''2003''', 376(1), 3-10. [http://dx.doi.org/10.1007/s00216-003-1869-2 doi: 10.1007/s00216-003-1869-2]<br />
<br />
* P. Müller-Buschbaum [http://link.springer.com/chapter/10.1007%2F978-3-540-95968-7_3 A Basic Introduction to Grazing Incidence Small-Angle X-Ray Scattering] ''Applications of Synchrotron Light to Scattering and Diffraction in Materials and Life Sciences Lecture Notes in Physics'' '''2009''', 776, 61-89.<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S0167572909000399 Probing surface and interface morphology with Grazing Incidence Small Angle X-Ray Scattering] Gilles Renaud, Rémi Lazzari, Frédéric Leroy ''Surface Science Reports'' '''2009''' 64 (8), 255-380. [http://dx.doi.org/10.1016/j.surfrep.2009.07.002 doi: 10.1016/j.surfrep.2009.07.002]<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S1359029414000302# Synchrotron X-ray techniques for the investigation of structures and dynamics in interfacial systems] Luigi Cristofolini ''Current Opinion in Colloid & Interface Science'' '''2014''', 19 (3), 228-241. [http://dx.doi.org/10.1016/j.cocis.2014.03.006 doi: 10.1016/j.cocis.2014.03.006]<br />
<br />
* [http://journals.iucr.org/m/issues/2015/01/00/ed5003/index.html Advanced grazing-incidence techniques for modern soft-matter materials analysis] Alexander Hexemer and Peter Müller-Buschbaum ''IUCrJ'' '''2015''' 2 (1), 106-125. [http://dx.doi.org/10.1107/S2052252514024178 doi: 10.1107/S2052252514024178]<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S0014305716302105 GISAXS and GISANS as metrology technique for understanding the 3D morphology of block copolymer thin films] Peter Müller-Buschbaum ''European Polymer Journal'' '''2016''' [http://dx.doi.org/10.1016/j.eurpolymj.2016.04.007 doi: 10.1016/j.eurpolymj.2016.04.007]<br />
<br />
* [https://onlinelibrary.wiley.com/doi/10.1002/pol.20210244 GISAXS: A versatile tool to assess structure and self-assembly kinetics in block copolymer thin films] Detlef-M. Smilgies, ''Journal of Polymer Science'' '''2021'''. [http://dx.doi.org/10.1002/pol.20210244 doi: 10.1002/pol.20210244]<br />
<br />
==See Also==<br />
* [[Useful Links]]<br />
* [[Experimental examples]] (selection of papers that use scattering to study various materials)</div>KevinYagerhttp://gisaxs.com/index.php?title=File:%2B-%2B42498369_140.jpg&diff=6116File:+-+42498369 140.jpg2022-03-25T15:29:29Z<p>KevinYager: </p>
<hr />
<div></div>KevinYagerhttp://gisaxs.com/index.php?title=File:41DqtOAlqNL._SX331_BO1,204,203,200_.jpg&diff=6115File:41DqtOAlqNL. SX331 BO1,204,203,200 .jpg2022-03-25T15:28:54Z<p>KevinYager: </p>
<hr />
<div></div>KevinYagerhttp://gisaxs.com/index.php?title=File:9780128135808.jpg&diff=6114File:9780128135808.jpg2022-03-25T15:28:21Z<p>KevinYager: </p>
<hr />
<div></div>KevinYagerhttp://gisaxs.com/index.php?title=Useful_Literature&diff=6113Useful Literature2022-03-25T15:27:56Z<p>KevinYager: /* Books */</p>
<hr />
<div>==Books==<br />
* [http://www.wiley.com/WileyCDA/WileyTitle/productCd-EHEP002243.html Elements of Modern X-ray Physics], 2nd Edition, Jens Als-Nielsen, Des McMorrow, ISBN-13: 978-0470973943 [http://www.amazon.com/Elements-Modern-X-ray-Physics-Als-Nielsen/dp/0470973943 Amazon link]<br />
<br />
[[Image:Book cover-EHEP002243.jpg|100px]]<br />
<br />
* X-Ray Scattering from Soft-Matter Thin Films, Metin Tolan, ISBN: 9783540651826 [http://www.amazon.com/X-Ray-Scattering-Soft-Matter-Thin-Films/dp/3540651829 Amazon link]<br />
<br />
[[Image:Book cover02.jpg|100px]]<br />
<br />
* X-Ray Diffuse Scattering from Self-Organized Mesoscopic Semiconductor Structures, Martin Schmidbauer, ISBN-13: 978-3540201793 [http://www.amazon.com/Scattering-Self-Organized-Mesoscopic-Semiconductor-Structures/dp/3540201793 Amazon link]<br />
<br />
[[Image:Book cover03.png|100px]]<br />
<br />
* Structure Analysis by Small-Angle X-Ray and Neutron Scattering, L.A. Feigin, D.I. Svergun, ISBN-13: 978-1475766264 [http://www.amazon.com/Structure-Analysis-Small-Angle-Neutron-Scattering/dp/1475766262 Amazon link]<br />
<br />
* [https://www.elsevier.com/books/Scattering%20Methods%20and%20their%20Application%20in%20Colloid%20and%20Interface%20Science/9780128135808?utm_campaign=ELS%20STBK%20AuthorConnect%20Published&utm_campaignPK=883284117&utm_term=OP43996&utm_content=883462657&utm_source=93&BID=1513264625&utm_medium=email&SIS_ID=-1 Scattering Methods and their Application in Colloid and Interface Science 1st Edition] Otto Glatter, Elsevier, ISBN: 9780128135815<br />
<br />
<br />
<br />
* The SAXS Guide: Getting acquainted with the principles, Heimo Schnablegger and Yashveer Singh, Anton Paar 2013. [https://www.anton-paar.com/fileadmin/Landing-pages/saxs-symposium/SAXS-Guide_preview_Website.pdf Available for free]<br />
<br />
[[Image:SAXS guide.png|100px]]<br />
<br />
==Data Books==<br />
* [http://xdb.lbl.gov/ X-ray data booklet], Center for X-ray Optics and Advanced Light Source, October 2009, LBNL/PUB-490 Rev. 3.<br />
<br />
[[Image:xray_data_booklet_cover.gif|100px]]<br />
<br />
* [http://www.ill.eu/quick-links/publications/ Neutron data booklet], 2nd edition, Institut Laue-Langevin, July 2003, ISBN: 0-9704143-7-4 [http://www.amazon.com/Neutron-Data-Booklet-Second-Edition/dp/0970414374 Amazon link]<br />
<br />
[[Image:neutron_data_booklet_cover.jpeg|100px]]<br />
<br />
<br />
==Review Articles==<br />
* [https://www.nature.com/articles/s43586-021-00064-9 Small-angle X-ray and neutron scattering] Jeffries, C.M., Ilavsky, J., Martel, A. et al. ''Nature Reviews Methods Primers'' '''2021''', 1, 70. [https://doi.org/10.1038/s43586-021-00064-9 doi: 10.1038/s43586-021-00064-9]<br />
* [http://www.tandfonline.com/doi/abs/10.1080/0889311X.2015.1024114#.VeBr_ryVu5M X-ray scattering characterisation of nanoparticles] Bridget Ingham ''Crystallography Reviews'' '''2015''' [http://dx.doi.org/10.1080/0889311X.2015.1024114 doi: 10.1080/0889311X.2015.1024114]<br />
===[[SAXS]]===<br />
* [http://scripts.iucr.org/cgi-bin/paper?S0021889878013485 Recent developments in polymer applications of small-angle neutron, X-ray and light scattering] J. S. Higgins and R. S. Stein ''J. Appl. Cryst.'' '''1978''', 11, 346-375. [http://dx.doi.org/10.1107/S0021889878013485 doi: 10.1107/S0021889878013485]<br />
* [http://pubs.acs.org/doi/pdf/10.1021/cr9900376 Small-Angle X-ray Scattering of Polymers] Benjamin Chu and Benjamin S. Hsiao ''Chemical Reviews'' '''2001''', 101 (6), 1727-1762. [http://dx.doi.org/10.1021/cr9900376 doi: 10.1021/cr9900376]<br />
* [http://scripts.iucr.org/cgi-bin/paper?S0021889803000335 Small-angle scattering in materials science - a short review of applications in alloys, ceramics and composite materials] P. Fratzl ''J. Appl. Cryst.'' '''2003''', 36, 397-404. [http://dx.doi.org/10.1107/S0021889803000335 doi: 10.1107/S0021889803000335]<br />
* [http://www.sciencedirect.com/science/article/pii/S0042207X05002691 Nanostructure as seen by the SAXS] P. Dubček ''Vacuum'' '''2005''', 80 (1-3), 92-97. [http://dx.doi.org/10.1016/j.vacuum.2005.07.045 doi: 10.1016/j.vacuum.2005.07.045]<br />
* [http://onlinelibrary.wiley.com/doi/10.1002/9783527613748.ch4/summary Small-Angle Scattering of X-Rays and Neutrons] Claudine E. Williams, Roland P. May and André Guinier ''[http://dx.doi.org/10.1002/9783527613748 X-ray Characterization of Materials]'' '''2007''', edited by E. Lifshin, Chapter 4, 211–254. [http://dx.doi.org/10.1002/9783527613748.ch4 doi: 10.1002/9783527613748.ch4]<br />
* [http://www.annualreviews.org/doi/abs/10.1146/annurev-physchem-040412-110132 Small-Angle X-Ray Scattering on Biological Macromolecules and Nanocomposites in Solution] Clement E. Blanchet and Dmitri I. Svergun ''Annual Review of Physical Chemistry'' '''2013''', 64, 37-54. [http://dx.doi.org/10.1146/annurev-physchem-040412-110132 doi: 10.1146/annurev-physchem-040412-110132]<br />
* [http://pubs.acs.org/doi/abs/10.1021/acs.chemrev.5b00690 Small Angle X-ray Scattering for Nanoparticle Research] Tao Li, Andrew J. Senesi, and Byeongdu Lee ''Chemical Reviews'' '''2016''' [http://dx.doi.org/10.1021/acs.chemrev.5b00690 doi: 10.1021/acs.chemrev.5b00690]<br />
<br />
===[[BioSAXS]]===<br />
* Refer to [[BioSAXS#References|BioSAXS References]].<br />
* [http://pubs.acs.org/doi/abs/10.1021/acsnano.7b03447 Imaging of Biological Materials and Cells by X-ray Scattering and Diffraction] Clément Y. J. Hémonnot and Sarah Köster ''ACS Nano'' '''2017''' [http://dx.doi.org/10.1021/acsnano.7b03447 doi: 10.1021/acsnano.7b03447]<br />
<br />
===[[GISAXS]]===<br />
* [http://staff.chess.cornell.edu/~smilgies/refs/SRN-GISAXS.pdf Characterization of polymer thin films with small‐angle X‐ray scattering under grazing incidence (GISAXS)] Detlef‐M. Smilgies, Peter Busch, Christine M. Papadakis & Dorthe Posselt, ''Synchrotron Radiation News'' '''2002''', 15 (5), 35-42. [http://dx.doi.org/10.1080/08940880208602975 doi: 10.1080/08940880208602975]<br />
<br />
* P. Müller-Buschbaum [http://staff.chess.cornell.edu/~smilgies/gisaxs/junk/BuschbaumReview.pdf Grazing incidence small-angle X-ray scattering: an advanced scattering technique for the investigation of nanostructured polymer films] ''Anal Bioanal Chem.'' '''2003''', 376(1), 3-10. [http://dx.doi.org/10.1007/s00216-003-1869-2 doi: 10.1007/s00216-003-1869-2]<br />
<br />
* P. Müller-Buschbaum [http://link.springer.com/chapter/10.1007%2F978-3-540-95968-7_3 A Basic Introduction to Grazing Incidence Small-Angle X-Ray Scattering] ''Applications of Synchrotron Light to Scattering and Diffraction in Materials and Life Sciences Lecture Notes in Physics'' '''2009''', 776, 61-89.<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S0167572909000399 Probing surface and interface morphology with Grazing Incidence Small Angle X-Ray Scattering] Gilles Renaud, Rémi Lazzari, Frédéric Leroy ''Surface Science Reports'' '''2009''' 64 (8), 255-380. [http://dx.doi.org/10.1016/j.surfrep.2009.07.002 doi: 10.1016/j.surfrep.2009.07.002]<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S1359029414000302# Synchrotron X-ray techniques for the investigation of structures and dynamics in interfacial systems] Luigi Cristofolini ''Current Opinion in Colloid & Interface Science'' '''2014''', 19 (3), 228-241. [http://dx.doi.org/10.1016/j.cocis.2014.03.006 doi: 10.1016/j.cocis.2014.03.006]<br />
<br />
* [http://journals.iucr.org/m/issues/2015/01/00/ed5003/index.html Advanced grazing-incidence techniques for modern soft-matter materials analysis] Alexander Hexemer and Peter Müller-Buschbaum ''IUCrJ'' '''2015''' 2 (1), 106-125. [http://dx.doi.org/10.1107/S2052252514024178 doi: 10.1107/S2052252514024178]<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S0014305716302105 GISAXS and GISANS as metrology technique for understanding the 3D morphology of block copolymer thin films] Peter Müller-Buschbaum ''European Polymer Journal'' '''2016''' [http://dx.doi.org/10.1016/j.eurpolymj.2016.04.007 doi: 10.1016/j.eurpolymj.2016.04.007]<br />
<br />
* [https://onlinelibrary.wiley.com/doi/10.1002/pol.20210244 GISAXS: A versatile tool to assess structure and self-assembly kinetics in block copolymer thin films] Detlef-M. Smilgies, ''Journal of Polymer Science'' '''2021'''. [http://dx.doi.org/10.1002/pol.20210244 doi: 10.1002/pol.20210244]<br />
<br />
==See Also==<br />
* [[Useful Links]]<br />
* [[Experimental examples]] (selection of papers that use scattering to study various materials)</div>KevinYagerhttp://gisaxs.com/index.php?title=File:SAXS_guide.png&diff=6112File:SAXS guide.png2022-03-25T15:26:52Z<p>KevinYager: </p>
<hr />
<div></div>KevinYagerhttp://gisaxs.com/index.php?title=Imaging&diff=6111Imaging2022-02-21T15:22:20Z<p>KevinYager: /* See Also */</p>
<hr />
<div><br />
Methods:<br />
* Scanning/mapping<br />
* [[Coherent Diffraction Imaging]] ([[CDI]])<br />
* [[Ptycography]]<br />
<br />
<br />
==See Also==<br />
* Clément Y. J. Hémonnot and Sarah Köster [http://pubs.acs.org/doi/abs/10.1021/acsnano.7b03447 Imaging of Biological Materials and Cells by X-ray Scattering and Diffraction] ''ACS Nano'' '''2017''' [http://dx.doi.org/10.1021/acsnano.7b03447 doi: 10.1021/acsnano.7b03447]<br />
* L. Yang, J. Liu, S. Chodankar, S. Antonelli and J. DiFabio [https://scripts.iucr.org/cgi-bin/paper?ay5593 Scanning structural mapping at the Life Science X-ray Scattering Beamline] ''J. Synchrotron Rad.'' '''2022''', 29 [https://doi.org/10.1107/S1600577521013266 doi: 10.1107/S1600577521013266]</div>KevinYagerhttp://gisaxs.com/index.php?title=GTSAXS&diff=6110GTSAXS2021-12-22T17:46:04Z<p>KevinYager: /* References */</p>
<hr />
<div>'''GTSAXS''', or '''Grazing-incidence Transmission Small-Angle X-ray Scattering''' is a variant of [[GISAXS]]; i.e. it is a surface-sensitive [[x-ray]] [[scattering]] technique. In GTSAXS, the x-ray beam is directed towards the ''edge'' of a sample (rather than the center). This small geometric difference allows the sub-horizon scattering (which is normally attenuated due to substrate [[absorption]]) to escape from the sample edge, and be recorded. This sub-horizon scattering is 'cleaner' than conventional GISAXS data. In particular, it suffers much less from the [[refraction]]-induced [[refraction distortion|distortion]] of [[reciprocal-space]] and the [[dynamic scattering|multiple scattering]] effects that plague conventional GISAXS.<br />
<br />
[[Image:Fig-TGSAXS-regimes04-simpler.png|300px|thumb|center|Geometry of a GTSAXS experiment. In the GTSAXS geometry, the x-ray beam is directed towards the edge of the substrate, so that the direct beam and nearby small-angle scattering can escape without being absorbed by the substrate.]]<br />
<br />
[[Image:GTSAXS example data.png|thumb|500px|center|Example of [[GISAXS]] data (left) and GTSAXS data (right) for a 'fingerprint' pattern (vertical [[block-copolymer|BCP]] lamellae). The higher incidence angle of GTSAXS moves the refraction-distortion (and the [[Yoneda]]) away from the data. The GTSAXS data is much 'cleaner', as it is not distorted and does not exhibit the 'peak splitting' that arises from multiple-scattering.]]<br />
<br />
==Comparison==<br />
GTSAXS can be thought of as a combination of a transmission-scattering ([[TSAXS]]) and grazing-incidence ([[GISAXS]]). In some sense, it combines the simple of data analysis of TSAXS with the surface-sensitive probing of GISAXS.<br />
<br />
[[Image:GTSAXS comparison table01.png|450px|center]]<br />
<br />
The main disadvantage of GTSAXS is sample preparation: the material of interest must be near the ''edge'' of the substrate. Standard film preparation methods may not yield a representative material near edges. For instance, spin-coating frequently leads to material build-up near substrate edges; this thicker region will dominate the GTSAXS signal, and not be representative of the thin-film structure in the center of the substrate. This can be easily overcome by cleaving substrates, so as to expose a representative edge for probing.<br />
<br />
==References==<br />
* Lu, X.; [[Yager, K.G.]]; Johnston, D.; Black, C.T.; Ocko, B.M. '''[http://scripts.iucr.org/cgi-bin/paper?S0021889812047887 Grazing-incidence transmission X-ray scattering: surface scattering in the Born approximation]''' ''Journal of Applied Crystallography'' '''2013''', 46, 165–172. [http://dx.doi.org/10.1107/S0021889812047887 doi: 10.1107/S0021889812047887]<br />
* Mahadevapuram, N.; Strzalka, J.; Stein, G.E. [http://onlinelibrary.wiley.com/doi/10.1002/polb.23261/abstract Grazing-incidence transmission small angle X-ray scattering from thin films of block copolymers] ''J. Polymer Sci. Part B Polymer Phys.'' '''2013''' 51, 602610. [http://dx.doi.org/10.1002/polb.23261 doi: 10.1002/polb.23261]<br />
* Weidman, M.C.; [[Yager, K.G.]], Tisdale, W.A. [http://pubs.acs.org/doi/abs/10.1021/cm503626s Interparticle Spacing and Structural Ordering in Superlattice PbS Nanocrystal Solids Undergoing Ligand Exchange] ''Chemistry of Materials'' '''2015''' [http://dx.doi.org/10.1021/cm503626s doi: 10.1021/cm503626s]<br />
* Liu, J.; Yager, K.G. [https://journals.iucr.org/m/issues/2018/06/00/hf5364/index.html Unwarping GISAXS data] ''IUCrJ'' '''2018''', 5, 737–752 [http://dx.doi.org/10.1107/S2052252518012058 doi: 10.1107/S2052252518012058]<br />
* Xinxin Xia, Tsz-Ki Lau, Xuyun Guo, Yuhao Li, Minchao Qin, Kuan Liu, Zeng Chen, Xiaozhi Zhan, Yiqun Xiao, Pok Fung Chan, Heng Liu, Luhang Xu, Guilong Cai, Na Li, Haiming Zhu, Gang Li, Ye Zhu, Tao Zhu, Xiaowei Zhan, Xun-Li Wang & Xinhui Lu [https://www.nature.com/articles/s41467-021-26510-6 Uncovering the out-of-plane nanomorphology of organic photovoltaic bulk heterojunction by GTSAXS]''Nature Communications'' '''2021''', 6226 [https://doi.org/10.1038/s41467-021-26510-6 doi: 10.1038/s41467-021-26510-6]</div>KevinYagerhttp://gisaxs.com/index.php?title=GTSAXS&diff=6109GTSAXS2021-12-22T17:43:44Z<p>KevinYager: /* References */</p>
<hr />
<div>'''GTSAXS''', or '''Grazing-incidence Transmission Small-Angle X-ray Scattering''' is a variant of [[GISAXS]]; i.e. it is a surface-sensitive [[x-ray]] [[scattering]] technique. In GTSAXS, the x-ray beam is directed towards the ''edge'' of a sample (rather than the center). This small geometric difference allows the sub-horizon scattering (which is normally attenuated due to substrate [[absorption]]) to escape from the sample edge, and be recorded. This sub-horizon scattering is 'cleaner' than conventional GISAXS data. In particular, it suffers much less from the [[refraction]]-induced [[refraction distortion|distortion]] of [[reciprocal-space]] and the [[dynamic scattering|multiple scattering]] effects that plague conventional GISAXS.<br />
<br />
[[Image:Fig-TGSAXS-regimes04-simpler.png|300px|thumb|center|Geometry of a GTSAXS experiment. In the GTSAXS geometry, the x-ray beam is directed towards the edge of the substrate, so that the direct beam and nearby small-angle scattering can escape without being absorbed by the substrate.]]<br />
<br />
[[Image:GTSAXS example data.png|thumb|500px|center|Example of [[GISAXS]] data (left) and GTSAXS data (right) for a 'fingerprint' pattern (vertical [[block-copolymer|BCP]] lamellae). The higher incidence angle of GTSAXS moves the refraction-distortion (and the [[Yoneda]]) away from the data. The GTSAXS data is much 'cleaner', as it is not distorted and does not exhibit the 'peak splitting' that arises from multiple-scattering.]]<br />
<br />
==Comparison==<br />
GTSAXS can be thought of as a combination of a transmission-scattering ([[TSAXS]]) and grazing-incidence ([[GISAXS]]). In some sense, it combines the simple of data analysis of TSAXS with the surface-sensitive probing of GISAXS.<br />
<br />
[[Image:GTSAXS comparison table01.png|450px|center]]<br />
<br />
The main disadvantage of GTSAXS is sample preparation: the material of interest must be near the ''edge'' of the substrate. Standard film preparation methods may not yield a representative material near edges. For instance, spin-coating frequently leads to material build-up near substrate edges; this thicker region will dominate the GTSAXS signal, and not be representative of the thin-film structure in the center of the substrate. This can be easily overcome by cleaving substrates, so as to expose a representative edge for probing.<br />
<br />
==References==<br />
* Lu, X.; [[Yager, K.G.]]; Johnston, D.; Black, C.T.; Ocko, B.M. '''[http://scripts.iucr.org/cgi-bin/paper?S0021889812047887 Grazing-incidence transmission X-ray scattering: surface scattering in the Born approximation]''' ''Journal of Applied Crystallography'' '''2013''', 46, 165–172. [http://dx.doi.org/10.1107/S0021889812047887 doi: 10.1107/S0021889812047887]<br />
* Mahadevapuram, N.; Strzalka, J.; Stein, G.E. [http://onlinelibrary.wiley.com/doi/10.1002/polb.23261/abstract Grazing-incidence transmission small angle X-ray scattering from thin films of block copolymers] ''J. Polymer Sci. Part B Polymer Phys.'' '''2013''' 51, 602610. [http://dx.doi.org/10.1002/polb.23261 doi: 10.1002/polb.23261]<br />
* Weidman, M.C.; [[Yager, K.G.]], Tisdale, W.A. [http://pubs.acs.org/doi/abs/10.1021/cm503626s Interparticle Spacing and Structural Ordering in Superlattice PbS Nanocrystal Solids Undergoing Ligand Exchange] ''Chemistry of Materials'' '''2015''' [http://dx.doi.org/10.1021/cm503626s doi: 10.1021/cm503626s]<br />
* Xinxin Xia, Tsz-Ki Lau, Xuyun Guo, Yuhao Li, Minchao Qin, Kuan Liu, Zeng Chen, Xiaozhi Zhan, Yiqun Xiao, Pok Fung Chan, Heng Liu, Luhang Xu, Guilong Cai, Na Li, Haiming Zhu, Gang Li, Ye Zhu, Tao Zhu, Xiaowei Zhan, Xun-Li Wang & Xinhui Lu [https://www.nature.com/articles/s41467-021-26510-6 Uncovering the out-of-plane nanomorphology of organic photovoltaic bulk heterojunction by GTSAXS]''Nature Communications'' '''2021''', 6226 [https://doi.org/10.1038/s41467-021-26510-6 doi: 10.1038/s41467-021-26510-6]</div>KevinYagerhttp://gisaxs.com/index.php?title=Useful_Literature&diff=6108Useful Literature2021-10-20T19:17:06Z<p>KevinYager: /* Review Articles */</p>
<hr />
<div>==Books==<br />
* [http://www.wiley.com/WileyCDA/WileyTitle/productCd-EHEP002243.html Elements of Modern X-ray Physics], 2nd Edition, Jens Als-Nielsen, Des McMorrow, ISBN-13: 978-0470973943 [http://www.amazon.com/Elements-Modern-X-ray-Physics-Als-Nielsen/dp/0470973943 Amazon link]<br />
<br />
[[Image:Book cover-EHEP002243.jpg|100px]]<br />
<br />
* X-Ray Scattering from Soft-Matter Thin Films, Metin Tolan, ISBN: 9783540651826 [http://www.amazon.com/X-Ray-Scattering-Soft-Matter-Thin-Films/dp/3540651829 Amazon link]<br />
<br />
[[Image:Book cover02.jpg|100px]]<br />
<br />
* X-Ray Diffuse Scattering from Self-Organized Mesoscopic Semiconductor Structures, Martin Schmidbauer, ISBN-13: 978-3540201793 [http://www.amazon.com/Scattering-Self-Organized-Mesoscopic-Semiconductor-Structures/dp/3540201793 Amazon link]<br />
<br />
[[Image:Book cover03.png|100px]]<br />
<br />
* Structure Analysis by Small-Angle X-Ray and Neutron Scattering, L.A. Feigin, D.I. Svergun, ISBN-13: 978-1475766264 [http://www.amazon.com/Structure-Analysis-Small-Angle-Neutron-Scattering/dp/1475766262 Amazon link]<br />
<br />
* [https://www.elsevier.com/books/Scattering%20Methods%20and%20their%20Application%20in%20Colloid%20and%20Interface%20Science/9780128135808?utm_campaign=ELS%20STBK%20AuthorConnect%20Published&utm_campaignPK=883284117&utm_term=OP43996&utm_content=883462657&utm_source=93&BID=1513264625&utm_medium=email&SIS_ID=-1 Scattering Methods and their Application in Colloid and Interface Science 1st Edition] Otto Glatter, Elsevier, ISBN: 9780128135815<br />
<br />
<br />
<br />
* The SAXS Guide: Getting acquainted with the principles, Heimo Schnablegger and Yashveer Singh, Anton Paar 2013. [http://www.ill.eu/nc/news-events/past-events/2012/bombannes-2012/sponsor-material-2012/?cid=38763&did=56873&sechash=bf67e107 Available for free]<br />
<br />
==Data Books==<br />
* [http://xdb.lbl.gov/ X-ray data booklet], Center for X-ray Optics and Advanced Light Source, October 2009, LBNL/PUB-490 Rev. 3.<br />
<br />
[[Image:xray_data_booklet_cover.gif|100px]]<br />
<br />
* [http://www.ill.eu/quick-links/publications/ Neutron data booklet], 2nd edition, Institut Laue-Langevin, July 2003, ISBN: 0-9704143-7-4 [http://www.amazon.com/Neutron-Data-Booklet-Second-Edition/dp/0970414374 Amazon link]<br />
<br />
[[Image:neutron_data_booklet_cover.jpeg|100px]]<br />
<br />
<br />
==Review Articles==<br />
* [https://www.nature.com/articles/s43586-021-00064-9 Small-angle X-ray and neutron scattering] Jeffries, C.M., Ilavsky, J., Martel, A. et al. ''Nature Reviews Methods Primers'' '''2021''', 1, 70. [https://doi.org/10.1038/s43586-021-00064-9 doi: 10.1038/s43586-021-00064-9]<br />
* [http://www.tandfonline.com/doi/abs/10.1080/0889311X.2015.1024114#.VeBr_ryVu5M X-ray scattering characterisation of nanoparticles] Bridget Ingham ''Crystallography Reviews'' '''2015''' [http://dx.doi.org/10.1080/0889311X.2015.1024114 doi: 10.1080/0889311X.2015.1024114]<br />
===[[SAXS]]===<br />
* [http://scripts.iucr.org/cgi-bin/paper?S0021889878013485 Recent developments in polymer applications of small-angle neutron, X-ray and light scattering] J. S. Higgins and R. S. Stein ''J. Appl. Cryst.'' '''1978''', 11, 346-375. [http://dx.doi.org/10.1107/S0021889878013485 doi: 10.1107/S0021889878013485]<br />
* [http://pubs.acs.org/doi/pdf/10.1021/cr9900376 Small-Angle X-ray Scattering of Polymers] Benjamin Chu and Benjamin S. Hsiao ''Chemical Reviews'' '''2001''', 101 (6), 1727-1762. [http://dx.doi.org/10.1021/cr9900376 doi: 10.1021/cr9900376]<br />
* [http://scripts.iucr.org/cgi-bin/paper?S0021889803000335 Small-angle scattering in materials science - a short review of applications in alloys, ceramics and composite materials] P. Fratzl ''J. Appl. Cryst.'' '''2003''', 36, 397-404. [http://dx.doi.org/10.1107/S0021889803000335 doi: 10.1107/S0021889803000335]<br />
* [http://www.sciencedirect.com/science/article/pii/S0042207X05002691 Nanostructure as seen by the SAXS] P. Dubček ''Vacuum'' '''2005''', 80 (1-3), 92-97. [http://dx.doi.org/10.1016/j.vacuum.2005.07.045 doi: 10.1016/j.vacuum.2005.07.045]<br />
* [http://onlinelibrary.wiley.com/doi/10.1002/9783527613748.ch4/summary Small-Angle Scattering of X-Rays and Neutrons] Claudine E. Williams, Roland P. May and André Guinier ''[http://dx.doi.org/10.1002/9783527613748 X-ray Characterization of Materials]'' '''2007''', edited by E. Lifshin, Chapter 4, 211–254. [http://dx.doi.org/10.1002/9783527613748.ch4 doi: 10.1002/9783527613748.ch4]<br />
* [http://www.annualreviews.org/doi/abs/10.1146/annurev-physchem-040412-110132 Small-Angle X-Ray Scattering on Biological Macromolecules and Nanocomposites in Solution] Clement E. Blanchet and Dmitri I. Svergun ''Annual Review of Physical Chemistry'' '''2013''', 64, 37-54. [http://dx.doi.org/10.1146/annurev-physchem-040412-110132 doi: 10.1146/annurev-physchem-040412-110132]<br />
* [http://pubs.acs.org/doi/abs/10.1021/acs.chemrev.5b00690 Small Angle X-ray Scattering for Nanoparticle Research] Tao Li, Andrew J. Senesi, and Byeongdu Lee ''Chemical Reviews'' '''2016''' [http://dx.doi.org/10.1021/acs.chemrev.5b00690 doi: 10.1021/acs.chemrev.5b00690]<br />
<br />
===[[BioSAXS]]===<br />
* Refer to [[BioSAXS#References|BioSAXS References]].<br />
* [http://pubs.acs.org/doi/abs/10.1021/acsnano.7b03447 Imaging of Biological Materials and Cells by X-ray Scattering and Diffraction] Clément Y. J. Hémonnot and Sarah Köster ''ACS Nano'' '''2017''' [http://dx.doi.org/10.1021/acsnano.7b03447 doi: 10.1021/acsnano.7b03447]<br />
<br />
===[[GISAXS]]===<br />
* [http://staff.chess.cornell.edu/~smilgies/refs/SRN-GISAXS.pdf Characterization of polymer thin films with small‐angle X‐ray scattering under grazing incidence (GISAXS)] Detlef‐M. Smilgies, Peter Busch, Christine M. Papadakis & Dorthe Posselt, ''Synchrotron Radiation News'' '''2002''', 15 (5), 35-42. [http://dx.doi.org/10.1080/08940880208602975 doi: 10.1080/08940880208602975]<br />
<br />
* P. Müller-Buschbaum [http://staff.chess.cornell.edu/~smilgies/gisaxs/junk/BuschbaumReview.pdf Grazing incidence small-angle X-ray scattering: an advanced scattering technique for the investigation of nanostructured polymer films] ''Anal Bioanal Chem.'' '''2003''', 376(1), 3-10. [http://dx.doi.org/10.1007/s00216-003-1869-2 doi: 10.1007/s00216-003-1869-2]<br />
<br />
* P. Müller-Buschbaum [http://link.springer.com/chapter/10.1007%2F978-3-540-95968-7_3 A Basic Introduction to Grazing Incidence Small-Angle X-Ray Scattering] ''Applications of Synchrotron Light to Scattering and Diffraction in Materials and Life Sciences Lecture Notes in Physics'' '''2009''', 776, 61-89.<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S0167572909000399 Probing surface and interface morphology with Grazing Incidence Small Angle X-Ray Scattering] Gilles Renaud, Rémi Lazzari, Frédéric Leroy ''Surface Science Reports'' '''2009''' 64 (8), 255-380. [http://dx.doi.org/10.1016/j.surfrep.2009.07.002 doi: 10.1016/j.surfrep.2009.07.002]<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S1359029414000302# Synchrotron X-ray techniques for the investigation of structures and dynamics in interfacial systems] Luigi Cristofolini ''Current Opinion in Colloid & Interface Science'' '''2014''', 19 (3), 228-241. [http://dx.doi.org/10.1016/j.cocis.2014.03.006 doi: 10.1016/j.cocis.2014.03.006]<br />
<br />
* [http://journals.iucr.org/m/issues/2015/01/00/ed5003/index.html Advanced grazing-incidence techniques for modern soft-matter materials analysis] Alexander Hexemer and Peter Müller-Buschbaum ''IUCrJ'' '''2015''' 2 (1), 106-125. [http://dx.doi.org/10.1107/S2052252514024178 doi: 10.1107/S2052252514024178]<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S0014305716302105 GISAXS and GISANS as metrology technique for understanding the 3D morphology of block copolymer thin films] Peter Müller-Buschbaum ''European Polymer Journal'' '''2016''' [http://dx.doi.org/10.1016/j.eurpolymj.2016.04.007 doi: 10.1016/j.eurpolymj.2016.04.007]<br />
<br />
* [https://onlinelibrary.wiley.com/doi/10.1002/pol.20210244 GISAXS: A versatile tool to assess structure and self-assembly kinetics in block copolymer thin films] Detlef-M. Smilgies, ''Journal of Polymer Science'' '''2021'''. [http://dx.doi.org/10.1002/pol.20210244 doi: 10.1002/pol.20210244]<br />
<br />
==See Also==<br />
* [[Useful Links]]<br />
* [[Experimental examples]] (selection of papers that use scattering to study various materials)</div>KevinYagerhttp://gisaxs.com/index.php?title=Useful_Literature&diff=6107Useful Literature2021-10-20T19:16:45Z<p>KevinYager: /* Review Articles */</p>
<hr />
<div>==Books==<br />
* [http://www.wiley.com/WileyCDA/WileyTitle/productCd-EHEP002243.html Elements of Modern X-ray Physics], 2nd Edition, Jens Als-Nielsen, Des McMorrow, ISBN-13: 978-0470973943 [http://www.amazon.com/Elements-Modern-X-ray-Physics-Als-Nielsen/dp/0470973943 Amazon link]<br />
<br />
[[Image:Book cover-EHEP002243.jpg|100px]]<br />
<br />
* X-Ray Scattering from Soft-Matter Thin Films, Metin Tolan, ISBN: 9783540651826 [http://www.amazon.com/X-Ray-Scattering-Soft-Matter-Thin-Films/dp/3540651829 Amazon link]<br />
<br />
[[Image:Book cover02.jpg|100px]]<br />
<br />
* X-Ray Diffuse Scattering from Self-Organized Mesoscopic Semiconductor Structures, Martin Schmidbauer, ISBN-13: 978-3540201793 [http://www.amazon.com/Scattering-Self-Organized-Mesoscopic-Semiconductor-Structures/dp/3540201793 Amazon link]<br />
<br />
[[Image:Book cover03.png|100px]]<br />
<br />
* Structure Analysis by Small-Angle X-Ray and Neutron Scattering, L.A. Feigin, D.I. Svergun, ISBN-13: 978-1475766264 [http://www.amazon.com/Structure-Analysis-Small-Angle-Neutron-Scattering/dp/1475766262 Amazon link]<br />
<br />
* [https://www.elsevier.com/books/Scattering%20Methods%20and%20their%20Application%20in%20Colloid%20and%20Interface%20Science/9780128135808?utm_campaign=ELS%20STBK%20AuthorConnect%20Published&utm_campaignPK=883284117&utm_term=OP43996&utm_content=883462657&utm_source=93&BID=1513264625&utm_medium=email&SIS_ID=-1 Scattering Methods and their Application in Colloid and Interface Science 1st Edition] Otto Glatter, Elsevier, ISBN: 9780128135815<br />
<br />
<br />
<br />
* The SAXS Guide: Getting acquainted with the principles, Heimo Schnablegger and Yashveer Singh, Anton Paar 2013. [http://www.ill.eu/nc/news-events/past-events/2012/bombannes-2012/sponsor-material-2012/?cid=38763&did=56873&sechash=bf67e107 Available for free]<br />
<br />
==Data Books==<br />
* [http://xdb.lbl.gov/ X-ray data booklet], Center for X-ray Optics and Advanced Light Source, October 2009, LBNL/PUB-490 Rev. 3.<br />
<br />
[[Image:xray_data_booklet_cover.gif|100px]]<br />
<br />
* [http://www.ill.eu/quick-links/publications/ Neutron data booklet], 2nd edition, Institut Laue-Langevin, July 2003, ISBN: 0-9704143-7-4 [http://www.amazon.com/Neutron-Data-Booklet-Second-Edition/dp/0970414374 Amazon link]<br />
<br />
[[Image:neutron_data_booklet_cover.jpeg|100px]]<br />
<br />
<br />
==Review Articles==<br />
* Jeffries, C.M., Ilavsky, J., Martel, A. et al. [https://www.nature.com/articles/s43586-021-00064-9 Small-angle X-ray and neutron scattering] ''Nature Reviews Methods Primers'' '''2021''', 1, 70. [https://doi.org/10.1038/s43586-021-00064-9 doi: 10.1038/s43586-021-00064-9]<br />
* [http://www.tandfonline.com/doi/abs/10.1080/0889311X.2015.1024114#.VeBr_ryVu5M X-ray scattering characterisation of nanoparticles] Bridget Ingham ''Crystallography Reviews'' '''2015''' [http://dx.doi.org/10.1080/0889311X.2015.1024114 doi: 10.1080/0889311X.2015.1024114]<br />
===[[SAXS]]===<br />
* [http://scripts.iucr.org/cgi-bin/paper?S0021889878013485 Recent developments in polymer applications of small-angle neutron, X-ray and light scattering] J. S. Higgins and R. S. Stein ''J. Appl. Cryst.'' '''1978''', 11, 346-375. [http://dx.doi.org/10.1107/S0021889878013485 doi: 10.1107/S0021889878013485]<br />
* [http://pubs.acs.org/doi/pdf/10.1021/cr9900376 Small-Angle X-ray Scattering of Polymers] Benjamin Chu and Benjamin S. Hsiao ''Chemical Reviews'' '''2001''', 101 (6), 1727-1762. [http://dx.doi.org/10.1021/cr9900376 doi: 10.1021/cr9900376]<br />
* [http://scripts.iucr.org/cgi-bin/paper?S0021889803000335 Small-angle scattering in materials science - a short review of applications in alloys, ceramics and composite materials] P. Fratzl ''J. Appl. Cryst.'' '''2003''', 36, 397-404. [http://dx.doi.org/10.1107/S0021889803000335 doi: 10.1107/S0021889803000335]<br />
* [http://www.sciencedirect.com/science/article/pii/S0042207X05002691 Nanostructure as seen by the SAXS] P. Dubček ''Vacuum'' '''2005''', 80 (1-3), 92-97. [http://dx.doi.org/10.1016/j.vacuum.2005.07.045 doi: 10.1016/j.vacuum.2005.07.045]<br />
* [http://onlinelibrary.wiley.com/doi/10.1002/9783527613748.ch4/summary Small-Angle Scattering of X-Rays and Neutrons] Claudine E. Williams, Roland P. May and André Guinier ''[http://dx.doi.org/10.1002/9783527613748 X-ray Characterization of Materials]'' '''2007''', edited by E. Lifshin, Chapter 4, 211–254. [http://dx.doi.org/10.1002/9783527613748.ch4 doi: 10.1002/9783527613748.ch4]<br />
* [http://www.annualreviews.org/doi/abs/10.1146/annurev-physchem-040412-110132 Small-Angle X-Ray Scattering on Biological Macromolecules and Nanocomposites in Solution] Clement E. Blanchet and Dmitri I. Svergun ''Annual Review of Physical Chemistry'' '''2013''', 64, 37-54. [http://dx.doi.org/10.1146/annurev-physchem-040412-110132 doi: 10.1146/annurev-physchem-040412-110132]<br />
* [http://pubs.acs.org/doi/abs/10.1021/acs.chemrev.5b00690 Small Angle X-ray Scattering for Nanoparticle Research] Tao Li, Andrew J. Senesi, and Byeongdu Lee ''Chemical Reviews'' '''2016''' [http://dx.doi.org/10.1021/acs.chemrev.5b00690 doi: 10.1021/acs.chemrev.5b00690]<br />
<br />
===[[BioSAXS]]===<br />
* Refer to [[BioSAXS#References|BioSAXS References]].<br />
* [http://pubs.acs.org/doi/abs/10.1021/acsnano.7b03447 Imaging of Biological Materials and Cells by X-ray Scattering and Diffraction] Clément Y. J. Hémonnot and Sarah Köster ''ACS Nano'' '''2017''' [http://dx.doi.org/10.1021/acsnano.7b03447 doi: 10.1021/acsnano.7b03447]<br />
<br />
===[[GISAXS]]===<br />
* [http://staff.chess.cornell.edu/~smilgies/refs/SRN-GISAXS.pdf Characterization of polymer thin films with small‐angle X‐ray scattering under grazing incidence (GISAXS)] Detlef‐M. Smilgies, Peter Busch, Christine M. Papadakis & Dorthe Posselt, ''Synchrotron Radiation News'' '''2002''', 15 (5), 35-42. [http://dx.doi.org/10.1080/08940880208602975 doi: 10.1080/08940880208602975]<br />
<br />
* P. Müller-Buschbaum [http://staff.chess.cornell.edu/~smilgies/gisaxs/junk/BuschbaumReview.pdf Grazing incidence small-angle X-ray scattering: an advanced scattering technique for the investigation of nanostructured polymer films] ''Anal Bioanal Chem.'' '''2003''', 376(1), 3-10. [http://dx.doi.org/10.1007/s00216-003-1869-2 doi: 10.1007/s00216-003-1869-2]<br />
<br />
* P. Müller-Buschbaum [http://link.springer.com/chapter/10.1007%2F978-3-540-95968-7_3 A Basic Introduction to Grazing Incidence Small-Angle X-Ray Scattering] ''Applications of Synchrotron Light to Scattering and Diffraction in Materials and Life Sciences Lecture Notes in Physics'' '''2009''', 776, 61-89.<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S0167572909000399 Probing surface and interface morphology with Grazing Incidence Small Angle X-Ray Scattering] Gilles Renaud, Rémi Lazzari, Frédéric Leroy ''Surface Science Reports'' '''2009''' 64 (8), 255-380. [http://dx.doi.org/10.1016/j.surfrep.2009.07.002 doi: 10.1016/j.surfrep.2009.07.002]<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S1359029414000302# Synchrotron X-ray techniques for the investigation of structures and dynamics in interfacial systems] Luigi Cristofolini ''Current Opinion in Colloid & Interface Science'' '''2014''', 19 (3), 228-241. [http://dx.doi.org/10.1016/j.cocis.2014.03.006 doi: 10.1016/j.cocis.2014.03.006]<br />
<br />
* [http://journals.iucr.org/m/issues/2015/01/00/ed5003/index.html Advanced grazing-incidence techniques for modern soft-matter materials analysis] Alexander Hexemer and Peter Müller-Buschbaum ''IUCrJ'' '''2015''' 2 (1), 106-125. [http://dx.doi.org/10.1107/S2052252514024178 doi: 10.1107/S2052252514024178]<br />
<br />
* [http://www.sciencedirect.com/science/article/pii/S0014305716302105 GISAXS and GISANS as metrology technique for understanding the 3D morphology of block copolymer thin films] Peter Müller-Buschbaum ''European Polymer Journal'' '''2016''' [http://dx.doi.org/10.1016/j.eurpolymj.2016.04.007 doi: 10.1016/j.eurpolymj.2016.04.007]<br />
<br />
* [https://onlinelibrary.wiley.com/doi/10.1002/pol.20210244 GISAXS: A versatile tool to assess structure and self-assembly kinetics in block copolymer thin films] Detlef-M. Smilgies, ''Journal of Polymer Science'' '''2021'''. [http://dx.doi.org/10.1002/pol.20210244 doi: 10.1002/pol.20210244]<br />
<br />
==See Also==<br />
* [[Useful Links]]<br />
* [[Experimental examples]] (selection of papers that use scattering to study various materials)</div>KevinYagerhttp://gisaxs.com/index.php?title=Software&diff=6106Software2021-08-20T15:18:18Z<p>KevinYager: /* Crystallography */</p>
<hr />
<div>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.<br />
<br />
==Data Viewing, Reduction, and Simple Analysis==<br />
These packages provide ways to view data, and perform simple operations (linecuts, etc.).<br />
===Geared towards 2D data===<br />
* '''Fit2D''': A well-known package for treatment and conversion 2D scattering images.<br />
** 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]<br />
** [http://www.esrf.eu/computing/scientific/FIT2D/ Official site.]<br />
** [http://staff.chess.cornell.edu/~smilgies/D-lineNotes/GISAXS-at-D-line/fit2d-GIXS-primer.html Fit2D primer.]<br />
** [http://g-line.chess.cornell.edu/G-lineStatus/G-lineManuals/CheatSheets/FIT2D_MAIN.html Fit2D hints page.]<br />
* '''Datasqueeze''': Graphical tool for analyzing 2D detector images.<br />
** [http://www.datasqueezesoftware.com/ Official site.]<br />
* '''ImageJ''': A generic tool for image treatment and analysis. Can be used to open and process x-ray detector images.<br />
** [http://rsb.info.nih.gov/ij/ Official site.]<br />
* '''NeXpy''': [[Python]] GUI for working with the [[NeXus data format]].<br />
** [https://nexpy.github.io/nexpy/ Official site.]<br />
* '''pycxdgui''': Very simple viewer for area images.<br />
** [https://github.com/CFN-softbio/pycxdgui Code available on github.]<br />
* '''[[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.<br />
** Citation: L. Yang, [http://journals.iucr.org/s/issues/2013/02/00/issconts.html Using an in-vacuum CCD detector for simultaneous small- and wide-angle scattering at beamline X9] ''J. Synchrotron Rad.'' '''2013''', 20, 211. [http://dx.doi.org/10.1107/S0909049512048984 doi: 10.1107/S0909049512048984]<br />
** [http://www.bnl.gov/ps/x9/software/view.asp Official site.]<br />
* '''[[pyXS]]''': Python scripts (with C++ backend) for performing analysis of 2D data.<br />
** [http://www.bnl.gov/ps/x9/software/pyXS.asp Official site.]<br />
* '''[[SciAnalysis]]''': Python scripts for analysis of 2D x-ray scattering data. Well-suited to batch analysis of many files.<br />
** [https://github.com/CFN-softbio/SciAnalysis Code available on github.]<br />
* '''[[GIXSGUI]]''': Visualization and reduction package for GISAXS. Requires the commerical Matlab software. Written by Zhang Jiang ([[APS]]).<br />
** Citation: Z. Jiang [http://scripts.iucr.org/cgi-bin/paper?S1600576715004434 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. [http://dx.doi.org/10.1107/S1600576715004434 doi: 10.1107/S1600576715004434]<br />
** [https://www.aps.anl.gov/Sector-8/8-ID/Operations-and-Schedules/Useful-Links/Sector-8-GIXSGUI Official site.]<br />
* '''[[GISAXSshop]]''': 2D visualization and reduction for GISAXS. Requires the Igor (Wavemetrics). Written by Byeongdu Lee ([[APS]]).<br />
** [https://sites.google.com/site/byeongdu/software Official site.]<br />
* '''Xi-Cam''': Robust GUI (pyQT based) and libraries for analyzing 2D scattering images. Developed at LBNL in connection with the [http://www.camera.lbl.gov/ CAMERA] project.<br />
** Citation: Pandolfi, R.J.; Hexemer, A.; et al. [http://journals.iucr.org/s/issues/2018/04/00/xe5032/index.html#BB14 Xi-cam: a versatile interface for data visualization and analysis] ''J. Syncr. Rad.'' '''2018''', 25 (4), 1261-1270. [https://doi.org/10.1107/S1600577518005787 doi: 10.1107/S1600577518005787]<br />
** [http://www.camera.lbl.gov/#!xi-cam-interface/z8vcm Official site.]<br />
<br />
===Geared towards 1D data===<br />
* '''NCNR SANS/USANS Package''': Set of tools for reducing SANS and USANS data. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''Nika''': Conversion of 2D images into 1D for SAS. Requires commercial IgorPro software.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/nika.html Official site.]<br />
* '''Indra 2''': Reduction of USAXS data. Requires the commercial IgorPro software. Written for the 15ID instrument at [[APS]].<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/indra_2.html Official site.]<br />
* '''DPDAK''': Open-source Python tool for analyzing large sets of SAXS data. Works on Linux and Windows.<br />
** [https://dpdak.desy.de/index.php/Hauptseite Official site.]<br />
* '''SAS-cam''': SAXS data reduction, using the [https://bio.tools/sastbx SASTBX package].<br />
** Citation: H. Wu, Y. Li, G. Liu, H. Liu and N. Li [http://scripts.iucr.org/cgi-bin/paper?ei5058 SAS-cam: a program for automatic processing and analysis of small-angle scattering data] ''J. Appl. Cryst.'' '''2020''', 53, 1147-1153. [https://doi.org/10.1107/S1600576720008985 doi: 10.1107/S1600576720008985]<br />
<br />
==Data Modeling and Fitting==<br />
These packages can predict scattering curves for various possible nano- or molecular- structures. Some of the packages allow fitting of experimental data.<br />
===[[SAXS]]===<br />
* '''NCNR SANS/USANS Package''': Can model form factors for many common object shapes in solution. Requires the commercial IgorPro software.<br />
** 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]<br />
* '''SASView''': [[Python]] code to model form factors. (Replacement for NIST Igor software.)<br />
** [http://www.sasview.org/ Official site.]<br />
* '''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.<br />
** [http://usaxs.xray.aps.anl.gov/staff/ilavsky/irena.html Official site.]<br />
* '''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.).<br />
** 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]<br />
** [http://www.pci.uni-bayreuth.de/rg_foerster/en/Software/index.html Official site.]<br />
* '''SASFit''': Combined fitting of 1D scattering curves.<br />
** [https://kur.web.psi.ch/sans1/SANSSoft/sasfit.html Official site.]<br />
* '''BayesApp.org''': Online tool for estimating distribution functions from SAS data.<br />
** [http://www.bayesapp.org/ Official site.]<br />
** 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]<br />
* '''SCT''': Software to predict/fit [[SAS|small-angle scattering]] data from atomistic models of molecules and proteins.<br />
** Citation: D. W. Wright and S. J. Perkins [http://scripts.iucr.org/cgi-bin/paper?po5031 SCT: a suite of programs for comparing atomistic models with small-angle scattering data] ''J. Appl. Cryst.'' '''2015''', 48 [http://dx.doi.org/10.1107/S1600576715007062 doi: 10.1107/S1600576715007062]<br />
** [https://github.com/dww100/sct Official site.]<br />
* '''McSAS''': Monte Carlo regression to fit [[SAS|small-angle scattering]] data using collections/distributions of particles.<br />
** [http://mcsas.net/ Official site.]<br />
** I. Bressler, B. R. Pauw and A. F. Thünemann [http://scripts.iucr.org/cgi-bin/paper?vg5017 Citation: McSAS: software for the retrieval of model parameter distributions from scattering patterns] ''J. Appl. Cryst.'' '''2015''', 48, 962-969. [http://dx.doi.org/10.1107/S1600576715007347 doi: 10.1107/S1600576715007347]<br />
* '''pySAXS''': Package and GUI for SAXS analysis.<br />
** [http://iramis.cea.fr/en/Phocea/Vie_des_labos/Ast/ast_sstechnique.php?id_ast=1799 Official site.]<br />
* '''[[ScatterSim]]''': [[Python]] code for simulating the one-dimensional curve (circular average) for [[Lattices of nano-objects|nanoparticle superlattices]].<br />
** Citation: [[Yager, K.G.]]; Zhang, Y.; Lu, F.; Gang, O. "[http://scripts.iucr.org/cgi-bin/paper?S160057671302832X Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems]" ''Journal of Applied Crystallography'' '''2014''', 47, 118–129. [http://dx.doi.org/10.1107/S160057671302832X doi: 10.1107/S160057671302832X]<br />
*** See also [[Paper:Periodic lattices of arbitrary nano-objects: modeling and applications for self-assembled systems|summary of paper]].<br />
** [https://github.com/CFN-softbio/ScatterSim Code available on github.]<br />
<br />
===[[BioSAXS]]===<br />
* '''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]].<br />
** [http://www.bioisis.net/tutorial/9 Official site.]<br />
* '''BioXTAS RAW''': Simple program for performing 1D [[Guinier plot|Guinier analysis]] for [[BioSAXS]] data. (Provided by [[CHESS]].)<br />
** Citation: J. B. Hopkins, R. E. Gillilan and S. Skou [http://scripts.iucr.org/cgi-bin/paper?ge5036 BioXTAS RAW: improvements to a free open-source program for small-angle X-ray scattering data reduction and analysis] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717011438 doi: 10.1107/S1600576717011438]<br />
** [http://bioxtasraw.sourceforge.net/ Official site], [http://sourceforge.net/projects/bioxtasraw/ download].<br />
* '''[[ATSAS]]''': A suite of tools for small-angle scattering data of biological macromolecules.<br />
** 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]<br />
** 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]<br />
** Citation: D. Franke, M. V. Petoukhov, P. V. Konarev, A. Panjkovich, A. Tuukkanen, H. D. T. Mertens, A. G. Kikhney, N. R. Hajizadeh, J. M. Franklin, C. M. Jeffries and D. I. Svergun [http://scripts.iucr.org/cgi-bin/paper?ge5042 ATSAS 2.8: a comprehensive data analysis suite for small-angle scattering from macromolecular solutions] ''J. Appl. Cryst.'' '''2017''', 50 [https://doi.org/10.1107/S1600576717007786 doi: 10.1107/S1600576717007786]<br />
** [http://www.embl-hamburg.de/biosaxs/software.html Official site.]<br />
* '''Biomachina''': Visualization of low-resolution bead-based models of proteins from SAXS data.<br />
** [http://situs.biomachina.org/tutorial_saxs.html#visual Official site.]<br />
* '''ScatterBrain''': Cross-platform (Windows, OSX, Linux) IDL software, provided by Australian Synchrotron.<br />
** [http://www.synchrotron.org.au/index.php/aussyncbeamlines/saxswaxs/software-saxswaxs Official site.]<br />
<br />
===[[GISAXS]]===<br />
* '''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.<br />
** Citation: R. Lazzari [http://scripts.iucr.org/cgi-bin/paper?S0021889802006088 IsGISAXS: a program for grazing-incidence small-angle X-ray scattering analysis from supported islands] ''J. Appl. Cryst.'' '''2002''', 35, 406-421. [http://dx.doi.org/10.1107/S0021889802006088 doi: 10.1107/S0021889802006088]<br />
** [http://www.insp.jussieu.fr/oxydes/IsGISAXS/isgisaxs.htm Official site.]<br />
* '''FitGISAXS''': DWBA modeling. Requires commercial IgorPro software.<br />
** Citation: Babonneau, D. [http://scripts.iucr.org/cgi-bin/paper?hx5104 FitGISAXS: software package for modelling and analysis of GISAXS data using IGOR Pro] ''J. Appl. Cryst.'' '''2010''', 43(4), 929–936. [https://doi.org/10.1107/S0021889810020352 doi: 10.1107/S0021889810020352]<br />
** [http://www.pprime.fr/?q=fr/nanoparticules-nanostructures Official site.]<br />
* '''NANOCELL''': Simulates 2D diffraction patterns from single-crystals for GISAXS/GISANS geometry<br />
** [http://faculty.washington.edu/h2/simulation.html Official site.]<br />
** 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]<br />
* '''[[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].<br />
** 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<br />
** Citation: G. Pospelov, W. Van Herck, J. Burle, J. M. Carmona Loaiza, C. Durniak, J. M. Fisher, M. Ganeva, D. Yurov and J. Wuttke [https://scripts.iucr.org/cgi-bin/paper?ge5067 BornAgain: software for simulating and fitting grazing-incidence small-angle scattering] ''J. Appl. Cryst.'' '''2020''', 53, 262-276. [https://doi.org/10.1107/S1600576719016789 doi: 10.1107/S1600576719016789]<br />
** [http://www.bornagainproject.org/ Official site.]<br />
* '''[[HipGISAXS]]''': A high-performance (massively parallel) C++ software for simulating GISAXS data.<br />
** 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]<br />
** 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'''.<br />
** [http://portal.nersc.gov/project/als/hipgisaxs/ Official site.]<br />
* '''SimDiffraction''': Simulation of diffraction patterns.<br />
** May be obtained by contacting [http://www.ntnu.edu/employees/dag.breiby Dag Werner Breiby], Dept. Physics, NTNU.<br />
** 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]<br />
* '''Diffraction Pattern Calculator (DPC) toolkit''': User-friendly GUI for determining [[unit-cell]] [[lattice]] parameters in [[GIWAXS]] data.<br />
** 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]<br />
** [http://www.princeton.edu/cbe/people/faculty/loo/group/software Official site.]<br />
* '''Indexing''': Python code for overlaying peak positions for a particular unit cell on a detector image.<br />
** Code available on [https://github.com/esther279/Indexing github].<br />
<br />
===[[Reflectivity]]===<br />
* '''Reflfit''': NIST software for fitting neutron (or x-ray) reflectivity curves.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/ Official site.]<br />
* '''Motofit''': Co-refinement of multiple contrast reflectometry data (x-ray or neutron). Written by Andrew Nelson, ANSTO, Australia.<br />
** 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]<br />
** [http://motofit.sourceforge.net/ Official site.]<br />
* '''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]].<br />
** [http://www.physics.brocku.ca/~tharroun/yanera/index.html Official site.]<br />
* '''GA refl''': Simultaneous fitting of x-ray and neutron polarized reflectometry data.<br />
** [http://www.ncnr.nist.gov/programs/reflect/data_reduction/software/garefl.html Official site.]<br />
* '''Simulreflec''': Calculate reflectivity of magnetic multiplayer systems.<br />
** [http://www-llb.cea.fr/prism/programs/simulreflec/simulreflec.html Official site.]<br />
* '''AFIT''': Fitting of reflectometry data. ([http://physchem.ox.ac.uk/%7erkt/AFit.zip download])<br />
* '''Parratt32''': Windows GUI implementing the Parratt formalism. ([http://www.hmi.de/bensc/instrumentation/instrumente/v6/refl/parratt_en.htm link])<br />
* '''Drydoc and Wetdoc''': Multiple contrast data fitting. ([http://www.studsvik.uu.se/research/NR/drydoc.htm link])<br />
* '''Surface''': Analysis of specular reflectivity. ([http://www.isis.rl.ac.uk/largescale/SURF/technical/surface.htm link])<br />
* '''Polly''': Polarized neutron reflectometry. ([http://www.isis.rl.ac.uk/largescale/CRISP/downloads/POLLY/reg_form.htm link])<br />
* '''Superfit''': Specular and diffuse neutron reflectivity. ([http://www.mf.mpg.de/en/abteilungen/dosch/software/software_en.shtml link])<br />
* '''GenX''': Parratt formalism combined with genetic algorithm.<br />
** Citation: Matts Björck and Gabriella Andersson [http://journals.iucr.org/j/issues/2007/06/00/aj5091/aj5091bdy.html GenX: an extensible X-ray reflectivity refinement program utilizing differential evolution] ''J. Appl. Cryst.'' '''2007''', 40, 1174-1178. [http://dx.doi.org/10.1107/S0021889807045086 doi: 10.1107/S0021889807045086 ]<br />
** [http://genx.sourceforge.net/ Official site.]<br />
* '''Aurore''': Open source Matlab code for neutron reflectivity, including error estimates.<br />
** Citation: Y. Gerelli [http://scripts.iucr.org/cgi-bin/paper?rg5094 Aurore: new software for neutron reflectivity data analysis] ''J. Appl. Cryst.'' '''2016''', 49, 330-339. [http://dx.doi.org/10.1107/S1600576716000108 doi: 10.1107/S1600576716000108]<br />
** [https://sourceforge.net/projects/aurorenr/ Official site.]<br />
* '''Web Reflectivity Calculator''': Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity.<br />
** [https://www.ncnr.nist.gov/instruments/magik/calculators/reflectivity-calculator.html Available online.]<br />
** Citation: Brian B. Maranville [http://nvlpubs.nist.gov/nistpubs/jres/122/jres.122.034.pdf Interactive, Web-Based Calculator of Neutron and X-ray Reflectivity] ''Journal of Research of National Institute of Standards and Technology'' '''2017''', 122, 1-6. [https://doi.org/10.6028/jres.122.034 doi: 10.6028/jres.122.034]<br />
* '''refnx''': Python reflectivity code.<br />
** [https://github.com/refnx/refnx Available on github]<br />
** Citation: A.R.J. Nelson and S.W. Prescott [http://scripts.iucr.org/cgi-bin/paper?rg5158 refnx: neutron and X-ray reflectometry analysis in Python] ''J. Appl. Cryst.'' '''2019'''. [https://doi.org/10.1107/S1600576718017296 doi: 10.1107/S1600576718017296]<br />
* '''Multifitting''': Reflectivity calculations for multilayer systems<br />
** Citation: M. Svechnikov [http://scripts.iucr.org/cgi-bin/paper?te5051 Multifitting: software for the reflectometric reconstruction of multilayer nanofilms] ''J. Appl. Cryst.'' '''2019''' [https://doi.org/10.1107/S160057671901584X doi: 10.1107/S160057671901584X]<br />
<br />
===[[Crystallography]]===<br />
* [http://www.iucr.org/resources/other-directories/software IUCr Crystallographic software list]<br />
* [http://biophysics.med.jhmi.edu/cgi-bin/software/software_list?category=crystallography X-ray Lab Crystallography Software list]<br />
* '''Sir2014''': Crystal structure solving for small/medium structures, from [[x-ray]] or [[electron]] diffraction data.<br />
** [http://wwwba.ic.cnr.it/content/sir2011-v10 Official site.]<br />
** Citation: M. C. Burla, R. Caliandro, B. Carrozzini, G. L. Cascarano, C. Cuocci, C. Giacovazzo, M. Mallamo, A. Mazzone and G. Polidori [http://scripts.iucr.org/cgi-bin/paper?kk5193 Crystal structure determination and refinement via SIR2014] ''J. Appl. Cryst.'' '''2015''', 48, 306-309. [http://dx.doi.org/10.1107/S1600576715001132 doi: 10.1107/S1600576715001132]<br />
* '''SynchWeb & ISPyB''': Web interface for tracking samples and data (focused on [[MX]]).<br />
** Citation: S. J. Fisher, K. E. Levik, M. A. Williams, A. W. Ashton and K. E. McAuley [http://scripts.iucr.org/cgi-bin/paper?fs5101 SynchWeb: a modern interface for ISPyB] ''J. Appl. Cryst.'' '''2015''', 28. [http://dx.doi.org/10.1107/S1600576715004847 doi: 10.1107/S1600576715004847]<br />
* '''GSAS''': Open-source [[Python]] software for all types of crystallography studies.<br />
** Toby, B. H., & Von Dreele, R. B. [http://scripts.iucr.org/cgi-bin/paper?S0021889813003531 GSAS-II: the genesis of a modern open-source all purpose crystallography software package] ''Journal of Applied Crystallography'' '''2013''', 46(2), 544-549. [http://dx.doi.org/10.1107/S0021889813003531 doi: 10.1107/S0021889813003531]<br />
** [https://subversion.xor.aps.anl.gov/trac/pyGSAS Official site.]<br />
* '''Jana2006''': Reconstruct electron density modulation from powder or single-crystal data.<br />
** Citations: Petricek, V., Dusek, M. & Palatinus, L. Crystallographic Computing System JANA2006: General features ''Z. Kristallogr.'' '''2014''', 229(5), 345-352. [10.1515/zkri-2014-1737 doi: 10.1515/zkri-2014-1737]<br />
** [http://jana.fzu.cz/ Official site.]<br />
* '''τompas''': TEM online multi-purpose analyzing system<br />
** Citation: R.-X. Xie and W.-Z. Zhang [http://scripts.iucr.org/cgi-bin/paper?ks5644 τompas: a free and integrated tool for online crystallographic analysis in transmission electron microscopy] ''J. Appl. Cryst.'' '''2020''', 53. [https://doi.org/10.1107/S1600576720000801 doi: 10.1107/S1600576720000801]<br />
* '''UnitCell Tools''': Determine unit-cell parameters from a single electron diffraction pattern.<br />
** Citation: Hong-Long Shi and Zi-An Li [https://journals.iucr.org/m/issues/2021/05/00/gq5014/index.html UnitCell Tools, a package to determine unit-cell parameters from a single electron diffraction pattern] ''IUCrJ'' '''2020''' [https://doi.org/10.1107/S2052252521007867 doi: 10.1107/S2052252521007867]<br />
<br />
==Computing [[Materials]] Properties==<br />
* '''X-Ray Interactions With Matter''': CXRO/LBL web-portal with various calculators for x-ray interaction parameters.<br />
** [http://henke.lbl.gov/optical_constants/ Official site].<br />
* '''NCNR''': NIST Center for Neutron Research web-based calculator for Neutron [[SLD|Scattering Length Density]] and [[Absorption]].<br />
** [http://www.ncnr.nist.gov/resources/activation/ Official site].<br />
* '''pyFPRIME and ABSORB''': [[APS]] software for computing approximate x-ray scattering cross sections.<br />
** [https://subversion.xor.aps.anl.gov/trac/pyFprime/ Official site].<br />
* '''xraylib''': x-ray elemental information (spectroscopic)<br />
** [https://github.com/tschoonj/xraylib/wiki Official site].<br />
** Citation: [http://www.sciencedirect.com/science/article/pii/S0584854711001984 The xraylib library for X-ray–matter interactions. Recent developments] ''Spectrochimica Acta Part B: Atomic Spectroscopy'' '''2011''', 66 (11-12), 776-784. [http://dx.doi.org/10.1016/j.sab.2011.09.011 doi: 10.1016/j.sab.2011.09.011]<br />
* '''DANSE Periodic Table''': Python library for x-ray and neutron elemental scattering properties.<br />
** [http://www.reflectometry.org/danse/elements.html Official site].<br />
* '''MultiSciView''': Web-based tool for looking at arbitrary arrays of 2D image data. Convenient for looking at scattering images arranged based on metadata (coordinates, annealing history, etc.).<br />
** Citation: [https://www.sciencedirect.com/science/article/pii/S2468502X18300093 MultiSciView: Multivariate Scientific X-ray Image Visual Exploration with Cross-Data Space Views] ''Visual Informatics'' '''2018''', 1(2), 14-25 [http://dx.doi.org/10.1016/j.visinf.2018.04.003 doi: 10.1016/j.visinf.2018.04.003]<br />
<br />
==Synchrotron==<br />
* '''[https://github.com/silx-kit/silx SILX]''': Data reading/writing for synchrotron data formats.<br />
* '''[https://nsls-ii.github.io/bluesky/ BlueSky]''': Instrument control, including data saving into a database and access via databroker.<br />
<br />
==General==<br />
* '''SciStreams''': Simple workflow/pipeline software (building on [http://dask.pydata.org/en/latest/ Dask] and [https://github.com/mrocklin/streams Streams]), intended for asynchronous and distributed computations at a beamline.<br />
** [https://github.com/CFN-softbio/SciStreams Code available on github.]<br />
* '''ParaView''': Generalized GUI for visualizing scientific data, such as 3D images (uses [[Python]] and QT).<br />
** [http://www.paraview.org/ Official site.]<br />
* '''Mantid''': Framework for computing and visualizing materials science data.<br />
** [http://www.mantidproject.org/Main_Page Official site.]<br />
** Citation: O. Arnold, et al., Mantid—Data analysis and visualization package for neutron scattering and μSR experiments, Nuclear Instruments and Methods in Physics Research Section A, Volume 764, 11 November 2014, Pages 156-166. [http://dx.doi.org/10.1016/j.nima.2014.07.029 doi: 10.1016/j.nima.2014.07.029]<br />
* '''DAWN''' (Data Analysis WorkbeNch): An application (based on Eclipse) for general scientific data analysis. It is mainly developed by the [http://www.diamond.ac.uk/Home.html Diamond Light Source] and is well-optimized for analysis of x-ray data, including [[SAXS]]-specific features.<br />
** [http://dawnsci.org/ Official site.]<br />
<br />
==Custom==<br />
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 numerically. 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).<br />
<br />
==See Also==<br />
* [http://smallangle.org/content/software#Reduction-Visualisation SAS Portal Software List]<br />
* [http://www.ccp14.ac.uk/recomm/ Resources for Crystallographic Software Developers]<br />
* [[Data formats]]<br />
** [[NeXus data format]]<br />
* [[NSLS-II Control Software]]<br />
* [[NSLS-II Analysis Software]]</div>KevinYager