Cargando…

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...

Descripción completa

Detalles Bibliográficos
Autores principales: Nelson, Andrew R. J., Prescott, Stuart W.
Formato: Online Artículo Texto
Lenguaje:English
Publicado: International Union of Crystallography 2019
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6362611/
https://www.ncbi.nlm.nih.gov/pubmed/30800030
http://dx.doi.org/10.1107/S1600576718017296
_version_ 1783392956706717696
author Nelson, Andrew R. J.
Prescott, Stuart W.
author_facet Nelson, Andrew R. J.
Prescott, Stuart W.
author_sort Nelson, Andrew R. J.
collection PubMed
description 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.
format Online
Article
Text
id pubmed-6362611
institution National Center for Biotechnology Information
language English
publishDate 2019
publisher International Union of Crystallography
record_format MEDLINE/PubMed
spelling pubmed-63626112019-02-22 refnx: neutron and X-ray reflectometry analysis in Python Nelson, Andrew R. J. Prescott, Stuart W. J Appl Crystallogr Computer Programs 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. International Union of Crystallography 2019-02-01 /pmc/articles/PMC6362611/ /pubmed/30800030 http://dx.doi.org/10.1107/S1600576718017296 Text en © Nelson and Prescott 2019 http://creativecommons.org/licenses/by/4.0/ 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.http://creativecommons.org/licenses/by/4.0/
spellingShingle Computer Programs
Nelson, Andrew R. J.
Prescott, Stuart W.
refnx: neutron and X-ray reflectometry analysis in Python
title refnx: neutron and X-ray reflectometry analysis in Python
title_full refnx: neutron and X-ray reflectometry analysis in Python
title_fullStr refnx: neutron and X-ray reflectometry analysis in Python
title_full_unstemmed refnx: neutron and X-ray reflectometry analysis in Python
title_short refnx: neutron and X-ray reflectometry analysis in Python
title_sort refnx: neutron and x-ray reflectometry analysis in python
topic Computer Programs
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6362611/
https://www.ncbi.nlm.nih.gov/pubmed/30800030
http://dx.doi.org/10.1107/S1600576718017296
work_keys_str_mv AT nelsonandrewrj refnxneutronandxrayreflectometryanalysisinpython
AT prescottstuartw refnxneutronandxrayreflectometryanalysisinpython