Skip to main content

A module for the NQRduck program (a simple python script™) to do pulse programming.

Project description

NQRduck Module: nqrduck-pulseprogrammer

A module for the nqrduck project. This module is used for graphical programming of pulse sequences for magnetic resonance experiments.

Installation

Requirements

Dependencies are handled via the pyproject.toml file.

Setup

To install the module you need the NQRduck core. You can find the installation instructions for the NQRduck core here.

Ideally you should install the module in a virtual environment. You can create a virtual environment by running the following command in the terminal:

python -m venv nqrduck
# Activate the virtual environment
. nqrduck/bin/activate

You can install this module and the dependencies by running the following command in the terminal while the virtual environment is activated and you are in the root directory of this module:

pip install .

Alternatively, you can install the module and the dependencies by running the following command in the terminal while the virtual environment is activated:

pip install nqrduck-pulseprogrammer

Usage

The module is used with the Spectrometer module. However you need to use an actual submodule of the spectromter module like:

The pulse programmer provides an event based graphical user interface for programming pulse sequences. The pulse sequence can be programmed by adding events to the sequence. Columns of the pulse programmer represent the different events of the pulse sequence. The rows of the pulse sequence are the 'Pulse Parameter Options' provided by the spectrometer module. Pulse sequences can be saved and loaded as a '.quack' file.

The following picture depicts an exemplary Free Induction Decay (FID) pulse sequence.

drawing
  • a.) The different pulse sequence events. The events can be added to the pulse sequence by clicking on the '+ New Event' button.
  • b.) The different 'Pulse Parameter Options' provided by the spectrometer module. The active spectrometer in the picture is the LimeNQR spectrometer. It provides 'Pulse Parameter Options' for 'TX' (Transmit) and 'RX' (Receive) events.
  • c.) The 'Pulse' of the FID sequence. The graphical representation changes based on the settings of the 'Pulse Parameter Options'.
  • d.) The 'RX' event of the FID sequence.
  • e.) The lengths of the different events. The lengths can be adjusted by clicking on the 'Pen' icon of the event.

When clicking on the 'Pulse Parameter Options' of a certain column and row, a dialog window opens. The dialog window provides the user with the possibility to adjust the 'Pulse Parameter Options' of the event. The dialog window is different for each 'Pulse Parameter Option'.

drawing
  • a.) A numerical input field for the 'Relative TX Amplitude' of the 'TX' Pulse Parameter Option.
  • b.) A numerical input field for the 'TX Phase' of the 'TX' Pulse Parameter Option.
  • c.) A function selection option for the 'TX Function' of the 'TX' Pulse Parameter Option. This adjust the pulse shape of the 'TX' event (Rect, Sinc, Gaussian, Custom).

License

This project is licensed under the MIT License - see the LICENSE file for details

Contributing

If you're interested in contributing to the project, start by checking out our nqrduck-module template. To contribute to existing modules, please first open an issue in the respective module repository to discuss your ideas or report bugs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nqrduck_pulseprogrammer-0.0.5.tar.gz (857.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nqrduck_pulseprogrammer-0.0.5-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file nqrduck_pulseprogrammer-0.0.5.tar.gz.

File metadata

  • Download URL: nqrduck_pulseprogrammer-0.0.5.tar.gz
  • Upload date:
  • Size: 857.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for nqrduck_pulseprogrammer-0.0.5.tar.gz
Algorithm Hash digest
SHA256 b8dd8e588d5af37154bb11d1ef66bd89917e09b323346377ca4bccd2c52b11d0
MD5 30cabf165502e13a0dbeb3337dac2d65
BLAKE2b-256 fd1b64f0f66d9f47a5e4e06c90ff12d37b9dd7a55cd5971710b0b42ae2773d5c

See more details on using hashes here.

File details

Details for the file nqrduck_pulseprogrammer-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for nqrduck_pulseprogrammer-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0a73e8423cc20bcc9629473357b42806155f6b9379c205d3230f7abef3a24c97
MD5 49112e323337611ad62b130b371ceb5c
BLAKE2b-256 d96d576d352ff72198e0b6d83797fbb25490b6ee09cccf86e95191ccc4de97e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page