Skip to content

Nikhil-Rao20/Digital_Twin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digital Twin of Lung from Wearable Biosignals to Real-Time Monitoring

Partha Acharya1, Nikhileswara Rao Sulake2, Soutrik Chakraborty2, Subhamoy Mandal2, Suman Chakraborty3

1School of Medical Science and Technology, Indian Institute of Kharagpur, India
2Department of Computer Science, RGUKT Nuzvid
3Department of Mechanical Engineering, Indian Institute of Kharagpur, India

Corresponding author: partha.acharya@kgpian.iitkgp.ac.in


Demo

Predicted RR

Installation

1. Clone the Repository

git clone https://github.com/Nikhil-Rao20/Digital_Twin.git
cd Digital_Twin

2. Create Virtual Environment

python -m venv .venv

# Windows
.venv\Scripts\activate

# Linux/Mac
source .venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Download Datasets

See Dataset/README.md for detailed instructions on downloading:

  • BIDMC PPG and Respiration Dataset (PhysioNet)
  • CapnoBase Dataset
  • COVID-19 Lung CT Data (Kaggle)

Usage

Run All Evaluations

Evaluate all respiratory rate extraction methods on the BIDMC dataset:

python scripts/run_all_evaluations.py

Output: Results saved to results/ folder including:

  • ppg_window_results.csv - PPG method results
  • ecg_edr_butterworth_results.csv - ECG-EDR Butterworth results
  • ecg_edr_biquad_results.csv - ECG-EDR Biquad results
  • all_results.json - Summary of all methods

Run Digital Twin Pipeline

Generate 3D lung breathing animation driven by extracted respiratory rate:

# Full pipeline: extract RR from signal + create animation
python scripts/run_digital_twin.py --lung coronacases_005 --signal bidmc01

# Use constant breathing rate
python scripts/run_digital_twin.py --lung coronacases_005 --rr 15.0

# List available lung datasets
python scripts/run_digital_twin.py --list-lungs

Run Prediction Visualization

Visualize lung breathing using predicted respiratory rate from algorithms:

# Using Welch PSD method
python scripts/run_prediction_visualization.py --subject bidmc01 --method welch

# Using ECG-EDR method
python scripts/run_prediction_visualization.py --subject bidmc01 --method ecg_edr

Extract RR from a Single Subject

python scripts/extract_sample_rr.py --subject bidmc01

Project Structure

Digital_Twin/
├── src/
│   ├── ppg_rr_extraction/    # PPG-based RR extraction (Welch PSD)
│   ├── ecg_edr/              # ECG-derived respiration methods
│   └── lung_twin/            # 3D lung visualization
├── scripts/
│   ├── run_all_evaluations.py
│   ├── run_digital_twin.py
│   └── run_prediction_visualization.py
├── Dataset/                  # Download datasets here
│   └── README.md             # Dataset download instructions
├── assets/                   # Demo videos
├── requirements.txt
└── README.md

Methods

Method MAE (bpm) Within ±5 bpm
Welch PSD (PPG) 3.20 79.2%
ECG-EDR Butterworth 3.90 68.4%
ECG-EDR Biquad 2.80 84.0%

License

This project is for research purposes.

About

This repository will contain all the code files related to the Lung Digital Twin research work done by IIT Kharagpur, India

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages