How suzirz/medical-imaging-tumor-detection works
NeuroScan is a research prototype for brain MRI classification and analysis, not a clinical device. Its main user workflow is to open the Streamlit workstation, provide a scan, and view a classification and related analysis; the repository also documents an independent prediction API. The interface exposes distinct segmentation, DICOM, retrieval, synthesis, prognosis, surgical-planning, contouring, and reporting capabilities. The sampled source confirms the app’s tab dispatch, API-to-predictor call, segmentation implementation, DICOM parsing, and retrieval calls. Other feature links reflect README descriptions and module paths; their internal wiring is not established by the excerpts.
Main entry points: app.py Streamlit app · tab_retrieval.py Case retrieval tab · tab_workstation.py Diagnostic workstation · tab_segmentation.py Segmentation tab
Components 26
User interfaces
- Streamlit app
app.py - Diagnostic workstation
ui/tab_workstation.py - Patient history
ui/sidebar.py - Segmentation tab
ui/tab_segmentation.py - Case retrieval tab
ui/tab_retrieval.py - VQA and report tab
ui/tab_vlm.py - Prognosis tab
ui/tab_prognosis.py - Surgical planning tab
ui/tab_surgery.py - DICOM viewer tab
ui/tab_dicom.py - Contour tab
ui/tab_contour.py - Synthesis tab
ui/tab_synthesis.py - Model registry tab
ui/tab_registry.py
Classification and segmentation
- Tumor classifier
models/efficientnet_tumor_classifier.py - Prediction engine
models/predictor.py - Mask and morphometry
evaluation/segmentation_engine.py - Attention U-Net
models/attention_unet.py
Clinical analysis
- Case and biomarker retrieval
evaluation/case_retriever.py - VQA and reporting
evaluation/vlm_copilot.py - Survival prognosis
evaluation/survival_prognosticator.py - Resection planning
evaluation/surgical_planner.py - Virtual contrast
models/generative_synthesis.py
Imaging tools
- DICOM parser and windows
evaluation/dicom_parser.py - Contour and cropping
preprocessing/contour_cropper.py
Inference service
- Prediction API
api/main.py
Other components
- Scan user
- API client
Connections 26
- Scan user → Streamlit app: uses
- Streamlit app → Patient history: renders
- Streamlit app → Diagnostic workstation: renders
- Streamlit app → Segmentation tab: renders
- Streamlit app → Case retrieval tab: renders
- Streamlit app → VQA and report tab: renders
- Streamlit app → Prognosis tab: renders
- Streamlit app → Surgical planning tab: renders
- Streamlit app → DICOM viewer tab: renders
- Streamlit app → Contour tab: renders
- Streamlit app → Synthesis tab: renders
- Streamlit app → Model registry tab: renders
- Diagnostic workstation → Tumor classifier: classifies scans
- Segmentation tab → Mask and morphometry: requests masks
- Mask and morphometry → Attention U-Net: runs inference
- Case retrieval tab → Case and biomarker retrieval: retrieves cases
- Case retrieval tab → Case and biomarker retrieval: predicts biomarkers
- VQA and report tab → VQA and reporting: requests answers
- Prognosis tab → Survival prognosis: requests forecasts
- Surgical planning tab → Resection planning: requests planning
- DICOM viewer tab → DICOM parser and windows: parses scans
- Contour tab → Contour and cropping: requests cropping
- Synthesis tab → Virtual contrast: requests synthesis
- API client → Prediction API: uploads image
- Prediction API → Prediction engine: calls prediction
- Prediction engine → Tumor classifier: runs model