Health education & triage for chest X-rays, CT slices, and skin photos
NIH 112K · CheXpert 224K · HAM10000 10K · Emergency gate · Grad-CAM · Docker-ready
CareGuide AI (evolved from PulmoScan AI) is a production-style health education platform. It helps users understand possible findings in chest imaging and skin photos when a clinician is not immediately available — not a replacement for doctors and not for emergencies.
⚠️ Disclaimer: Phase 1 wellness/education tool. Not FDA-cleared. Call 911 for emergencies.
Repository: github.com/yashwanth123/PulmoScan-AI
git clone https://github.com/yashwanth123/PulmoScan-AI.git
cd PulmoScan-AI
git checkout cursor/pulmoscan-ai-platform-1c3d| # | Feature | Description |
|---|---|---|
| 1 | CareGuide rebrand | PulmoScan (chest) + SkinGuide (skin) modules |
| 2 | Emergency gate | Blocks triage when emergency symptoms reported |
| 3 | HAM10000 pipeline | Auto-download ~10K skin images + train_skin.py |
| 4 | NIH ChestX-ray14 | Auto-download 112K label metadata + multi-label trainer |
| 5 | CheXpert support | Manual download validator for 224K chest X-rays |
| 6 | Educational triage UI | Patient-friendly guidance, not diagnosis language |
| 7 | Dataset registry API | GET /api/datasets lists all public data sources |
| 8 | Local test script | scripts/run_local_test.sh for Mac/CI smoke tests |
| 9 | Legacy COVID binary | Still supported via ml_training/train.py |
| 10 | Validation framework | ml_training/validate_datasets.py reports readiness |
| Dataset | Scale | Auto-download | Training script |
|---|---|---|---|
| NIH ChestX-ray14 | 112,120 X-rays | Metadata yes · images 30GB+ | ml_training/train_chest_multilabel.py |
| CheXpert | 224,316 X-rays | Manual (Stanford RUA) | Same + place under data/chexpert/ |
| HAM10000 | 10,015 skin images | Yes (~5 GB) | ml_training/train_skin.py |
| education454 COVID | ~2,300 X-rays | Yes (~1.3 GB) | ml_training/train.py (legacy) |
# List all datasets
python3 scripts/download_datasets.py --list
# Download skin + NIH metadata + legacy COVID data
python3 scripts/download_datasets.py --dataset all
# HAM10000 only (~5 GB)
python3 scripts/download_datasets.py --dataset ham10000
# Validate what's ready for training
python3 ml_training/validate_datasets.py- Register at Stanford CheXpert
- Extract to
data/chexpert/withtrain.csv,valid.csv, andtrain/images - Validate:
python3 scripts/download_datasets.py --dataset chexpert --validate-only
PulmoScan-AI/
├── backend/app/
│ ├── modules/ # Emergency gate + educational triage
│ ├── api/routes/ # predict, emergency, health, samples
│ └── ml/ # EfficientNet, Grad-CAM, inference
├── ml_training/
│ ├── datasets/ # HAM10000, NIH, CheXpert downloaders
│ ├── train.py # Legacy COVID binary
│ ├── train_skin.py # SkinGuide on HAM10000
│ ├── train_chest_multilabel.py
│ └── validate_datasets.py
├── scripts/
│ ├── download_datasets.py # Master dataset CLI
│ └── run_local_test.sh # Local smoke tests
├── frontend/ # CareGuide UI + emergency modal
└── tests/
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt -r requirements-dev.txt
# Optional: download datasets
python3 scripts/download_datasets.py --dataset ham10000
# Train (pick one)
python3 ml_training/train.py --epochs 25 # legacy COVID binary
python3 ml_training/train_skin.py --quick # skin smoke test
python3 ml_training/train_chest_multilabel.py --quick # chest multi-label smoke
python3 scripts/setup_samples.py
python3 run.py
# → http://localhost:8000make test-fast # Skip slow TensorFlow inference
make test # Full suite
make test-local # Emergency API + datasets + pytest
bash scripts/run_local_test.sh| Method | Endpoint | Description |
|---|---|---|
GET |
/api/emergency/symptoms |
Emergency checklist |
POST |
/api/emergency/screen |
Pre-upload emergency gate |
GET |
/api/modules |
Chest + skin modules |
GET |
/api/datasets |
Public dataset registry |
| Phase | Scope |
|---|---|
| 1 (now) | Wellness/education disclaimers, emergency gate, no diagnosis claims |
| 2 | Clinician-in-the-loop pilots, audit logs, label validation |
| 3+ | FDA 510(k) as CADe/triage aid — not autonomous diagnosis |
MIT — research and educational use only. Not for clinical diagnosis or emergency care.