7. BrainSuite Dashboard
The BrainSuite Dashboard is a browser-based system that integrates with the BrainSuite BIDS App. It provides interactive visualization of the intermediate participant-level workflow outputs as they are generated, enabling you to track the state of processing and identify errors as they occur.
To use the Dashboard, the BrainSuite BIDS App QC system generates snapshot images during processing and status information regarding the processing of the data for each subject. These outputs are monitored by the Dashboard, which presents them in an interactive browser page.
7.1. Run a separate BrainSuite BIDS App instance to monitor processing in real-time
To run QC and BrainSuite Dashboard along with your processing for real-time updates, you will need to launch a separate instance of the BrainSuite BIDS App image.
You can do so by opening another terminal while your participant-level processing is running and executing one of the following commands.
Note
You can still launch the BrainSuite Dashboard even after your processing has completed. All you have to do is run participant
level again with --stages DASHBOARD
. See below for more details.
7.2. Running real-time QC and BrainSuite Dashboard without a web server
7.2.1. Launching web server from BIDS App
If your institution does not have a running web server, you can launch a local web server from BrainSuite BIDS App. A web server required to view the BrainSuite Dashboard in the web browser.
Important
The web server instance must be run on a system with read access to the output folder and with the ability to serve content through any firewalls between itself and you.
7.2.2. Command-line interface using Docker
You can launch a web server using BrainSuite BIDS App by adding the flag --localWebserver
.
You will also need to expose a port to the image; for example:
docker run -ti --rm \
-p 9095:9095
-v /path/to/local/bids/input/dataset/:/data:ro \
-v /path/to/local/output/:/output \
bids/brainsuite:v23a \
/data /output participant --stages DASHBOARD --localWebserver
where -p 9095:9095
tells the Docker to expose the local host’s port 9095 to Docker container’s port 9095. If you would like to change
the local host’s port number, you can do so by modifying the first port number in -p
(e.g., -p 9999:9095
). If you decide to change the
container’s port number, please also specify this new container’s port number using the argument --port
for the BrainSuite BIDS App.
Important
If you are running a remote desktop or any other connections, please check that you are not using the same port as the one you have chosen
to expose, as defined in -p
(i.e. port 9999 in -p 9999:9095
). Using the same port number may disconnect the active connections using
this specific port.
Stages include DASHBOARD, which indicates that the BrainSuite BIDS App will launch the real-time monitoring.
Again, the -v arguments define the mount points ( -v local:container
). In the above command, mount points are specified for
the input data directory and the output directory. This way, the Docker container can see/read the contents in the input directory
and write to the output directory.
Important
Make sure that the output directory will contain/contains the processed outputs.
7.2.3. Command-line interface using Singularity
Unlike Docker, for Singularity, you can directly use your local host’s file system paths and are not required to expose your local host’s port.
To run real-time monitoring using Singularity:
singularity run bids_brainsuite_v23a.simg \
/path/to/local/input /path/to/local/output participant \
--stages DASHBOARD --localWebserver
where bids_brainsuite_v23a.simg
is the path and name of the converted Singularity BrainSuite BIDS App image.
If you would like to modify the port number, you can use the --port
argument from the BrainSuite BIDS App to specify the port number. Again,
make sure that the output directory will contain/contains the processed outputs.
7.3. Running real-time QC and BrainSuite Dashboard with an existing web server
If your institution has a running web server and you would like to serve using this web server, you do not need to expose ports or start a local web server. Instead, all you need to do is to set the path to the QC output directory (where the snapshot PNG files will be stored). Also, this QC output directory must be where the web server will be serving from.
7.3.1. Run a separate instance to monitor real-time
As a reminder, to run QC and BrainSuite Dashboard along with your processing for real-time updates, you will need to launch a separate instance of the BrainSuite BIDS App image.
You can do so by opening another terminal while your participant-level processing is running and executing one of the following commands.
7.3.2. Command-line interface using Docker
To run real-time monitoring using Docker:
docker run -ti --rm \
-v /path/to/local/bids/input/dataset/:/data:ro \
-v /path/to/local/output/:/output \
bids/brainsuite:v23a \
/data /output participant --stages DASHBOARD --QCdir /path/to/QC/output
where --QCdir
specifies the folder where the snapshot PNG files will be stored and where the web server will be serving from.
Important
Path specified by --QCdir
must be relative to the Docker container’s file system.
7.3.3. Command-line interface using Singularity
Unlike Docker, for Singularity, you can directly use your local host’s file system paths.
To run real-time monitoring:
singularity run bids_brainsuite_v23a.simg \
/path/to/local/input /path/to/local/output participant \
--stages DASHBOARD --QCdir /path/to/QC/output
where bids_brainsuite_v23a.simg
is the path and name of converted Singularity BrainSuite BIDS App image.
And --QCdir
specifies the folder where the snapshot PNG files will be stored and where the web server will be serving from.
7.4. Arguments for BrainSuite QC/Dashboard
--QCdir QCDIR Designate directory for QC Dashboard.
--QCsubjList QCSUBJLIST
For QC purposes, optional subject list (txt format,
individual subject ID separated by new lines; subject
ID without "sub-" is required (i.e. 001). This is
helpfulin displaying only the thumbnails of the queued
subjects when running on clusters/compute nodes.
--localWebserver Launch local webserver for QC.
--port PORT Port number for QC local webserver. This defines the port number
inside the BrainSuite BIDS App container.
If using Singularity version of BrainSuite BIDS App, this argument
also defines the port number of the local host.
--bindLocalHostOnly When running local web server through this app, the
server binds to all of the IPs on the machine. If you
would like to only bind to the local host, please use
this flag.