Most cardiac MRI exams already contain the data for a strain analysis. The short-axis cine stack is acquired on almost every patient, and feature-tracking software can turn it into circumferential strain curves per segment. Cine images show very little texture inside the myocardium, so the tracker has few landmarks to follow, and the paper cites reduced precision in the resulting strain values. DENSE, a sequence that encodes tissue displacement directly into the MR phase, is the reference standard for strain, but it adds scan time and has limited availability on commercial scanners. A team at the University of Virginia has built a model that tries to give you DENSE-like motion from the cine series alone. It is called GenStrain, it is described in arXiv:2611.08544, and the training and inference code is on GitHub.
What GenStrain does
GenStrain takes a short-axis cine slice over the cardiac cycle and outputs a sequence of 2D in-plane displacement fields for the left ventricular myocardium, one per frame. From those fields it computes Green-Lagrange strain at each pixel, and the paper reports the circumferential component (Ecc) for the whole slice and per segment: six segments at basal and mid-ventricular levels, four at the apex, following the standard clinical convention.
The generative part is trained on DENSE data only. It learns the distribution of measured DENSE displacement fields, and at test time the cine series supplies the conditions that pick a motion from that distribution.
How it works
The pipeline has two stages. In the first, a spatiotemporal registration network (TLRN, published by Wu, Xing and Zhang at MICCAI 2024) aligns every frame to a reference frame and produces a rough motion estimate. It is trained on left ventricular segmentations from both DENSE and cine data, so it sees the differences in wall thickness, myocardial shape and pixel size between the two kinds of scan.
In the second stage, a conditional diffusion model works in motion space. During training it starts from DENSE displacement fields, adds noise, and learns to remove it. At every layer of the denoising U-Net, two conditions enter through cross-attention: the LV segmentation mask sequence and the registration motion from stage one. Each cross-attention block runs a spatial attention module followed by a temporal attention module, so the generated motion stays consistent across frames as well as across the wall.
At inference, the model starts from noise and denoises in 50 DDIM steps, conditioned on the cine slice’s masks and registration motion. The paper reports 3.46 seconds per 20-frame slice and 0.67 GB of GPU memory. Each run is a random sample, so the model can be run several times on the same input. The authors drew 100 samples per cine input and report a narrow spread in segmental strain, which can be shown as a per-segment uncertainty band.
What they tested it on
The DENSE dataset has 1,200 short-axis slices from 284 people (124 healthy volunteers, 160 patients with heart disease), collected at eight clinical centres. It was split by subject into 1,068 training and 132 test slices. For cine testing, the authors matched 132 cine slices from 76 of the test subjects to the DENSE slice at roughly the same location (within 4 mm), so the DENSE displacements serve as ground truth for the cine series. All LV segmentations were drawn by clinicians.
GenStrain was compared with seven methods: regression models (StrainNet, TransUNet), registration networks (DeepStrain, TLRN), and generative models adapted to motion (flow matching, ControlNet, LaMoD). On cine input, segmental strain error across all frames was 3.53% for GenStrain against 4.22% for LaMoD, the next best, and 5.58% for DeepStrain. At end-systole the whole-slice error was 2.90% against 5.03% for LaMoD. The paper puts typical peak-systolic circumferential strain at about 25%, so an error of 3 to 5 points is a sizeable share of the value being measured. Agreement with DENSE on cine segmental strain gave an ICC of 0.73, against 0.63 for DeepStrain and 0.60 for LaMoD.
The paper also compares GenStrain with commercial feature tracking. On a separate set of 91 cine slices from 34 subjects, a clinical expert ran NeoSoft’s suiteHEART with careful contour adjustment, and both outputs were scored against paired DENSE. Whole-slice strain was a tie (2.84% for feature tracking vs 2.78% for GenStrain across all frames, not significant). For segmental strain, GenStrain’s error was lower: 4.69% vs 3.46% across all frames, and 5.97% vs 4.60% at end-systole, both significant after Holm correction. The authors say the improvement was clearest in patients with disease.
The featured image comes from Fig. 6 of the paper, an acute myocardial infarction patient. The rows show the end-systolic displacement field, the circumferential strain map and the segmental strain curves over the cycle, with DENSE on the left and three of the eight methods next to it. The paper’s caption says GenStrain aligns best with DENSE. In this patient, DeepStrain’s strain map shows strong shortening (blue) along a part of the wall where the DENSE map shows little.
Why a viewer or clinic team should care
On MRI, strain today means either an extra DENSE or tagging acquisition or a feature-tracking pass on the cine images. GenStrain reads the cine series that is already stored, and in this study its segmental curves were closer to DENSE than those of a commercial tracker. That makes it a candidate for a cardiac post-processing module. In a viewer, the outputs map onto familiar displays: a bull’s-eye of segmental peak Ecc, per-segment curves over the cycle, and the strain map as a colour overlay on the cine frames, with the sample spread as a confidence band.
Runtime is not the obstacle. The paper’s cost table lists 3.46 seconds per slice for GenStrain on a GPU and 20 seconds for the feature-tracking analysis.
The engineering work sits upstream. GenStrain’s inputs are LV myocardium masks for every frame plus a registration motion field, both on a cropped region of interest. That means you need a reliable cine segmentation model first, then TLRN, then GenStrain. Errors in the masks feed straight into the motion.
What it does not tell you yet
- The authors list failure modes. Severe registration errors, for example in left bundle branch block or with large regional pathology, can propagate into the generated motion. The model may also struggle with large rotations such as twist and torsion, because the image condition is mostly structural.
- Generalisation across sites, protocols and vendors is listed as ongoing work. Rare diseases and children are untested.
- Validation is against DENSE strain only. The regional strain maps have not been checked against scar extent on late gadolinium enhancement or against outcomes.
- The feature-tracking comparison uses 91 slices from 34 subjects, which the authors call a relatively small subset.
- Cine slices are matched to DENSE within 4 mm, and the authors note the two acquisitions are not necessarily aligned in space or time. Some of the reported cine error may come from that matching.
- It is a preprint and has not been peer reviewed yet.
How to try it
The repository at github.com/Rishov-MIA/GenStrain has config-driven training and inference scripts for two variants: contour only, and contour plus motion (the full model in the paper). Inputs are NumPy arrays, not DICOM: binary mask videos of shape [1, F, H, W] with values 0 and 255, and displacement fields of shape [1, 2, F, H, W]. The shipped configs use 26 frames at 64 × 64 pixels. The motion condition is expected as precomputed TLRN outputs in its own folder, so the registration step runs separately. The environment is Python 3.10 with PyTorch 2.0, and inference needs a CUDA GPU.
Two things to check before you plan around it. The README says inference uses DDPM sampling over all 1,000 steps, while the paper’s timings use 50 DDIM steps, so expect longer runs with the repo defaults. And the repository has no licence file and no pretrained checkpoints, so you would train your own on DENSE data and ask the authors about reuse terms. For related cardiac work on the blog, see strain curves from a full echo cycle and PhaseFlow, a full cine from one cardiac MRI frame.
Source and license
Paper: Rishov Paul, Sona Ghadimi, Cristiane C. Singulane, Amit R. Patel, Frederick H. Epstein and Miaomiao Zhang, “GenStrain: Multi-Conditional Generative Diffusion Model To Synthesize High-quality Motion and Strain Maps From Cardiac Magnetic Resonance Images”, arXiv:2611.08544 (eess.IV, 5 November 2026), preprint. Authors are with the Departments of Computer Science, Biomedical Engineering and Medicine (Division of Cardiology) at the University of Virginia. Code: github.com/Rishov-MIA/GenStrain, no licence file at the time of writing. Weights: not released. Data: multi-centre DENSE and cine CMR described in the paper; not released with the code. Featured image: Fig. 6 of the paper, four of the nine columns, cropped and scaled.