CoolFace
Modelpublic

medarc/CortexMAE

sourceHugging Facecc-by-nc-4.0updated 3mo agoView on Hugging Face
1likes209downloads
Model Card

CortexMAE

![Open In Colab](https://colab.research.google.com/github/MedARC-AI/CortexMAE/blob/main/notebooks/quickstart.ipynb) ![Preprint](https://arxiv.org/abs/2510.13768) ![Model License](https://creativecommons.org/licenses/by-nc/4.0/deed.en)

CortexMAE is an fMRI foundation model trained on 2.1K hours of fMRI data from the Human Connectome Project using masked autoencoder. We release a family of models trained with different fMRI input representations:

  • —CortexMAE-P: a computationally efficient model based on the Schaefer-400 parcellation.
  • —CortexMAE-F: our flagship model based on fMRI flat maps.
  • —CortexMAE-V: a dense volume model based on an efficient cortex-only representation.

<p align="center"> <img src="https://raw.githubusercontent.com/MedARC-AI/CortexMAE/refs/heads/main/.github/fmri_spaces.png" width="600"> </p>

Installation

bash
uv pip install cortex_mae

Or install the latest version from github

bash
uv pip install "cortex_mae @ git+https://github.com/MedARC-AI/CortexMAE.git"

Or clone the repo and install locally

bash
git clone https://github.com/MedARC-AI/CortexMAE.git
cd CortexMAE
uv sync --python 3.11

Quickstart

Load a pretrained model and compute embeddings on a preprocessed fMRI time series from OpenNeuro:

python
from cortex_mae import CortexMAE, resolve_file

model = CortexMAE.from_pretrained("cortex_mae_flat")

path = resolve_file(
  "s3://openneuro.org/ds006072/NON_BIDS/ciftis/sub-1_Drug2_rsfMRI_uout_bpss_sr_noGSR_sm4.dtseries.nii",
  anon=True,
)
embeds = model.run_embedding(path)
print(embeds.patch_embeds.shape)  # (clips, tokens, dim)

See the quickstart notebook on colab for the full demo.

Pretrained models

We release default models for each input space:

nameinput spaceshapesize
cortex_mae_flatflat map224×560ViT-B
cortex_mae_parcelSchaefer-400400×1ViT-B
cortex_mae_volumeMNI cortex465×512ViT-B

as well as >50 ablation variants covering data scale, model scale, alternative parcellations, etc. List all the available models with cortex_mae.list_models().

python
model = CortexMAE.from_pretrained("cortex_mae_flat")     # default
model = CortexMAE.from_pretrained("cortex_mae_flat_r2")  # repeat with new seed
model = CortexMAE.from_pretrained("cortex_mae_flat_d6")  # depth-6 model

We also release the original configs (e.g. `input_space_v3/flat_lr1e-3_1/pretrain/config.yaml`) and logs for reproducibility.

Datasets

Benchmark datasets are distributed in HuggingFace Arrow format on the MedARC R2 bucket, maintained by Brainmarks. To request access, fill out this form, then configure credentials:

bash
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
export AWS_ENDPOINT_URL_S3=...   # Cloudflare R2 endpoint

The HCP-YA pretraining data are also available as webdataset shards. The data can be streamed from R2 during pretraining or downloaded locally.

License

Model weights are relased under CC-BY-NC 4.0 (LICENSE).

Citation

bibtex
@inproceedings{lane2026scaling,
    title={Scaling Vision Transformers for Functional MRI with Flat Maps},
    author={Connor Lane and Mihir Tripathy and Leema Krishna Murali and Ratna Sagari Grandhi and Shamus Sim Zi Yang and Sam Gijsen and Debojyoti Das and Manish Ram and Utkarsh Kumar Singh and Cesar Kadir Torrico Villanueva and Yuxiang Wei and Will Beddow and Gianfranco Cortés and Suin Cho and Daniel Z. Kaplan and Benjamin Warner and Tanishq Mathew Abraham and Paul S. Scotti},
    booktitle={ICML},
    year={2026},
}