How kadaak/neuro-vision works
NeuroVision AI is a brain-MRI workstation: users upload scans, request segmentation and quantitative analysis, view generated assets, and download reports. Its runtime separates API orchestration, imaging/analysis services, ML inference, persistence, and document generation; the repository also contains a distinct U-Net training pipeline. README-documented capabilities include NIfTI ingestion, the specialist/provider directory, and two report workflows. Some subsystem details are documented but their implementation was not sampled, so those relationships are identified from the README rather than inferred from filenames.
Main entry points: analysis.py Analysis API · train.py U-Net Training · app.js Medical Workstation · reports.py Reports API
Components 29
API and UI
- Medical Workstation
frontend/js/app.js - Upload API
backend/api/upload.py - Analysis API
backend/api/analysis.py - Reports API
backend/api/reports.py - Backend Settings
backend/config.py - Provider Directory
frontend/js/app.js
Imaging Analysis
- Image Loading
backend/services/image_service.py - Image Preprocessing
processing/preprocessing.py - Segmentation Orchestrator
backend/services/segmentation_service.py - Lesion Components
processing/connected_components.py - Tumor Morphometrics
backend/services/tumor_analysis_service.py - Pairwise Distances
backend/services/distance_service.py - Scan Visualization
backend/services/visualization_service.py - Image Utilities
backend/utils/image_utils.py
ML Pipeline
- Model Predictor
ml/inference/predictor.py - U-Net Model
ml/models/unet.py - Fallback Segmentation
processing/segmentation.py - Training Dataset
ml/dataset.py - U-Net Training
ml/train.py - Training Settings
ml/config.py - Training Losses
ml/losses.py - Training Metrics
ml/metrics.py
Study Data
- Study Database
backend/models/database.py - Validated Results
backend/models/schemas.py
Clinical Reports
- Report Orchestrator
backend/services/report_service.py - AI PDF Report
reports/pdf_generator.py - AI DOCX Report
reports/docx_generator.py - Doctor PDF Report
reports/doctor_report_generator.py
Other components
- Clinical User
Connections 33
- Clinical User → Medical Workstation: uses
- Medical Workstation → Upload API: uploads scan
- Medical Workstation → Analysis API: requests analysis
- Medical Workstation → Reports API: requests report
- Upload API → Backend Settings: uses settings
backend/api/upload.py - Upload API → Study Database: records study
backend/api/upload.py - Analysis API → Study Database: loads and saves
backend/api/analysis.py - Analysis API → Image Loading: loads scan
backend/api/analysis.py - Analysis API → Image Preprocessing: prepares image
backend/api/analysis.py - Analysis API → Segmentation Orchestrator: requests mask
backend/api/analysis.py - Analysis API → Lesion Components: detects lesions
backend/api/analysis.py - Analysis API → Scan Visualization: generates assets
backend/api/analysis.py - Analysis API → Tumor Morphometrics: measures lesions
backend/api/analysis.py - Analysis API → Pairwise Distances: measures distances
backend/api/analysis.py - Analysis API → Validated Results: returns validated result
backend/api/analysis.py - Scan Visualization → Image Utilities: normalizes image
backend/services/visualization_service.py - Segmentation Orchestrator → Model Predictor: selects predictor
backend/services/segmentation_service.py - Model Predictor → U-Net Model: runs model
ml/inference/predictor.py - Model Predictor → Fallback Segmentation: uses fallback
ml/inference/predictor.py - Tumor Morphometrics → Validated Results: builds tumor results
backend/services/tumor_analysis_service.py - Pairwise Distances → Validated Results: builds distance results
backend/services/distance_service.py - Analysis API → Provider Directory: displays results
- U-Net Training → Training Dataset: loads paired data
ml/train.py - U-Net Training → U-Net Model: trains model
ml/train.py - U-Net Training → Training Losses: computes loss
ml/train.py - U-Net Training → Training Metrics: evaluates model
ml/train.py - U-Net Training → Training Settings: uses settings
ml/train.py - Reports API → Study Database: loads study
backend/api/reports.py - Reports API → Report Orchestrator: requests generation
backend/api/reports.py - Report Orchestrator → AI PDF Report: generates PDF
backend/services/report_service.py - Report Orchestrator → AI DOCX Report: generates DOCX
backend/services/report_service.py - Reports API → Doctor PDF Report: generates clinical PDF
backend/api/reports.py - Doctor PDF Report → Clinical User: provides care report