NDTS-GUI: Difference between revisions
Mmaciejewski (talk | contribs) |
Mmaciejewski (talk | contribs) No edit summary |
||
(25 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{NDTS_Navbox}} | |||
== Overview == | == Overview == | ||
NDTS installations on the spectrometer workstation | NDTS installations on the spectrometer workstation consist of the daemon, which runs as a service, and the NDTS graphical user interface (NDTS-GUI), which displays status information and allows users to adjust harvesting status, select the NAN user, and provide metadata to be associated with datasets. NDTS is designed to automatically harvest datasets upon completion when harvesting is enabled. Manual harvesting can also be performed via the NDTS-GUI. | ||
'''Important Note: For TopSpin 4.x and VNMRj the daemon will automatically detect when experiments are complete, but for TopSpin < 4.x each user must enable Accounting from their TopSpin account for the daemon to recognize when experiments complete''' | |||
'''[[Enabling TopSpin Accounting|Instructions for turning on Accounting for TopSpin < 4.0]]''' | |||
== Mapping NAN users to spectrometer workstation users == | == Mapping NAN users to spectrometer workstation users == | ||
Each harvested dataset must be associated with a NAN user to be visible in the Dataset Browser. This association is managed primarily through the NDTS-GUI, where the selected NAN user can be changed (if permitted by facility manager settings). By default, the NAN user mapped to the current spectrometer workstation user is selected. These mappings are managed by the NMR facility manager through the user management page on the NAN portal Facility Dashboard. | |||
== NDTS harvesting defaults == | == NDTS harvesting defaults == | ||
Facility managers use the ''Manage Facility Users'' tool on the Facility Dashboard to: | |||
* Add NAN users to the facility | |||
* Map users to spectrometer workstation accounts | |||
* Set default harvesting preferences | |||
* Define fallback behavior for unmapped users | |||
When the NDTS-GUI is launched | When the NDTS-GUI is launched or when the selected NAN user is changed, the default harvesting settings are refreshed based on the configuration in the *Manage Facility Users* tool. | ||
If the NDTS-GUI is not running, | If the NDTS-GUI is not running, NDTS harvesting defaults to the fallback settings defined in the ''Manage Facility Users'' tool. | ||
== Launching the NDTS-GUI == | == Launching the NDTS-GUI == | ||
It is essential that the NDTS-GUI remain running so that harvesting status is visible and users can ensure appropriate metadata and settings are applied before data collection. To prevent accidental closure, the close button in the GUI is disabled once launched. It is strongly recommended to configure the NDTS-GUI to start automatically upon login to the spectrometer workstation. | |||
=== Manually | === Manually launching the NDTS-GUI === | ||
While | While automatic launching is preferred, the GUI can be started manually with: | ||
<code>/opt/nan-dtdaemon/nan_gui</code> | <code>/opt/nan-dtdaemon/nan_gui</code> | ||
=== Automatically | === Automatically launching the NDTS-GUI === | ||
The | The setup depends on the desktop environment and whether the configuration is per-user or system-wide. Below are instructions for different desktop environments, but with so many different versions and different Linux distros it is impossible to cover all possibilities. That said, launching an applications upon login is a common task as the correct answer can usually be found easily with a Google search or by asking one of the LLMs such as ChatGPT. | ||
==== Step 1: Identifying the desktop environment ==== | |||
Use this command to determine your current desktop environment | |||
<code>echo $XDG_CURRENT_DESKTOP</code> | <code>echo $XDG_CURRENT_DESKTOP</code> | ||
or | if the above command does not work or show output try: | ||
<code>echo $DESKTOP_SESSION</code> | <code>echo $DESKTOP_SESSION</code> | ||
==== Creating the launcher script ==== | ==== Step 2: Creating the launcher script (if adding from the CLI) ==== | ||
<syntaxhighlight lang="ini"> | If you are adding the launcher script through the command line interface you will need to create the text file below using your favorite editor and save it to the appropriate location (see the table below of the CLI-based path)<syntaxhighlight lang="ini"> | ||
[Desktop Entry] | [Desktop Entry] | ||
Type=Application | Type=Application | ||
Line 40: | Line 52: | ||
Comment=NDTS graphical interface | Comment=NDTS graphical interface | ||
X-GNOME-Autostart-enabled=true | X-GNOME-Autostart-enabled=true | ||
</syntaxhighlight> | </syntaxhighlight>Most Linux distros also have the ability to add a launcher through the menu bar. Below in the table follow the directions for the Menu-Based instructions to add the launcher and select <code>/opt/nan-dtdaemon/nan_gui</code> as the program to launch | ||
{| class="wikitable" | |||
|+ | |||
! Desktop Environment !! Menu-Based Instructions !! CLI-Based path | |||
|- | |||
| KDE 3 || — || <code>~/.kde/autostart/nan_gui.desktop</code> | |||
|- | |||
| KDE 4 || — || <code>~/.kde4/autostart/nan_gui.desktop</code> | |||
|- | |||
| KDE Plasma / Newer || System Settings → Startup & Shutdown → Autostart → Add Program… || <code>~/.config/autostart/nan_gui.desktop</code> | |||
|- | |||
| GNOME || <code>gnome-tweaks</code> → Startup Applications → '+' || <code>~/.config/autostart/nan_gui.desktop</code> | |||
|- | |||
| XFCE || Settings Manager → Session & Startup → Application Autostart → Add… || <code>~/.config/autostart/nan_gui.desktop</code> | |||
|} | |||
==== Step 3: Make it executable: ==== | |||
<code>chmod +x ~/.config/autostart/nan_gui.desktop</code> | <code>chmod +x ~/.config/autostart/nan_gui.desktop</code> | ||
==== | == NDTS-GUI Main Window == | ||
[[File:NDTS-GUI.png|thumb|NDTS GUI]] | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ NDTS-GUI Main Window Elements | ||
! | ! Element !! Description | ||
! | |- | ||
! | | Top Text Bar || Indicates whether the dataset will be harvested. Options: | ||
* "Data will be transmitted to NAN" | |||
* "Data will not be transmitted to NAN" | |||
|- | |||
| Middle Text Bar || Shows harvesting status: | |||
* "NAN Transport is running" | |||
* "Harvesting is suspended" | |||
|- | |||
| Third Text Bar || Indicates TopSpin or VnmrJ activity: | |||
* "Topspin / VNMRJ is running" | |||
* "Topspin / VNMRJ is not running" | |||
Harvesting settings are irrelevant if no acquisition software is running. | |||
|- | |||
| Ignoring Job Numbers || Datasets collected with job numbers above this threshold are ignored for harvesting. This setting is defined by the facility manager and avoids harvesting test or calibration runs without requiring toggling of the NAN harvesting radio button which is easy to forget to turn back on. | |||
|- | |||
| Probe || Displays the currently assumed installed probe. This value is for informational purposes only and is updated via the NAN portal. If incorrect, it can be retroactively corrected by the facility manager as the facility manager applies a date when a probe swap occurs. | |||
|- | |||
| NAN User || Indicates the currently selected NAN user. If unselected, harvesting defaults to facility manager-defined fallback behavior. Accurate user selection is essential for proper dataset access and reassignment. | |||
|- | |||
| NAN Harvesting Toggle || Allows users to enable/disable harvesting. Permissions for toggling are set by the facility manager. Restrictions ensure harvesting behavior is consistent with user roles (e.g., preventing harvesting by commercial users). | |||
|- | |||
| Enter Experiment Details || Opens a window to enter metadata and change the selected NAN user (see next section). | |||
|- | |||
| Manual Harvest || Allows manual selection of a previously unharvested dataset for submission to the NAN archive (see below) | |||
|} | |||
== NDTS Experimental Details Window == | |||
[[File:Experiment-details.png|thumb|450x450px|Experiment Details Window]] | |||
{| class="wikitable" | |||
|+ Experimental Details Fields | |||
! Field !! Description | |||
|- | |||
| NAN User || Allows selection from the facility-defined list of NAN users. Permission to change users is governed by the facility manager. | |||
|- | |||
| Project / Study / Sample || Drop-down lists enable assignment of datasets to a specific project, study, and sample at the time of data collection. These assignments can also be updated later in the Dataset Browser. | |||
|- | |||
| Refresh Button || Forces immediate update of user, project, study, and sample lists, which are otherwise refreshed every 10 minutes. | |||
|- | |||
| Solution / Solid Toggle || Indicates whether the dataset is from a solution or solid-state sample. This also determines which additional metadata fields are shown. | |||
|- | |||
| Magic Angle Spinning || Toggle to indicate that MAS was used during acquisition. | |||
|- | |||
| MAS Rate (kHz) || Field to enter the MAS spinning rate if not present in the dataset parameters. | |||
|- | |||
| Z0 Drift Correction || Allows entry of the known Z0 drift rate for inclusion in metadata. | |||
|- | |||
| Multi-receiver / Time Sharing Checkboxes || Optional indicators that can be checked if either condition applies to the dataset. | |||
|- | |||
| Notes || Free-text field for entering user-defined notes to be associated with the dataset. | |||
|} | |||
== Manual Harvest Window == | |||
The manual harvest button allows users to harvest a dataset in cases where automatic data harvesting was unintentionally disabled. It is not intended for harvesting older datasets; the NAN portal provides an [[Arbitrary Dataset Upload|'''arbitrary data upload''']] feature for that purpose. | |||
=== Limitations === | |||
* On VNMRj, the manual upload must be from an experiment directory (e.g. <code>/$home/vnmrsys/exp''N''</code>) | |||
* VNMRj or TopSpin must be running | |||
* The NDTS-GUI must be running | |||
** Harvesting must be set to "on" | |||
** Correct NAN user, project, study, sample, and additional metadata must be selected or entered | |||
* Current spectrometer, probe, and related metadata will be associated with the dataset. Therefore, this feature should only be used for recently collected datasets | |||
[[File:Manual-harvest.png|thumb|450x450px|Manual Harvest Window]] | |||
=== Description of Manual Harvest Pop-up Window === | |||
{| class="wikitable" | |||
! Field !! Description | |||
|- | |||
| '''User''' || Displays the current workstation username (informational only) | |||
|- | |||
| '''Experiment Location''' || Dialog box to select the dataset to be harvested; includes a Browse button for easier navigation | |||
|- | |||
| '''Force''' || Forces harvesting of a dataset even if it has already been harvested; overrides the default behavior | |||
|- | |||
| '''History''' || Opens the history of previously manually harvested datasets (see below) | |||
|- | |||
| '''Harvest''' || Starts the harvesting process; disabled until a dataset is selected | |||
|- | |||
| '''Done''' || Closes the Manual Harvest window | |||
|- | |||
| '''Status Line''' || Displays the result of the last harvesting attempt | |||
|} | |||
==== History Window ==== | |||
{| class="wikitable" | |||
! Field !! Description | |||
|- | |- | ||
| | | '''Date''' || Date the dataset was manually harvested (not the date of dataset acquisition) | ||
| | |||
| | |||
|- | |- | ||
| | | '''NAN User''' || The NAN user selected at the time of manual harvesting; this is the user the dataset will be associated with | ||
| | |||
| | |||
|- | |- | ||
| | | '''Path''' || Filesystem path of the manually harvested dataset | ||
| | |||
| | |||
|- | |- | ||
| | | '''Status''' || Status of the manual harvest (e.g., success, error) | ||
| | |||
|- | |- | ||
| | | '''Refresh''' || Button to refresh the history list; otherwise, it updates only when the window is reopened | ||
| | |||
| | |||
|} | |} | ||
== Manual Harvesting from the Command Line Interface (CLI) == | |||
=== Linux === | |||
For Linux workstations, run the executable <code>/opt/nan-dtdaemon/nan_sendexp</code> and supply the command-line arguments described below. | |||
TopSpin and the '''NDTS Workstation Daemon''' must be running. | |||
=== Windows === | |||
On Windows, invoke the batch file <code>C:\opt\nan-dtdaemon\nan_sendexp.bat</code> from a '''CMD''' session. | |||
The '''NDTS Workstation Daemon''' must be running. | |||
=== Command-Line Arguments === | |||
{| class="wikitable" | |||
! Argument !! Description !! Examples | |||
|- | |||
| <code>'''--status'''</code> || Returns the current workstation user's history of manual-harvest attempts. Supports <code>--username</code> to view another user's history. || <code>/opt/nan-dtdaemon/nan_sendexp --status</code><br/><code>/opt/nan-dtdaemon/nan_sendexp --status --username={username}</code> | |||
|- | |||
| <code>'''--harvest'''</code> (default) || Harvests a dataset.<br/><br/>'''Options'''<br/><code>--username={username}</code> – harvest as another user.<br/><code>--force</code> – re-harvest even if previously harvested.<br/><code>--topspin={topspin_location}</code> – TopSpin root path (required on Windows). || <code>/opt/nan-dtdaemon/nan_sendexp {experiment_location}</code><br/><code>/opt/nan-dtdaemon/nan_sendexp --harvest {experiment_location}</code><br/><code>/opt/nan-dtdaemon/nan_sendexp --harvest {experiment_location} --username={username}</code><br/><code>/opt/nan-dtdaemon/nan_sendexp --harvest {experiment_location} --force</code><br/><code>/opt/nan-dtdaemon/nan_sendexp --harvest {experiment_location} --topspin=C:\Bruker\topspin4.3.0</code> | |||
|- | |||
| <code>'''--ignore'''</code> || Instructs the NDTS daemon to ignore harvesting settings from the NDTS-GUI (useful for scripted calibration experiments when only certain calibrations experiments need to be harvested). || <code>/opt/nan-dtdaemon/nan_sendexp --ignore</code> | |||
|- | |||
| <code>'''--detect'''</code> || Re-enables adherence to NDTS-GUI harvesting settings (reversed the effect of <code>--ignore</code>). || <code>/opt/nan-dtdaemon/nan_sendexp --detect</code> | |||
|- | |||
| <code>'''--retcode'''</code> || Prepends a status character to output ('''1''' = success, '''0''' = failure) for programmatic use. || <pre>0Unable to determine experiment type for…</pre> | |||
|- | |||
| <code>'''--verbose'''</code> || Prints detailed diagnostic output. || — | |||
|- | |||
| <code>'''--help'''</code> || Displays built-in command-line help. || — | |||
|} |
Latest revision as of 12:29, 20 June 2025
- NAN Data Transport System
- NDTS Overview
- NDTS Installation
- TopSpin 3.x Requirement
- Managing, Monitoring, and Logging
- NDTS Usage Guides
Overview
NDTS installations on the spectrometer workstation consist of the daemon, which runs as a service, and the NDTS graphical user interface (NDTS-GUI), which displays status information and allows users to adjust harvesting status, select the NAN user, and provide metadata to be associated with datasets. NDTS is designed to automatically harvest datasets upon completion when harvesting is enabled. Manual harvesting can also be performed via the NDTS-GUI.
Important Note: For TopSpin 4.x and VNMRj the daemon will automatically detect when experiments are complete, but for TopSpin < 4.x each user must enable Accounting from their TopSpin account for the daemon to recognize when experiments complete
Instructions for turning on Accounting for TopSpin < 4.0
Mapping NAN users to spectrometer workstation users
Each harvested dataset must be associated with a NAN user to be visible in the Dataset Browser. This association is managed primarily through the NDTS-GUI, where the selected NAN user can be changed (if permitted by facility manager settings). By default, the NAN user mapped to the current spectrometer workstation user is selected. These mappings are managed by the NMR facility manager through the user management page on the NAN portal Facility Dashboard.
NDTS harvesting defaults
Facility managers use the Manage Facility Users tool on the Facility Dashboard to:
- Add NAN users to the facility
- Map users to spectrometer workstation accounts
- Set default harvesting preferences
- Define fallback behavior for unmapped users
When the NDTS-GUI is launched or when the selected NAN user is changed, the default harvesting settings are refreshed based on the configuration in the *Manage Facility Users* tool.
If the NDTS-GUI is not running, NDTS harvesting defaults to the fallback settings defined in the Manage Facility Users tool.
Launching the NDTS-GUI
It is essential that the NDTS-GUI remain running so that harvesting status is visible and users can ensure appropriate metadata and settings are applied before data collection. To prevent accidental closure, the close button in the GUI is disabled once launched. It is strongly recommended to configure the NDTS-GUI to start automatically upon login to the spectrometer workstation.
Manually launching the NDTS-GUI
While automatic launching is preferred, the GUI can be started manually with:
/opt/nan-dtdaemon/nan_gui
Automatically launching the NDTS-GUI
The setup depends on the desktop environment and whether the configuration is per-user or system-wide. Below are instructions for different desktop environments, but with so many different versions and different Linux distros it is impossible to cover all possibilities. That said, launching an applications upon login is a common task as the correct answer can usually be found easily with a Google search or by asking one of the LLMs such as ChatGPT.
Step 1: Identifying the desktop environment
Use this command to determine your current desktop environment
echo $XDG_CURRENT_DESKTOP
if the above command does not work or show output try:
echo $DESKTOP_SESSION
Step 2: Creating the launcher script (if adding from the CLI)
If you are adding the launcher script through the command line interface you will need to create the text file below using your favorite editor and save it to the appropriate location (see the table below of the CLI-based path)
[Desktop Entry]
Type=Application
Exec=/opt/nan-dtdaemon/nan_gui
Hidden=false
NoDisplay=false
Name=NAN GUI
Comment=NDTS graphical interface
X-GNOME-Autostart-enabled=true
Most Linux distros also have the ability to add a launcher through the menu bar. Below in the table follow the directions for the Menu-Based instructions to add the launcher and select /opt/nan-dtdaemon/nan_gui
as the program to launch
Desktop Environment | Menu-Based Instructions | CLI-Based path |
---|---|---|
KDE 3 | — | ~/.kde/autostart/nan_gui.desktop
|
KDE 4 | — | ~/.kde4/autostart/nan_gui.desktop
|
KDE Plasma / Newer | System Settings → Startup & Shutdown → Autostart → Add Program… | ~/.config/autostart/nan_gui.desktop
|
GNOME | gnome-tweaks → Startup Applications → '+' |
~/.config/autostart/nan_gui.desktop
|
XFCE | Settings Manager → Session & Startup → Application Autostart → Add… | ~/.config/autostart/nan_gui.desktop
|
Step 3: Make it executable:
chmod +x ~/.config/autostart/nan_gui.desktop
NDTS-GUI Main Window

Element | Description |
---|---|
Top Text Bar | Indicates whether the dataset will be harvested. Options:
|
Middle Text Bar | Shows harvesting status:
|
Third Text Bar | Indicates TopSpin or VnmrJ activity:
Harvesting settings are irrelevant if no acquisition software is running. |
Ignoring Job Numbers | Datasets collected with job numbers above this threshold are ignored for harvesting. This setting is defined by the facility manager and avoids harvesting test or calibration runs without requiring toggling of the NAN harvesting radio button which is easy to forget to turn back on. |
Probe | Displays the currently assumed installed probe. This value is for informational purposes only and is updated via the NAN portal. If incorrect, it can be retroactively corrected by the facility manager as the facility manager applies a date when a probe swap occurs. |
NAN User | Indicates the currently selected NAN user. If unselected, harvesting defaults to facility manager-defined fallback behavior. Accurate user selection is essential for proper dataset access and reassignment. |
NAN Harvesting Toggle | Allows users to enable/disable harvesting. Permissions for toggling are set by the facility manager. Restrictions ensure harvesting behavior is consistent with user roles (e.g., preventing harvesting by commercial users). |
Enter Experiment Details | Opens a window to enter metadata and change the selected NAN user (see next section). |
Manual Harvest | Allows manual selection of a previously unharvested dataset for submission to the NAN archive (see below) |
NDTS Experimental Details Window

Field | Description |
---|---|
NAN User | Allows selection from the facility-defined list of NAN users. Permission to change users is governed by the facility manager. |
Project / Study / Sample | Drop-down lists enable assignment of datasets to a specific project, study, and sample at the time of data collection. These assignments can also be updated later in the Dataset Browser. |
Refresh Button | Forces immediate update of user, project, study, and sample lists, which are otherwise refreshed every 10 minutes. |
Solution / Solid Toggle | Indicates whether the dataset is from a solution or solid-state sample. This also determines which additional metadata fields are shown. |
Magic Angle Spinning | Toggle to indicate that MAS was used during acquisition. |
MAS Rate (kHz) | Field to enter the MAS spinning rate if not present in the dataset parameters. |
Z0 Drift Correction | Allows entry of the known Z0 drift rate for inclusion in metadata. |
Multi-receiver / Time Sharing Checkboxes | Optional indicators that can be checked if either condition applies to the dataset. |
Notes | Free-text field for entering user-defined notes to be associated with the dataset. |
Manual Harvest Window
The manual harvest button allows users to harvest a dataset in cases where automatic data harvesting was unintentionally disabled. It is not intended for harvesting older datasets; the NAN portal provides an arbitrary data upload feature for that purpose.
Limitations
- On VNMRj, the manual upload must be from an experiment directory (e.g.
/$home/vnmrsys/expN
) - VNMRj or TopSpin must be running
- The NDTS-GUI must be running
- Harvesting must be set to "on"
- Correct NAN user, project, study, sample, and additional metadata must be selected or entered
- Current spectrometer, probe, and related metadata will be associated with the dataset. Therefore, this feature should only be used for recently collected datasets

Description of Manual Harvest Pop-up Window
Field | Description |
---|---|
User | Displays the current workstation username (informational only) |
Experiment Location | Dialog box to select the dataset to be harvested; includes a Browse button for easier navigation |
Force | Forces harvesting of a dataset even if it has already been harvested; overrides the default behavior |
History | Opens the history of previously manually harvested datasets (see below) |
Harvest | Starts the harvesting process; disabled until a dataset is selected |
Done | Closes the Manual Harvest window |
Status Line | Displays the result of the last harvesting attempt |
History Window
Field | Description |
---|---|
Date | Date the dataset was manually harvested (not the date of dataset acquisition) |
NAN User | The NAN user selected at the time of manual harvesting; this is the user the dataset will be associated with |
Path | Filesystem path of the manually harvested dataset |
Status | Status of the manual harvest (e.g., success, error) |
Refresh | Button to refresh the history list; otherwise, it updates only when the window is reopened |
Manual Harvesting from the Command Line Interface (CLI)
Linux
For Linux workstations, run the executable /opt/nan-dtdaemon/nan_sendexp
and supply the command-line arguments described below.
TopSpin and the NDTS Workstation Daemon must be running.
Windows
On Windows, invoke the batch file C:\opt\nan-dtdaemon\nan_sendexp.bat
from a CMD session.
The NDTS Workstation Daemon must be running.
Command-Line Arguments
Argument | Description | Examples |
---|---|---|
--status |
Returns the current workstation user's history of manual-harvest attempts. Supports --username to view another user's history. |
/opt/nan-dtdaemon/nan_sendexp --status /opt/nan-dtdaemon/nan_sendexp --status --username={username}
|
--harvest (default) |
Harvests a dataset. Options --username={username} – harvest as another user.--force – re-harvest even if previously harvested.--topspin={topspin_location} – TopSpin root path (required on Windows). |
/opt/nan-dtdaemon/nan_sendexp {experiment_location} /opt/nan-dtdaemon/nan_sendexp --harvest {experiment_location} /opt/nan-dtdaemon/nan_sendexp --harvest {experiment_location} --username={username} /opt/nan-dtdaemon/nan_sendexp --harvest {experiment_location} --force /opt/nan-dtdaemon/nan_sendexp --harvest {experiment_location} --topspin=C:\Bruker\topspin4.3.0
|
--ignore |
Instructs the NDTS daemon to ignore harvesting settings from the NDTS-GUI (useful for scripted calibration experiments when only certain calibrations experiments need to be harvested). | /opt/nan-dtdaemon/nan_sendexp --ignore
|
--detect |
Re-enables adherence to NDTS-GUI harvesting settings (reversed the effect of --ignore ). |
/opt/nan-dtdaemon/nan_sendexp --detect
|
--retcode |
Prepends a status character to output (1 = success, 0 = failure) for programmatic use. | 0Unable to determine experiment type for… |
--verbose |
Prints detailed diagnostic output. | — |
--help |
Displays built-in command-line help. | — |