McSAS3: improved Monte Carlo small-angle scattering analysis software for dilute and dense scatterers
Brian Richard Pauw, Ingo Breßler
TL;DR
McSAS3 addresses the bottleneck of time-consuming, bias-prone SAS analysis by providing a refactored, Python-based Monte Carlo framework with a GUI for automated data pipelines. The core supports CLI/Jupyter usage, YAML-configured read-in, a large library of SasModels, multi-threaded optimization, and post-hoc histogram rebinning, while the GUI aids template creation and batch processing. The paper demonstrates the approach with three use cases—bimodal gold nanoparticles, bimodal silica powders, and custom simulated form factors—highlighting improved flexibility, speed, and applicability to dilute and dense scatterers. This work enables near-real-time, form-free morphology extraction in automated laboratory and synchrotron workflows, reducing user bias and facilitating operando analyses.
Abstract
McSAS3 is the refactored successor to the original McSAS Monte Carlo small-angle scattering analysis software. It is intended to be integrated in automated data processing pipelines, but can also be used to process individual (batches of) scattering data. McSAS3 comes with a graphical user interface (McSAS3GUI), complete with guides, examples and videos. McSAS3GUI will help to generate and test the three configuration files that McSAS3 needs for data read-in, Monte Carlo optimization and histogramming. The user interface can also be used to process individual files or batches, and can be augmented with machine-specific use templates. The Monte Carlo (MC) approach is able to fit most practical scattering patterns extremely well, resulting in form-free model parameter distributions. Theoretically, these can be distributions on any model parameter, but in practice the MC-optimized parameter is usually a (volume-weighted) size distribution, in absolute volume fraction for absolute-scaled data.
