Fading Coder

One Final Commit for the Last Sprint

Home > Tech > Content

Setting Up Neurodesktop on Windows for Neuroimaging Analysis

Tech 2

Prerequisites and Installation

System Requirements

A base Neurodesktop image requires approximately 3 GB of storage.

Install Docker

Docker must be installed as a prerequisite. Download and install Docker Desktop for Windows from the official Docker website. A system restart is required after installation.

Launching Neurodesktop

Recommended Method: Neurodesk App

The simplest method is to use the cross-platform Neurodesk Desktop Application.

  • Download the application from the Neurodesk website.
  • During setup, verify you're system permissions (e.g., administrator rights) to determine the appropriate execution engine.
  • This application manages the Docker backend and Neurodesktop session automatically.

Manual Docker Container Method

For direct control, you can run Neurodesktop via Docker commands in a terminal.

Step 1: Create a Persistent Storage Volume

Create a Docker volume to preserve user data, such as configurations and scripts, independent of the container lifecycle.

docker volume create neurodesktop-data

Step 2: Run the Neurodesktop Container

Execute the following command to download the image and start the container. This command includes conifgurations for memory, privileges, data persistence, and network access.

docker run --shm-size=1gb -it --privileged --user=root --name neurodesktop-container \
-v D:/neurodesktop-workspace:/neurodesktop-workspace \
--mount source=neurodesktop-data,target=/home/analyst \
-p 8888:8888 \
-e NEURODESKTOP_VERSION=2025-06-10 \
vnd/neurodesktop:2025-06-10

Command Breakdown:

  • --shm-size=1gb: Allocates 1GB of shared memory for applications.
  • --privileged: Grants extended privileges for hardware access.
  • --user=root: Runs processes inside the container as the root user.
  • -v D:/neurodesktop-workspace:/neurodesktop-workspace: Binds a host directory for shared project data.
  • --mount source=neurodesktop-data,target=/home/analyst: Mounts the persistent volume to the user's home directory.
  • -p 8888:8888: Maps the host's port 8888 to the container's JupyterLab service.
  • -e NEURODESKTOP_VERSION=2025-06-10: Sets an anvironment variable for version specification.
  • vnd/neurodesktop:2025-06-10: Specifies the Docker image and its tag.

Accessing the Neurodesktop Interface

  1. Keep the terminal window open after the container starts. Closing it will terminate the container.
  2. Open a web browser and navigate to one of the URLs provided in the terminal output (e.g., http://127.0.0.1:8888/lab?token=<your_token>).
    • Note: Firefox on Windows 10 may have issues accessing localhost; Chrome or Edge is recommended.
    • The token parameter provides secure authentication for JupyterLab.
  3. With in the browser interface, select "Desktop Auto-Resolution" under the connection options.
  4. The first launch may involve an automated setup process.

Working with Neuroimaging Tools

Once launched, numerous neuroimaging applications (e.g., FSL, FreeSurfer) are available. They can be accessed and executed via the terminal within Neurodesktop or through Jupyter notebooks.

Managing Data Storage

Drag-and-Drop

Files can be uploaded by dragging them directly into the Jupyter file browser or the desktop area. To download, press Ctrl+Alt+Shift to open a connection window and select "Shared Drive".

Local Storage

Utilize the bind-mounted host directory (D:/neurodesktop-workspace in the example) for data that persists on your local machine.

Cloud Storage

Neurodesktop supports connections to cloud storage services. Refer to the official storage documentation for configuration details.

Related Articles

Understanding Strong and Weak References in Java

Strong References Strong reference are the most prevalent type of object referencing in Java. When an object has a strong reference pointing to it, the garbage collector will not reclaim its memory. F...

Comprehensive Guide to SSTI Explained with Payload Bypass Techniques

Introduction Server-Side Template Injection (SSTI) is a vulnerability in web applications where user input is improper handled within the template engine and executed on the server. This exploit can r...

Implement Image Upload Functionality for Django Integrated TinyMCE Editor

Django’s Admin panel is highly user-friendly, and pairing it with TinyMCE, an effective rich text editor, simplifies content management significantly. Combining the two is particular useful for bloggi...

Leave a Comment

Anonymous

◎Feel free to join the discussion and share your thoughts.