Skip to main content

bfit

DOI

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:

  • Provide the means for quick on-line analyses during beam time.
  • Provide a useful and flexible API for refined analyses in Python, to be used in conjunction with bdata and the SciPy ecosystem.
  • Provide an intuitive, user-friendly interface for non-programmers.
  • Be easily maintainable and distributable.

Citing

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

Useful Links

Community Guidelines

  • Contributing:
  • Reporting issues and/or seeking support:
    • Please file a new ticket in bfit's list of Issues - I will get an email notification of your problem and try to fix it ASAP!

Installation and Use

Dependencies

The following packages/applications are needed prior to bfit installation:

Install Instructions

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.

Optional Setup

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.

First Startup

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

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.

Release files for bfit 4.22.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bfit 4.22.7
File Size Uploaded
bfit-4.22.7.tar.gz 599.6 kB Details

Release files / bfit-4.22.7.tar.gz

Download URL bfit-4.22.7.tar.gz
Size 599.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c3b9b3ff9353588d8c23ded25d1a9ffbf3f962d34d4933209a678197a74acebe
BLAKE2b-256 checksum
How to use checksums
931382ed161772ca8630d1aaa8b8f63bb4425a15752769ec01cafde7a1a548f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

4.22.7 This release

1 release file

4.22.6

1 release file

4.22.5

1 release file

4.22.4

1 release file

4.22.3

1 release file

4.22.2

1 release file

4.22.1

1 release file

4.22.0

1 release file

4.21.5

1 release file

4.21.4

1 release file

4.21.3

1 release file

4.21.2

1 release file

4.21.1

1 release file

4.21.0

1 release file

4.20.4

1 release file

4.20.3

1 release file

4.20.2

1 release file

4.20.1

1 release file

4.20.0

1 release file

4.19.7

1 release file

4.19.6

1 release file

4.19.5

1 release file

4.19.4

1 release file

4.19.3

1 release file

4.19.2

1 release file

4.19.1

1 release file

4.19.0

1 release file

4.18.2

1 release file

4.18.1

1 release file

4.18.0

1 release file

4.17.6

1 release file

4.17.5

1 release file

4.17.4

1 release file

4.17.3

1 release file

4.17.2

1 release file

4.17.1

1 release file

4.17.0

1 release file

4.16.2

1 release file

4.16.1

1 release file

4.16.0

1 release file

4.15.1

1 release file

4.15.0

1 release file

4.14.1

1 release file

4.14.0

1 release file

4.13.0

1 release file

4.12.5

1 release file

4.12.4

1 release file

4.12.3

1 release file

4.12.2

1 release file

4.12.1

1 release file

4.12.0

1 release file

4.11.3

1 release file

4.11.2

1 release file

4.11.1

1 release file

4.11.0

1 release file

4.10.1

1 release file

4.10.0

1 release file

4.9.9

1 release file

4.9.8

1 release file

4.9.7

1 release file

4.9.6

1 release file

4.9.5

1 release file

4.9.4

1 release file

4.9.3

1 release file

4.9.2

1 release file

4.9.1

1 release file

4.9.0

1 release file

4.8.0

1 release file

4.7.12

1 release file

4.7.11

1 release file

4.7.10

1 release file

4.7.9

1 release file

4.7.8

1 release file

4.7.7

1 release file

4.7.6

1 release file

4.7.5

1 release file

4.7.4

1 release file

4.7.3

1 release file

4.7.2

1 release file

4.7.1

1 release file

4.7.0

1 release file

4.6.5

1 release file

4.6.4

1 release file

4.6.3

1 release file

4.6.2

1 release file

4.6.1

1 release file

4.6.0

1 release file

4.5.3

1 release file

4.5.2

1 release file

4.5.1

1 release file

4.5.0

1 release file

4.4.7

1 release file

4.4.6

1 release file

4.4.5

1 release file

4.4.4

1 release file

4.4.3

1 release file

4.4.2

1 release file

4.4.1

1 release file

4.4.0

1 release file

4.3.4

1 release file

4.3.3

1 release file

4.3.2

1 release file

4.3.1

1 release file

4.3.0

1 release file

4.2.4

1 release file

4.2.3

1 release file

4.2.2

1 release file

4.2.1

1 release file

4.2.0

1 release file

4.1.5

1 release file

4.1.4

1 release file

4.1.3

1 release file

4.1.2

1 release file

4.1.1

1 release file

4.1.0

1 release file

4.0.2

1 release file

4.0.1

1 release file

4.0.0

1 release file

3.6.4

1 release file

3.6.3

1 release file

3.6.2

1 release file

3.6.1

1 release file

3.6.0

1 release file

3.5.3

1 release file

3.5.2

1 release file

3.5.1

1 release file

3.5.0

1 release file

3.4.2

1 release file

3.4.1

1 release file

3.4.0

1 release file

3.3.1

1 release file

3.3.0

1 release file

3.2.5

1 release file

3.2.4

1 release file

3.2.3

1 release file

3.2.2

1 release file

3.2.1

1 release file

3.2.0

1 release file

3.1.2

1 release file

3.1.1

1 release file

3.1.0

1 release file

3.0.2

1 release file

3.0.1

1 release file

3.0.0

1 release file

2.11.7

1 release file

2.11.6

1 release file

2.11.5

1 release file

2.11.4

1 release file

2.11.3

1 release file

2.11.2

1 release file

2.11.1

1 release file

2.11.0

1 release file

2.10.3

1 release file

2.10.2

1 release file

2.10.1

1 release file

2.10.0

1 release file

2.9.5

1 release file

2.9.4

1 release file

2.9.3

1 release file

2.9.2

1 release file

2.9.1

1 release file

2.9.0

1 release file

2.8.1

1 release file

2.8.0

1 release file

2.7.7

1 release file

2.7.6

1 release file

2.7.5

1 release file

2.7.4

1 release file

2.7.1

1 release file

2.7.0

1 release file

2.6.2

1 release file

2.6.1

1 release file

2.6.0

1 release file

2.5.4

1 release file

2.5.3

1 release file

2.5.2

1 release file

2.5.1

1 release file

2.5.0

1 release file

2.4.5

1 release file

2.4.4

1 release file

2.4.3

1 release file

2.4.2

1 release file

2.4.1

1 release file

2.4.0

1 release file

2.3.6

1 release file

2.3.5

1 release file

2.3.4

1 release file

2.3.3

1 release file

2.3.2

1 release file

2.3.1

1 release file

2.3.0

1 release file

2.2.3

1 release file

2.2.2

1 release file

2.2.0

1 release file

2.1.0

1 release file

2.0.2

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.7.0

1 release file

1.6.3

1 release file

1.6.2

1 release file

1.6.1

1 release file

1.6.0

1 release file

1.5.5

1 release file

1.5.4

1 release file

1.5.3

1 release file

1.5.2

1 release file

1.5.1

1 release file

1.5.0

1 release file

1.4.1

1 release file

1.4.0

1 release file

1.3.5

1 release file

1.3.4

1 release file

1.3.3

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2.0

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page