Case study, page T-0010
Missed a statementAnterior infarct pattern
PTB-XL record 15865, a man aged 52. A public research ECG from Germany, printed on A4, photographed by TraceRead's photo simulator and read end to end. Below is the AI first read, next to the original recording and what the dataset's cardiologists recorded.
0.88
median match with the original recording
0.98 after lining up by up to a tenth of a second
1 of 2
cardiologists' statements that TraceRead AI also flagged
9
extra patterns flagged for the doctor to keep or remove
66
heart rate from the photo, beats a minute
66 on the original recording
The AI first read
What the reading doctor gets
Hover a lead to see how closely the red rebuilt line follows the original recording. Untick the box to see the page without it.

Numbers under each lead: how closely the rebuilt line follows the original recording, where 1.00 is a perfect match. Median for this page: 0.88.
PTB-XL record 15865, a man aged 52. A4 paper, 3x4 with one lead II strip, pulses read 4 of 4.
Measures
| Measure | From the photo | Original recording | Reference program |
|---|---|---|---|
| Heart rate (beats a minute) | 66 | 66 | |
| PR interval (ms) | 169 | 168 | |
| QRS width (ms) | 93 | 91 | |
| QT interval (ms) | 428 | 441 | |
| QTc, corrected for heart rate (ms) | 442 | 456 | |
| Heart axis (degrees) | 20 | 23 |
Patterns flagged, with TraceRead AI's score
Sinus rhythm
the usual rhythm, started by the heart's natural pacemaker
98Anteroseptal infarct pattern
a pattern linked to damage to the front wall of the heart muscle and the wall between the lower chambers
93Abnormal QRS
the main spike of each beat has an unusual shape or width
56Unspecific wide QRS
the signal spreads slowly inside the lower chambers, so the main spike is wide
8Left ventricular hypertrophy
the muscle wall of the main pumping chamber may be thicker than usual
8Anterolateral infarct pattern
a pattern linked to damage to the front and side wall of the heart muscle
6Unspecific reduced blood flow pattern
beat changes that can go with reduced blood flow to the heart muscle, without a clear place
4Left atrial enlargement
the upper left chamber may be larger or under more strain than usual
3Q waves present
a small downward dip at the start of the main spike, which can be normal or can follow damage to the heart muscle
2Inferolateral infarct pattern
a pattern linked to damage to the bottom and side wall of the heart muscle
2
Also checked, below the flag line: Inferior infarct pattern (11).
What the dataset's cardiologists recorded for this ECG
- Anterior infarct pattern
- Sinus rhythm
Against the cardiologists
TraceRead AI and the dataset's cardiologists, side by side
TraceRead AI flagged 10 patterns. 1 of them is also among the dataset's statements (Sinus rhythm). Not in the dataset's statements: Anteroseptal infarct pattern, Abnormal QRS, Unspecific wide QRS, Left ventricular hypertrophy and 5 more. In the dataset but not flagged: Anterior infarct pattern.
Found by both 1
Sinus rhythm
The usual rhythm, started by the heart's natural pacemaker.
98
Recorded by the cardiologists only 1
Anterior infarct pattern
A pattern linked to damage to the front wall of the heart muscle.
Flagged by TraceRead AI only 9
Anteroseptal infarct pattern
A pattern linked to damage to the front wall of the heart muscle and the wall between the lower chambers.
93Abnormal QRS
The main spike of each beat has an unusual shape or width.
56Unspecific wide QRS
The signal spreads slowly inside the lower chambers, so the main spike is wide.
8Left ventricular hypertrophy
The muscle wall of the main pumping chamber may be thicker than usual.
8Anterolateral infarct pattern
A pattern linked to damage to the front and side wall of the heart muscle.
6Unspecific reduced blood flow pattern
Beat changes that can go with reduced blood flow to the heart muscle, without a clear place.
4Left atrial enlargement
The upper left chamber may be larger or under more strain than usual.
3Q waves present
A small downward dip at the start of the main spike, which can be normal or can follow damage to the heart muscle.
2Inferolateral infarct pattern
A pattern linked to damage to the bottom and side wall of the heart muscle.
2
The doctor's review
What the reading doctor would check here
Worked out from this run's own numbers: where the rebuilt line strays, which measures moved, and which flags to keep or remove.
- 1The rebuilt line strays from the original recording in aVR (0.79), aVL (0.58), III (0.83), aVF (0.50) and the lead II strip (0.79). Compare those leads with the paper first.
- 2Every measure from the photo is close to the same measure on the original recording.
- 3The cardiologists recorded anterior infarct pattern, which TraceRead AI did not flag.
- 4TraceRead AI flagged 9 patterns the cardiologists did not record: anteroseptal infarct pattern, abnormal QRS, unspecific wide QRS, left ventricular hypertrophy, anterolateral infarct pattern, unspecific reduced blood flow pattern, left atrial enlargement, Q waves present and inferolateral infarct pattern. The doctor keeps or removes each one.
- 5The calibration pulse looks wider than expected, which would mean a paper speed of about 30.2 millimetres a second. TraceRead still reads the page at 25 millimetres a second, the usual speed, so timings could be a little off if that reading were right.
An AI first read is not the last word.
- A qualified doctor reviews every AI first read. Nothing reaches a patient until a doctor signs it.
- Do not rely on TraceRead alone in an emergency.
- A normal AI first read does not rule out heart disease.
- For adults, 18 and over.
Stage by stage
How TraceRead read this page
Every step of this run, with what went in and what came out.
Step 1: the photo
On the phoneWhat went in: one photo of a printed ECG
PTB-XL record 15865, a public research ECG from Germany, was printed as page T-0010 on A4 at 25 mm a second and 10 mm per millivolt. TraceRead's photo simulator then took a photo of it: tilted, lit unevenly, slightly blurred, with sensor noise and JPEG compression, the way a phone camera would.
This record was in PTB-XL's test set, so TraceRead AI never saw it during training. The person was a man aged 52. Age and sex are all TraceRead keeps.

Step 2: page finder
TraceRead AIFind the paper and how it is turned
TraceRead AI looks at the whole photo and marks the four corners of the page, and which way up it is. Fixed code then measures the printed millimetre grid to correct the scale and the tilt, and makes the page flat.
- Page found
- yes
- Turned
- 0 degrees
- Paper
- A4

Step 3: layout reader
TraceRead AIWork out where each lead sits
Every row of a printout starts with a calibration pulse, a small square step that is 10 mm tall for 1 millivolt. TraceRead AI finds the pulses, and fixed code matches them against 14 known page layouts to work out where each of the 12 leads sits and how long it runs.
- Layout
- 3x4 with one lead II strip
- Calibration pulses read
- 4 of 4
- Height of 1 millivolt
- 10 mm
- Paper speed used
- 25 mm a second
- Pulse width suggested
- 30.2 mm a second
- Layout match
- 0.985
Warnings this step raised
- The calibration pulse looks wider than expected, which would mean a paper speed of about 30.2 millimetres a second. TraceRead still reads the page at 25 millimetres a second, the usual speed, so timings could be a little off if that reading were right.
Step 4: trace rebuild
TraceRead AIRebuild every lead as a digital signal
TraceRead AI marks which pixels are trace ink. Fixed code then follows the ink of each lead, column by column, and turns it into millivolts, 500 points a second. The rebuilt line is drawn back over the paper so a doctor can see at a glance if a lead was misread.
Because this ECG is public, we can check the rebuilt signal against the original recording. 1.00 would be a perfect match; the second number allows the two to be lined up by up to a tenth of a second.
| Lead | Seconds shown | Ink found | Match | Lined up |
|---|---|---|---|---|
| I | 0 to 2.5 | 100% | 0.97 | 0.97 |
| aVR | 2.5 to 5 | 100% | 0.79 | 0.98 |
| V1 | 5 to 7.5 | 100% | 0.88 | 1.00 |
| V4 | 7.5 to 10 | 100% | 0.92 | 0.99 |
| II | 0 to 2.5 | 100% | 0.95 | 0.98 |
| aVL | 2.5 to 5 | 100% | 0.58 | 0.81 |
| V2 | 5 to 7.5 | 100% | 0.88 | 1.00 |
| V5 | 7.5 to 10 | 100% | 0.89 | 0.98 |
| III | 0 to 2.5 | 100% | 0.83 | 0.83 |
| aVF | 2.5 to 5 | 100% | 0.50 | 0.98 |
| V3 | 5 to 7.5 | 100% | 0.88 | 1.00 |
| V6 | 7.5 to 10 | 100% | 0.96 | 0.98 |
| II, rhythm strip | 0 to 10 | 0.79 | 0.93 |
Median match for this page: 0.88.

Step 5: coverage map
Fixed codeMark which seconds the paper shows
A 3x4 printout shows each lead for only 2.5 of the 10 seconds the machine recorded. The coverage map tells the pattern finder exactly which seconds of each lead it has, so a part that is not on the paper is never read as a flat line.
Step 6: hold for retake
Fixed codeDecide whether the photo can be read
Before any pattern is read, a fixed hold rule decides whether the rebuild can be trusted. Version 1 looked only at how well the page matched a known layout and how unsure the AI was about the five main groups. Version 2 also checks the calibration, the page shape, how much trace was found, whether the overlapping lead II pieces agree, and clipped or flat parts. If the rebuilt trace looks unreliable, it asks for a new photo instead of giving a first read. Both versions' decisions for this page are shown below.
The layout match score was 0.985 (a photo is held back when the score is below 0.888) and 4 of 4 calibration pulses were read. The AI's own uncertainty about the five main heart groups was 0.248 (a photo is held back above 0.497). Neither check fired, so the photo is used.
- Every check passed, so the rebuilt trace is used.
| Check | Value | Limit | Result |
|---|---|---|---|
| page_found | passed | ||
| gain_standard | 0.009 | 0.05 | passed |
| paper_speed | 30.16 | 2434 | passed |
| layout_match | 0.985 | 0.889 | passed |
| page_shape | 1.001 | 1.7 | passed |
| ink_median | 1 | 0.9 | passed |
| coverage | 1 | 1 | passed |
| lead_ii_agree | 0.993 | 0.49 | passed |
| lead_ii_amplitude | 0.008 | 0.5 | passed |
| goldberger | 0.321 | 1.45 | passed |
| edge_clipping | 0 | 0.027 | passed |
| flat_run | 0.013 | 0.34 | passed |
| lead_ii_raw | 0.921 | 0.2 | passed |
Step 7: measures
Fixed codeMeasure the heartbeat
Fixed code finds every beat, lines the leads up and measures them together. The same code run on the original recording shows how much the photo changed each number, and a reference ECG program from the PTB-XL+ dataset gives a second opinion.
| Measure | From the photo | Original recording | Reference program |
|---|---|---|---|
| Heart rate (beats a minute) | 66 | 66 | 66 |
| PR interval (ms) | 169 | 168 | 180 |
| QRS width (ms) | 93 | 91 | 118 |
| QT interval (ms) | 428 | 441 | 426 |
| QTc, corrected for heart rate (ms) | 442 | 456 | 440 |
| Heart axis (degrees) | 20 | 23 | 14 |
Step 8: pattern finder
TraceRead AIScore 71 patterns and flag the ones that pass their line
TraceRead AI reads the 12 rebuilt leads and the coverage map together and scores 71 patterns of rhythm, conduction, thickened heart muscle and ST and T changes. A pattern is flagged when its score passes a line set in advance on other ECGs, never on this one. The lines are set so that patterns are not missed, which is why a pattern can be flagged with a low score, and why some flags are wrong: the doctor decides.
What the dataset's cardiologists recorded for this ECG
- Anterior infarct pattern
- Sinus rhythm
TraceRead AI flagged 10 patterns. 1 of them is also among the dataset's statements (Sinus rhythm). Not in the dataset's statements: Anteroseptal infarct pattern, Abnormal QRS, Unspecific wide QRS, Left ventricular hypertrophy and 5 more. In the dataset but not flagged: Anterior infarct pattern.
TraceRead AI's score for each pattern, from 0 to 100. The thin line is where that pattern gets flagged.
Sinus rhythm
flaggedthe usual rhythm, started by the heart's natural pacemaker
98Anteroseptal infarct pattern
flaggeda pattern linked to damage to the front wall of the heart muscle and the wall between the lower chambers
93Abnormal QRS
flaggedthe main spike of each beat has an unusual shape or width
56Inferior infarct pattern
below the linea pattern linked to damage to the bottom wall of the heart muscle
11Unspecific wide QRS
flaggedthe signal spreads slowly inside the lower chambers, so the main spike is wide
8Left ventricular hypertrophy
flaggedthe muscle wall of the main pumping chamber may be thicker than usual
8Anterolateral infarct pattern
flaggeda pattern linked to damage to the front and side wall of the heart muscle
6Unspecific reduced blood flow pattern
flaggedbeat changes that can go with reduced blood flow to the heart muscle, without a clear place
4Left atrial enlargement
flaggedthe upper left chamber may be larger or under more strain than usual
3Q waves present
flaggeda small downward dip at the start of the main spike, which can be normal or can follow damage to the heart muscle
2Inferolateral infarct pattern
flaggeda pattern linked to damage to the bottom and side wall of the heart muscle
2
See TraceRead read a paper ECG
We show you TraceRead reading public research ECGs, step by step, and talk through how your team prints, photographs and reads ECGs today.