This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Neurodesk Overview

A flexible, scalable and easy to use data analysis environment for reproducible neuroimaging.

What is Neurodesk?

Neurodesk provides a containerised data analysis environment to facilitate reproducible analysis of neuroimaging data. At Neurodesk, we believe that reproducibility should be a fundamental principle underlying neuroscientific data analysis (1). Analysis pipelines for neuroimaging data typically rely on specific versions of packages and software, and are dependent on their native operating system. These dependencies mean that a working analysis pipeline may fail or produce different results on a new computer, or even on the same computer after a software update. Neurodesk provides a platform in which anyone, anywhere, using any computer can reproduce your original research findings given the original data and analysis code.

The Neurodesk environment relies on software containers and allows users to build and use containers to analyse neuroimaging data. Containers can be compared to virtual machines, in that they allow users to create a virtual, isolated computing environment with an operating system separate to that of the host machine. However, containers differ from virtual machines in that they virtualise software rather than hardware. Practically, this means that container images require few system resources to install, start-up quickly, and are easily portable between computers.

We recommend watching this excellent short video from the Australian Research Data Commons (ARDC) on research applications of software containers. To read more about Docker containers, visit the Docker webpage

More information:

In-depth information:

What applications are included in Neurodesk?

You can check out the complete list of these applications

How should I cite the tools I am using and Neurodesk itself?

See here

Background

Neurodesk originates from various projects at the Centre for Advanced Imaging that enabled running neuroimaging tools on HPCs and Linux workstations using software containers. The ideas and code from projects like “DICOM2CLOUD”. “transparent singularity” and “CAID” were combined during a hackathon project to create a “Virtual Neuro Machine”. The project was later renamed to Neurodesk and further developments were funded through the ARDC platform project “AEDAPT” with the goal to create a national platform for reproducible electrophysiology data analysis and sharing, accessible to all Australian researchers across a wide range of disciplines that conduct electrophysiological research.

References

  1. National Academies of Sciences, Engineering, and Medicine. 2019. Reproducibility and Replicability in Science. Washington, DC: The National Academies Press. https://doi.org/10.17226/25303.

MIT License

Copyright (c) 2021 NeuroDesk

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

1 - Applications

List of Applications.

Below is a list of the neurocontainer applications included in the most recent Neurodesk release.

To use these applications through the Neurodesk platform, find the correct instructions for getting started by selecting your computing environment details in the widget on our home page

Neurodesktop comes packaged with:

  • programming software (e.g., Visual Studio Code, python, git)
  • workflow systems (Nipype)-data synchronization utilities (Rsync, Rclone, Nextcloud, Owncloud)
  • system management tools (Lmod, Singularity, Htop)
  • additional resources (Imagemagic, Firefox, OpenSSH client)
  • access to Neurocontainers via the Neurodesk menu (see list below)

2 - How to cite us

How should you cite Neurodesk and the tools you use through the platform?

Citing Neurodesk

Please cite the Neurodesk paper and if you used Neurodesktop, add the version that was used (e.g. v2024-12-06).

Renton, A.I., Dao, T.T., Johnstone, T., Civier, O., Sullivan, R. P., White, D. J., … Narayanan, A. & Bollmann, S. Neurodesk: an accessible, flexible and portable data analysis environment for reproducible neuroimaging. Nat Methods (2024). https://doi.org/10.1038/s41592-023-02145-x

Check our preprint here Neurodesk Preprint

Citing specific tools

To guarantee reproducibility, we recommend specifying the name, version number and builddate for any containerised applications used through Neurodesk. You can find this information here.

In addition to citing Neurodesk, please remember to cite any papers associated with the tools you use. You find this information in the README.m for each tool, or when opening the application through the menu in Neurodesktop.

If you used any EEG/MEG/electrophysiology tools, please also cite the AEDAPT project.

Examples

Here are some example excerts of how to cite Neurodesk:

“TGV QSM (v1.0.0_20210629, Langkammer et al, 2015) was run in Neurodesk (v2024-12-06, Renton et al, 2022)”

“EEGlab (2020.0_20211026, Delorme & Makeig, 2004) was run in Neurodesk (v2024-12-06, Renton et al, 2022) part of the AEDAPT project.”

References

  1. Langkammer, C; Bredies, K; Poser, BA; Barth, M; Reishofer, G; Fan, AP; Bilgic, B; Fazekas, F; Mainero; C; Ropele, S. Fast Quantitative Susceptibility Mapping using 3D EPI and Total Generalized Variation. Neuroimage. 2015 May 1;111:622-30. doi: 10.1016/j.neuroimage.2015.02.041
  2. Renton, A.I., Dao, T.T., Johnstone, T., Civier, O., Sullivan, R. P., White, D. J., … Narayanan, A. & Bollmann, S. Neurodesk: an accessible, flexible and portable data analysis environment for reproducible neuroimaging. Nat Methods (2024). 10.1038/s41592-023-02145-x
  3. Delorme A & Makeig S (2004) EEGLAB: an open-source toolbox for analysis of single-trial EEG dynamics, Journal of Neuroscience Methods 134:9-21. doi: 10.1016/j.jneumeth.2003.10.009

3 - Discussion Forum

Discussion Forum on Github.

4 - Neurodesk FAQ

Frequently Asked Questions.

What is Neurodesk?

Neurodesk provides a containerised data analysis environment to facilitate reproducible analysis of neuroimaging data. Analysis pipelines for neuroimaging data typically rely on specific versions of packages and software, and are dependent on their native operating system. These dependencies mean that a working analysis pipeline may fail or produce different results on a new computer, or even on the same computer after a software update. Neurodesk provides a platform in which anyone, anywhere, using any computer can reproduce your original research findings given the original data and analysis code.

More information:

In-depth information:

What applications are included in Neurodesk?

You can check out the complete list of these applications

How should I cite the tools I am using and Neurodesk itself?

See here

Can I change the desktop resolution?

Yes,

In a VNC session run lxrandr to change the desktop resolution image

In an RDP session refresh the webpage to adjust to the new window size

Can I run Neurodesk on an HPC without Docker?

Yes, our project aims to run on the hardware you have access to. However, without docker support you cannot use our desktop interface NeuroDesktop but you can still use the command line interface NeuroCommand on HPC. This works well for batch processing on HPCs once you developed your pipeline in our desktop interface. If your HPC provides a desktop interface you can use all our graphical applications without any issues and the GUIs even work via SSH x-forwarding - it’s not the most performant experience, but it works well enough.

How can I export a jupyter notebook as a PDF?

By default we don’t have all extensions installed to do this to keep the neurodesktop small. So you will see an error when trying to do File -> Save and Export Notebook As … -> Webpdf

To get webpdf export to work, open a terminal and run:

pip install nbconvert[webpdf]
playwright install chromium

Is there reduced performance when using containers?

If you are running containers on Linux there is no performance penalty - on an HPC with a Lustre filesystem it can even be faster to run our containers than running natively on the filesystem (because meta data operations are shifted to the compute node - more information can be found here:

Rioux, Pierre, Gregory Kiar, Alexandre Hutton, Alan C. Evans, and Shawn T. Brown. ‘Deploying Large Fixed File Datasets with SquashFS and Singularity’. ArXiv:2002.06129 [Cs], 14 February 2020. https://arxiv.org/abs/2002.06129 ).

However, running Neurodesktop on Windows and Mac will have a performance penalty, because Linux runs in a Hypervisor on these systems. Also, it is important to understand filesystem operation bottlenecks that can occur when accessing files across system boundaries (e.g. processing DICOM files stored on Windows inside Neurodesk).

How can I see how many compute resources Neurodesk containers need?

In Linux the containers run as normal processes and you can use htop and top to inspect the resource footprint. For Windows and Mac the information is not readily available, however, we have written a guide here: Troubleshooting

Can I just use the containers without neurodesktop or neurocommand?

Yes, there are multiple ways of using the containers directly and we provide an overview here: https://www.neurodesk.org/docs/getting-started/neurocontainers/

Can I keep my modifications in the container?

We designed neurodesk with reproducibility as a main goal, so the desktop containers should not be modified if one aims for full reproducibility. However, there is one good option to keep your settings across different container versions: You can write a shell script that installs additional packages and modifies the environment so it’s perfect for you. This script can then be re-executed in a new desktop version and will enable a reproducible customization.

Another option is to “save” your docker container including all changes you made. This could be useful when your changes are too difficult to write a shell script or when you do not care about reproducibility as much and you just want to get the job done. To do this you can commit (https://docs.docker.com/engine/reference/commandline/commit/) your container and by uploading the container to your own docker hub you could even share it.

Can I force a complete container download to my system?

To increase speed and reliability of Neurodesktop we mount the application containers from a CVMFS mount and download only the files required to run your current task. Although we aim to keep everything on there reproducible, there might be a reason that you want to fully download the containers to your system. You can force this behaviour by adding another parameter to the docker call: -e CVMFS_DISABLE=true

For windows an example would look like this:

docker run --shm-size=1gb -it --privileged --user=root --name neurodesktop -v C:/neurodesktop-storage:/neurodesktop-storage -e CVMFS_DISABLE=true -p 8888:8888 -e NEURODESKTOP_VERSION=2024-12-06 vnmd/neurodesktop:2024-12-06

Freeview 7.2.0 crashes when I open files

Freeview (and Freesurfer!) need a valid license to work and we are not allowed to distribute a license with Neurodesk!

You can follow these steps to run freeview 7.2.0 and open your files:

  1. apply for a license (https://surfer.nmr.mgh.harvard.edu/registration.html) and paste this license in ~/.license

then run

echo "export FS_LICENSE=~/.license" >> ~/.bashrc
then start freeview 7.2.0 and it should all work perfectly.

Matlab asks me to reactivate after restarting the desktop

There is one workaround for this problem. Fix the mac address for your session by including this in your docker command:

--mac-address 02:42:ac:11:00:02 

How to restart a Neurodesk Lab session?

In the jupyter menu, click on File -> Hub Control Panel:

image

Then “Stop My Server”

image

Then “Start My Server”

image

How to restart a stuck Neurodesk when running locally in Docker or using the NeurodeskApp?

Open Docker Desktop Dashboard. Find the container under “Containers” and delete the Container there.

VScode

Vscode is not starting up (or starts many many copies of itself …)

This problem seems to be caused by a corrupted config directory. To fix this, run:

rm -rf ~/.config/Code

Keyboard and Multi-Language support

I am using a European keyboard layout and I cannot type symbols that require the ALT-GR key (like @ or \)

This seems to be a bug in Guacamole and RDP in combination with certain browsers. There are a few workarounds you can try:

  1. Use the connection option “Desktop Fixed-Resolution (VNC)” instead of Desktop Auto-Resolution (RDP)
  2. connect to the desktop using an RDP client instead of the browser (https://www.neurodesk.org/docs/getting-started/neurodesktop/windows/#using-an-rdp-client)

Copy-Paste and Clipboard issues

How do I copy and paste text?

You can copy and paste text within Neurodesktop and between Neurodektop and your host computer using the regular keyboard shortcuts (CTRL+C, CTRL+X, and CTRL+V). Note however that some applications (e.g., command-line terminal) are using other keyboard shortcuts. You can usually find them in the “Edit” menu of the relevant application.

Note for Mac Users: The Safari Browser is currently not compatible for copy and paste with Guacamole. Please either use the Neurodeskapp or a Edge/Firefox on MacOS. You will need to use a combination of CTRL and Command shortcuts in order to copy and paste text between Neurodesktop and the host computer. For example, copy text from your Mac with Command+C and then paste it into Neurodesktop using CTRL+V. For the other way around, you’d use CTRL+C in Neurodesktop and then Command+V on the Mac.

I cannot copy and paste text within Neurodesktop using keyboard shortcuts

If you’re using Mac, you might be trying to use Mac keyboard shortcuts, but Neurodesktop is using Linux keyboard shortcuts (CTRL+C and CTRL+V) If you use the terminal, please see “I fixed my internet browser clipboard, but copy or paste still do not work in the terminal” below.

Copying text from my host computer and pasting it inside Neurodesktop doesn’t work in Firefox

This is a “feature” of firefox and you can disable this “feature”:

  • navigate to about:config and “Accept the Risk and Continue” (“about:config” needs to be entered in the address bar of firefox and hit enter)
  • now search for clipboard and then set the following to “true”:
    • dom.events.asyncClipboard.clipboardItem
    • dom.events.asyncClipboard.read
    • dom.events.testing.asyncClipboard

Then close firefox and restart. Then the clipboard should work as one would expect.

If the clipboard still does not work, check “I fixed my internet browser clipboard, but …” sections below.

Copy and paste between my host computer and Neurodesktop (or vice versa) doesn’t work in Chrome or Edge

The browsers have a security feature to protect you from something stealing your clipboard content. Depending on your security settings you have to enable it explicitly - it’s a little icon in the browser address bar that looks like a clipboard.

After pressing the icon, you should choose the option shown below in the dialog that opens. After pressing “Done”, close the current browser tab and open a new one for the changes to take effect.

image

If the clipboard still does not work, check “I fixed my internet browser clipboard, but …” sections below.

I fixed my internet browser clipboard, but copy or paste still do not work in the terminal

The terminal is using special keyboard shortcuts, Shift+CTRL+C for copy, and Shift+CTRL+V for paste. Alternatively, you can copy and paste text by using the terminal’s “Edit” menu.

I fixed my internet browser clipboard, but copy or paste still do not work in the file browser

The copy and paste options in the “Edit” menu of the file browser are used to copy and paste files, not text. To copy and paste text from/into the file browser application (e.g., copy a path into the path field in the top), use the CTRL+C and CTRL+V keyboard shortcuts.

I fixed my internet browser clipboard, but copy or paste still do not work in a specific/all applications

If you’re using Mac, you might be trying to use Mac keyboard shortcuts, but Neurodesktop is using Linux keyboard shortcuts. For more details, read the “Note for Mac users” here.

It is also possible that the text you are trying to copy includes special characters (e.g., non-English characters), which may cause Neurodesktop to not execute your paste command (including the non specials characters). Give special attention to the following characters:

  • Dash: the en (short) dash is the normal one and copies ok, but the em (long) dash is considered a special character. When in doubt, replace all the dashes in the text you want to copy with en dashes.
  • Quotation mark: a strictly vertical quotation mark is fine, but a slightly leaning quotation mark / an apostrophe are special characters. When in doubt, replace all quotation marks in the text you want to copy with vertical quotation marks.

If it still does not work, please report the problem and we will do our best to help you:

  1. Copy some text from your host computer (CTRL+C, or Command+C)
  2. Open the Mousepad text editor in Neurodesktop (Start button → “Accessories” → “Mousepad”)
  3. Try to paste the text using the menu option “Edit” → “Paste”
  4. Try to paste the text again using CTRL+V
  5. If you don’t have one already, please create a Github account here
  6. Go to our discussion forum here
  7. If you are not logged into Github, please log in (upper right corner)
  8. Press “New Discussion” button
  9. In the message that you write, please specify your operating system, your internet browser, the application in question, and if you can copy/paste to Mousepad and how?

Docker, WSL, Memory

Docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

This is usually a docker-related error, not related to neurodesktop itself. To troubleshoot docker, we can try a simpler container first:

docker run hello-world

Try the following solutions (in this order, until the above command works)

  1. Win/Mac: Open docker GUI and accept T&Cs. Check that the docker engine is running
  2. Linux: Make sure you started the docker daemon (sudo systemctl start docker)
  3. Add your user to the OS docker group (sudo usermod -aG docker $USER)
  4. docker.sock permissions need to be changed (sudo chown root:docker /var/run/docker.sock)
  5. Close and open the terminal and retry.
  6. Log out and login again, or restart the machine (current user environment does not fully know docker is running)

Windows users: WSL not installed properly

The Docker engine relies on the Windows subsystem for Linux (WSL) to run on a windows machine.

If WSL is properly installed, the Resources tab of the Docker settings should look something like this:

Docker_WSL_correct

However, if WSL is missing or incorrectly configured, the Resources tab of the Docker settings may look something like this:

Docker_WSL_incorrect

If this is the case, follow the manual install instructions to install WSL 2 (including installation of Ubuntu through Microsoft Store).

Windows users: Not enough free space on the partition in Windows and WSL2

This could help: https://yjmantilla.github.io/tutorials/wsl2-move-vhdx.html

Windows users: Failure to connect to Neurodesktop in Firefox

We recommend using Microsoft Edge or Google Chrome to access Neurodesktop.

Trouble installing neurodesk images

This may be a memory issue. First, ensure that there is enough free space on the disk. If there is, try resetting docker settings and data. To do this:

  1. Open the docker engine
  2. Navigate to “Troubleshooting” (the bug icon in the top right).
  3. Click “Reset to factory defaults”

Docker_troubleshooting

If you are still experiencing issues after this, you may need to update docker to the latest version. This can be achieved through “settings” in the docker engine, or (on windows) by right clicking on the docker tray icon:

Docker_update

I got an error message ‘X killed’ or not enough memory

This may be due to Docker not having access to enough RAM from your host computer.

If you are using Docker on MacOS

  1. The memory amount is managed via the Docker settings: image

If you are using Docker on Windows 10 with the WSL2 backend

then this is managed by Windows settings. Try the following steps to check how much RAM Docker has access to and increase the amount if necessary.

  1. Run Docker
  2. Open a terminal (ie. Powershell) in the PC you want to use to run Neurodesktop (not in Neurodesktop itself) and type the following command:
docker info

This will generate information about your Docker installation (make sure Docker is running during this step)

  1. Look for the line that says
Total Memory: **.**GiB
  1. If this value is ~2GB, try increasing it*:
    [wsl2]
    memory=32GB
    
    • Quit Docker (make sure it’s not running in the background, ie. system tray, check task manager)
    • In the terminal, run the following command
    wsl --running --list
    
    This will list any running distributions. For the update to be successful, WSL needs to have completely stopped running (ie. no distributions running)
    • Restart Docker and rerun steps 1-3 to confirm it was successful

If you are not using WSL2, you can check and manage your RAM allocation in the Docker desktop application.

  1. Open the Docker application and navigate to settings > resources > advances
  2. Scroll down to the Memory option and use the sliding bar to adjust the setting
  3. Click apply and restart

*RAM requirements will vary based on the tools/data you are using. If the system you’re using has limited RAM, test out a few different amounts by running the above steps and then your analyses in Neurodesktop. Version 20220208 onwards has a memory monitor in the taskbar - you can use this to check how much memory Neurodesktop has access to and how much is being used by the analyses being run.

How to empty trash bin in Neurodesktop

If you have deleted files using the Neurodesktop GUI but your storage is not yet emptied, execute the following command in the terminal.

rm -rf ~/.local/share/Trash/

How can I contribute new containers?

We are still working on making this easier, but here is the current workflow to add new applications.

I couldn’t find the information I was looking for. Where can I get additional assistance?

Neurodesk is an open-source project that is always evolving. If you are experiencing an issue not listed here, you can reach out to us on Github. Post your question at https://github.com/orgs/NeuroDesk/discussions or open a new issue, so that we can aim to solve it and update our help documentation.

How do I get my files into Neurodesk?

It depends where you are running Neurodesk and where your files are. We provide many different ways from drag-and-drop, to cloud storage to file mounts in Storage in Neurodesk.

5 - Metrics

User metrics, analytics and service uptime

Docker metrics

Total Neurodesktop container pulls: Docker Pulls

Github metrics

RepositoryStarsOpen issuesLast Commit
neurodesktop
neurocommand
neurocontainers
transparent-singularity
example-notebooks
neurodesk.github.io
neurodesk-app

User metrics

Uptime metrics

6 - Release History

Previous releases of neurodesktop
Latest Version
2024-12-06

2024-12-06

  • updated QSMxT: v7.2.2
  • add heudiconv 1.3.1
  • add mriqc 24.0.2 20241108
  • add samsrfx v10.003
  • add palmettobug 0.0.1 20241119
  • add neurodock/pydesigner
  • Update dcm2niix version to 20241125
  • changed CVMFS servers
  • added -w workaround for docker on apple silicon into dockerfile
  • add static strace to /opt for container debugging
  • enabled VNC again and fix RDP auto resizing

2024-10-22

  • use cloudfront distribution only
  • workaround for kernel bug on arm64
  • add ipywidgets ipyvolume jupyterlab_widgets
  • add fsl 6.0.7.14
  • add QSMxT v7.2.1

2024-10-16

  • add jupyter-resource-usage plugin
  • disable VNC
  • remove updating of example directory on startup
  • update jupyter-server-proxy
  • add more CVMFS servers
  • Added relion 4.0.1.sm61 20240528
  • update aslprep to 0.7.0
  • update deepretinotpy to 1.0.5
  • add quickshear
  • add nighres 1.5.1
  • update bidscoin 4.3.3 and 4.4.0
  • Added bart 0.9.00
  • updated QSMxT to 7.1.0
  • Added mrtrix3src (latest version)
  • update VesselBoost to ver 1.0.0 by @KMarshallX in #301
  • add qmrlab
  • added niimath
  • updated fsl to 6.0.7.8
  • update aslprep to 0.7.2
  • update ants to 2.5.3
  • updated spinalcordtoolbox to 6.4
  • Update afni to 24.2.07
  • add dcm2niix
  • add micapipe 0.2.3
  • added brainnetviewer
  • Added brainlifecli
  • update fmriprep to 24.1.0
  • Update dsistudio 2024.06.12
  • add vmtk 1.5.0

2024-05-25

  • add new CVMFS CDN servers
  • add jupyter_scheduler and ipycanvas
  • update guacamole version to 1.5.5 and tomcat to 9.0.87
  • add rise extension for presentations
  • https://github.com/NeuroDesk/neurocommand/releases/tag/2024-05-25
  • fixed brkraw by @stebo85 in #268
  • QSMxT: v6.4.1 by @astewartau in #270
  • update mrtrix3 by @stebo85 in #271
  • QSMxT: v6.4.2 by @astewartau in #272
  • QSMxT: v6.4.3 by @astewartau in #274
  • update bidscoin to 4.3.2 by @stebo85 in #275
  • update fmriprep by @stebo85 in #277
  • add julia 1.9.4 by @stebo85 in #280
  • update dsi_studio by @stebo85 in #283
  • add glmsingle by @stebo85 in #284
  • ants 2.5.1 20240429 by @stebo85 in #285
  • QSMxT: v6.4.4 by @astewartau in #287

2024-03-27

  • Switched from singularity to apptainer
  • added (brkraw) and fixed multiple tools (mrtrix3, julia)

2024-01-12

  • fixed fsl GUI error, when starting fsl in VNC mode (the USER was not exported)
  • removed c.ServerApp.root_dir setting because it was causing an error when clicking on the Home button. Now it’s not possible to navigate outside of the homedirectory anymore in the side panel.

2023-11-28

  • fixed a bug where the /proc/cpuinfo file under ARM did not contain a MHz entry, which stopped Matlab from starting up
  • fixed a bug where the SINGULARITY_BINDPATH was not send in a jupyter notebook file

2023-10-29

  • bugfix: conda and mamba environments are now initialized correctly when neurodesktop starts up (not just in jupyter)

2023-09-20

  • the neurodesktop image is now multi-arch and supports x86 and ARM64
  • fixed recursive link creation in /data
  • switched to new cvmfs server geolocation DNS steering policy system: cvmfs[1,2,3].neurodesk.org resolve to 3 servers per region which are compared for speed by the client on startup
  • fixed recursive execution of bash shell inside a singularity container
  • fixed empty username
  • switched release tag naming scheme to YYYY-MM-DD instead of YYYYMMDD for better readability

20230628

  • directories can now be deleted in jupyter interface even if they contain files
  • moved startup configurations out of .bashrc
  • removed redundant chown of homedirectory (e.g. affecting windows startup time)
  • added git extension to juputerlab
  • more robust handling of CVMFS edge cases

20230531

  • included neurodesktop version in hostname
  • removed apt lists
  • triggered automount externally

20230525

  • used jupyter based image
  • fixed environment variables for nipype
  • fixed RDP upload permission errors
  • added symlink on home if /data is mounted

20221216

20221129

  • updated qsmxt to 1.1.13 (contributed by Ashley)
  • added nipype 1.8.3 (contributed by Steffen)
  • added mneextended 1.1.0 (contributed by David)
  • added new tool category “workflows”
  • added new CVMFS mirror server in Phoenix
  • added mimetypes so that nii/minc files now open in the respective applications
  • matlab licenses can now be saved from the activation GUI
  • update rstudio to 2022.07.2 (and R version to 4.1.2 with new additional packages, like brms)

20220813

  • updated qsmxt to 1.1.12 (contributed by Ashley)
  • updated 3D Slicer to 5.0.3 and included MONAI Label (contributed by Xincheng)
  • added Matlab 2022a (contributed by Oren)
  • updated AFNI to 22.1.14 (contributed by Steffen)
  • updated Spinal Cord Toolbox to 5.7 (contributed by Steffen)
  • updated Oshyx to 0.4 (contributed by Jeryn)
  • updated freesurfer to 7.3.2 (contributed by Steffen)
  • added CVMFS mirror server in Perth and cleaned up server list to account for DNS geo location steering (contributed by Steffen)

20220701

  • added laynii 2.2.1 - layer fMRI toolbox (contributed by Renzo Huber)
  • added fieldtrip 20220617 - eeg processing (contributed by David White)

20220329

  • added bidscoin 3.7.0 (converting data to bids) contributed by Oren
  • added sigviewer 0.6.4 (viewing electrophysiological data) contributed by Tom
  • added niftyreg 1.4.0 (image registration tool) contributed by Steffen
  • added mne 1.0.0 (EEG processing pipeline) contributed by David

20220302

  • update of ROMEO (phase unwrapping) to latest version 3.2.8
  • update of QSMxT (automated end-to-end QSM processing) to latest version 1.1.10
  • added mritools 3.3.0 (includes clearswi 1.0.1, mcpc3ds 0.1.0, romeo 3.2.8 as compiled binaries)

20220222

  • update for PhysIO toolbox (physiological noise correction for fMRI) to r2021a including the latest SPM r8224
  • update of lcmodel to include basis sets for 1.5-9.4T
  • added a memory display plugin to illustrate how much memory is available to the container and how much is consumed
  • added a version checker to help with identifying if a new version is available
  • added file upload via guacamole (+ update of guacamole to 1.4) - users can now drag and drop their files onto guacamole and they get copied to the desktop

20220128

  • update of Spinalcordtoolbox to 5.5
  • update of CAT12 to r1933

20220121

  • MNE Python 0.23.4 container including VScode and extensions
  • VScode container including Python/Julia Extensions and singularity to test “Inception Mode” (Running singularity containers within singularity containers)
  • update of fsl to 6.0.5.1
  • added CAT12 (a software that allows estimation of tissue volumes (and additional surface parameters such as cortical thickness, gyrification or fractal dimension) for different volume and surface-based atlas maps)

20220111

  • a deep learning based vessel segmentation algorithm “vesselapp” was added in version 0.3.1
  • palm - Permutation Analysis of Linear Models - was added in version alpha119
  • niistat running in octave was added with version 1.0.20191216
  • MRIcroGL was updated to a version with included python support, so the scripting is now working
  • rabies - Rodent Automated Bold Improvement of EPI Sequences was added with version 0.3.5
  • oshyx was updated to 0.3

20211220

  • neurodesktop can now be accessed via native RDP client as well (e.g. for multi-monitor support): https://www.neurodesk.org/docs/getting-started/neurodesktop/windows/#using-an-rdp-client
  • there is a new Help button in the menu :)
  • updates of ants 2.3.4 (now includes Scripts as well, including antsCookTemplatePriors.sh) + newly added version 2.3.5
  • new version of QSMxT 1.1.9 20211219
  • new version of Spinal Cord Toolbox 5.4
  • new tools: MRIcroGL and surfice - fantastic viewers for neuroimaging data

20211207

  • Physio toolbox compiled and added to SPM + update of SPM
  • added brainstorm
  • new neurodesktop container management scripts for Linux, Mac and Windows: https://github.com/NeuroDesk/neurodesktop
  • added fieldtrip
  • Datalad is now in the main image, so datalad run should work
  • added Oshy-X segmentation tool
  • updated freesurfer 7.2.0

20211028

  • added EEGLAB

20211018

  • added Rstudio, R and multiple R packages (plotly, car, tidyverse, …)
  • added ClearSWI and ROMEO for MRI phase processing (including new Tutorials: https://www.neurodesk.org/tutorials-examples/tutorials/phase_processing/)
  • added more categories in applications menu (Body, Electrophysiology, Hippocampus, Phase Processing, Rodent Imaging, Shape Analysis, Spine, Statistics)
  • bugfix: improved startup time of the desktop container (miniconda in homedirectory was causing chmod slowdown)
  • bugfix: ssh, vnc and rdp servers are now restarted in case the container was stopped and started again (e.g. on Standby)

20210929

  • fixed naming of aidmri to aidamri and added new category “Rodent Imaging”
  • updated all tool icons and updated neurodesk icon including background image
  • VScode now stores settings in persistent storage /neurodesktop-storage and with this keeps extensions and settings across different neurodesktop versions
  • docker layers are now cached, so updating the desktop to the next version is very fast and consumes less disk space locally
  • default theme of terminal changed from Solarized to Tango as the old theme was hiding information in tools like htop (same font colour on same background…)

20210923

  • removed faulty mriqc 0.15.2 container
  • neurodesk.github.io is now starting page in firefox browser

20210918

  • added mriqc 0.16.1 and mrtrix 3.0.3

20210917

  • included more tools for connecting to cloud storage services (rclone, owncloud, nextcloud, davfs2, globus). For more info: Storage
  • styling of desktop interface, including background wallpaper and colour scheme in terminal window
  • new categories in menu system (visualization) and added more categories to tools

20210916

  • This is the first version of the newly renamed and rebuild neurodesktop (previously vnm and neuromachine)
  • containers are mounted by default from CVMFS, but this can be deactivated by adding -e CVMFS_DISABLE=true to the docker call

7 - Acknowledgments

This work is supported by the Wellcome Trust with a Wellcome Discretionary Award as part of the Chan Zuckerberg Initiative (CZI), The Kavli Foundation and Wellcome’s Essential Open Source Software for Science (Cycle 6) Program [313306/Z/24/Z]

This project was supported by an Australian Research Data Commons (ARDC) Platform project “Australian Electrophysiology Data Analytics PlaTform (AEDAPT)”.

nif uq

swinburne liege

This work benefits from services and resources provided by the EGI Federation with the dedicated support of CESNET-MCC, Indiana University’s Jetstream2 cloud and Australian Research Data Commons Nectar cloud.

Thank you to Google Cloud and AWS for providing cloud credits to support this project since 2024. We thank Oracle for Research for supporting our project from 2022 to 2023.

8 - Contribute

How to get involved.

Contributors: Find information about our current contributors and how you can join this vibrant community.

Code of Conduct: We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy neuroimaging community.

Documentation: Detailed guides to contribute your tutorial to the Neurodesk documentation.

Roadmap: Our Roadmap lists the current ideas we would love to work on and where we need help.

Add tools: If you have a new tool that enhances your work, we strongly encourage you to add it to our project.