Ventricular mechanics and strain
Feature summary
Short-axis circumferential and radial strain
Global and AHA-segment peak deformation from tracked short-axis myocardial contours.
Chronic ischemic heart disease (I25)Hypertrophic cardiomyopathy (I42.2)Heart failure (I50)Disease badges are literature-context navigation only; not diagnoses, CardiacNexus classifiers, or validated phenotype-to-ICD associations.Long-axis longitudinal strain
Global and six-segment longitudinal shortening from tracked 4-chamber long-axis myocardial contours.
Cardiomyopathy (I42)Acute myocardial infarction (I21)Disease badges are literature-context navigation only; not diagnoses, CardiacNexus classifiers, or validated phenotype-to-ICD associations.Strain rate and diastolic strain indices
Systolic, early-diastolic, and late-diastolic strain-rate extrema plus SI-DI and timing outputs from smoothed strain curves.
Family: functionalUnit family: 1/s, ms, "%"Source: Cine CMR strain curvesPrimary output group: Strain rate and timingDiastolic heart failure (I50.3)Chronic ischemic heart disease (I25)Disease badges are literature-context navigation only; not diagnoses, CardiacNexus classifiers, or validated phenotype-to-ICD associations.LV torsion and recoil
Apical-basal twist normalized by slice distance, with recoil-rate and time-to-peak torsion outputs.
Family: functionalUnit family: °/cm, °/cm/s, msSource: Cine short-axis CMRPrimary output group: Torsion and recoilAortic valve disorders (I35)Hypertrophic cardiomyopathy (I42.2)Disease badges are literature-context navigation only; not diagnoses, CardiacNexus classifiers, or validated phenotype-to-ICD associations.Tagged MRI strain context
Tagged-MRI strain outputs are documented as a separate backend-sensitive source family and should not be merged with cine strain without method context.
Family: functionalUnit family: %, 1/s, msSource: Tagged MRIPrimary output group: Tagged strain boundaryCardiomyopathy (I42)Disease badges are literature-context navigation only; not diagnoses, CardiacNexus classifiers, or validated phenotype-to-ICD associations.
Ventricular mechanics and strain phenotypes describe myocardial deformation beyond ventricular volume and ejection fraction. This page is source-audited for current CardiacNexus output names and processing boundaries, but it deliberately treats strain, strain rate, torsion, recoil, and tagged-MRI outputs as registration-sensitive research phenotypes rather than diagnostic classifiers.
- Modality
- Cine short-axis CMR, cine long-axis CMR, and tagged MRI where available
- UKB source
- Data Fields 20209, 20208, and 20211
- Pipeline step
- MIRTK-backed feature tracking, contour propagation, strain extraction, smoothing, and torsion analysis
- Outputs
- strain_sax.csv, strain_lax.csv, strain_tagged.csv, strain_sax.npz, strain_lax.npz, strain_tagged.npz, strain and torsion QC plots
- Maturity
- Source-audited high-risk phenotype page
Clinical question
Ventricular strain can detect impaired deformation even when chamber volumes or ejection fraction look preserved. The current CardiacNexus page is useful for cohort phenotyping and method-aware interpretation, but strain values must be read alongside acquisition, tracking, smoothing, and QC context [1] [2].
Anatomical and physiological definition
Lagrangian strain measures change in myocardial length relative to a reference length, usually end diastole. Circumferential strain describes tangential shortening around the LV cavity, radial strain describes wall thickening toward the LV center, and longitudinal strain describes base-to-apex shortening. In the current output convention, raw circumferential and longitudinal strain values are negative for shortening, while page-level absolute-value outputs are explicitly named as absolute values.
Strain rate is the time derivative of strain and is reported in 1/s. Torsion describes apical-basal twist normalized by ventricular length, and recoil rate describes diastolic untwisting speed from the torsion curve [2].



Source acquisition and UKB field
Short-axis cine strain uses UK Biobank Data Field 20209 and the short-axis segmentation/contour route. Long-axis longitudinal strain uses Data Field 20208 and long-axis myocardial contour tracking. Tagged MRI outputs use Data Field 20211 and a separate tagged-MRI backend; those outputs are kept separate from cine feature-tracking outputs.
What exactly CardiacNexus measures
Short-axis circumferential and radial strain
eval_strain_sax.py calls the short-axis motion/strain route, evaluates tracked myocardial contours, and records AHA-segment and global extrema. Circumferential strain uses the minimum strain value, while radial strain uses the maximum strain value.
Long-axis longitudinal strain
eval_strain_lax.py calls the long-axis motion/strain route and records six segmental longitudinal strain rows plus a global row. Peak and post-systolic features use smoothed global curves, and timing indices require either ventricular timing or ECG-derived RR interval where available.
Strain rate and timing
SAX and LAX strain rates are derived from smoothed global strain curves. The implementation reports peak systolic, early diastolic, and late diastolic extrema when the time-series segmentation and peak checks succeed. SI-DI uses the difference between end-systolic strain and strain at one-third diastolic duration, normalized by end-systolic strain.
Torsion and recoil
eval_strain_sax.py calls the torsion helper after strain extraction. The current outputs include endocardial, epicardial, and global torsion, recoil rate, and time-to-peak torsion. Basal/apical slice selection and tracking consistency are material caveats.
Tagged MRI boundary
eval_strain_tagged.py uses tagged-MRI strain arrays and writes a separate strain_tagged.csv. Its output names should not be merged with cine-derived SAX/LAX strain without method labels, because the backend, deformation model, and QC expectations differ.
Output columns and units
CardiacNexus writes these phenotype families into strain_sax.csv, strain_lax.csv, and strain_tagged.csv. Segmental ranges are exact schema families; the current dictionary records selected global and method-critical rows, while the inventory records the broader artifact contract.
SAX global strain, timing, SI-DI, and torsion
| Display family | Exact output column | Unit | Status | Schema note |
|---|---|---|---|---|
| SAX strain | Strain-SAX: Circumferential strain (Global) [%] | % | current | raw sign retained; typically negative for shortening |
| SAX strain | Strain-SAX: Radial strain (Global) [%] | % | current | positive radial thickening |
| SAX strain | Strain-SAX: End Systolic Circumferential Strain (Absolute Value) [%] | % | conditional current output | smoothed global curve |
| SAX strain | Strain-SAX: Peak Systolic Circumferential Strain (Absolute Value) [%] | % | conditional current output | smoothed global curve |
| SAX strain | Strain-SAX: Post Systolic Circumferential Strain (Absolute Value) [%] | % | conditional current output | written only if peak occurs after ES |
| SAX strain | Strain-SAX: End Systolic Radial Strain (Absolute Value) [%] | % | conditional current output | smoothed global curve |
| SAX strain | Strain-SAX: Peak Systolic Radial Strain (Absolute Value) [%] | % | conditional current output | smoothed global curve |
| SAX strain | Strain-SAX: Post Systolic Radial Strain (Absolute Value) [%] | % | conditional current output | written only if peak occurs after ES |
| SAX SI-DI | Strain-SAX: Circumferential Strain Imaging Diastolic Index [%] | % | conditional current output | outlier/negative guards apply |
| SAX SI-DI | Strain-SAX: Radial Strain Imaging Diastolic Index [%] | % | conditional current output | outlier/negative guards apply |
| SAX strain rate | Strain-SAX: Peak Systolic Circumferential Strain Rate [1/s] | 1/s | conditional current output | derived from smoothed curve |
| SAX strain rate | Strain-SAX: Early Diastolic Circumferential Strain Rate [1/s] | 1/s | conditional current output | peak timing check after ES |
| SAX strain rate | Strain-SAX: Late Diastolic Circumferential Strain Rate [1/s] | 1/s | conditional current output | late diastolic peak |
| SAX strain rate | Strain-SAX: Peak Systolic Radial Strain Rate [1/s] | 1/s | conditional current output | derived from smoothed curve |
| SAX strain rate | Strain-SAX: Early Diastolic Radial Strain Rate [1/s] | 1/s | conditional current output | peak timing check after ES |
| SAX strain rate | Strain-SAX: Late Diastolic Radial Strain Rate [1/s] | 1/s | conditional current output | late diastolic peak |
| SAX timing | Strain-SAX: Time to Peak Circumferential Strain [ms] | ms | current | peak frame times temporal resolution |
| SAX timing | Strain-SAX: Time to Peak Radial Strain [ms] | ms | current | peak frame times temporal resolution |
| SAX timing | Strain-SAX: Time to Peak Circumferential Strain Index | unitless | conditional current output | requires ECG RR interval |
| SAX timing | Strain-SAX: Time to Peak Radial Strain Index | unitless | conditional current output | requires ECG RR interval |
| SAX torsion | Strain-SAX: Endocardial Torsion [°/cm] | °/cm | conditional current output | torsion helper output |
| SAX torsion | Strain-SAX: Epicardial Torsion [°/cm] | °/cm | conditional current output | torsion helper output |
| SAX torsion | Strain-SAX: Global Torsion [°/cm] | °/cm | conditional current output | torsion helper output |
| SAX recoil | Strain-SAX: Endocardial Recoil Rate [°/cm/s] | °/cm/s | conditional current output | recoil from torsion curve |
| SAX recoil | Strain-SAX: Epicardial Recoil Rate [°/cm/s] | °/cm/s | conditional current output | recoil from torsion curve |
| SAX recoil | Strain-SAX: Global Recoil Rate [°/cm/s] | °/cm/s | conditional current output | recoil from torsion curve |
| SAX torsion timing | Strain-SAX: Time to Peak Endocardial Torsion [ms] | ms | conditional current output | torsion timing |
| SAX torsion timing | Strain-SAX: Time to Peak Epicardial Torsion [ms] | ms | conditional current output | torsion timing |
| SAX torsion timing | Strain-SAX: Time to Peak Global Torsion [ms] | ms | conditional current output | torsion timing |
Segmental SAX strain
The current short-axis CSV also emits AHA-segment strain rows:
| Output family | Exact current columns |
|---|---|
| Circumferential segmental strain | Strain-SAX: Circumferential strain (AHA_1) [%], Strain-SAX: Circumferential strain (AHA_2) [%], Strain-SAX: Circumferential strain (AHA_3) [%], Strain-SAX: Circumferential strain (AHA_4) [%], Strain-SAX: Circumferential strain (AHA_5) [%], Strain-SAX: Circumferential strain (AHA_6) [%], Strain-SAX: Circumferential strain (AHA_7) [%], Strain-SAX: Circumferential strain (AHA_8) [%], Strain-SAX: Circumferential strain (AHA_9) [%], Strain-SAX: Circumferential strain (AHA_10) [%], Strain-SAX: Circumferential strain (AHA_11) [%], Strain-SAX: Circumferential strain (AHA_12) [%], Strain-SAX: Circumferential strain (AHA_13) [%], Strain-SAX: Circumferential strain (AHA_14) [%], Strain-SAX: Circumferential strain (AHA_15) [%], Strain-SAX: Circumferential strain (AHA_16) [%] |
| Radial segmental strain | Strain-SAX: Radial strain (AHA_1) [%], Strain-SAX: Radial strain (AHA_2) [%], Strain-SAX: Radial strain (AHA_3) [%], Strain-SAX: Radial strain (AHA_4) [%], Strain-SAX: Radial strain (AHA_5) [%], Strain-SAX: Radial strain (AHA_6) [%], Strain-SAX: Radial strain (AHA_7) [%], Strain-SAX: Radial strain (AHA_8) [%], Strain-SAX: Radial strain (AHA_9) [%], Strain-SAX: Radial strain (AHA_10) [%], Strain-SAX: Radial strain (AHA_11) [%], Strain-SAX: Radial strain (AHA_12) [%], Strain-SAX: Radial strain (AHA_13) [%], Strain-SAX: Radial strain (AHA_14) [%], Strain-SAX: Radial strain (AHA_15) [%], Strain-SAX: Radial strain (AHA_16) [%] |
LAX and tagged outputs
| Display family | Exact output column | Unit | Status | Schema note |
|---|---|---|---|---|
| LAX strain | Strain-LAX: Longitudinal Strain (Global) [%] | % | current | raw sign retained |
| LAX strain | Strain-LAX: End Systolic Longitudinal Strain (Absolute Value) [%] | % | conditional current output | smoothed global curve |
| LAX strain | Strain-LAX: Peak Systolic Longitudinal Strain (Absolute Value) [%] | % | conditional current output | smoothed global curve |
| LAX strain | Strain-LAX: Post Systolic Longitudinal Strain (Absolute Value) [%] | % | conditional current output | written only if peak occurs after ES |
| LAX strain rate | Strain-LAX: Peak Systolic Longitudinal Strain Rate [1/s] | 1/s | conditional current output | derived from smoothed curve |
| LAX strain rate | Strain-LAX: Early Diastolic Longitudinal Strain Rate [1/s] | 1/s | conditional current output | peak timing check after ES |
| LAX strain rate | Strain-LAX: Late Diastolic Longitudinal Strain Rate [1/s] | 1/s | conditional current output | late diastolic peak |
| LAX timing | Strain-LAX: Time to Peak Longitudinal Strain [ms] | ms | current | peak frame times temporal resolution |
| LAX timing | Strain-LAX: Time to Peak Longitudinal Strain Index | unitless | conditional current output | requires ECG RR interval |
| LAX index | Strain-LAX: Longitudinal Strain Post Systolic Index [%] | % | conditional current output | post-systolic index |
| LAX dispersion | Strain-LAX: Longitudinal Strain Mechanical Dispersion [ms] | ms | conditional current output | requires distinct segmental peak times |
| LAX SI-DI | Strain-LAX: Longitudinal Strain Imaging Diastolic Index [%] | % | conditional current output | outlier/negative guards apply |
| LAX stretch | Strain-LAX: Longitudinal Strain Pre Systolic Stretch [%] | % | current | writes zero when no positive systolic stretch |
| Tagged strain | Strain-Tagged: Circumferential strain (global) [%] | % | current | tagged backend; raw sign retained |
| Tagged strain | Strain-Tagged: Radial strain (global) [%] | % | current | tagged backend |
| Tagged schema debt | Strain-SAX: Peak Systolic Circumferential Strain (Absolute Value) [%] | % | conditional current output | emitted by the tagged route with a SAX prefix |
| Tagged strain | Strain-Tagged: Peak Systolic Radial Strain (Absolute Value) [%] | % | conditional current output | tagged backend |
| Tagged strain rate | Strain-Tagged: Peak Systolic Circumferential Strain Rate [1/s] | 1/s | conditional current output | tagged backend |
| Tagged strain rate | Strain-Tagged: Early Diastolic Circumferential Strain Rate [1/s] | 1/s | conditional current output | tagged backend |
| Tagged strain rate | Strain-Tagged: Peak Systolic Radial Strain Rate [1/s] | 1/s | conditional current output | tagged backend |
| Tagged strain rate | Strain-Tagged: Early Diastolic Radial Strain Rate [1/s] | 1/s | conditional current output | tagged backend |
| Tagged timing | Strain-Tagged: Time to Peak Circumferential Strain [ms] | ms | current | tagged backend |
| Tagged timing | Strain-Tagged: Time to Peak Radial Strain [ms] | ms | current | tagged backend |
| Tagged timing index | Strain-Tagged: Time to Peak Circumferential Strain Index | unitless | conditional current output | requires ECG RR interval |
| Tagged timing index | Strain-Tagged: Time to Peak Radial Strain Index | unitless | conditional current output | requires ECG RR interval |
Output reconciliation
| Evidence layer | Result |
|---|---|
| Implementation source | current SAX, LAX, and tagged output families checked against eval_strain_sax.py, eval_strain_lax.py, and eval_strain_tagged.py |
| Output inventory | docs/data/output_column_inventory.yml records strain_sax, strain_lax, and strain_tagged artifact families |
| Phenotype dictionary | docs/data/phenotype_dictionary.yml links promoted global/method-critical strain rows to this page |
| Page output table | promoted dictionary-backed rows and segmental families are listed above |
Required upstream inputs
- short-axis cine images, short-axis segmentations, and ventricular time-series metadata for SAX strain and torsion;
- long-axis cine images and segmentations for LAX strain;
- tagged MRI files and backend outputs for tagged strain;
- MIRTK and feature-tracking configuration paths from runtime config;
- ECG timing only for RR-normalized timing-index rows.
Reference ranges with cohort and method context
| Feature | Source | Cohort | Reference value | Status | Note |
|---|---|---|---|---|---|
| Strain definitions | Voigt et al. deformation-imaging standard [1] | consensus method definition | not a normal range | Verified context source | Defines deformation terminology; modality differs from CMR feature tracking |
| LV torsion and recoil | Kowallick et al. CMR feature-tracking torsion paper [2] | CMR feature-tracking context | method-dependent | Verified context source | Useful for torsion/recoil definitions; not a CardiacNexus threshold |
| Automated CMR strain context | Ruijsink et al. automated CMR analysis [3] | UKB-scale CMR automation context | method-dependent | Verified context source | Use as automation/QC context, not direct pooled threshold |
| Tagged strain context | Tagged MRI strain-estimation route cited by the current extraction source [4] | tagged MRI method context | method-dependent | Verified context source | Keep tagged and cine outputs method-separated |
Source-located registry status: reference_range_sources.yml records source locators for strain terminology, CMR torsion/recoil context, automated CMR strain/QC context, and tagged-strain method context. No universal CardiacNexus strain normal range is promoted here because feature-tracking backend, smoothing, sign convention, tagged versus cine route, and registration QC materially change numeric values.
Disease interpretation
Reduced or abnormal strain has been reported in ischemic heart disease, myocardial infarction, cardiomyopathy, hypertrophic cardiomyopathy, heart failure, and infiltrative disease contexts [1] [3]. Torsion and recoil have pressure-load and cardiomyopathy associations in CMR feature-tracking literature [2]. These disease badges are navigation aids only; CardiacNexus does not diagnose CAD, HCM, HF, or valve disease from a strain row.
QC caveats and maturity boundary
Strain is one of the highest-risk CardiacNexus phenotype families. Values depend on contour tracking, MIRTK/feature-tracking backend behavior, temporal smoothing, ED/ES timing, basal/apical slice selection, and segmentation quality. Tagged MRI outputs are backend-specific and should be compared with cine-derived outputs only after method harmonization.
Future backend changes must keep the classical MIRTK route as a fallback until regression checks cover global strain, segmental strain, ED/ES timing, contour or warped-segmentation consistency, temporal smoothness, and deformation plausibility.
Implementation provenance
| Feature family | Formula or computational route | Exact output columns | Source code file and function | Upstream dependencies | Conditional behavior | QC artifacts | Schema debt |
|---|---|---|---|---|---|---|---|
| SAX strain | MIRTK-backed short-axis contour tracking, then length-based radial/circumferential strain extrema | Strain-SAX:* strain (AHA_*) [%], Strain-SAX: Circumferential strain (Global) [%], Strain-SAX: Radial strain (Global) [%] | eval_strain_sax.py; cine_2d_sa_motion_and_strain_analysis; evaluate_strain_by_length_sa | sa.nii.gz, seg_sa.nii.gz, MIRTK paths, feature-tracking temp directory | subject skipped if tracking or strain extraction fails | strain_circum.png, strain_radial.png, GCS/GRS time-series plots, strain_sax.npz | segmental rows are highly artifact-sensitive |
| SAX advanced features | loess-smoothed global strain curves, ES timing, derivative extrema, SI-DI, and post-systolic checks | end-systolic/peak/post strain rows, strain-rate rows, SI-DI rows, timing rows | eval_strain_sax.py; smoothing and derivative blocks | ventricle.npz for T_ES, temporal resolution, optional ECG RR interval | rows skipped when peak checks, timing checks, or outlier guards fail | smoothed strain and strain-rate plots | sign and absolute-value rows must not be mixed |
| SAX torsion/recoil | torsion helper on tracked contours and basal/apical slice context | endocardial/epicardial/global torsion, recoil, and time-to-peak torsion rows | eval_strain_sax.py; evaluate_torsion | tracked short-axis contours and slice geometry | conditional on successful torsion helper output | torsion/recoil time-series plots where generated | sensitive to slice exclusion and tracking backend |
| LAX strain | MIRTK-backed long-axis contour tracking and length-based longitudinal strain | Strain-LAX: Longitudinal Strain (Global) [%], segment rows, advanced LAX strain rows | eval_strain_lax.py; cine_2d_la_motion_and_strain_analysis; evaluate_strain_by_length_la | long-axis segmentation, MIRTK paths, ventricle.npz, optional ECG RR interval | rows skipped when tracking, smoothing, or timing checks fail | gls_raw.png, gls.png, ECG overlay where available, strain_lax.npz | six-segment LAX model is separate from SAX AHA model |
| Tagged strain | tagged-MRI backend arrays, smoothed global curves, derivative extrema, timing rows | Strain-Tagged:* rows listed above | eval_strain_tagged.py | tagged MRI backend output files and temporal metadata | rows skipped when tagged backend or peak detection fails | tagged strain and strain-rate time-series plots, strain_tagged.npz | one current tagged line writes a SAX-prefixed circumferential peak row; keep method context explicit |
Source audit
- Current output labels and conditional behavior were checked against
eval_strain_sax.py,eval_strain_lax.py, andeval_strain_tagged.py. - One strain-type schematic is displayed from a page-local public path and registered in
docs/data/figure_provenance.yml; permission and exact source-panel review remain pending for draft use. docs/data/reference_sources.ymlis present and used as the curated reference-source registry for this page.- Textbook context boundary: page-specific strain definition, torsion, CMR automation, and tagged-MRI context sources are sufficient for draft rollout; Braunwald/Hurst background was not needed for the phenotype-specific output contract.
Related pages
- Registration and feature tracking
- Cine short-axis imaging
- Cine long-axis imaging
- Tagged MRI
- Myocardial mass and wall thickness
References
- Voigt JU, Pedrizzetti G, Lysyansky P, Marwick TH, Houle H, Baumann R, Pedri S, Ito Y, Abe Y, Metz S, Song JH, Hamilton J, Sengupta PP, Kolias TJ, d'Hooge J, Aurigemma GP, Thomas JD, Badano LP. Definitions for a common standard for 2D speckle tracking echocardiography. Journal of the American Society of Echocardiography. 2015;28(2):183-193.
- Kowallick JT, Lamata P, Hussain ST, Kutty S, Steinmetz M, Sohns JM, Fasshauer M, Staab W, Unterberg-Buchwald C, Bigalke B, Lotz J, Hasenfuss G, Schuster A. Quantification of left ventricular torsion and diastolic recoil using cardiovascular magnetic resonance myocardial feature tracking. PLoS ONE. 2014;9(10):e109164.
- Ruijsink B, Puyol-Anton E, Oksuz I, Sinclair M, Bai W, Schnabel JA, Razavi R, King AP. Fully automated, quality-controlled cardiac analysis from CMR: validation and large-scale application to characterize cardiac function. JACC: Cardiovascular Imaging. 2020;13(3):684-695.
- Ferdian E, Suinesiaputra A, Fung K, Aung N, Lukaschuk E, Barutcu A, Maclean E, Paiva J, Piechnik SK, Neubauer S, Petersen SE, Young AA. Fully automated myocardial strain estimation from cardiovascular MRI-tagged images using a deep learning framework in the UK Biobank. Radiology: Cardiothoracic Imaging. 2020;2(1):e190032. doi:10.1148/ryct.2020190032.
- Jeung MY, Germain P, Croisille P, Ghannudi SE, Roy C, Gangi A. Myocardial tagging with MR imaging: overview of normal and pathologic findings. RadioGraphics. 2012;32(5):1381-1398.