refnx: neutron and X‐ray reflectometry analysis in Python

refnx is a model‐based neutron and X‐ray reflectometry data analysis package written in Python. It is cross platform and has been tested on Linux, macOS and Windows. Its graphical user interface is browser based, through a Jupyter notebook. Model construction is modular, being composed from a series...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Journal of applied crystallography Jg. 52; H. 1; S. 193 - 200
Hauptverfasser: Nelson, Andrew R. J., Prescott, Stuart W.
Format: Journal Article
Sprache:Englisch
Veröffentlicht: 5 Abbey Square, Chester, Cheshire CH1 2HU, England International Union of Crystallography 01.02.2019
Blackwell Publishing Ltd
Schlagworte:
ISSN:1600-5767, 0021-8898, 1600-5767
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:refnx is a model‐based neutron and X‐ray reflectometry data analysis package written in Python. It is cross platform and has been tested on Linux, macOS and Windows. Its graphical user interface is browser based, through a Jupyter notebook. Model construction is modular, being composed from a series of components that each describe a subset of the interface, parameterized in terms of physically relevant parameters (volume fraction of a polymer, lipid area per molecule etc.). The model and data are used to create an objective, which is used to calculate the residuals, log‐likelihood and log‐prior probabilities of the system. Objectives are combined to perform co‐refinement of multiple data sets and mixed‐area models. Prior knowledge of parameter values is encoded as probability distribution functions or bounds on all parameters in the system. Additional prior probability terms can be defined for sets of components, over and above those available from the parameters alone. Algebraic parameter constraints are available. The software offers a choice of fitting approaches, including least‐squares (global and gradient‐based optimizers) and a Bayesian approach using a Markov‐chain Monte Carlo algorithm to investigate the posterior distribution of the model parameters. The Bayesian approach is useful for examining parameter covariances, model selection and variability in the resulting scattering length density profiles. The package is designed to facilitate reproducible research; its use in Jupyter notebooks, and subsequent distribution of those notebooks as supporting information, permits straightforward reproduction of analyses. The refnx Python modules for neutron and X‐ray reflectometry data analysis are introduced. A sample analysis illustrates a Bayesian approach using a Markov‐chain Monte Carlo algorithm to understand the confidence in the fit parameters.
Bibliographie:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
content type line 23
ISSN:1600-5767
0021-8898
1600-5767
DOI:10.1107/S1600576718017296