CMRI Insight: A GUI-Based Open-Source Tool for Cardiac MRI Segmentation and Motion Tracking
CMRI Insight is an advanced Python-based Graphical User Interface (GUI) designed for automated analysis of cardiac MRI images. It integrates deep learning models for segmentation and motion tracking, providing functionalities for both automated and manual segmentation. This tool supports DICOM image localization and facilitates strain analysis, offering comprehensive visualization of cardiac structures.
- Automated and Manual Segmentation: Utilizes deep learning models for high-precision segmentation.
- Dynamic 3D Mesh Generation: Illustrates changing frames and sparse fields of the left ventricular myocardium.
- Strain Analysis: Calculates and analyzes circumferential and radial strains.
- DICOM Image Support: Provides position and orientation information.
- Customizable Models: Supports loading of custom localizer and segmentation models.
Briefly introduce the project and its purpose. Explain why cardiac localization with YOLO is relevant and provide a high-level overview of the implementation. Requirements
List the software and hardware requirements necessary to run the code. Include specific versions if applicable.
Python 3.x
CUDA and cuDNN (if using GPU)
Additional dependencies (TensorFlow 2+, Keras, PyTorch, Matplotlib, pandas, NumPy, SciPy, PyQt 5, OpenCV)
git clone https://github.com/Hamed-Aghapanah/CMRI-Insight.git
# Change into the project directory
cd CMRI-Insight
# Install dependencies
pip install -r requirements.txt
python CMRI-Insight_GUI.py
Fig. 2 Array of cardiac MRI images showcasing the application of YOLOv7 technology for precise region of interest (ROI) identification, highlighting the automated detection and localization capabilities within various cardiac structures
This interface features multiple views of the heart with segmented regions distinctly highlighted in various colors:
Additionally, it provides comprehensive patient information, DICOM data, and navigation controls for examining MRI slices.
Fig. 4: 3D Visualization of Contours Extracted from CVI42. Initial 3D mesh (A), recolored 3D mesh featuring a bull’s eye pattern (B), and bull’s eye pattern (C).
The GUI is structured with multiple tabs for efficient navigation:
- File: Tools for project and file management.
- Edit: Data manipulation and management features.
- Image: Data extraction and enhancement functionalities.
- Segmentation: Manual and automatic segmentation options.
- Analysis and Tracking: Provides tools for analyzing and tracking cardiac motion and strain.
- Tools: Additional utilities for enhancing the analysis process, such as measurement tools and annotation features.
- View: Options for customizing the display and visualization settings of the images and analysis results.
- Help: Access to user guides, documentation, and support resources.
- Improvement of User Interface: Enhancing UI for better user experience and real-time collaboration.
- Transition from MATLAB to Python: Rewriting code for broader accessibility and advanced functionalities.
Code Metadata | Description |
---|---|
Current code version | v2.1.4 |
Permanent link to code/repository | GitHub Repository |
Permanent link to reproducible capsule | Code Ocean Capsule |
Legal code license | MIT License |
Code versioning system used | Git |
Software code languages, tools, services | Python, GitHub |
Compilation requirements | Python 3.8+, TensorFlow 2+, Keras, PyTorch, Matplotlib, pandas, NumPy, SciPy, PyQt 5, OpenCV |
Support email | [email protected] |
For any questions or support, please contact:
- Hamed Aghapanah : [email protected]
- Saeed Kermani (Corresponding Author): [email protected]
- Reza Rasti (Corresponding Author): [email protected]