This application uses Cardiotocography (CTG) data to detect potential signs of heart failure in fetuses. It leverages advanced signal processing and machine learning algorithms to analyze fetal heart rate (FHR) and uterine contraction (UC) data, identifying normal, suspect, and pathological conditions.
- Data Loading: Supports
.dat
and.hea
CTG file formats. - Preprocessing: Cleans and normalizes data for analysis.
- Feature Extraction: Derives critical features such as:
- Baseline FHR and variability.
- Accelerations and decelerations.
- Uterine contraction intensity and frequency.
- FHR response to uterine contractions.
- Classification: Uses machine learning to classify data into:
- Normal
- Suspect
- Pathological
- Interactive Visualization: Displays CTG signals and feature distributions.
- Report Generation: Summarizes results in a user-friendly format.
- Python 3.8+
- Required libraries:
pip install wfdb numpy pandas scikit-learn matplotlib seaborn
- Clone the repository:
https://github.com/Ahmed-Hajhamed/CTG-Heart-Failure-Detection
- Navigate to the project directory:
cd CTG-Heart-Failure-Detection
- Run the application:
python main.py
- Place
.dat
and.hea
files in the/data
folder. - Launch the application and select the files for analysis.
- View the extracted features and classification results.
- Export results as a report if needed.
We used publicly available CTG datasets from PhysioNet and other sources. Ensure compliance with dataset licensing when using this application for research or commercial purposes.
- Signal normalization to handle variations in amplitude.
- Noise filtering using Butterworth filters.
- Statistical features: mean, standard deviation, min/max, etc.
- Temporal features: duration of accelerations/decelerations.
- Interaction analysis: correlation between FHR and UC.
- Random Forest classifier with hyperparameter tuning using Bayesian optimization.
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature/bug fix.
- Submit a pull request with a detailed description.
This project is licensed under the MIT License.
- PhysioNet for providing CTG datasets.
- Contributors and community support for development and testing.
For questions or feedback, please email ahmed.hajhamed03@eng-st.cu.edu.eg.