Interface description - josalggui/MaRGE GitHub Wiki

Description of the GUI

Session Window

Running main.py displays the Session and Hardware window in the screen. This screen contains different tabs, including the session window, as well as different tabs for hardware configuration.

Session tab

The session tab contains information relevant for the current session, like the study, the project, or subject information.

  • Project: Allows user to add/delete projects.
  • Study: Allows user to add/delete studies (e.g. phantom or knee).
  • Side: Select between None, Left, and Right.
  • Orientation: Select patient orientation Feet First Supine (FFS) or Head First Supine (HFS). Other orientations are not already implemented.
  • Subject ID: Input an ID for the subject. If empty, a default value will be used based on date and time.
  • Study ID: Input an ID for the study.
  • Subject name:
  • Subject birthday:
  • Subject weight:
  • Subject height:
  • RF coil: Select the RF coil used for the study (see RF tab section).
  • User: Allows to input the username (optional).
  • Software version: Shows the GitHub version.

Console tab

The Console tab contains relevant information for MaRCoS.

  • Red Pitaya model: Currently, only the rp-122 model is supported.
  • Gradient board: gpa-fhdo or ocra1.
  • Clock frequency (MHz): 122.88 MHz.
  • ADC factor (mV/unit): Calibration factor for the input voltage — 6.894 @ 3 MHz. This value must be recalibrated for each operating frequency.
  • CIC delay points: Number of delay points introduced by the CIC filter.
  • Red Pitaya IP address: Enter the static IP address of your Red Pitaya and click Add. Currently, only the first Red Pitaya is used, although the option to add multiple devices is available for future MIMO integration.

Gradients tab

The Gradients tab contains hardware information related to the gradients.

  • Gx max (mT/m): maximum gradient along x axis.
  • Gy max (mT/m): maximum gradient along y axis.
  • Gz max (mT/m): maximum gradient along z axis.
  • Max slew rate (mT/m/ms): maximum slew rate used in pypulseq sequences.
  • Gradient raster time (us): time step for the gradients in pypulseq sequences.
  • Gradient rise time (us): Time or the gradient ramps in pypulseq sequences. It must be a multiple of the gradient raster time.
  • Gradient steps: Number of steps for the gradient ramps in RareProtocols.
  • Gradient delay (us): Delay between the input voltage and the output current waveforms of the GPA.
  • GPA model: Only Barthel if used. Otherwise, live it empty (specific hardware required to communicate with Barthel).

RF tab

The RF tab contains hardware information related to the gradients.

  • RFPA de-blanking time (us): time between RFPA de-blanking and RF pulse.
  • RFPA de-blanking off time (us): time between the end of the RF pulse and the end of the RFPA de-blanking.
  • RF dead time (us): time for ring-down signal after RF output.
  • Gyromagnetic ratio (MHz/T):
  • Larmor frequency (MHz): working frequency of the setup.
  • Reference time (us): Used to adjust the RF amplitude for rabi-flop calibration.
  • Oversampling factor: Scaling factor for the rf acquisition bandwidth to avoid non-flat frequency response of the CIC filter.
  • Max readout points: Maximum number of readout points acquired per batch. Larger numbers increases the probability of loosing points during acquisition.
  • Add readout points: Number of additional readout points per acquisition window.
  • LNA gain (dB): used to estimate the noise thermal limit.
  • RFPA model: Only Barthel if used. Otherwise, live it empty (specific hardware required to communicate with Barthel).

Others tab

The Others tab contains some additional useful information.

  • Scanner name:
  • Institution name:
  • Manufacturer:
  • FOVx (cm): Field of View along the x-axis used for the localizer.
  • FOVy (cm): Field of View along the y-axis used for the localizer.
  • FOVz (cm): Field of View along the z-axis used for the localizer.
  • Shimming factor: Scaling factor applied to the shimming of the sequences.
  • Bash path: path to the bash. gnome-terminal for Ubuntu, Path to git-bash in Windows.
  • Tyger server:
  • Arduino autotuning: Serial number of the arduino used to control the autotuning (specific hardware required).
  • Arduino interlock: Serial number of the arduino used to control the interlock (specific hardware required).

Toolbar

From left to right:

  • Execute main window in normal mode
  • Execute main window in demo mode
  • Update hardware parameters
  • Close window
  • Switch theme between dark and light.

Main Window

The main window becomes accessible after clicking the button in the session window. This is where most of the essential tasks are performed, including system calibration, configuration of sequence parameters, visualization of results, and more.

Main Window

  1. MaRCoS toolbar:

    • Run marcos_install.sh to set up MaRCoS.
    • Run copy_bitstream.sh, required each time the red pitaya is turned off.
    • Initialize MaRCoS server.
    • 1) Initialize the GPA board, and 2) Initialize power electronics (specific hardware required).
    • Initialize Tyger toolkit.
  2. Sequence toolbar:

    • Run system calibration protocol.
    • Run Localizer protocol.
    • Add selected sequence to the waiting list.
    • Run selected sequence.
    • Set iterative mode ON. To be used together with -
    • Run all the sequences on the selected protocol.
    • Plot the selected sequence.
    • Save the parameters corresponding to the current sequence configuration.
    • Load the selected parameters into the current sequence configuration.
    • Save current sequence configuration for calibration.
  3. Figures toolbar:

    • Expand the figure layout to fullscreen.
    • Save a screenshot of the GUI in the corresponding folder of the current session.
    • Open the main directory.
    • Open the post-processing toolbox.
    • Create a report of the current session.
    • Create a report of the selected session.
    • Switch contrast between dark and light.
  4. Protocols toolbar:

    • Create a new protocol.
    • Delete an existing protocol.
    • Add a new sequence to the selected protocol.
    • Delete an existing sequence from the selected protocol.
  5. Sequence area: enables custom modification of sequences through the Custom tab, or selection of predefined parameters through the Protocols tab.

  6. Console: The console provides real-time feedback and information about ongoing processes.

  7. History List Table: This table keeps a record of historical data. It includes a checkbox to select the results to be included in the reports, and a text box to include custom notes.

  8. Info Table: Displays parameters related to the selected sequence in the history list table.

  9. Image Area: This section is reserved for visualizing images and results.