title: ICH Detection Pipeline
emoji: 🏥
colorFrom: blue
colorTo: pink
sdk: docker
pinned: false
AI Medical Intelligence Pipeline for CT Scan Analysis
AI medical intelligence pipeline for intracranial hemorrhage (ICH) analysis from head CT (DICOM) images.
This project provides a Flask web interface for:
- uploading single or batch DICOM scans,
- running model inference,
- viewing Grad-CAM visualizations,
- browsing past reports and logs,
- reviewing calibration and evaluation summaries.
Project Overview
Intracranial hemorrhage is a time-critical emergency finding in neuroimaging. This repository focuses on a practical intelligence pipeline with explainability and structured report output.
The system is built for decision support and triage assistance, not standalone diagnosis.
Model and Artifacts
Model weights and related inference artifacts are hosted on Hugging Face:
When model files are not present locally (for example on Render), the app can download required artifacts from this Hugging Face repository at runtime.
Detailed Performance Report
Detailed performance and B4-specific analysis are documented separately in:
GitHub Pages Setup
For step-by-step GitHub Pages setup (project site and username.github.io site), see:
Repository Structure
app.py: Flask application entry pointrun_interface.py: adapter layer between app and inference implementationdownload_imp/: inference code and local artifact layouttemplates/: HTML templates (Jinja2)static/: styles and static assetsdocs/: GitHub Pages content
Requirements
- Python 3.10+ (3.12 works)
- pip
- virtual environment (recommended)
Install dependencies:
pip install -r requirements.txt
Environment Setup
Create local environment file from template:
cp .env.example .env
Important variables in .env:
ICH_APP_DEBUG: run Flask in debug mode (1or0)ICH_APP_PORT: app port (default7860)ICH_SECRET_KEY: Flask secret keyICH_MAX_UPLOAD_MB: max upload size in MBICH_FOLD_SELECTION:ensemble,best, or fold id (0to4)ICH_LOCAL_MODE: enables local directory scanning modeICH_LOG_LEVEL:DEBUG,INFO,WARNING,ERRORICH_HF_MODEL_REPO: Hugging Face model repo used for runtime artifact downloadICH_HF_TOKEN: optional token (required only if the Hugging Face repo is private)
Run the Application
python app.py
Open in browser:
http://127.0.0.1:7860
Deploy on Render
This repository includes render.yaml for Render deployment.
- Push the repository to GitHub.
- In Render, create a new Blueprint/Web Service from the repository.
- Ensure these environment variables are set in Render:
ICH_HF_MODEL_REPO=HarshCode/eff_b4_brainICH_HF_TOKEN(only if repo is private)ICH_SECRET_KEY(recommended custom value)
- Deploy. The service will start with:
gunicorn app:app --bind 0.0.0.0:$PORT --workers 1 --timeout 180
Note: first startup can take longer because model artifacts may be downloaded from Hugging Face.
Basic Usage
- Go to the upload page.
- Upload one
.dcm, multiple.dcmfiles, or batch input. - Wait for inference and report generation.
- Review:
- screening outcome,
- calibrated probability,
- confidence band,
- triage action,
- Grad-CAM overlay.
- Use Reports / Logs / Evaluation pages for history and analysis.
Notes
- Keep heavy model binaries out of GitHub (managed via
.gitignore). - Generated report outputs are created during runtime.
- If required artifacts are missing locally, fetch them from the Hugging Face repository linked above.
Disclaimer
This system is an AI-assisted screening and decision-support tool. It does not provide a medical diagnosis and must be used with qualified clinical review.