computer programs\(\def\hfill{\hskip 5em}\def\hfil{\hskip 3em}\def\eqno#1{\hfil {#1}}\)

Journal logoJOURNAL OF
APPLIED
CRYSTALLOGRAPHY
ISSN: 1600-5767

Updates in SASfit for fitting analytical expressions and numerical models to small-angle scattering patterns

crossmark logo

aLaboratory for Neutron Scattering and Imaging, Paul Scherrer Institut, 5232 Villigen PSI, Switzerland, and bBAM Federal Institute for Materials Research and Testing, 12205 Berlin, Germany
*Correspondence e-mail: joachim.kohlbrecher@psi.ch, ingo.bressler@bam.de

Edited by A. Barty, DESY, Hamburg, Germany (Received 30 May 2022; accepted 9 September 2022; online 21 November 2022)

Small-angle scattering is an increasingly common method for characterizing particle ensembles in a wide variety of sample types and for diverse areas of application. SASfit has been one of the most comprehensive and flexible curve-fitting programs for decades, with many specialized tools for various fields. Here, a selection of enhancements and additions to the SASfit program are presented that may be of great benefit to interested and advanced users alike: (a) further development of the technical basis of the program, such as new numerical algorithms currently in use, a continuous integration practice for automated building and packaging of the software, and upgrades on the plug-in system for easier adoption by third-party developers; (b) a selection of new form factors for anisotropic scattering patterns and updates to existing form factors to account for multiple scattering effects; (c) a new type of a very flexible distribution called metalog [Keelin (2016). Decis. Anal. 13, 243–277], and regularization techniques such as the expectation-maximization method [Dempster et al. (1977). J. R. Stat. Soc. Ser. B (Methodological), 39, 1–22; Richardson (1972) J. Opt. Soc. Am. 62, 55; Lucy (1974). Astron. J. 79, 745; Lucy (1994). Astron. Astrophys. 289, 983–994], which is compared with fits of analytical size distributions via the non-linear least-squares method; and (d) new structure factors, especially for ordered nano- and meso-scaled material systems, as well as the Ornstein–Zernike solver for numerical determination of particle interactions and the resulting structure factor when no analytical solution is available, with the aim of incorporating its effects into the small-angle scattering intensity model used for fitting with SASfit.

1. Introduction

For the analysis of small-angle scattering (SAS) data, several approaches have been established in different fields of science. Typically the SAS signal is interpreted by quantities like form factor, size distribution, orientation distribution and structure factor. Depending on the pre-knowledge about the samples, different analysis techniques have been established. In cases where the investigated samples consist of dilute and identical but randomly oriented objects, like, for example, proteins, low-resolution shape reconstruction algorithms have been established (Svergun et al., 1995[Svergun, D., Barberato, C. & Koch, M. H. J. (1995). J. Appl. Cryst. 28, 768-773.]; Svergun, 1999[Svergun, D. (1999). Biophys. J. 76, 2879-2886.]; Franke & Svergun, 2009[Franke, D. & Svergun, D. I. (2009). J. Appl. Cryst. 42, 342-346.]; Gdovinová et al., 2017[Gdovinová, V., Schroer, M. A., Tomašovičová, N., Appel, I., Behrens, S., Majorošová, J., Kováč, J., Svergun, D. I. & Kopčanský, P. (2017). Soft Matter, 13, 7890-7896.]; Grant, 2018[Grant, T. D. (2018). Nat. Methods, 15, 191-193.], 2021[Grant, T. D. (2021). Nat. Methods, 18, 246-248.]; Konarev & Svergun, 2021[Konarev, P. V. & Svergun, D. I. (2021). Nat. Methods, 18, 244-245.]; Schroer et al., 2021[Schroer, M. A., Hu, P.-S., Tomasovicova, N., Batkova, M., Zakutanska, K., Wu, P.-Y. & Kopcansky, P. (2021). Molecules, 26, 4864.]). These algorithms have also been successfully used in other fields to study self-assembled structures in monodisperse colloidal systems (Luo et al., 2018[Luo, Z., Marson, D., Ong, Q. K., Loiudice, A., Kohlbrecher, J., Radulescu, A., Krause-Heuer, A., Darwish, T., Balog, S., Buonsanti, R., Svergun, D. I., Posocco, P. & Stellacci, F. (2018). Nat. Commun. 9, 1343. ]). Further extreme examples studied by SAS include disordered systems, which can be described by statistical means, e.g. using boolean models (Gille, 2016[Gille, W. (2016). Particle and Particle Systems Characterization. Boca Raton: Taylor & Francis Ltd.]; Gommes & Roberts, 2008[Gommes, C. J. & Roberts, A. P. (2008). Phys. Rev. E, 77, 041409.]; Gommes, 2018[Gommes, C. J. (2018). Microporous Mesoporous Mater. 257, 62-78.]) describing for instance porous media or using leveled-wave models (Berk, 1991[Berk, N. F. (1991). Phys. Rev. A, 44, 5069-5079.]; Ingham et al., 2011[Ingham, B., Li, H., Allen, E. L. & Toney, M. F. (2011). J. Appl. Cryst. 44, 221-224.]; Klimeš, 2002[Klimeš, L. (2002). Pure Appl. Geophys. 159, 1811-1831.]; Jinnai et al., 2000[Jinnai, H., Nishikawa, Y., Chen, S.-H., Koizumi, S. & Hashimoto, T. (2000). Phys. Rev. E, 61, 6773-6780.]) to describe bi-continuous systems.

A significant number of scientists using SAS still describe their data very successfully by modeling them in terms of a form factor with a size distribution and, if necessary, an additional structure factor using analytical expressions (Pedersen, 1997[Pedersen, J. S. (1997). Adv. Colloid Interface Sci. 70, 171-210.], 2002[Pedersen, J. S. (2002). Modelling of Small-Angle Scattering Data from Colloids and Polymer Systems, in Neutron, X-rays and Light. Scattering Methods Applied to Soft Condensed Matter, ch. 16, pp. 391-420. Amsterdam: Elsevier Science.], 2008[Pedersen, J. S. (2008). Soft Matter Characterization, pp. 191-233. Dordrecht: Springer Netherlands.]). Several software packages for these cases are publicly available (Kohlbrecher & Studer, 2017[Kohlbrecher, J. & Studer, A. (2017). J. Appl. Cryst. 50, 1395-1403.]; Breßler et al., 2015[Breßler, I., Kohlbrecher, J. & Thünemann, A. F. (2015). J. Appl. Cryst. 48, 1587-1598.]; Biehl, 2019[Biehl, R. (2019). PLoS One, 14, e0218789.]; Pedersen et al., 2013[Pedersen, M. C., Arleth, L. & Mortensen, K. (2013). J. Appl. Cryst. 46, 1894-1898.]; Ilavsky & Jemian, 2009[Ilavsky, J. & Jemian, P. R. (2009). J. Appl. Cryst. 42, 347-353.]; Doucet et al., 2022[Doucet, M., Cho, J. H., Alina, G., Attala, Z., Bakker, J., Bouwman, W., Bourne, R., Butler, P., Cadwallader-Jones, I., Campbell, K., Cooper-Benun, T., Durniak, C., Forster, L., Gilbert, P., Gonzalez, M., Heenan, R., Jackson, A., King, S., Kienzle, P., Krzywon, J., Maranville, B., Murphy, R., Nielsen, T., O'Driscoll, L., Potrzebowski, W., Prescott, S., Ferraz Leal, R., Rozyczko, P., Snow, T., Washington, A. & Wolf, C. (2022). SasView. Version 5.0.5. https://www.sasview.org/.]) but only a few are referenced here. These software packages are also to some extent capable of treating textured samples where the scattering patterns are no longer radially symmetric, for example because of deformation or an orientation distribution caused by external forces like shear, or magnetic or electric fields. In cases where the internal structures of particles are of main interest, contrast-variation experiments might be necessary, or in cases where the structure factor is important, the structure-factor contribution needs to be separated from the form-factor contribution by diluting the sample. In many of these cases it is advantageous to analyze a set of several scattering patterns simultaneously with a common set of global parameters as well as a set of parameters varying from one pattern to another.

The strategy of using analytical expressions for the size distribution may limit the model too much to give a reasonable agreement with the data. To overcome this issue, regularization techniques (Lucy, 1974[Lucy, L. B. (1974). Astron. J. 79, 745.], 1994[Lucy, L. B. (1994). Astron. Astrophys. 289, 983-994.]; Glatter, 1977[Glatter, O. (1977). J. Appl. Cryst. 10, 415-421.]; Svergun, 1992[Svergun, D. I. (1992). J. Appl. Cryst. 25, 495-503.]; Yang et al., 2013[Yang, F., Wang, A., Dong, L. & Ming, H. (2013). Opt. Eng. 52, 043605.]) and Monte Carlo methods have been used (Krauthäuser et al., 1996[Krauthäuser, H. G., Lennartz, W. & Nimtz, G. (1996). J. Appl. Cryst. 29, 7-15.]; Breßler et al., 2015[Breßler, I., Kohlbrecher, J. & Thünemann, A. F. (2015). J. Appl. Cryst. 48, 1587-1598.]), mainly due to the lack of flexibility of available analytical probability distribution functions (PDFs).

Another important aspect studied by SAS is particle interaction potentials, which determine the structure-factor function. If the structure factor is the focus of a study, only a very few analytical solutions are known, such as that for hard spheres (Wertheim, 1963[Wertheim, M. S. (1963). Phys. Rev. Lett. 10, 321-323.]), sticky hard-sphere potentials (Baxter, 1968[Baxter, R. (1968). J. Chem. Phys. 49, 2770-2774.]; Sharma & Sharma, 1977[Sharma, R. V. & Sharma, K. C. (1977). Physica A, 89, 213-218.]; Santos et al., 2012[Santos, A., Yuste, S. B. & Lopez de Haro, M. (2012). Condens. Matter Phys. 15, 23602.], 2013[Santos, A., Yuste, S. B., Lopez de Haro, M., Bárcenas, M. & Orea, P. (2013). J. Chem. Phys. 139, 074505.]) for short-range interaction potentials and a two-Yukawa potential (Hansen & Hayter, 1982[Hansen, J.-P. & Hayter, J. B. (1982). Mol. Phys. 46, 651-656.]; Liu et al., 2005[Liu, Y., Chen, W.-R. & Chen, S.-H. (2005). J. Chem. Phys. 122, 044507.]) for long-range interaction potentials. For many other interaction potentials, the Ornstein–Zernike (OZ) equation (Ornstein & Zernike, 1914[Ornstein, L. & Zernike, F. (1914). Proc. K. Akad. Wetenschappen Amsterdam, 17, 793-806.]; Nägele, 2004[Nägele, G. (2004). The Physics of Colloidal Soft Matter. Warsaw: Institute of Fundamental Technological Research.]; Borowko et al., 2000[Borowko, M., Sokolowski, S. & Henderson, D. (2000). Surfactant Science, ch. 3, pp. 135-165. Boca Raton: CRC Press.]; Caccamo, 1996[Caccamo, C. (1996). Phys. Rep. 274, 1-105.]) has to be solved numerically together with a closure relation. Both need to be tested beforehand for being suitable for use with molecular dynamics (MD) simulations.

2. Overview

SASfit (Breßler et al., 2015[Breßler, I., Kohlbrecher, J. & Thünemann, A. F. (2015). J. Appl. Cryst. 48, 1587-1598.]; Kohlbrecher & Studer, 2017[Kohlbrecher, J. & Studer, A. (2017). J. Appl. Cryst. 50, 1395-1403.]) has been one of the most comprehensive and flexible curve-fitting programs for decades, with many specialized tools for various fields. In this article, we present major upgrades of the SASfit package since the last publications. We start with outlining updates on technical aspects, such as new numerical algorithms employed currently, a continuous integration (CI) practice for automated building and packaging of the software, and the upgrades on the plug-in system for easier adoption by third-party developers. Furthermore, we will focus on selected additions to SASfit: First, the extension of the available models of form and structure factors in SASfit are described in Section 4[link]. We will also make the link between the projected correlation function measured by spin-echo small-angle neutron scattering (SESANS) and that measured by multiple SAS, and show how those models where an analytical expression for the SESANS signal exists can be efficiently used to include multiple scattering effects in SAS.

Furthermore, a new type of size distribution called the metalog distribution (Keelin, 2016[Keelin, T. W. (2016). Decis. Anal. 13, 243-277.]) has been implemented, which was first introduced in the field of decision analysis and was designed to be a smooth PDF but also flexible enough to replace almost all known distribution functions so far. The metalog distribution can be expressed similarly to a Taylor series with any number of parameters depending on the required flexibility of the size distribution. In this article we will compare how this distribution function performs with other retrieval strategies for the size distribution.

Some newly implemented size-distribution retrieval algorithms in SASfit will be discussed as well, especially the expectation-maximization (EM) method introduced by Dempster et al. (1977[Dempster, A. P., Laird, N. M. & Rubin, D. B. (1977). J. R. Stat. Soc. Ser. B (Methodological), 39, 1-22.]), and independently by Richardson (1972[Richardson, W. H. (1972). J. Opt. Soc. Am. 62, 55.]) and Lucy (1974[Lucy, L. B. (1974). Astron. J. 79, 745.], 1994[Lucy, L. B. (1994). Astron. Astrophys. 289, 983-994.]), which will be applied to SAS data. We also compare it with the strategy of fitting analytical size distributions via a non-linear least-squares fit. The EM method implementation has been extended in SASfit by using similar criteria to other regularization techniques to find the optimum regularization parameter. Also, a version of regularized regression using the GSL library (Galassi et al., 2009[Galassi, M., Davies, J., Theiler, J., Gough, B., Jungman, G., Booth, M. & Rossi, F. (2009). GNU Scientific Library Reference Manual. Bristol: Network Theory Ltd.]) has been implemented for comparison.

Last but not least, a tool for numerically solving the OZ equations has been added to SASfit. For many models on pair interactions between colloids, no analytical solution for the structure factor is available. The OZ tool in SASfit now allows for a wide range of potentials and closure relations being implemented, including those trying to obtain thermodynamically consistent solutions.

3. Technical updates

SASfit is an open-source desktop application available for Windows, Linux and macOS. The computational core is implemented with the C programming language while the user interface (GUI) is realized with Tcl/Tk (Breßler et al., 2015[Breßler, I., Kohlbrecher, J. & Thünemann, A. F. (2015). J. Appl. Cryst. 48, 1587-1598.]). Much progress has been achieved in the technical foundations of the program, which are summarized below.

3.1. Numerical algorithms

For many numerical computations, SASfit employs mature and reliable external third-party open-source libraries such as GSL (Galassi et al., 2009[Galassi, M., Davies, J., Theiler, J., Gough, B., Jungman, G., Booth, M. & Rossi, F. (2009). GNU Scientific Library Reference Manual. Bristol: Network Theory Ltd.]), FFTW (Frigo & Johnson, 2005[Frigo, M. & Johnson, S. G. (2005). Proc. IEEE, 93, 216-231.]), SUNDIALS (Hindmarsh et al., 2005[Hindmarsh, A. C., Brown, P. N., Grant, K. E., Lee, S. L., Serban, R., Shumaker, D. E. & Woodward, C. S. (2005). ACM Trans. Math. Softw. 31, 363-396.]) and cubature (Johnson, 2020[Johnson, S. G. (2020). Multi-dimensional Adaptive Integration (Cubature) in C. V1.0.3. https://github.com/stevengj/cubature.]). Third-party code is used for very efficient numerical integration algorithms in one dimension, such as the double exponential integration (Mori, 1990[Mori, M. (1990). Proceedings of the International Congress of Mathematicians, August 21-29, 1990, Kyoto, Japan, pp. 1585-1594. Berlin, Heidelberg, New York, Tokyo: Springer-Verlag.]; Ooura & Mori, 1991[Ooura, T. & Mori, M. (1991). J. Comput. Appl. Math. 38, 353-360.]; Mori & Sugihara, 2001[Mori, M. & Sugihara, M. (2001). J. Comput. Appl. Math. 127, 287-296.]) and specialized integration routines over the surface of a sphere [Fibonacci grid (Marques et al., 2013[Marques, R., Bouville, C., Ribardière, M., Santos, L. P. & Bouatouch, K. (2013). Comput. Graph. Forum, 32, 134-143.]), Lebedev quadrature (Lebedev, 1975[Lebedev, V. (1975). USSR Comput. Math. Math. Phys. 15, 44-51.], 1976[Lebedev, V. (1976). USSR Comput. Math. Math. Phys. 16, 10-24.], 1977[Lebedev, V. I. (1977). Siberian Math. J. 18, 99-107.]) and spherical-t design (Gräf & Potts, 2011[Gräf, M. & Potts, D. (2011). Numer. Math. 119, 699-724.]; Hardin & Sloane, 1996[Hardin, R. H. & Sloane, N. J. A. (1996). Discrete Comput. GEOM, 15, 429-441.])] for efficient calculations of anisotropic form factors with an orientation distribution.

For numerical integrations in multiple dimensions, a more efficient and flexible routine sasfit_cubature was implemented alongside a routine for optimized spherical averages (sasfit_orient_avg). Both employ an algorithm chosen by the user in a dedicated menu, which is shown in Fig. 16 of the supporting information along with the respective parameters. The improved routines for numerical integration are now employed by models for ellipsoidal shells, triaxial ellipsoidal shells (triax ellip shell) and oriented primitive objects (OPO), as well as for orientational averages by the models for OPO. The new numerical routines result in faster calculations of the model intensities in many cases depending on the chosen algorithms. See Section 1 of the supporting information for more background on the models for OPO and the geometric primitives they describe.

The fitting of the data is carried out by a dedicated implementation of the non-linear least-squares algorithm described by Press et al. (1992[Press, W. H., Teukolsky, S. A., Vetterling, W. T. & Flannery, B. P. (1992). Numerical Recipes in C: the Art of Scientific Computing, 2nd ed. New York: Cambridge University Press.]) (Levenberg–Marquardt method). It has been extended to handle the data structures in SASfit and to be able to minimize multiple data sets and allow simple bounds as constraints on the fit parameters. So far no other optimization methods have been supplied.

3.2. Continuous integration

All source codes of the SASfit package are provided on the code-hosting platform GitHub (https://github.com/SASfit/SASfit) under the conditions of the General Public License (GPLv3+, https://www.gnu.org/licenses/gpl-3.0.html). The GitHub code repository is the central place for all development activities around the SASfit package. A CI process has been set up to automatically generate preliminary binary packages as soon as a new set of code changes is uploaded (or pushed) to the code repository. This CI process facilitates basic automated quality checks of the code, and allows interested users to try and test new models and features very early before the next full package version is released. These preliminary packages of development versions are uploaded automatically to the binary distribution platform cloudsmith (https://cloudsmith.io/~sasfit/repos/build/packages). All web links for downloading regular package releases and preliminary versions can be found at the project website (https://sasfit.org). It features links to the very extensive manual, which is also included in each program package, as well as additional user documentation such as video tutorials (https://www.youtube.com/@SASfitScience) and developer documentation of the source code.

3.3. Plug-in system

SASfit offers a system for grouping model functions (of form and structure factors mostly) in a plug-in. Each plug-in results in a single shared library file, which is then packaged with the program. A SASfit plug-in can be shared with other copies of the program of the same version on different computers. This is especially useful for customized plug-ins which users can create with the tools provided by the SASfit program and its source code. A typical use case is the development of a custom plug-in in the course of a research project. This plug-in could then be used with all copies of SASfit (of the same version) among collaborators by just copying the plug-in binary and its header file into the `plug-ins' directory.

Plug-ins can import and employ other pre-existing SASfit plug-ins and thus use almost the entire library of form and structure factors, currently consisting of 608 model functions in 72 plug-ins. Due to this high degree of flexibility and functional versatility, all new models added to the program are implemented as plug-ins. This large growing library of model functions might be attractive to third-party applications. To support this, source code of a minimal example of a program evaluating a single plug-in form factor (shown in Fig. 1[link]) is provided in the main source-code tree along with documentation on how to build and run the example (https://github.com/SASfit/SASfit/tree/master/examples).

[Figure 1]
Figure 1
Example source code of a minimal program evaluating the FuzzySphere form-factor plug-in, describing scattering from spherical particles with a `fuzzy' interface function.

4. Form factors

4.1. Anisotropic scattering

In the past few years, a whole set of new form factors have been implemented in the SASfit package. A major part of the new form factors describe anisotropic particles with a certain orientation distribution, as well as functions describing the variation of intensity in the azimuthal (ψ) direction rather than in the radial (q) direction. To fit anisotropic SAS data recorded as a 2D scattering pattern, SASfit expects 1D input data extracted from the 2D data, either in the radial (q) direction from averaged sectors or in the azimuthal (ψ) direction from Q-averaged data points over a small interval of Q. SASfit supplies several models with an azimuthal angle ψ as an input parameter. In Fig. 2[link], the 2D scattering pattern of bicelles decorated with lanthanide complexes aligned in a magnetic field is shown (Liebi et al., 2012[Liebi, M., Kohlbrecher, J., Ishikawa, T., Fischer, P., Walde, P. & Windhab, E. J. (2012). Langmuir, 28, 10905-10915.]; Liebi, 2013[Liebi, M. (2013). PhD thesis, ETH Zürich, Switzerland]). To fit the scattering pattern, either several radially averaged sectors in certain directions ψ are taken, which can then be fitted simultaneously, or an azimuthal intensity is extracted from the 2D plot to be fitted as in this case. Here, the azimuthal fit was sufficient as the other geometrical parameters of the bicelles could be extracted in zero field from isotropic spherically averaged data. Most anisotropic models are implemented twice as a function of Q for a fixed value of ψ to fit sector-averaged data or vice versa to allow for fitting in the azimuthal direction.

[Figure 2]
Figure 2
(a) Experimental data (top left) and 2D simulation of the fit shown in (b) at the same detector setting (top right). (b) The fit I(ψ) was carried out in the azimuthal direction over Q-averaged data points, in a small interval of Q within the ring shown in the graph of the experimental data (top), to obtain the orientational distribution. The structure that is scattering comprises lipid bilayers oriented in a magnetic field, which are described by discs with an orientational distribution, with details given by Liebi et al. (2012[Liebi, M., Kohlbrecher, J., Ishikawa, T., Fischer, P., Walde, P. & Windhab, E. J. (2012). Langmuir, 28, 10905-10915.]) and Liebi (2013[Liebi, M. (2013). PhD thesis, ETH Zürich, Switzerland]). The resulting sector-averaged data I(Q, 0°) and I(Q, 90°) are shown in the inset.

4.2. Multiple scattering

For a small number of form factors the contributions of multiple scattering effects can be calculated, namely for monodisperse and lognormal-distributed polydisperse spheres, the Debye–Anderson–Brumberger (DAB) model (Debye et al., 1957[Debye, P., Anderson, H. R. & Brumberger, H. (1957). J. Appl. Phys. 28, 679-683.]; Debye & Bueche, 1949[Debye, P. & Bueche, A. M. (1949). J. Appl. Phys. 20, 518-525.]) and the generalized Gaussian coil model, to be found under the form-factor menu `by plugins' → `MSAS'. SASfit uses a formalism introduced by Schelten & Schmatz (1980[Schelten, J. & Schmatz, W. (1980). J. Appl. Cryst. 13, 385-390.]) and Jensen & Barker (2018[Jensen, G. V. & Barker, J. G. (2018). J. Appl. Cryst. 51, 1455-1466.]). They have shown that a multiple SAS signal can be computed from a single scattering approximation (the scattering of the sample volume in the absence of multiple scattering) via an intermediate function i1(r):

[\eqalignno{i_{1}(r) &= 2\pi t\int\limits_{0}^{\infty}J_{0}(qr){{{\rm d}\sigma_ {1}} \over {{\rm d}\Omega}}(q)\,q\,{\rm d}q \cr&= 2\pi t\,{\cal H}_{0}\left[{{{\rm d}\sigma_{1}} \over {{\rm d}\Omega}}(q)\right](r) = 4\pi^{2}t\,\tilde{G}(r), & (1)}]

[\eqalignno{i_{\rm m}(r) &= \exp\left[-{{i_{1}(0)}\over {k_{0}^{2}}}\right]k_{0}^{2}\left\{\exp\left[{{i_{1}(r)}\over{k_{0} ^{2}}}\right]-1\right\} \cr&= k_{0}^{2}\left(\exp\left\{{{{t\left[\tilde{G}(r)-\tilde{G}(0)\right] } \over {k_{0}^{2}}}}\right\}-\exp\left[{-{{t\tilde{G}(0)} \over {k_{0}^{2}}}}\right]\right) & (2)}]

and

[{{{\rm d}\sigma_{\rm m}} \over {{\rm d}\Omega}}(q) = {{1} \over {2\pi t}} {\cal H}_{0}\left[i_{\rm m}(r)\right]\,(Q), \eqno (3)]

with [k_{0} = {{2\pi}/{\lambda}}], J0 being the Bessel function of the first kind and zero order, and [{\cal H}_{0}[\,]] being the Hankel transform operator. Further parameters include the sample thickness t and the wavelength λ. [({{{\rm d}\sigma_{\rm m}}/{{\rm d}\Omega}})(q)] is the measured scattering cross section, including multiple scattering contributions normalized on the sample volume and corrected for absorption and incoherent scattering, i.e. corrected for all beam attenuation effects except coherent SAS. [({{{\rm d}\sigma_{1}} / {{\rm d}\Omega}})(q)] is the corresponding single scattering cross section per volume. The intermediate function i1(r) is mostly identical to the projected correlation function [\tilde{G}(r)] used in the theory of SESANS or spin-echo modulation SANS analysis except for a pre-factor (Kohlbrecher & Studer, 2017[Kohlbrecher, J. & Studer, A. (2017). J. Appl. Cryst. 50, 1395-1403.]):

[i_{1}(r) = \tilde{G}(r)\,\left(2\pi\right)^{2}t. \eqno (4)]

In principle the formalism in equations (1)[link][link]–(3)[link] allows one to include multiple scattering effects for any kind of model with radially symmetric scattering (isotropic models), and the models have to decay faster than q−2 otherwise the Hankel transform diverges. To calculate the projected correlation function, the Hankel transform is already implemented in SASfit to be applied on any available model function for [({{{\rm d}\sigma_{\rm m}} / {{\rm d}\Omega}})(q)] (Kohlbrecher & Studer, 2017[Kohlbrecher, J. & Studer, A. (2017). J. Appl. Cryst. 50, 1395-1403.]) and can be chosen in the `transform' selection box in the bottom-right corner of the model parameter window, next to the progress bar. However, the multiple scattering contribution consists of one integral for the size distribution, one integral for the Hankel transform and the subsequent backward Hankel transform with another numerical integration. These three subsequent numerical integrations slow down the numerical calculation too much to be used efficiently. Therefore, at the moment, only the analytical models for projected correlation functions are made available as scattering curves including multiple scattering effects because the forward Hankel transform is known analytically and only two integrals need to be calculated in this case. To include multiple scattering effects, the scale parameter will be the total scattering cross section per sample volume, [\Sigma_{\rm t} = \tilde{G}(0)\,(2\pi)^{2} = i_{1}(0)/t], for all models. Furthermore, all respective models contain two parameters depending on the experimental conditions, which are the used wavelength λ and the sample thickness t. Similarly to the arguments for SESANS, the units should be chosen so that λ has the reciprocal units of the scattering vector q, i.e. nm or Å, and the thickness should have the reciprocal units of the scattering cross section per volume, which is normally supplied in units of cm−1. By this parametrization, the intermediate function im(r) reads as

[i_{\rm m}(r) = k_{0}^{2}\left\{\exp\left[{t\lambda^{2}\Sigma_{\rm t}{{\tilde{G}(r)-\tilde{G}(0)} \over {\tilde{G}(0)}}}\right]-\exp({-t\lambda^{2}\Sigma_{\rm t}})\right\}. \eqno (5)]

Including multiple scattering in the data analysis means that, next to material properties, instrumental parameters such as sample thickness and the wavelength used also need to be known. The influence of multiple scattering is shown in Fig. 3[link] for monodisperse spheres and the DAB model (Debye et al., 1957[Debye, P., Anderson, H. R. & Brumberger, H. (1957). J. Appl. Phys. 28, 679-683.]; Debye & Bueche, 1949[Debye, P. & Bueche, A. M. (1949). J. Appl. Phys. 20, 518-525.]). For these two models, the projected correlation function can be calculated analytically. For the more general case of multiple scattering, the package MuScatt (Jaksch et al., 2021[Jaksch, S., Pipich, V. & Frielinghaus, H. (2021). J. Appl. Cryst. 54, 1580-1593.]) might be an option.

[Figure 3]
Figure 3
Multiple scattering effects of (a) monodisperse spheres and (b) the DAB model for total scattering cross sections Σt between 1 and 104 cm−1 nm−2, a sample thickness of 0.1 cm, and a wavelength of 0.6 nm. The DAB model calculates the scattering of a randomly distributed (i.e. non-particulate) two-phase system assuming sharp interfaces between the phases. The two-phase system is characterized by a single length scale, the correlation length ξ, which is a measure of the average spacing between regions of phase 1 and phase 2.

5. Size distributions

5.1. The metalog distribution

Retrieving size-distribution information from SAS data is a standard task. Typically, two strategies are used for it: One is to model the size distribution by a known analytical expression. This is actually the main strategy followed by the SASfit package so far. The drawback of this method is that the solution is constrained by the shape of the chosen distribution function. Using analytical expressions for the size distribution has suffered so far from the lack of flexibility of the available distribution functions. Many distribution functions have two or three parameters for location, skewness and sometimes kurtosis, which can be expressed in terms of moments of the PDF. So far, in cases of more advanced distributions, a sum of multiple distributions was the only way to describe them.

A newly introduced distribution function, called the metalog distribution, tries to overcome the limitation in shape flexibility. The distribution has been introduced in the area of decision analysis (Keelin & Powley, 2011[Keelin, T. W. & Powley, B. W. (2011). Decis. Anal. 8, 206-219.]; Keelin, 2016[Keelin, T. W. (2016). Decis. Anal. 13, 243-277.], 2021[Keelin, T. (2021). The Metalog Distributions, https://metalogs.org/.]; Wikipedia Contributors, 2021[Wikipedia Contributors (2021). Metalog Distribution, https://en.wikipedia.org/wiki/Metalog_distribution.]; Powley, 2013[Powley, B. W. (2013). PhD thesis, Department of Management Science and Engineering, Stanford University, USA. https://purl.stanford.edu/yn842pf8910.]). In this approach, the cumulative distribution function (CDF) rather than the PDF is directly fitted to the data. The derivative of the CDF results in the PDF. The metalog distribution can be expressed in a similar manner to a Taylor series, with any number of terms depending on the required degree of shape flexibility. It has been shown by Keelin (2016[Keelin, T. W. (2016). Decis. Anal. 13, 243-277.]) that a ten-term metalog distribution is capable of reproducing shapes almost identical to a large number of distributions, including normal, log­normal, Weibull, gamma, exponential, chi-squared, extreme-value, beta, uniform and triangular distribution. We have implemented this distribution with a maximum of ten terms in SASfit to allow more flexibility in determining the shape of a size distribution. Example plots of metalog distributions with two, four or six terms mimicking a bilognormal distribution and the resulting scattering intensities are shown in Fig. 4[link]. Even though the metalog distribution is quite flexible in its shape and can reproduce a large number of distributions, it remains smooth and even a fit with several parameters does not become so ill posed that it yields unstable solutions. The metalog distribution might be a useful choice if, next to the mean and width, some information about the skewness and kurtosis are also extractable from the SAS data.

[Figure 4]
Figure 4
(a) Examples of the metalog radius distribution with two (black line), four (blue line) or six terms (green line), a bimodal metalog variant of 2 × 4 terms (dashed line), and the bimodal lognormal distribution (red line). (b) The resulting scattering intensities. Black circles represent the original data, and the bimodal lognormal distribution is omitted because it overlays the bimodal metalog variant exactly, as can be seen in the residual plot (inset). The original data comprise a simulated scattering curve of a bimodal distribution with Gaussian noise added, which was introduced for benchmarking by Jemian (2013[Jemian, P. R. (2013). Sizes - General Size Distribution Program for SAS (Small-Angle Scattering) Analysis, https://github.com/prjemian/sizes.]) (file data/test.sas).

The metalog distribution is defined via its quantile probability distribution Q(y) (QPD). The QPD in statistics is the inverse CDF. In the calculation of SAS data, one needs to integrate the form factor in the case of a size distribution over a probability density function p(x) representing the size distribution, i.e. the integration is carried out over the random variable x. The metalog distribution is, however, defined via its CDF: [y = F(x) = \int_{-\infty}^{x}p(x)\,{\rm d}x] with y ∈ [0, 1]. The inverse of this function is the QPD: x = Q(y) = F−1(y). Differentiating the QPD with respect to y yields the quantile density function q(y) = dx/dy = dQ(y)/dy, whose reciprocal defines the probability density function p(x) = 1/q(y) = mk(y). The metalog PDF mk(y) is therefore parameterized in terms of y instead of x. The QPD of the metalog distribution Q(y) = Mk(y) [according to Keelin (2016[Keelin, T. W. (2016). Decis. Anal. 13, 243-277.])] and its PDF are given in the supporting information [equations (26) to (31)] for an unbounded distribution as well as distributions that are left bounded and bounded from both sides.

The integration of a form factor P(Q, x) over one of its size parameters x can be written as

[\textstyle\int\limits_{0}^{\infty}p(x)\,P(Q,x)\,{\rm d}x = \int\limits_{0}^{\infty}m_{k}\,[F (x)]\,P(Q,x)\,{\rm d}x \eqno (6)]

and

[\textstyle\int\limits_{0}^{\infty}m_{k}\,[F (x)]\,P(Q,x)\,{\rm d}x = \int\limits_{0}^{1}P[Q,M_{k}(y)]\,{\rm d}y. \eqno (7)]

The last equation is obtained by a change of variables using dx/dy = dMk(y)/dy = 1/mk(y). The change of variable has the additional side effect that now the integration over the size distribution becomes an integral with finite limits over the cumulative distribution y from 0 to 1, which behaves numerically well for both very sharp and very broad distributions.

5.2. Regularization techniques

The second strategy for obtaining size-distribution information is to employ regularization techniques, which determine a model-independent distribution function. Regularization techniques are required as retrieving the size distribution from a scattering experiment is an ill-posed problem.

SASfit implements a standard Tikhonov regularization technique (Tikhonov, 1943[Tikhonov, A. N. (1943). Dokl. Akad. Nauk SSSR, 39, 195-198.]; Tikhonov et al., 1995[Tikhonov, A. N., Goncharsky, A. V., Stepanov, V. V. & Yagola, A. G. (1995). Numerical Methods for the Solution of Ill-Posed Problems. Dordrecht: Springer Netherlands.]) with a cost function, which can be chosen to be either an identity operator or a first- or second-order derivative operator. The Tikhonov regularization and the optimization of the weighting factor for the cost function have been implemented using standard functions provided by the GSL library (Galassi et al., 2009[Galassi, M., Davies, J., Theiler, J., Gough, B., Jungman, G., Booth, M. & Rossi, F. (2009). GNU Scientific Library Reference Manual. Bristol: Network Theory Ltd.]).

An entropy cost function is also statistically very well supported, i.e. the maximum-entropy method (MEM) (Skilling & Bryan, 1984[Skilling, J. & Bryan, R. K. (1984). Mon. Not. R. Astron. Soc. 211, 111-124.]; Hansen & Pedersen, 1991[Hansen, S. & Pedersen, J. S. (1991). J. Appl. Cryst. 24, 541-548.]; Elliott & Hanna, 1999[Elliott, J. A. & Hanna, S. (1999). J. Appl. Cryst. 32, 1069-1083. ]; Hansen, 2000[Hansen, S. (2000). J. Appl. Cryst. 33, 1415-1421.]; Vestergaard & Hansen, 2006[Vestergaard, B. & Hansen, S. (2006). J. Appl. Cryst. 39, 797-804.]). As the cost function becomes non-linear, the minimization algorithms get a bit slower compared with a linear cost function in the Tikhonov regularization, where linear regression tools can be used. In SASfit, for the MEM, an iterative scheme has been implemented called EM, which was first explained by Dempster et al. (1977[Dempster, A. P., Laird, N. M. & Rubin, D. B. (1977). J. R. Stat. Soc. Ser. B (Methodological), 39, 1-22.]). The method is an iterative fixed point method for positive defined functions. Vardi & Lee (1993[Vardi, Y. & Lee, D. (1993). J. R. Stat. Soc. Ser. B, 55, 569-598.]) have shown how the EM method can be applied to solve Fredholm integrals for the domain of non-negative real valued functions. The smearing of a form factor by a size distribution belongs to that class of Fredholm integral. The method described there is equivalent to the Lucy–Richardson method (Richardson, 1972[Richardson, W. H. (1972). J. Opt. Soc. Am. 62, 55.]; Lucy, 1974[Lucy, L. B. (1974). Astron. J. 79, 745.]). The method has been applied for calculating a size distribution from scattering data by several authors (Yang et al., 2013[Yang, F., Wang, A., Dong, L. & Ming, H. (2013). Opt. Eng. 52, 043605.]; Benvenuto et al., 2016[Benvenuto, F., Haddar, H. & Lantz, B. (2016). SIAM J. Appl. Math. 76, 276-292.]; Benvenuto, 2017[Benvenuto, F. (2017). SIAM J. Numer. Anal. 55, 2187-2203.]; Bakry et al., 2019[Bakry, M., Haddar, H. & Bunău, O. (2019). J. Appl. Cryst. 52, 926-936.]). Although the convergence of the iterative EM algorithm is ensured since the algorithm is guaranteed to increase the likelihood with each iteration, a stable solution cannot be obtained because of its ill-posed nature and because an additional stabilization mechanism is required.

Several stabilization methods have been suggested for the EM algorithm. One of them is to add an additional smoothing operator into the iteration sequence. In SASfit, the smoothing operation suggested by Eggermont (1999[Eggermont, P. P. B. (1999). Appl. Math. Optim. 39, 75-91.]), Eggermont & LaRiccia (1995[Eggermont, P. P. B. & LaRiccia, V. N. (1995). Ann. Statist. 23, 199-220.]) and Byrne & Eggermont (2011[Byrne, C. & Eggermont, P. P. B. (2011). Handbook of Mathematical Methods in Imaging, pp. 271-344. New York: Springer.]) has been implemented. For more details, refer to equations (36)–(55) in the supporting information.

As the EM algorithm is an iterative scheme, it can be extended by an additional entropy cost function, as shown by Richardson (1972[Richardson, W. H. (1972). J. Opt. Soc. Am. 62, 55.]) and Lucy (1974[Lucy, L. B. (1974). Astron. J. 79, 745.]). In the work of Lucy (1994[Lucy, L. B. (1994). Astron. Astrophys. 289, 983-994.]), two variants for introducing the maximum entropy cost function into the iteration algorithm are described: either using a known fixed prior or assuming an adaptive prior for the solution vector. These are the two other strategies for the EM iteration scheme made available in SASfit, and are detailed in the supporting information.

In all cases, the stabilization term or cost function is scaled by a weighting factor. To find the weighting factor, the same approaches have been used as in Tikhonov regularization by L-curve analysis (Hansen, 1998[Hansen, P. C. (1998). Rank Deficient and Discrete Ill-Posed Problems. Philadelphia: Society for Industrial and Applied Mathematics.], 2001[Hansen, P. C. (2001). Computational Inverse Problems in Electrocardiology. Southampton: WIT Press.]; Gazzola et al., 2018[Gazzola, S., Hansen, P. C. & Nagy, J. G. (2018). Numer. Algor. 81, 773-811.]).

In SASfit, the algorithms for determining the size distribution can be accessed via the menu bar of the main window under `Calc' → `integral parameters'. This opens the `integral structural parameters' window, which provides a selection box at the top where the retrieval algorithms are available for selection. The button `calculate N(R) using' on the left side starts the algorithm using the input data from the main window.

In Fig. 5[link], the different size-distribution retrieval algorithms are applied to a simulated scattering curve of a bimodal distribution with Gaussian noise added which was introduced for benchmarking by Jemian (2013[Jemian, P. R. (2013). Sizes - General Size Distribution Program for SAS (Small-Angle Scattering) Analysis, https://github.com/prjemian/sizes.]) (file data/test.sas).

[Figure 5]
Figure 5
(a) Volume distributions DV(R) obtained by the different smoothing options in the EM iteration scheme. (b) Volume distributions DV(R) obtained by Tikhonov regularization. (c) Simulated experimental SAS data with noise and corresponding model scattering function. (d) The corner of the L-curve determines the optimum weighting factor for the cost function, which was chosen to be the entropy of the solution vector (blue) or the sum of its first (red) or second derivative (green), over the [{\cal G}]-test for the goodness of fit, which progresses from right to left with each iteration.

6. Structure factors

6.1. Ordered materials

To describe the influence of the spatial arrangement of scatterers on the SAS signal, the structure factors need to be taken into account. However, an analytical description of the structure factor is available for only a limited number of models. For ordered nano- and meso-scaled materials, the scatterers show diffraction spots on the detector. For those systems, most of the structure factors from the software package Scatter (Förster et al., 2010[Förster, S., Apostol, L. & Bras, W. (2010). J. Appl. Cryst. 43, 639-646.], 2005[Förster, S., Timmann, A., Konrad, M., Schellbach, C., Meyer, A., Funari, S. S., Mulvaney, P. & Knott, R. (2005). J. Phys. Chem. B, 109, 1347-1360.], 2011[Förster, S., Fischer, S., Zielske, K., Schellbach, C., Sztucki, M., Lindner, P. & Perlich, J. (2011). Adv. Colloid Interface Sci. 163, 53-83.]) are made available in SASfit for both aligned ordered structures and their powder averages. These models can be found in the `structure factor' tab of the fit or simulation window under `by plugins' → `ordered obj.', where the `iso' variants compute the structure factor for orientational averages and the `aniso' variants compute for aligned ordered structures. A few examples are shown in Fig. 6[link].

[Figure 6]
Figure 6
Structure factors of ordered mesoscopic structures, both for oriented crystals and their powder average. Structure factors of 3D crystals occurring in soft matter (SC, BCC, FCC, HCP, BCT – simple cubic structure, body-centred cubic, face-centred cubic, hexagonal close-packed, body-centered tetragonal), as well as 2D ordering (HEX, SQ, CREC) and 1D ordering (LAM), are supplied.

6.2. Ornstein–Zernike solver

In the case of a simple liquid, in the framework of the OZ equations the structure factor can be calculated numerically on the basis of the known pair interaction potential between two particles and a choice of a closure relation. Therefore, SASfit now includes an OZ solver to calculate structure factors for spherically symmetric pair interaction potentials of scatterers. At the moment, only the monodisperse case is implemented. To account for polydispersity, approximations like the decoupling approach (Kotlarchyk & Chen, 1983[Kotlarchyk, M. & Chen, S.-H. (1983). J. Chem. Phys. 79, 2461-2469.]), the local monodisperse approach (Pedersen, 1994[Pedersen, J. S. (1994). J. Appl. Cryst. 27, 595-608.]) and a simple partial structure-factor model, as well as a scaling approximation of a partial structure factor (Gazzillo et al., 1999[Gazzillo, D., Giacometti, A., Guido Della Valle, R., Venuti, E. & Carsughi, F. (1999). J. Chem. Phys. 111, 7636-7645.]), are implemented.

The GUI for the OZ solver is shown in Fig. 7[link]. It allows one to choose a closure relation out of a set of 19 different closure relations and combine it with a pair interaction potential, ranging from sticky hard spheres to the soft sphere potential, several types of depletion potentials, the Yukawa potential, a piecewise constant potential, and Derjaguin–Landau–Verwey–Overbeek (DLVO), star-like or Lennard–Jones potentials, to name a few. The list of closure relations and potentials is extended continuously. Depending on whether the potential is short ranged or long ranged, the step size and total number of steps in real space need to be adapted.

[Figure 7]
Figure 7
GUI for the OZ solver. The pair interaction potential together with a closure relation can be freely chosen by the user, as can the volume fraction of the particles. The internal algorithm can be configured as well, and the resulting structure factor is supplied by a special plug-in: SQ calculated by OZ solver. With this, however, only the radius can be fitted at the moment and all other parameters of the structure factor are fixed.

We have compared the results of the numerical OZ solver in SASfit with known analytical solutions, which are also available in this software package. For a two-Yukawa potential with a hard core, Liu et al. (2005[Liu, Y., Chen, W.-R. & Chen, S.-H. (2005). J. Chem. Phys. 122, 044507.]) have found an analytical solution using a closure for the mean spherical approximation (MSA). The potential reads as

[{{U^{{\rm HC2Y}}(r)} \over {k_{{\rm B}}T}} = \openup5pt\cases{\infty\quad\quad\quad\quad\quad\quad\quad\quad\quad\,\,\,\,\,\hbox{for }r\,\lt\, \sigma,\cr \displaystyle\sum\limits_{i = 1}^{N = 2}-K_{i}{{\exp\left\{-({{1}/{\lambda_{i}}})\left [({{r} / {\sigma}})-1\right]\right\}} \over {r/\sigma}}\quad\hbox{for }r\geq\sigma.} \eqno (8)]

In Fig. 8[link], the structure factor of the analytically solved two-Yukawa potential is compared with the numerical solution of the OZ equations using the same MSA closure. The differences between the two solutions are visually indistinguishable.

[Figure 8]
Figure 8
The numerical solutions of the OZ equations have been determined on a grid with 214 = 16 364 points and a width of Δr = σ/500, where σ is the hard core diameter. The parameters of the potentials are chosen so that they reproduce the cluster peak as discussed by Liu et al. (2005[Liu, Y., Chen, W.-R. & Chen, S.-H. (2005). J. Chem. Phys. 122, 044507.]), caused by a long-range attractive interaction potential contribution. The solutions of the numerical OZ solver (dashed lines) overlay with the analytical solutions (solid lines). Therefore, the numerical OZ solver provides equivalent results to the analytical solutions.

The closure recommended for a certain interaction potential is normally verified by MD simulations. Therefore, literature needs to be consulted to find the most appropriate combination of a potential and a closure. In the case of a piecewise linear potential, Santos et al. (2012[Santos, A., Yuste, S. B. & Lopez de Haro, M. (2012). Condens. Matter Phys. 15, 23602.], 2013[Santos, A., Yuste, S. B., Lopez de Haro, M., Bárcenas, M. & Orea, P. (2013). J. Chem. Phys. 139, 074505.]) have found a quasi-analytical solution without introducing any closure relation, namely the `rational functional approximation' (RFA). In Fig. 9[link] the RFA solution is compared with the numerical solution of the OZ solver using different closure relations. In the first case of a strong attractive well of E1 = −kBT followed by a repulsive shoulder of E2 = kBT/2, all closures show a significant difference from each other as well as a clear difference from the RFA approximation. To decide which closure is more appropriate for this potential, MD simulations would be needed. In the second example of Fig. 9[link], a less attractive well of E1 = −kBT/2 has been chosen, and all closures as well as the RFA approximation yield very similar features. More details about solving the OZ equations can be found in the literature (Caccamo, 1996[Caccamo, C. (1996). Phys. Rep. 274, 1-105.]; Bomont, 2008[Bomont, J.-M. (2008). Advances in Chemical Physics, Vol. 139, ch. 1, pp. 1-84. Hoboken: John Wiley & Sons.]; Hansen & McDonald, 2013[Hansen, J.-P. & McDonald, I. R. (2013). Theory of Simple Liquids: with Applications to Soft Matter, 4th ed. Cambridge: Academic Press.]; Santos, 2016[Santos, A. (2016). A Concise Course on the Theory of Classical Liquids. Cham: Springer International Publishing.]; and references therein). Suggestions about combinations of potentials and the closures are also given there.

[Figure 9]
Figure 9
Structure factors of two different piecewise constant potentials shown in the insets are solved by the analytical solution of the RFA as well as by using different closures solved numerically with the OZ equations, namely Percus–Yevick (PY) (Percus & Yevick, 1958[Percus, J. K. & Yevick, G. J. (1958). Phys. Rev. 110, 1-13.]), hypernetted chain (HNC), MSA (Hansen & McDonald, 2013[Hansen, J.-P. & McDonald, I. R. (2013). Theory of Simple Liquids: with Applications to Soft Matter, 4th ed. Cambridge: Academic Press.]) and modified MSA (mMSA) (Gazzillo & Giacometti, 2003[Gazzillo, D. & Giacometti, A. (2003). Mol. Phys. 101, 2171-2179.], 2004[Gazzillo, D. & Giacometti, A. (2004). J. Chem. Phys. 120, 4742-4754.]). For extreme values of the attractive well, such as those shown in (a), the closures might not be valid anymore and have to be verified against MD simulations; for more details, see the main text.

7. Conclusions and outlook

We have highlighted selected additions and updates to the SASfit program that may be most useful to interested users since the last publication concerning this software package. The technical foundation of the program is extended continuously with state-of-the-art algorithms according to the needs and challenges faced when new models and efficient problem-solving strategies are implemented. The plug-in system is one part of that foundation and it will be more extensively used in the future. New models are implemented as plug-ins by default, while older model functions from the early beginnings of the program will also be converted to plug-in functions. Recent changes to the plug-in system allow third parties to make use of the extensive library of models more easily and, moreover, they lay the groundwork to allow for interface packages to other programming languages. As an example, users can create Python-compatible modules from SASfit model plug-ins. For this endeavour, the current continuous integration setup is a suitable starting point. It builds software packages for all supported platforms on the fly and allows users to test code changes within hours instead of waiting for the next release. Prospectively, it will be extended to build further binary packages, for other programming languages, for example, and include more testing of basic program functions. Also, generating more of the available documentation automatically, such as the manual and the developer documentation, is planned.

In addition to new form and structure factors, some of which were presented here, a challenge for the future is the combination of regularization techniques with fits of multiple data sets from the same sample under different conditions. This scenario, also referred to as `global fitting', aims to take advantage of the expanded information content available for fitting a form factor of the scatterers and employing regularization to determine a size distribution valid for all measurements considered. While this would not be possible with a single measurement, the additional information provided by multiple measurements could be sufficient to derive shape and size. The applicability of this scheme will only be proven by actual implementation.

We have presented the OZ solver as a versatile tool for numerically determining particle interactions and the resulting structure factor when no analytical solution is available, with the goal to include its effects in the SAS intensity model used for fitting with SASfit. At the moment it is a separate part of the program with little integration into the main curve-fitting workflow. Changes to achieve a more flexible integration of the numerically determined structure factors within the model setup are likely in future.

8. Related literature

The following additional references are cited in the supporting information for this article: Anderson (1965[Anderson, D. G. (1965). J. ACM, 12, 547-560.]), Arslan et al. (2009[Arslan, K., Bulca, B., Bayram, B., Ozturk, G. & Ugail, H. (2009). 2009 International Conference on CyberWorlds, 7-11 September 2009, Bradford, UK, IEEE.]), Barr (1981[Barr (1981). IEEE Comput. Grap. Appl. 1, 11-23.]), Biggs (1998[Biggs, D. S. (1998). PhD thesis, The University of Auckland, New Zealand. https://hdl.handle.net/2292/1760.]), Biggs & Andrews (1995[Biggs, D. S. C. & Andrews, M. (1995). Electron. Lett. 31, 1985-1986.], 1997[Biggs, D. S. C. & Andrews, M. (1997). Appl. Opt. 36, 1766.]), Blanc & Schlick (1996[Blanc, C. & Schlick, C. (1996). Vis. Comput. 12, 420-428.]), Chae et al. (2019[Chae, M., Martin, R. & Walker, S. G. (2019). Stat. Comput. 29, 645-654.]), Donatelli & Reichel (2014[Donatelli, M. & Reichel, L. (2014). J. Comput. Appl. Math. 272, 334-349.]), Fougerolle et al., 2005a[Fougerolle, Y., Gribok, A., Foufou, S., Truchetet, F. & Abidi, M. (2005a). IEEE Trans. Vis. Comput. Graph. 11, 529-539.],b[Fougerolle, Y., Gribok, A., Foufou, S., Truchetet, F. & Abidi, M. (2005b). Proc. Pac. Graph. pp. 169-172.], 2006[Fougerolle, Y. D., Gribok, A., Foufou, S., Truchetet, F. & Abidi, M. A. (2006). J. Comput. Sci. Technol. 21, 238-243.], 2007[Fougerolle, Y. D., Gribok, A., Foufou, S., Truchetet, F. & Abidi, M. A. (2007). Proc. SPIE, 6356, 63560M.]), Freund (1993[Freund, R. W. (1993). SIAM J. Sci. Comput. 14, 470-482.]), Frigo & Johnson (1997[Frigo, M. & Johnson, S. G. (1997). Technical Report. MIT-LCS-TR-728. MIT Laboratory for Computer Science, Cambridge, Massachusetts, USA, https://www.fftw.org/fftw-paper.pdf.]), Gielis (2003[Gielis, J. (2003). Am. J. Bot. 90, 333-338.]), Hansen & O'Leary (1993[Hansen, P. C. & O'Leary, D. P. (1993). SIAM J. Sci. Comput. 14, 1487-1503.]), Hansen & Müller (1996[Hansen, S. & Müller, J. J. (1996). Maximum Entropy and Bayesian Methods, pp. 69-78. Dordrecht: Springer Netherlands.]), Henderson & Varadhan (2019[Henderson, N. C. & Varadhan, R. (2019). J. Comput. Graph. Stat. 28, 834-846.]), Homeier et al. (1995[Homeier, H. H., Rast, S. & Krienke, H. (1995). Comput. Phys. Commun. 92, 188-202.]), Horne (1985[Horne, K. (1985). Mon. Not. R. Astron. Soc. 213, 129-141.]), Jiang et al. (2017[Jiang, J., Huang, J. & Zhang, G. (2017). IEEE Sens. J. 17, 1306-1315.]), Keelin et al. (2019[Keelin, T. W., Chrisman, L. & Savage, S. L. (2019). The Metalog Distributions and Extremely Accurate Sums of Lognormals in Closed Form, pp. 3074-3085. IEEE Press.]), Kelley (2003[Kelley, C. T. (2003). Solving Nonlinear Equations with Newton's Method. Philadelphia: Society for Industrial and Applied Mathematics.]), Kullback & Leibler (1951[Kullback, S. & Leibler, R. A. (1951). Ann. Math. Stat. 22, 79-86.]), Lewitt & Muehllehner (1986[Lewitt, R. M. & Muehllehner, G. (1986). IEEE Trans. Med. Imaging, 5, 16-22.]), Likos (2001[Likos, C. N. (2001). Phys. Rep. 348, 267-439.]), Niederreiter (1992[Niederreiter, H. (1992). Random Number Generation and Quasi-Monte Carlo Methods. Philadelphia: Society for Industrial and Applied Mathematics.]), Saad (1993[Saad, Y. (1993). SIAM J. Sci. Comput. 14, 461-469.]), Saad & Schultz (1986[Saad, Y. & Schultz, M. H. (1986). SIAM J. Sci. Stat. Comput. 7, 856-869.]), Steenstrup & Hansen (1994[Steenstrup, S. & Hansen, S. (1994). J. Appl. Cryst. 27, 574-580.]), Svergun et al. (1988[Svergun, D. I., Semenyuk, A. V. & Feigin, L. A. (1988). Acta Cryst. A44, 244-250.]), Toth & Kelley (2015[Toth, A. & Kelley, C. T. (2015). SIAM J. Numer. Anal. 53, 805-819.]), van der Vorst (1992[Vorst, H. A. van der (1992). SIAM J. Sci. Stat. Comput. 13, 631-644.]), Walker & Ni (2011[Walker, H. F. & Ni, P. (2011). SIAM J. Numer. Anal. 49, 1715-1735.]) and Wang & Miller (2014[Wang, H. & Miller, P. C. (2014). IEEE Trans. Image Process. 23, 848-854.]).

Supporting information


Acknowledgements

Open access funding enabled and organized by Projekt DEAL.

References

First citationAnderson, D. G. (1965). J. ACM, 12, 547–560.  CrossRef Google Scholar
First citationArslan, K., Bulca, B., Bayram, B., Ozturk, G. & Ugail, H. (2009). 2009 International Conference on CyberWorlds, 7–11 September 2009, Bradford, UK, IEEE.  Google Scholar
First citationBakry, M., Haddar, H. & Bunău, O. (2019). J. Appl. Cryst. 52, 926–936.  CrossRef CAS IUCr Journals Google Scholar
First citationBarr (1981). IEEE Comput. Grap. Appl. 1, 11–23.  Google Scholar
First citationBaxter, R. (1968). J. Chem. Phys. 49, 2770–2774.  CrossRef CAS Google Scholar
First citationBenvenuto, F. (2017). SIAM J. Numer. Anal. 55, 2187–2203.  CrossRef Google Scholar
First citationBenvenuto, F., Haddar, H. & Lantz, B. (2016). SIAM J. Appl. Math. 76, 276–292.  Web of Science CrossRef Google Scholar
First citationBerk, N. F. (1991). Phys. Rev. A, 44, 5069–5079.  CrossRef CAS PubMed Web of Science Google Scholar
First citationBiehl, R. (2019). PLoS One, 14, e0218789.  CrossRef PubMed Google Scholar
First citationBiggs, D. S. (1998). PhD thesis, The University of Auckland, New Zealand. https://hdl.handle.net/2292/1760Google Scholar
First citationBiggs, D. S. C. & Andrews, M. (1995). Electron. Lett. 31, 1985–1986.  CrossRef Google Scholar
First citationBiggs, D. S. C. & Andrews, M. (1997). Appl. Opt. 36, 1766.  CrossRef PubMed Google Scholar
First citationBlanc, C. & Schlick, C. (1996). Vis. Comput. 12, 420–428.  CrossRef Google Scholar
First citationBomont, J.-M. (2008). Advances in Chemical Physics, Vol. 139, ch. 1, pp. 1–84. Hoboken: John Wiley & Sons.  Google Scholar
First citationBorowko, M., Sokolowski, S. & Henderson, D. (2000). Surfactant Science, ch. 3, pp. 135–165. Boca Raton: CRC Press.  Google Scholar
First citationBreßler, I., Kohlbrecher, J. & Thünemann, A. F. (2015). J. Appl. Cryst. 48, 1587–1598.  Web of Science CrossRef IUCr Journals Google Scholar
First citationByrne, C. & Eggermont, P. P. B. (2011). Handbook of Mathematical Methods in Imaging, pp. 271–344. New York: Springer.  Google Scholar
First citationCaccamo, C. (1996). Phys. Rep. 274, 1–105.  CrossRef CAS Web of Science Google Scholar
First citationChae, M., Martin, R. & Walker, S. G. (2019). Stat. Comput. 29, 645–654.  CrossRef Google Scholar
First citationDebye, P., Anderson, H. R. & Brumberger, H. (1957). J. Appl. Phys. 28, 679–683.  CrossRef CAS Web of Science Google Scholar
First citationDebye, P. & Bueche, A. M. (1949). J. Appl. Phys. 20, 518–525.  CrossRef CAS Web of Science Google Scholar
First citationDempster, A. P., Laird, N. M. & Rubin, D. B. (1977). J. R. Stat. Soc. Ser. B (Methodological), 39, 1–22.  Google Scholar
First citationDonatelli, M. & Reichel, L. (2014). J. Comput. Appl. Math. 272, 334–349.  CrossRef Google Scholar
First citationDoucet, M., Cho, J. H., Alina, G., Attala, Z., Bakker, J., Bouwman, W., Bourne, R., Butler, P., Cadwallader-Jones, I., Campbell, K., Cooper-Benun, T., Durniak, C., Forster, L., Gilbert, P., Gonzalez, M., Heenan, R., Jackson, A., King, S., Kienzle, P., Krzywon, J., Maranville, B., Murphy, R., Nielsen, T., O'Driscoll, L., Potrzebowski, W., Prescott, S., Ferraz Leal, R., Rozyczko, P., Snow, T., Washington, A. & Wolf, C. (2022). SasView. Version 5.0.5. https://www.sasview.org/Google Scholar
First citationEggermont, P. P. B. (1999). Appl. Math. Optim. 39, 75–91.  CrossRef Google Scholar
First citationEggermont, P. P. B. & LaRiccia, V. N. (1995). Ann. Statist. 23, 199–220.  CrossRef Google Scholar
First citationElliott, J. A. & Hanna, S. (1999). J. Appl. Cryst. 32, 1069–1083.   CrossRef CAS IUCr Journals Google Scholar
First citationFörster, S., Apostol, L. & Bras, W. (2010). J. Appl. Cryst. 43, 639–646.  Web of Science CrossRef IUCr Journals Google Scholar
First citationFörster, S., Fischer, S., Zielske, K., Schellbach, C., Sztucki, M., Lindner, P. & Perlich, J. (2011). Adv. Colloid Interface Sci. 163, 53–83.  Web of Science PubMed Google Scholar
First citationFörster, S., Timmann, A., Konrad, M., Schellbach, C., Meyer, A., Funari, S. S., Mulvaney, P. & Knott, R. (2005). J. Phys. Chem. B, 109, 1347–1360.  Web of Science PubMed Google Scholar
First citationFougerolle, Y., Gribok, A., Foufou, S., Truchetet, F. & Abidi, M. (2005a). IEEE Trans. Vis. Comput. Graph. 11, 529–539.  CrossRef PubMed Google Scholar
First citationFougerolle, Y., Gribok, A., Foufou, S., Truchetet, F. & Abidi, M. (2005b). Proc. Pac. Graph. pp. 169–172.  Google Scholar
First citationFougerolle, Y. D., Gribok, A., Foufou, S., Truchetet, F. & Abidi, M. A. (2006). J. Comput. Sci. Technol. 21, 238–243.  CrossRef Google Scholar
First citationFougerolle, Y. D., Gribok, A., Foufou, S., Truchetet, F. & Abidi, M. A. (2007). Proc. SPIE, 6356, 63560M.  CrossRef Google Scholar
First citationFranke, D. & Svergun, D. I. (2009). J. Appl. Cryst. 42, 342–346.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationFreund, R. W. (1993). SIAM J. Sci. Comput. 14, 470–482.  CrossRef Google Scholar
First citationFrigo, M. & Johnson, S. G. (1997). Technical Report. MIT-LCS-TR-728. MIT Laboratory for Computer Science, Cambridge, Massachusetts, USA, https://www.fftw.org/fftw-paper.pdfGoogle Scholar
First citationFrigo, M. & Johnson, S. G. (2005). Proc. IEEE, 93, 216–231.  Web of Science CrossRef Google Scholar
First citationGalassi, M., Davies, J., Theiler, J., Gough, B., Jungman, G., Booth, M. & Rossi, F. (2009). GNU Scientific Library Reference Manual. Bristol: Network Theory Ltd.  Google Scholar
First citationGazzillo, D. & Giacometti, A. (2003). Mol. Phys. 101, 2171–2179.  CrossRef CAS Google Scholar
First citationGazzillo, D. & Giacometti, A. (2004). J. Chem. Phys. 120, 4742–4754.  CrossRef PubMed CAS Google Scholar
First citationGazzillo, D., Giacometti, A., Guido Della Valle, R., Venuti, E. & Carsughi, F. (1999). J. Chem. Phys. 111, 7636–7645.  CrossRef CAS Google Scholar
First citationGazzola, S., Hansen, P. C. & Nagy, J. G. (2018). Numer. Algor. 81, 773–811.  CrossRef Google Scholar
First citationGdovinová, V., Schroer, M. A., Tomašovičová, N., Appel, I., Behrens, S., Majorošová, J., Kováč, J., Svergun, D. I. & Kopčanský, P. (2017). Soft Matter, 13, 7890–7896.  PubMed Google Scholar
First citationGielis, J. (2003). Am. J. Bot. 90, 333–338.  Web of Science CrossRef PubMed Google Scholar
First citationGille, W. (2016). Particle and Particle Systems Characterization. Boca Raton: Taylor & Francis Ltd.  Google Scholar
First citationGlatter, O. (1977). J. Appl. Cryst. 10, 415–421.  CrossRef IUCr Journals Web of Science Google Scholar
First citationGommes, C. J. (2018). Microporous Mesoporous Mater. 257, 62–78.  Web of Science CrossRef CAS Google Scholar
First citationGommes, C. J. & Roberts, A. P. (2008). Phys. Rev. E, 77, 041409.  Web of Science CrossRef Google Scholar
First citationGräf, M. & Potts, D. (2011). Numer. Math. 119, 699–724.  Google Scholar
First citationGrant, T. D. (2018). Nat. Methods, 15, 191–193.  Web of Science CrossRef CAS PubMed Google Scholar
First citationGrant, T. D. (2021). Nat. Methods, 18, 246–248.  CrossRef CAS PubMed Google Scholar
First citationHansen, J.-P. & Hayter, J. B. (1982). Mol. Phys. 46, 651–656.  CrossRef CAS Web of Science Google Scholar
First citationHansen, J.-P. & McDonald, I. R. (2013). Theory of Simple Liquids: with Applications to Soft Matter, 4th ed. Cambridge: Academic Press.  Google Scholar
First citationHansen, P. C. (1998). Rank Deficient and Discrete Ill-Posed Problems. Philadelphia: Society for Industrial and Applied Mathematics.  Google Scholar
First citationHansen, P. C. (2001). Computational Inverse Problems in Electrocardiology. Southampton: WIT Press.  Google Scholar
First citationHansen, P. C. & O'Leary, D. P. (1993). SIAM J. Sci. Comput. 14, 1487–1503.  CrossRef Web of Science Google Scholar
First citationHansen, S. (2000). J. Appl. Cryst. 33, 1415–1421.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationHansen, S. & Müller, J. J. (1996). Maximum Entropy and Bayesian Methods, pp. 69–78. Dordrecht: Springer Netherlands.  Google Scholar
First citationHansen, S. & Pedersen, J. S. (1991). J. Appl. Cryst. 24, 541–548.  CrossRef Web of Science IUCr Journals Google Scholar
First citationHardin, R. H. & Sloane, N. J. A. (1996). Discrete Comput. GEOM, 15, 429–441.  CrossRef Google Scholar
First citationHenderson, N. C. & Varadhan, R. (2019). J. Comput. Graph. Stat. 28, 834–846.  CrossRef Google Scholar
First citationHindmarsh, A. C., Brown, P. N., Grant, K. E., Lee, S. L., Serban, R., Shumaker, D. E. & Woodward, C. S. (2005). ACM Trans. Math. Softw. 31, 363–396.  CrossRef Google Scholar
First citationHomeier, H. H., Rast, S. & Krienke, H. (1995). Comput. Phys. Commun. 92, 188–202.  CrossRef CAS Google Scholar
First citationHorne, K. (1985). Mon. Not. R. Astron. Soc. 213, 129–141.  CrossRef Google Scholar
First citationIlavsky, J. & Jemian, P. R. (2009). J. Appl. Cryst. 42, 347–353.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationIngham, B., Li, H., Allen, E. L. & Toney, M. F. (2011). J. Appl. Cryst. 44, 221–224.  CrossRef CAS IUCr Journals Google Scholar
First citationJaksch, S., Pipich, V. & Frielinghaus, H. (2021). J. Appl. Cryst. 54, 1580–1593.  CrossRef CAS IUCr Journals Google Scholar
First citationJemian, P. R. (2013). Sizes – General Size Distribution Program for SAS (Small-Angle Scattering) Analysis, https://github.com/prjemian/sizesGoogle Scholar
First citationJensen, G. V. & Barker, J. G. (2018). J. Appl. Cryst. 51, 1455–1466.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationJiang, J., Huang, J. & Zhang, G. (2017). IEEE Sens. J. 17, 1306–1315.  CrossRef Google Scholar
First citationJinnai, H., Nishikawa, Y., Chen, S.-H., Koizumi, S. & Hashimoto, T. (2000). Phys. Rev. E, 61, 6773–6780.  CrossRef CAS Google Scholar
First citationJohnson, S. G. (2020). Multi-dimensional Adaptive Integration (Cubature) in C. V1.0.3. https://github.com/stevengj/cubatureGoogle Scholar
First citationKeelin, T. (2021). The Metalog Distributions, https://metalogs.org/Google Scholar
First citationKeelin, T. W. (2016). Decis. Anal. 13, 243–277.  CrossRef Google Scholar
First citationKeelin, T. W., Chrisman, L. & Savage, S. L. (2019). The Metalog Distributions and Extremely Accurate Sums of Lognormals in Closed Form, pp. 3074–3085. IEEE Press.  Google Scholar
First citationKeelin, T. W. & Powley, B. W. (2011). Decis. Anal. 8, 206–219.  CrossRef Google Scholar
First citationKelley, C. T. (2003). Solving Nonlinear Equations with Newton's Method. Philadelphia: Society for Industrial and Applied Mathematics.  Google Scholar
First citationKlimeš, L. (2002). Pure Appl. Geophys. 159, 1811–1831.  Google Scholar
First citationKohlbrecher, J. & Studer, A. (2017). J. Appl. Cryst. 50, 1395–1403.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationKonarev, P. V. & Svergun, D. I. (2021). Nat. Methods, 18, 244–245.  CrossRef CAS PubMed Google Scholar
First citationKotlarchyk, M. & Chen, S.-H. (1983). J. Chem. Phys. 79, 2461–2469.  CrossRef CAS Web of Science Google Scholar
First citationKrauthäuser, H. G., Lennartz, W. & Nimtz, G. (1996). J. Appl. Cryst. 29, 7–15.  CrossRef Web of Science IUCr Journals Google Scholar
First citationKullback, S. & Leibler, R. A. (1951). Ann. Math. Stat. 22, 79–86.  CrossRef Web of Science Google Scholar
First citationLebedev, V. (1975). USSR Comput. Math. Math. Phys. 15, 44–51.  CrossRef Google Scholar
First citationLebedev, V. (1976). USSR Comput. Math. Math. Phys. 16, 10–24.  CrossRef Google Scholar
First citationLebedev, V. I. (1977). Siberian Math. J. 18, 99–107.  CrossRef Google Scholar
First citationLewitt, R. M. & Muehllehner, G. (1986). IEEE Trans. Med. Imaging, 5, 16–22.  CrossRef PubMed CAS Google Scholar
First citationLiebi, M. (2013). PhD thesis, ETH Zürich, Switzerland  Google Scholar
First citationLiebi, M., Kohlbrecher, J., Ishikawa, T., Fischer, P., Walde, P. & Windhab, E. J. (2012). Langmuir, 28, 10905–10915.  CrossRef CAS PubMed Google Scholar
First citationLikos, C. N. (2001). Phys. Rep. 348, 267–439.  Web of Science CrossRef CAS Google Scholar
First citationLiu, Y., Chen, W.-R. & Chen, S.-H. (2005). J. Chem. Phys. 122, 044507.  CrossRef Google Scholar
First citationLucy, L. B. (1974). Astron. J. 79, 745.  CrossRef Web of Science Google Scholar
First citationLucy, L. B. (1994). Astron. Astrophys. 289, 983–994.  Google Scholar
First citationLuo, Z., Marson, D., Ong, Q. K., Loiudice, A., Kohlbrecher, J., Radulescu, A., Krause-Heuer, A., Darwish, T., Balog, S., Buonsanti, R., Svergun, D. I., Posocco, P. & Stellacci, F. (2018). Nat. Commun. 9, 1343.   Google Scholar
First citationMarques, R., Bouville, C., Ribardière, M., Santos, L. P. & Bouatouch, K. (2013). Comput. Graph. Forum, 32, 134–143.  CrossRef Google Scholar
First citationMori, M. (1990). Proceedings of the International Congress of Mathematicians, August 21–29, 1990, Kyoto, Japan, pp. 1585–1594. Berlin, Heidelberg, New York, Tokyo: Springer-Verlag.  Google Scholar
First citationMori, M. & Sugihara, M. (2001). J. Comput. Appl. Math. 127, 287–296.  CrossRef Google Scholar
First citationNägele, G. (2004). The Physics of Colloidal Soft Matter. Warsaw: Institute of Fundamental Technological Research.  Google Scholar
First citationNiederreiter, H. (1992). Random Number Generation and Quasi-Monte Carlo Methods. Philadelphia: Society for Industrial and Applied Mathematics.  Google Scholar
First citationOoura, T. & Mori, M. (1991). J. Comput. Appl. Math. 38, 353–360.  CrossRef Web of Science Google Scholar
First citationOrnstein, L. & Zernike, F. (1914). Proc. K. Akad. Wetenschappen Amsterdam, 17, 793–806.  Google Scholar
First citationPedersen, J. S. (1994). J. Appl. Cryst. 27, 595–608.  CrossRef Web of Science IUCr Journals Google Scholar
First citationPedersen, J. S. (1997). Adv. Colloid Interface Sci. 70, 171–210.  CrossRef CAS Web of Science Google Scholar
First citationPedersen, J. S. (2002). Modelling of Small-Angle Scattering Data from Colloids and Polymer Systems, in Neutron, X-rays and Light. Scattering Methods Applied to Soft Condensed Matter, ch. 16, pp. 391–420. Amsterdam: Elsevier Science.  Google Scholar
First citationPedersen, J. S. (2008). Soft Matter Characterization, pp. 191–233. Dordrecht: Springer Netherlands.  Google Scholar
First citationPedersen, M. C., Arleth, L. & Mortensen, K. (2013). J. Appl. Cryst. 46, 1894–1898.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationPercus, J. K. & Yevick, G. J. (1958). Phys. Rev. 110, 1–13.  CrossRef CAS Web of Science Google Scholar
First citationPowley, B. W. (2013). PhD thesis, Department of Management Science and Engineering, Stanford University, USA. https://purl.stanford.edu/yn842pf8910Google Scholar
First citationPress, W. H., Teukolsky, S. A., Vetterling, W. T. & Flannery, B. P. (1992). Numerical Recipes in C: the Art of Scientific Computing, 2nd ed. New York: Cambridge University Press.  Google Scholar
First citationRichardson, W. H. (1972). J. Opt. Soc. Am. 62, 55.  CrossRef Google Scholar
First citationSaad, Y. (1993). SIAM J. Sci. Comput. 14, 461–469.  CrossRef Google Scholar
First citationSaad, Y. & Schultz, M. H. (1986). SIAM J. Sci. Stat. Comput. 7, 856–869.  CrossRef Google Scholar
First citationSantos, A. (2016). A Concise Course on the Theory of Classical Liquids. Cham: Springer International Publishing.  Google Scholar
First citationSantos, A., Yuste, S. B., Lopez de Haro, M., Bárcenas, M. & Orea, P. (2013). J. Chem. Phys. 139, 074505.  CrossRef PubMed Google Scholar
First citationSantos, A., Yuste, S. B. & Lopez de Haro, M. (2012). Condens. Matter Phys. 15, 23602.  CrossRef Google Scholar
First citationSchelten, J. & Schmatz, W. (1980). J. Appl. Cryst. 13, 385–390.  CrossRef CAS IUCr Journals Web of Science Google Scholar
First citationSchroer, M. A., Hu, P.-S., Tomasovicova, N., Batkova, M., Zakutanska, K., Wu, P.-Y. & Kopcansky, P. (2021). Molecules, 26, 4864.  CrossRef PubMed Google Scholar
First citationSharma, R. V. & Sharma, K. C. (1977). Physica A, 89, 213–218.  CrossRef Web of Science Google Scholar
First citationSkilling, J. & Bryan, R. K. (1984). Mon. Not. R. Astron. Soc. 211, 111–124.  CrossRef Web of Science Google Scholar
First citationSteenstrup, S. & Hansen, S. (1994). J. Appl. Cryst. 27, 574–580.  CrossRef CAS Web of Science IUCr Journals Google Scholar
First citationSvergun, D. I. (1992). J. Appl. Cryst. 25, 495–503.  CrossRef CAS Web of Science IUCr Journals Google Scholar
First citationSvergun, D. (1999). Biophys. J. 76, 2879–2886.  Web of Science CrossRef PubMed CAS Google Scholar
First citationSvergun, D., Barberato, C. & Koch, M. H. J. (1995). J. Appl. Cryst. 28, 768–773.  CrossRef CAS Web of Science IUCr Journals Google Scholar
First citationSvergun, D. I., Semenyuk, A. V. & Feigin, L. A. (1988). Acta Cryst. A44, 244–250.  CrossRef Web of Science IUCr Journals Google Scholar
First citationTikhonov, A. N. (1943). Dokl. Akad. Nauk SSSR, 39, 195–198.  Google Scholar
First citationTikhonov, A. N., Goncharsky, A. V., Stepanov, V. V. & Yagola, A. G. (1995). Numerical Methods for the Solution of Ill-Posed Problems. Dordrecht: Springer Netherlands.  Google Scholar
First citationToth, A. & Kelley, C. T. (2015). SIAM J. Numer. Anal. 53, 805–819.  CrossRef Google Scholar
First citationVardi, Y. & Lee, D. (1993). J. R. Stat. Soc. Ser. B, 55, 569–598.  Google Scholar
First citationVestergaard, B. & Hansen, S. (2006). J. Appl. Cryst. 39, 797–804.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationVorst, H. A. van der (1992). SIAM J. Sci. Stat. Comput. 13, 631–644.  Google Scholar
First citationWalker, H. F. & Ni, P. (2011). SIAM J. Numer. Anal. 49, 1715–1735.  CrossRef Google Scholar
First citationWang, H. & Miller, P. C. (2014). IEEE Trans. Image Process. 23, 848–854.  CrossRef PubMed Google Scholar
First citationWertheim, M. S. (1963). Phys. Rev. Lett. 10, 321–323.  CrossRef Web of Science Google Scholar
First citationWikipedia Contributors (2021). Metalog Distribution, https://en.wikipedia.org/wiki/Metalog_distributionGoogle Scholar
First citationYang, F., Wang, A., Dong, L. & Ming, H. (2013). Opt. Eng. 52, 043605.  CrossRef Google Scholar

This is an open-access article distributed under the terms of the Creative Commons Attribution (CC-BY) Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are cited.

Journal logoJOURNAL OF
APPLIED
CRYSTALLOGRAPHY
ISSN: 1600-5767
Follow J. Appl. Cryst.
Sign up for e-alerts
Follow J. Appl. Cryst. on Twitter
Follow us on facebook
Sign up for RSS feeds