How gul-e-rana-027/brats-visualizer works
BraTS Brain Tumor Visualizer is a browser-based MRI viewer and segmentation tool. Users upload NIfTI scans, the Flask API preprocesses them and can run a selected ONNX model, then returns predictions, region statistics, and slice or volume data for viewing. The browser supports orthogonal slices, 3D visualization, navigation, and annotations. The frontend modules shown are placeholders; their planned responsibilities remain in app.js. Backend route and utility excerpts are partial, so the graph omits uncertain internal wiring.
Main entry points: routes.py HTTP Routes · app.js Viewer UI · utils.py ONNX Inference · app.py Flask App
Components 16
Browser Viewer
- Viewer Templates
templates - Viewer UI
static/js/app.js - Slice Navigation
static/js/app.js - Measurements
static/js/app.js - 3D Viewer
static/js/app.js
API and Imaging
- Flask App
app.py - HTTP Routes
backend/routes.py - NIfTI Preprocessing
backend/utils.py - Session Volume Cache
backend/utils.py
Segmentation
- Model Registry
backend/config.py - ONNX Inference
backend/utils.py - ONNX Runtime
- Labels and Statistics
backend/utils.py
Visualization Data
- Slice Image Rendering
backend/utils.py - Volume Data API
backend/routes.py
Other components
- Clinician / User
Connections 18
- Clinician / User → Viewer UI: uses
- Flask App → HTTP Routes: registers routes
- HTTP Routes → Viewer Templates: renders page
- Viewer UI → HTTP Routes: calls API
- HTTP Routes → Model Registry: reads model settings
- HTTP Routes → NIfTI Preprocessing: preprocesses scans
- HTTP Routes → ONNX Inference: runs prediction
- ONNX Inference → ONNX Runtime: runs model
- HTTP Routes → Labels and Statistics: builds prediction results
- HTTP Routes → Session Volume Cache: stores and reads volumes
- HTTP Routes → Slice Image Rendering: renders slices
- HTTP Routes → Volume Data API: serves volume data
- Viewer UI → Slice Navigation: provides navigation
- Viewer UI → Measurements: provides tools
- Viewer UI → 3D Viewer: renders volume
- Slice Navigation → HTTP Routes: requests slices
- 3D Viewer → Volume Data API: fetches volume
- Labels and Statistics → Viewer UI: returns labels and stats