This project aims to implement a versatile console for low-field magnetic resonance imaging (MRI) acquisitions. The central hardware components are two spectrum cards from Spectrum Instrumentation. They serve as arbitrary waveform generators (AWG) and analog to digital converter (digitizer). Depending on the measurement card specification, the Nexus console can also be used for higher frequencies (first experiments at 7T were conducted). This application controls AWG and digitizer cards to perform MRI scans by directly interpreting sequences defined by the open-source pulseq framework, i.e. the python implementation pypulseq. An interfaces to the open data MR raw data format ISMRMRD is implemented to directly enable Nexus with the latest reconstruction algorithms, e.g. from the Gadgetron toolbox.
It is recommended to install the package in a virtual environment (e.g. conda).
Further documentation on setting up miniconda can be found here.
The package was developed under Python 3.10 so it is recommended to use python==3.10
.
To install the Nexus console application, clone the repository an ensure that you are in the repository directory, which is */nexus-console/
.
The package can be installed with different dependencies depending on the specific requirements:
`pip install -e .`
Installs all the necessary base dependencies to use the package (minimum required).
`pip install -e ".[lint]"`
Installs additional (optional) dependencies that are required to run the linter.
`pip install -e ".[test]"`
Installs additional (optional) dependencies that are required to run the linter.
`pip install -e ".[docs]"`
Installs additional (optional) dependencies that are required to build the sphinx documentation locally.
`pip install -e ".[dev]"`
Installs additional (optional) developer dependencies for profiling and developing in vs code.
Hint: Multiple dependency groups can be installed using ".[lint, test]"
for instance.
Please follow the project documentation which contains a quick-start guide, some examples and a user guide.