β-NMR/β-NQR MUD file reader and asymmetry calculator
Project description
bdata
bdata is a lightwieght Python package aimed to aid in the analysis of β-detected nuclear magnetic/quadrupole resonance (β-NMR and β-NQR) data taken at TRIUMF. These techniques are similar to muon spin rotation (μSR) and "conventional" nuclear magnetic resonance (NMR), but use radioactive nuclei as their NMR probe in place of the muon or a stable isotope.
The intended user of bdata is anyone analyzing data taken from TRIUMF's β-NMR or β-NQR spectrometers. A key goal of the project is to alleviate much of the technical tedium that is often encountered during any analysis.
Used with bfit and the SciPy ecosystem, bdata forms part of a flexible API in the analysis of β-NMR and β-NQR data. bdata has been written to fullfill the following needs:
- Provide an intuitive means of interfacing with MUD files in Python.
- Fetch missing local data from the archive.
- Support analyses by providing common data manipulations, such as calculating asymmetries or combining scans.
Contents
bdata
[object]: access β-NMR and β-NQR MUD filesbjoined
[object]: appendbdata
objectsbmerged
[object]: combinebdata
objectslife
[mdict
object]: dictionary of probe lifetimes.containers
[module]: specially definedmdict
objects with set function.exceptions
[module]: custom exceptions and warnings for common issuesasym_fns
[module]: functions for calculating asymmetries and errors
Citing
If you use bdata in your work, please cite:
- D. Fujimoto. Digging Into MUD With Python: mudpy, bdata, and bfit. arXiv:2004.10395 [physics.data-an].
Community Guidelines
- Please submit contributions to bdata via a pull request
- To report issues or get support, please file a new issue
Installation and Use
Dependencies
The following packages/applications are needed prior to bdata installation:
and the following are handelled automatically when retrieving bdata from the PyPI:
- iminuit : a Jupyter-friendly Python interface for the MINUIT2 library.
- mudpy : data structures for parsing TRIUMF MUD files.
- pandas : a fast, powerful, flexible and easy to use data analysis/manipulation tool.
- requests : an elegant and simple HTTP library for Python.
- SciPy : fundamental algorithms for scientific computing in Python.
Install Instructions
Command | |
---|---|
From the PyPI as user (recommended) | pip install --user bdata |
From the PyPI as root | pip install bdata |
From source | python3 setup.py install |
Note that pip
should point to a (version 3) Python executable
(e.g., python3
, python3.8
, etc.).
If the above does not work, try using pip3
or python3 -m pip
instead.
Optional Configuration
For convenience,
you may want to tell bdata where the data is stored on your machine.
This is done by defining two environment variables:
BNMR_ARCHIVE
and BNQR_ARCHIVE
.
This can be done, for example, in your .bashrc
script.
Both variables expect the data to be stored in directories with a particular
heirarchy:
/path/
bnmr/
bnqr/
2017/
2018/
045123.msr
Here, the folders /path/bnmr/
and /path/bnqr/
both contain runs
(i.e., .msr
files) organized into subdirectories by year of aquasition.
In this case, you would set (in your .bashrc
):
export BNMR_ARCHIVE=/path/bnmr/
export BNQR_ARCHIVE=/path/bnqr/
If bdata cannot find the data, it will attempt to download the relavent MUD files
from the archive and store them in $HOME/.bdata
.
This is the default behaviour for bdata installed from PyPI
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.