File size: 24,172 Bytes
873e8c1
 
 
b54fd81
 
 
 
 
 
 
 
 
873e8c1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b54fd81
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
---
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).