neurostorm

Preprocess, pretrain, fine-tune, and run inference on fMRI data with eight deep learning models.

89|5|Updated Mar 25, 2026
One-click install
npx skills add https://github.com/CUHK-AIM-Group/NeuroDiscovery --skill neurostorm-cuhk-aim-group
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: neurostorm
Source: https://github.com/CUHK-AIM-Group/NeuroDiscovery/tree/main/skills/neurostorm
Command: npx skills add https://github.com/CUHK-AIM-Group/NeuroDiscovery --skill neurostorm-cuhk-aim-group

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Running fMRI deep learning research requires juggling multiple model implementations, preprocessing pipelines, and training configurations. This Skill unifies the full lifecycle of the NeuroSTORM platform — from raw .nii files to trained checkpoints — across 8 models and 3 input modalities under one entry point. ## Core Features & Use Cases - Multi-model training: Pretrain (MAE or contrastive) and fine-tune NeuroSTORM, SwiFT, BrainGNN, BNT, LG-GNN, Com-BrainTF, IBGNN, and BrainNetCNN via a single main.py interface. - Full preprocessing pipeline: Convert MNI152-space fMRI volumes into PT or H5 tensors, extract ROI time series with atlases like CC200, and compute functional connectivity matrices. - Flexible inference: Run single-subject or batch dataset inference for age regression, gender classification, phenotype prediction, and disease diagnosis. - Use Case: A researcher downloads HCP1200 data, preprocesses it into 4D voxel tensors, MAE-pretrains NeuroSTORM, then fine-tunes it for sex classification and evaluates on a held-out test split. ## Quick Start Ask the assistant to preprocess your HCP fMRI dataset and fine-tune the NeuroSTORM model for gender classification using the pretrained MAE checkpoint.

Frequently Asked Questions about neurostorm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I pretrain an fMRI foundation model with NeuroSTORM?

Run main.py with --pretraining and choose --use_mae for masked autoencoder pretraining on NeuroSTORM or --use_contrastive for SwiFT-style contrastive learning. Point --image_path at preprocessed MNI152 data and set mask ratio, batch size, and learning rate flags.

How do I fine-tune BrainGNN or BNT on functional connectivity data?

First extract ROI time series with generate_roi_data_from_nii.py, then compute FC matrices with compute_fc.py. Fine-tune via main.py with --model braingnn or bnt, setting --data_type fc_graph or fc_bnt plus --atlas_name, --fc_type, and --num_rois.

What fMRI datasets does NeuroSTORM support?

NeuroSTORM supports HCP1200, ABCD, UKB, Cobre, ADHD200, HCPA, HCPD, UCLA, HCPEP, HCPTASK, GOD, NSD, and BOLD5000. Raw data must be in MNI152 space, typically produced by FSL, fMRIPrep, or HCP pipelines before preprocessing.

Should I use PT or H5 format for preprocessed fMRI data?

PT offers faster random access but uses more disk space, while H5 is compact and scales better to large cohorts. Choose at preprocessing with --output_format and select at training time with --data_format pt, h5, or auto.

What are the GPU and CUDA requirements for NeuroSTORM?

The platform targets Python 3.11, CUDA 12.8, and PyTorch 2.7.1. The mamba-ssm dependency for NeuroSTORM must be built with TORCH_CUDA_ARCH_LIST matching your GPU, such as 8.0 for A100, 8.6 for 3090, 9.0 for H100, or 12.0 for Blackwell.