A Python application for the analysis of β-NMR and β-NQR data taken at TRIUMF.
bfit is a Python application 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 instruments and research program are governed through TRIUMF‘s CMMS,
with more information given at https://bnmr.triumf.ca.
An overview of instrumentation details and scientific applications of the
β-NMR/β-NQR techniques can be found in several recent journal articles:
The intended user of bfit is anyone performing experiments with or analyzing
data taken from TRIUMF‘s β-NMR or β-NQR spectrometers - independent of whether
they are a new student, visiting scientist, or someone with decades of experience.
(e.g., someone from the “local” TRIUMF/CMMS/UBC group).
A key goal of the project is to alleviate much of the technical tedium that is
often encountered during any analysis.
More generally, bfit has been written to fulfill the following needs:
If you use bfit in your work, please cite:
D. Fujimoto, “bfit: A Python Application For Beta-Detected NMR,” J. Open Source Softw. 6, 3598 (2021).
The following packages/applications are needed prior to bfit installation:
Command | |
---|---|
From the PyPI | pip install bfit
|
From source | pip install -e .
|
Developer mode | pip --no-build-isolation -e .
|
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.
For convenience,
you may want to tell bfit 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
hierarchy:
/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 acquisition.
In this case, you would set (in your .bashrc
):
export BNMR_ARCHIVE=/path/bnmr/
export BNQR_ARCHIVE=/path/bnqr/
If bfit cannot find the data, it will attempt to download the relevant MUD
(i.e., .msr
) files from https://cmms.triumf.ca/mud/runSel.html.
This is the default behaviour for bfit installed from PyPI.
To launch the GUI from a terminal simply call bfit
, if this fails, one can also use the alternative syntax python3 -m bfit
, where python3
may be replaced with any (version 3) Python executable.
Testing your installation of bfit is accomplished by running pytest
within the installation folder. Note that some tests, particularly those involving drawing, fail when run as group in this environment, but they should pass on a subsequent attempts: pytest --lf
. Further testing information can be found here.