🚧 Work in progress 🚧
FreeBrowse is a full-stack, web-based neuroimaging viewer and editor. It aspires to be a web-based version of the FreeSurfer tool FreeView.
Frontend:
- React + TypeScript
- Vite (build tool)
- Tailwind CSS 4 + Radix UI components
- NiiVue (neuroimaging viewer)
Backend:
This is a re-write of the initial FreeBrowse implementation, based off of the niivue fullstack demo.
Are you looking for the original FreeBrowse codebase? That now lives on the
branch v1
.
Requirements:
- Node.js (for frontend environment)
- npm (for frontend environment)
- pixi (for backend environment)
- git
This should install all dependencies on an Ubuntu 24.04 system:
sudo apt update && sudo apt upgrade -y
sudo apt install nodejs npm git -y
curl -fsSL https://pixi.sh/install.sh | sh
Then clone the repo:
git clone [email protected]:freesurfer/freebrowse.git
If you want to use the example data, run get-example-volumes.sh
in the data/
folder:
cd freebrowse/data
./get-example-volumes.sh
cd frontend
npm install
cd backend
pixi install
This hot reloads the backend when changes are made to the code.
cd backend
pixi run dev
If you would like to run the backend in 'serverless' mode (cannot load or save data to the backend), run
cd backend
pixi run dev-serverless
cd frontend
npm run dev
Then navigate to http://localhost:5173/
cd frontend
npm run build
FreeBrowse was generously funded by Gates Ventures. The original implementation was performed by zuehlke.
Version 2 is based off of the niivue fullstack demo which was developed during a Google Summer of Code Project in close collaboration with the niivue team.