Sim View is a lightweight desktop viewer for pulse-sequence simulation outputs from Bruker ParaVision-style simulations and NMRScopeB exports.
It is intended for quick inspection of RF, gradient, and derived channels during pulse-sequence development.
- Load Bruker simulation folders and NMRScopeB output folders
- Inspect RF and gradient channels in a synchronized time view
- Show derived gradient signals such as slew rate, trajectory, and duty cycle
- Export measurements to Excel
- Use either the GUI file picker or launch directly from the command line
- Python 3.12 or newer
- A working Qt desktop environment for
PyQt6 poetryfor the recommended installation flow
- Install Python 3.12+ and confirm it is available with
python --version - Install Poetry from https://python-poetry.org/docs/#installing-with-the-official-installer
- Install dependencies:
poetry install- Start the app:
poetry run python simView.py- Install Python 3.12+
- Create and activate a virtual environment
- Install the dependencies listed in
pyproject.toml - Start the app from that environment:
python simView.py- Open the application and choose
File -> Open Folder - Select a simulation output folder containing either Bruker output or NMRScopeB output
- You can also launch the viewer directly for a specific folder:
python simView.py /path/to/simulation_folderfrom simView import show_graphs_from_dict
import json
path = "/home/vitous/Documents/seqSim/scopeBNew/pulse_seq.json"
with open(path) as f:
data = json.load(f)
show_graphs_from_dict(data)For ParaVision integration, use the wrapper script included in this repository.
- Run
./install_venv.shto create and populate a project-local.venv - Set
/path/to/script/run_simview.shas the viewer command in the ParaVision options menu - Wrapper stderr is logged to
simview_viewer_errors.loginside the target simulation folder - Optional override:
SIMVIEW_ERROR_LOG=/path/to/file /path/to/script/run_simview.sh- On AlmaLinux, especially over remote connections, Qt may fail to start with an
xcborlibxcb-cursor.so.0error - Install the missing system package:
sudo dnf install -y xcb-util-cursor- If needed, also install:
sudo dnf install -y libxkbcommon-x11 mesa-libGLRun the full test suite with:
poetry run pytestIf you are using the local virtual environment directly:
.venv/bin/python -m pytestCurrent tests cover:
- Core derived-signal logic
- Bruker parser loading against fixture data in
testData/mrScanSim
If Sim View contributes to your pulse-sequence development or related research, please consider acknowledging the infrastructure support that helped make this work possible:
This work was supported by the core facility ISI-MR within the Czech-BioImaging large RI project (LM2023050), funded by the Ministry of Education, Youth and Sports of the Czech Republic.
We would also be glad to hear about publications, presentations, or internal use cases where the tool proved helpful.
Questions, feedback, and collaboration notes are welcome at vitous@isibrno.cz.