| | --- |
| | license: mit |
| | language: |
| | - en |
| | datasets: |
| | - mathpluscode/ACDC |
| | tags: |
| | - medical |
| | - cardiac |
| | - MRI |
| | - foundation model |
| | - MAE |
| | --- |
| | |
| | # CineMA - A Foundation Model for Cine Cardiac Magnetic Resonance Images 🎥🫀 |
| |
|
| | This repository contains the weights for **CineMA**, a foundation model for **Cine** cardiac magnetic resonance (CMR) |
| | imaging based on **M**asked-**A**utoencoder. The model was pre-trained on over 74,000 pairs of short-axis and long-axis |
| | cine CMR images from the UK Biobank. |
| |
|
| | CineMA was evaluated across a diverse range of clinically relevant downstream tasks, including |
| |
|
| | - Ventricle and myocardium segmentation |
| | - Cardiovascular disease (CVD) detection and classification |
| | - Patient sex classification |
| | - CMR machine vendor classification |
| | - Ejection fraction (EF) regression |
| | - Patient body mass index (BMI) regression |
| | - Patient age regression |
| | - Mid-ventricular and apical landmark localization |
| |
|
| | These tasks were studied across multiple datasets: |
| |
|
| | - [ACDC](https://www.creatis.insa-lyon.fr/Challenge/acdc/) |
| | - [M&Ms](https://www.ub.edu/mnms/) |
| | - [M&Ms2](https://www.ub.edu/mnms-2/) |
| | - [Kaggle](https://www.kaggle.com/c/second-annual-data-science-bowl/data) |
| | - [Rescan](https://www.ahajournals.org/doi/full/10.1161/CIRCIMAGING.119.009214) |
| | - [Landmark](https://pubs.rsna.org/doi/10.1148/ryai.2021200197) |
| |
|
| | Compared to convolutional neural network baselines such as UNet and ResNet, CineMA demonstrated superior or comparable |
| | performance, especially in sample efficiency and generalization to out-of-distribution data not seen during pretraining |
| | or fine-tuning. |
| |
|
| | By releasing the model weights and code for pretraining, fine-tuning, and inference, CineMA aims to lower the barrier to |
| | entry for cardiac imaging research, foster reproducibility, and encourage broader adoption across institutions. |
| |
|
| | ➡️ **Manuscript:** [TBD](https://arxiv.org/) |
| |
|
| | ➡️ **Code:** [mathpluscode/CineMA](https://github.com/mathpluscode/CineMA) |
| |
|
| | ## Fine-tuned CineMA Models |
| |
|
| | The filenames of fine-tuned model weights follow the convention of `finetuned/<task>/<data>_<view>_<seed>.safetensors` |
| | where number 0, 1, and 2 correspond to the different training seeds. |
| |
|
| | Check the "Inference Example" column to see example inference scripts using these trained models. |
| |
|
| | | Training Task | Training Data | Input View | Input Timeframes | Model Weights and Configurations | Inference Example | |
| | | ----------------------------------------------- | ------------- | ---------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | |
| | | Ventricle and myocardium segmentation | ACDC | SAX | 1 | [finetuned/segmentation/acdc_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/acdc_sax_0.safetensors)<br>[finetuned/segmentation/acdc_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/acdc_sax_1.safetensors)<br>[finetuned/segmentation/acdc_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/acdc_sax_2.safetensors)<br>[finetuned/segmentation/sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/sax.yaml) | [segmentation_sax.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/segmentation_sax.py) | |
| | | Ventricle and myocardium segmentation | M&Ms | SAX | 1 | [finetuned/segmentation/mnms_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/mnms_sax_0.safetensors)<br>[finetuned/segmentation/mnms_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/mnms_sax_1.safetensors)<br>[finetuned/segmentation/mnms_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/mnms_sax_2.safetensors)<br>[finetuned/segmentation/sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/sax.yaml) | [segmentation_sax.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/segmentation_sax.py) | |
| | | Ventricle and myocardium segmentation | M&Ms2 | SAX | 1 | [finetuned/segmentation/mnms2_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/mnms2_sax_0.safetensors)<br>[finetuned/segmentation/mnms2_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/mnms2_sax_1.safetensors)<br>[finetuned/segmentation/mnms2_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/mnms2_sax_2.safetensors)<br>[finetuned/segmentation/sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/sax.yaml) | [segmentation_sax.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/segmentation_sax.py) | |
| | | Ventricle and myocardium segmentation | M&Ms2 | LAX 4C | 1 | [finetuned/segmentation/mnms2_lax_4c_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/mnms2_lax_4c_0.safetensors)<br>[finetuned/segmentation/mnms2_lax_4c_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/mnms2_lax_4c_1.safetensors)<br>[finetuned/segmentation/mnms2_lax_4c_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/mnms2_lax_4c_2.safetensors)<br>[finetuned/segmentation/lax_4c.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/segmentation/lax_4c.yaml) | [segmentation_lax_4c.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/segmentation_lax_4c.py) | |
| | | CVD classification | ACDC | SAX | 2 (ED and ES) | [finetuned/classification_cvd/acdc_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/acdc_sax_0.safetensors)<br>[finetuned/classification_cvd/acdc_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/acdc_sax_1.safetensors)<br>[finetuned/classification_cvd/acdc_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/acdc_sax_2.safetensors)<br>[finetuned/classification_cvd/acdc_sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/acdc_sax.yaml) | [classification_cvd.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/classification_cvd.py) | |
| | | CVD classification | M&Ms | SAX | 2 (ED and ES) | [finetuned/classification_cvd/mnms_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms_sax_0.safetensors)<br>[finetuned/classification_cvd/mnms_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms_sax_1.safetensors)<br>[finetuned/classification_cvd/mnms_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms_sax_2.safetensors)<br>[finetuned/classification_cvd/mnms_sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms_sax.yaml) | [classification_cvd.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/classification_cvd.py) | |
| | | CVD classification | M&Ms2 | SAX | 2 (ED and ES) | [finetuned/classification_cvd/mnms2_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms2_sax_0.safetensors)<br>[finetuned/classification_cvd/mnms2_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms2_sax_1.safetensors)<br>[finetuned/classification_cvd/mnms2_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms2_sax_2.safetensors)<br>[finetuned/classification_cvd/mnms2_sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms2_sax.yaml) | [classification_cvd.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/classification_cvd.py) | |
| | | CVD classification | M&Ms2 | LAX 4C | 2 (ED and ES) | [finetuned/classification_cvd/mnms2_lax_4c_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms2_lax_4c_0.safetensors)<br>[finetuned/classification_cvd/mnms2_lax_4c_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms2_lax_4c_1.safetensors)<br>[finetuned/classification_cvd/mnms2_lax_4c_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms2_lax_4c_2.safetensors)<br>[finetuned/classification_cvd/mnms2_lax_4c.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_cvd/mnms2_lax_4c.yaml) | [classification_cvd.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/classification_cvd.py) | |
| | | Patient sex classification | M&Ms | SAX | 2 (ED and ES) | [finetuned/classification_sex/mnms_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_sex/mnms_sax_0.safetensors)<br>[finetuned/classification_sex/mnms_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_sex/mnms_sax_1.safetensors)<br>[finetuned/classification_sex/mnms_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_sex/mnms_sax_2.safetensors)<br>[finetuned/classification_sex/mnms_sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_sex/mnms_sax.yaml) | [classification_sex.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/classification_sex.py) | |
| | | CMR machine vendor classification | M&Ms2 | SAX | 2 (ED and ES) | [finetuned/classification_vendor/mnms2_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_vendor/mnms2_sax_0.safetensors)<br>[finetuned/classification_vendor/mnms2_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_vendor/mnms2_sax_1.safetensors)<br>[finetuned/classification_vendor/mnms2_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_vendor/mnms2_sax_2.safetensors)<br>[finetuned/classification_vendor/mnms2_sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_vendor/mnms2_sax.yaml) | [classification_vendor.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/classification_vendor.py) | |
| | | CMR machine vendor classification | M&Ms2 | LAX 4C | 2 (ED and ES) | [finetuned/classification_vendor/mnms2_lax_4c_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_vendor/mnms2_lax_4c_0.safetensors)<br>[finetuned/classification_vendor/mnms2_lax_4c_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_vendor/mnms2_lax_4c_1.safetensors)<br>[finetuned/classification_vendor/mnms2_lax_4c_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_vendor/mnms2_lax_4c_2.safetensors)<br>[finetuned/classification_vendor/mnms2_lax_4c.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/classification_vendor/mnms2_lax_4c.yaml) | [classification_vendor.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/classification_vendor.py) | |
| | | EF regression | ACDC | SAX | 2 (ED and ES) | [finetuned/regression_ef/acdc_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/acdc_sax_0.safetensors)<br>[finetuned/regression_ef/acdc_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/acdc_sax_1.safetensors)<br>[finetuned/regression_ef/acdc_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/acdc_sax_2.safetensors)<br>[finetuned/regression_ef/acdc_sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/acdc_sax.yaml) | [regression_ef.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/regression_ef.py) | |
| | | EF regression | M&Ms | SAX | 2 (ED and ES) | [finetuned/regression_ef/mnms_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms_sax_0.safetensors)<br>[finetuned/regression_ef/mnms_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms_sax_1.safetensors)<br>[finetuned/regression_ef/mnms_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms_sax_2.safetensors)<br>[finetuned/regression_ef/mnms_sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms_sax.yaml) | [regression_ef.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/regression_ef.py) | |
| | | EF regression | M&Ms2 | SAX | 2 (ED and ES) | [finetuned/regression_ef/mnms2_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms2_sax_0.safetensors)<br>[finetuned/regression_ef/mnms2_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms2_sax_1.safetensors)<br>[finetuned/regression_ef/mnms2_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms2_sax_2.safetensors)<br>[finetuned/regression_ef/mnms2_sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms2_sax.yaml) | [regression_ef.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/regression_ef.py) | |
| | | EF regression | M&Ms2 | LAX 4C | 2 (ED and ES) | [finetuned/regression_ef/mnms2_lax_4c_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms2_lax_4c_0.safetensors)<br>[finetuned/regression_ef/mnms2_lax_4c_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms2_lax_4c_1.safetensors)<br>[finetuned/regression_ef/mnms2_lax_4c_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms2_lax_4c_2.safetensors)<br>[finetuned/regression_ef/mnms2_lax_4c.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_ef/mnms2_lax_4c.yaml) | [regression_ef.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/regression_ef.py) | |
| | | Patient BMI regression | ACDC | SAX | 2 (ED and ES) | [finetuned/regression_bmi/acdc_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_bmi/acdc_sax_0.safetensors)<br>[finetuned/regression_bmi/acdc_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_bmi/acdc_sax_1.safetensors)<br>[finetuned/regression_bmi/acdc_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_bmi/acdc_sax_2.safetensors)<br>[finetuned/regression_bmi/acdc_sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_bmi/acdc_sax.yaml) | [regression_bmi.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/regression_bmi.py) | |
| | | Patient age regression | M&Ms | SAX | 2 (ED and ES) | [finetuned/regression_age/mnms_sax_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_age/mnms_sax_0.safetensors)<br>[finetuned/regression_age/mnms_sax_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_age/mnms_sax_1.safetensors)<br>[finetuned/regression_age/mnms_sax_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_age/mnms_sax_2.safetensors)<br>[finetuned/regression_age/mnms_sax.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/regression_age/mnms_sax.yaml) | [regression_age.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/regression_age.py) | |
| | | Landmark localization by heatmap regression | Landmark | LAX 2C | 1 | [finetuned/landmark_heatmap/lax_2c_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_heatmap/lax_2c_0.safetensors)<br>[finetuned/landmark_heatmap/lax_2c_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_heatmap/lax_2c_1.safetensors)<br>[finetuned/landmark_heatmap/lax_2c_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_heatmap/lax_2c_2.safetensors)<br>[finetuned/landmark_heatmap/lax_2c.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_heatmap/lax_2c.yaml) | [landmark_heatmap.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/landmark_heatmap.py) | |
| | | Landmark localization by heatmap regression | Landmark | LAX 4C | 1 | [finetuned/landmark_heatmap/lax_4c_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_heatmap/lax_4c_0.safetensors)<br>[finetuned/landmark_heatmap/lax_4c_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_heatmap/lax_4c_1.safetensors)<br>[finetuned/landmark_heatmap/lax_4c_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_heatmap/lax_4c_2.safetensors)<br>[finetuned/landmark_heatmap/lax_4c.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_heatmap/lax_4c.yaml) | [landmark_heatmap.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/landmark_heatmap.py) | |
| | | Landmark localization by coordinates regression | Landmark | LAX 2C | 1 | [finetuned/landmark_coordinate/lax_2c_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_coordinate/lax_2c_0.safetensors)<br>[finetuned/landmark_coordinate/lax_2c_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_coordinate/lax_2c_1.safetensors)<br>[finetuned/landmark_coordinate/lax_2c_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_coordinate/lax_2c_2.safetensors)<br>[finetuned/landmark_coordinate/lax_2c.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_coordinate/lax_2c.yaml) | [landmark_coordinate.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/landmark_coordinate.py) | |
| | | Landmark localization by coordinates regression | Landmark | LAX 4C | 1 | [finetuned/landmark_coordinate/lax_4c_0.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_coordinate/lax_4c_0.safetensors)<br>[finetuned/landmark_coordinate/lax_4c_1.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_coordinate/lax_4c_1.safetensors)<br>[finetuned/landmark_coordinate/lax_4c_2.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_coordinate/lax_4c_2.safetensors)<br>[finetuned/landmark_coordinate/lax_4c.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/finetuned/landmark_coordinate/lax_4c.yaml) | [landmark_coordinate.py](https://github.com/mathpluscode/CineMA/blob/main/examples/inference/landmark_coordinate.py) | |
| |
|
| | ## Pre-trained CineMA Model |
| |
|
| | The pre-trained CineMA model backbone is available at |
| | [pretrained/cinema.safetensors](https://huggingface.co/mathpluscode/CineMA/blob/main/pretrained/cinema.safetensors) with |
| | configuration [pretrained/cinema.yaml](https://huggingface.co/mathpluscode/CineMA/blob/main/pretrained/cinema.yaml). |
| |
|
| | Following scripts demonstrated how to fine-tune this backbone using |
| | [a preprocessed version of ACDC dataset](https://huggingface.co/datasets/mathpluscode/ACDC): |
| |
|
| | - [Ventricle and myocardium segmentation](https://github.com/mathpluscode/CineMA/blob/main/examples/train/segmentation.py) |
| | - [Cardiovascular disease classification](https://github.com/mathpluscode/CineMA/blob/main/examples/train/classification.py) |
| | - [Ejection fraction regression](https://github.com/mathpluscode/CineMA/blob/main/examples/train/regression.py) |
| |
|
| | ## Citation |
| |
|
| | ## Contact |
| |
|
| | For questions or collaborations, please contact Yunguan Fu (yunguan.fu.18@ucl.ac.uk). |