Controls:
- Slice views (3 panels): Click to move crosshair, drag to pan, scroll to zoom
- 3D view (bottom-right): Left-click drag to rotate, scroll to zoom
from fastapi import FastAPI from fastapi.responses import HTMLResponse from datasets import load_dataset import base64 import asyncio from contextlib import asynccontextmanager ds_iter = None first_sample = None nifti_base_url = "data:application/octet-stream;base64,{}" initial_metadata = {} num_iterations = 0 async def load_dataset_async(): global ds_iter dataset = load_dataset("TobiasPitters/ds004884-mini", streaming=True) ds_iter = iter(dataset["train"]) @asynccontextmanager async def lifespan(app: FastAPI): global first_sample, initial_metadata asyncio.create_task(load_dataset_async()) yield app = FastAPI(title="BIDS Neuroimaging Viewer", lifespan=lifespan) @app.get("/", response_class=HTMLResponse) async def root(): """Main page with NiiVue viewer""" html_content = f"""
Aphasia Recovery Cohort (ARC) Dataset - Mini Sample