Brainana Viewer is a free, cross-platform desktop app for exploring macaque (monkey) brain MRI.
View anatomical volumes, 3D cortical surfaces, atlases, and functional maps produced by the Brainana preprocessing pipeline (preprint). Built on NiiVue + WebGL2, it runs on macOS, Windows, and Linux.
- Volume & surface views — volume slices and rotatable 3D surface.
- Surface morphometry — curvature, depth, or thickness on cortex.
- Atlases & regions — automatically overlay brain parcellations and read the region under your cursor.
- Functional maps — retinotopy and somatotopy on both volume and surface.
- Local or remote data — dataset on your computer or a lab workstation.
- Compare monkeys — easily switch subjects to compare across monkeys.
Grab the app for your operating system from the Releases page.
| Your system | Download |
|---|---|
| macOS — Apple Silicon (M1/M2/M3…) | Brainana Viewer-*-arm64.dmg |
| macOS — Intel | Brainana Viewer-*.dmg |
| Windows | Brainana Viewer Setup *.exe |
| Linux | Brainana Viewer-*.AppImage or brainana-viewer_*_amd64.deb |
First launch: the app is currently unsigned, so the first time you open it macOS and Windows warn that it's from an unidentified developer. You only need to clear this once per app.
- macOS: double-click the app; when it's blocked, open System Settings → Privacy & Security, scroll down to the Security section, and click Open Anyway (confirm with your password). (On macOS Sequoia and later, the old right-click → Open shortcut no longer works — use this route.)
- Windows: on the SmartScreen prompt choose More info → Run anyway.
- Linux (AppImage): if double-clicking shows "no application installed for AppImage… files", the file just needs the executable bit — right-click → Properties → Permissions → Allow executing file as program, or run
chmod +x Brainana-Viewer-*.AppImage && ./Brainana-Viewer-*.AppImage. (The.debneeds none of this.)
Not sure which Mac chip you have? Check Apple menu → About This Mac.
No account or sign-up is required. The app opens to a welcome screen with nothing loaded yet — add a dataset to begin (see Quick start).
When you open the app it starts on a welcome screen — no data is loaded yet. Add a dataset to begin:
- Add a dataset. Click dataset (top-left) and point the Viewer at a brainana output
directory — a folder containing
sub-*subjects. This can be a local folder or a remote workstation over SSH/SFTP. Add more than one if you like. - Choose a monkey. Pick a subject from the monkey dropdown; the default anatomy + surface view loads.
- Explore. Use the toolbar and side panel to switch the base volume and surface, add an atlas, apply morphology shading or a func map, and tune colormaps. Click anywhere to move the crosshair and read out values.
- Compare. Reopen the monkey dropdown to switch subjects — your view settings carry over.
No dataset of your own yet? A small demo subject (sub-example) lives in
this repo. Grab just the demo_viewer folder and add it as a local dataset to try the app. This
needs git ≥ 2.25:
git clone --depth 1 --filter=blob:none --sparse https://github.com/arcaro-lab/brainana_tools.git
cd brainana_tools
git sparse-checkout set datasets/demo_viewer # a real brainana output dirThen, in the app, open the dataset panel and, under local dataset, add the demo_viewer
folder:
brainana_tools/
└─ datasets/
└─ demo_viewer/ ← add THIS folder
├─ sub-example/
└─ fastsurfer/
Important
Add the demo_viewer folder itself — the level that contains sub-example/, not one of
the subject folders inside it.
On older git, clone the whole repo instead: git clone https://github.com/arcaro-lab/brainana_tools.git.
If you use the Brainana Viewer or the Brainana pipeline in your research, please cite the Brainana preprint and link the software:
- Paper: preprint
- Preprocessing pipeline:
- Viewer: this repository.
The Viewer is built on the shoulders of excellent open-source work. The key pieces:
Core rendering & data
- NiiVue — the WebGL2 neuroimaging engine that draws every slice and surface.
- fflate — fast zlib/gzip for compressed NIfTI/GIFTI payloads.
- nifti-reader-js — NIfTI-1/2 header & data parsing.
- ssh2 — pure-JS SSH/SFTP client backing the remote data source.
Build, packaging & language
- TypeScript
- Vite
- Electron
- electron-builder
- Node.js (≥ 22.18)
Standards
Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0), the same license as the parent Brainana pipeline. See LICENSE.

