Neurodesk

Neurodesk provides a containerised data analysis environment to facilitate reproducible analysis of neuroimaging data.

Exploring Neurodesk: Revolutionizing Medical Imaging Analysis

Neurodesk (Renton* et al., 2024) is a powerful platform streamlining the workflow for neuroscience researchers by consolidating the majority of essential tools into a single installation process, eliminating the need for complex and fragmented setups. Moreover, Neurodesk ensures accessibility across all major operating systems and platforms, offering researchers seamless integration regardless of their preferred environment.

Check out the website for more information about installation and available tools.

Neurodesk is built to uphold the principles of reproducibility in scientific research while addressing the need for flexibility in diverse analysis setups. It is not new in research that the arduous task of setting up analysis workflows can consume significant time, often stretching into hours or days due to complexities or software incompatibilities. Additionally, transitioning analyses between platforms during the scaling-up of studies necessitates reinstalling each tool. This is a frustrating roadblocker for researcher productivity.

Neurodesk offers a solution to these challenges by harnessing container technology, including Docker and Singularity, alongside a software distribution service known as CVMFS. By encapsulating each tool and its dependencies within a container, isolated from one another, users can conveniently access and deploy them as needed. This approach ensures the highest level of reproducibility by maintaining consistent dependencies, mitigating the variability introduced by different versions of these dependencies.

For further insights into these technical aspects and experiments on reproducibility, please check our the paper in Nature Methods or in biorxiv

Navigating Neurodesk: A Step-by-Step Guide to Optimizing Medical Imaging Analysis

Looking for your application in Neurodesk from this up-to-date list.

For a comprehensive code example, please check our notebooks and tutorials.

I will demonstrate a simple example of using Neurodesk, specifically, to perform skull stripping using FSL BET (Brain Extraction Tool). Belows are different the ways to interact with BET in Neurodesk in the order of increasing complexity to setup up.

1. Graphic Interface with Neurodesk App

Pros: easy setup

Cons: cannot use in HPC or Cloud

More details on installation can be found here You need Docker or Podman installed and ready.

First, start a local or remote session from the app Welcome window like below. If you have Docker or Podman installed, use a local session as you can have access to local data. Otherwise, remote session is an alternative but you’ll need to upload data to the session, noted that your data will be deleted upon session closure. You can follow the steps below for both local and remote session as they have the same interface.

For first-time users, please note that it may take up to 20 minutes to load. Once loaded, a new window will appear, featuring a sidebar on the left and various launchers on the right.

Left box - List of tools in Neurodesk to interact in terminal. Right box - Neurodesktop for graphic interface.

Below are several ways for loading and using available tools from both the launcher and sidebar.

Neurodesk App: Graphic interface

To access the Neurodesktop interface, simply click on the Neurodesktop icon in the launcher. This will prompt a window to appear, offering options for either an RDP or VNC connection. If you require a faster connection, choose RDP. Alternatively, if you prefer a handholding session that allows connection from different devices to the same instance, opt for VNC.

And voila, you have access all the tools in the intuitive interface categorized in different tabs. Select Functional Imaging, then FSL and the version you want, and a terminal is prompted with the tool loaded automatically. You can then use the command as usual.

Neurodesk App: Command-line interface

Step 1. Load the tool by 2 different ways

Option 1. Load FSL from sidebar

Option 2. Open terminal from the launcher

then load module from terminal

(base) jovyan@neurodesktop-2024-01-12:~$ ml fsl/6.0.5.1

Step 2. Use their native command line

Option 1. In terminal

(base) jovyan@neurodesktop-2024-01-12:~$ bet

Usage:    bet <input> <output> [options]

Option 2. In Jupyter notebook

Open notebook from launcher (left), then use command line in notebook cell (right).

2. From local machine using neurocontainer

Pros: agile, allow accessibility on any platforms (PC, HPC, Cloud)

Cons: requires multi step installation

Details on setup to install cvmfs and singularity/apptainer can be found here

Check for the tool you need to use

ls /cvmfs/neurodesk.ardc.edu.au/containers/

The output should look like this:

ubuntu@ubuntu:~$ ls /cvmfs/neurodesk.ardc.edu.au/containers/
afni_21.2.00_20210714                    laynii_2.2.1_20220701
afni_22.1.14_20220710                    lcmodel_6.3_20210302
afni_22.1.14_20220712                    lcmodel_6.3_20220222
afni_22.1.14_20220713                    matlab_2022a_20220727
afni_22.3.06_20221128                    matlab_2022a_20220902
afni_22.3.07_20221206                    matlab_2022a_20221007

To run FSL BET, select the version in the container tag (eg. fsl_6.0.5.1_20220120 for FSL 6.0.5.1 built on 20/01/2022)

singularity shell /cvmfs/neurodesk.ardc.edu.au/containers/fsl_6.0.5.1_20220120/fsl_6.0.5.1_20220120.simg

You then enter singularity environment, run BET command as follows:

Singularity> bet

Usage:    bet <input> <output> [options]

Main bet2 options:
  -o          generate brain surface outline overlaid onto original image
  -m          generate binary brain mask
  -s          generate approximate skull image

3. From local machine using neurocommand

Pros: intuitive for HPC user

Cons: more setup requirements

Details on setup to install can be found here

To use FSL BET, load the module in terminal and run command as below.

ubuntu@ubuntu:~$ module load fsl/6.0.5.1
ubuntu@ubuntu:~$ bet
Usage:    bet <input> <output> [options]

Main bet2 options:
  -o          generate brain surface outline overlaid onto original image
  -m          generate binary brain mask
  -s          generate approximate skull image

References

2024

  1. neurodesk.png
    Neurodesk: An accessible, flexible, and portable data analysis environment for reproducible neuroimaging
    Angela I. Renton* ,  Thuy T. Dao* ,  Tom Johnstone , and 45 more authors
    Nature Methods, Jan 2024