A new paper out in Journal of Applied Crystallography describes a method for fitting small angle scattering profiles with a smooth function as implemented in the denss.fit_data.py script in DENSS. The open access article, titled “Describing small angle scattering profiles by a limited set of intensities“, describes in detail our approach to using an indirect Fourier transform (IFT) based on a trigonometric series (using Shannon information theory) to reduce a scattering profile to a discrete set of a few intensities while retaining all of the information inherent in the raw scattering profile.
In addition to the detailed mathematical derivation provided in the article and the supplementary material, we also provide a command line and GUI interface to the algorithm through the denss.fit_data.py script. This program will automatically estimate the maximum particle dimension and an appropriate smoothing factor to generate a high quality fit to the intensity data while simultaneously providing a smooth pair distribution function (P(r)). This algorithm is one of the first to provide an analytical approach to smoothing the P(r) curve (called regularization), in contrast to the typical numerical approaches. One advantage of this approach is the explicit mathematical derivation of error bars, which are shown in the article to be accurate estimates of the true errors present in the data.
The algorithm also calculates directly from the reduced set of intensities several useful values describing the particle including forward scattering, radius of gyration, average vector length, Porod volume, Volume of correlation, and length of correlation, each with robust error estimates. Using both simulated and experimental data we show that denss.fit_data.py provides superior results with greater accuracy and precision than existing software.