MedFusion AI is a Streamlit-based medical AI application that combines symptom analysis and chest X-ray inspection for disease prediction. The project demonstrates a multi-modal approach to healthcare diagnostics with an interactive web interface.
- Symptom-based disease prediction using a trained machine learning model
- Chest X-ray analysis for pneumonia detection
- Multi-disease screening for several thoracic conditions
- Visual explanations such as Grad-CAM-based heatmaps for X-ray predictions
- Clean Streamlit UI for fast experimentation and demo use
MedFusion AI/
├── app.py # Main Streamlit application
├── download_model.py # Script to download required model weights
├── pt_predict.py # PyTorch-based X-ray inference logic
├── tf_predict.py # TensorFlow-based X-ray inference logic
├── train_xray.py # Training script for X-ray models
├── MedFusionAI.ipynb # Notebook for model training and exploration
├── requirements.txt # Python dependencies
├── models/ # Pre-trained model files
└── README.md # Project documentation
- Python 3.9+ (recommended: 3.10 or 3.11)
- pip
- A compatible GPU is optional but can improve performance
- Clone the repository:
git clone https://github.com/Asjad-Bin-Rehan/medfusionAI.git cd medfusionAI - Create and activate a virtual environment:
python -m venv venv venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Download the required model weights:
python download_model.py
- Launch the app:
streamlit run app.py
- Open the local Streamlit URL shown in the terminal.
- Use the symptom-based prediction panel to analyze selected symptoms.
- Upload a chest X-ray image to run X-ray-based prediction.
The application expects model artifacts in the models folder. Large model files are tracked using Git LFS configuration in this repository.
- The project uses both TensorFlow and PyTorch workflows for image inference.
- If you run into environment issues, make sure your packages are installed in the same environment used to start Streamlit.
Pull requests and suggestions are welcome.
This project is intended for educational and demonstration purposes.