Automatic fibrillation classification and identification of fibrillation epochs

The C&I system uses machine learning to classify and identify AF and VF epochs in electrocardiograms, addressing the challenge of accurately locating arrhythmia sources for improved cardiac ablation therapy.

JP2025530732APending Publication Date: 2025-09-17VECTOR MEDICAL INC
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
JP2025511867
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-08-25
Filing Date
2023-08-24
Publication Date
2025-09-17

AI Technical Summary

Technical Problem

Existing cardiac ablation therapies for arrhythmias like atrial fibrillation (AF) and ventricular fibrillation (VF) are only effective when accurately targeting the source location of malfunctioning heart cells, which is historically difficult to identify.

Method used

A classification and identification (C&I) system processes electrocardiograms to classify them as AF or VF and identify AF or VF epochs, using machine learning models to detect source locations based on ECG landmarks and features, employing techniques like Pan-Tompkins algorithm, noise reduction, and ML models such as neural networks and GANs to enhance accuracy.

Benefits of technology

The system effectively classifies and identifies AF and VF epochs, enabling precise localization of arrhythmia sources for targeted cardiac ablation, improving treatment efficacy by accurately identifying and treating the root cause of irregular heart rhythms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025530732000001_ABST
    Figure 2025530732000001_ABST
Patent Text Reader

Abstract

A method and computer system are described for classifying an electrocardiogram as an atrial fibrillation (AF) electrocardiogram or a ventricular fibrillation (VF) electrocardiogram, automatically detecting AF epochs within an AF electrocardiogram, and automatically detecting VF epochs within a VF electrocardiogram. A classification and identification (C&I) system includes a classification system, an AF identification system, and a VF identification system. The C&I system processes an electrocardiogram collected from a patient to classify the electrocardiogram as an AF electrocardiogram or a VF electrocardiogram, and identify AF epochs within the AF electrocardiogram or VF epochs within the VF electrocardiogram. The C&I system can then identify an AF source location of the AF based on the AF epoch and a VF source location of the VF based on the VF epoch. The C&I system can display a graphic of the heart including an indication of the source location.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Patent Application No. 63 / 401,106, filed August 25, 2022, entitled "Automatic Fibrillation Classification and Identification of Fibrillation Epochs," which is incorporated herein by reference in its entirety. [Background technology]

[0002] Many cardiac disorders, such as arrhythmias, can result in symptoms, morbidity (e.g., fainting or seizures), and death. Two common types of arrhythmias are atrial fibrillation (AF) and ventricular fibrillation (VF). AF and VF typically occur when heart cells malfunction in some way, sending out signals that cause the heart to beat irregularly. While AF is not typically life-threatening, if left untreated, it can lead to blood clots, stroke, and heart failure. In contrast, VF is typically life-threatening and requires emergency treatment, such as a defibrillation shock, to save the life.

[0003] A common treatment for AF and VF is cardiac ablation, which attempts to destroy the malfunctioning cells that are causing the fibrillation. Several different methods have been used for cardiac ablation. One method involves inserting a catheter into the patient's heart, navigating the catheter to the location of the malfunctioning cells, and destroying the malfunctioning cells, for example, by directing radiofrequency signals or pulsed electric fields to the cells or by freezing the cells. Another method involves using a stereotactic ablative radiotherapy (SABR) device, which non-invasively directs radiofrequency signals to the location of the malfunctioning cells.

[0004] Typically, such therapies are effective at destroying malfunctioning cells. However, such therapies are only effective when directed at the location of the malfunctioning cells, referred to as the "source location" of the arrhythmia. Historically, it has been difficult to accurately identify the source location. However, advanced techniques have recently become available to assist in identifying the source location. For example, such advanced techniques are described in U.S. Patent No. 10,860,754, issued December 8, 2020, entitled "Calibration of Simulated Cardiograms," and U.S. Patent No. 10,319,144, issued June 11, 2019, entitled "Computational Localization of Fibrillation Sources," both of which are incorporated herein by reference. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] U.S. Patent No. 10,860,754 [Patent Document 2] U.S. Patent No. 10,319,144 [Patent Document 3] US Patent Application Publication No. 2022 / 0133207 [Patent Document 4] U.S. Patent No. 11,259,871 [Patent Document 5] US Patent Application Publication No. 2023 / 14406 [Non-patent literature]

[0006] [Non-Patent Document 1] Makowski, D., Pham, T., Lau, ZJ, Brammer, JC, Lespinasse, F., Pham, H., Scholzel, C., and Chen, SA, NeuroKit2: A Python toolbox for neurophysiological signal processing, Behavior Research Methods, 53(4), pp.1689~1696 (2021)

Non-patent document 2

Non-patent document 3

Non-patent document 4

Non-patented document 5

[0007] [Figure 1] FIG. 1 shows AF ECG and NSR ECG. [Figure 2] FIG. 1 shows an example of a VF ECG acquired during induced VF. [Figure 3] FIG. 1 is a block diagram illustrating components of a classification and identification system in some embodiments. [Figure 4] FIG. 10 is a flow diagram that illustrates the processing of the classify ECG component in some embodiments. [Figure 5] FIG. 10 is a flow diagram that illustrates the processing of the AF source location component in some embodiments. [Figure 6]FIG. 10 is a flow diagram that illustrates the processing of the detect AF epochs component in some embodiments. [Figure 7] FIG. 10 is a flow diagram that illustrates the processing of the VF source location component in some embodiments. [Figure 8] FIG. 10 is a flow diagram that illustrates the processing of the detect VF epoch component in some embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0008] A method and computer system are described for classifying electrocardiograms, detecting AF epochs in AF electrocardiograms (i.e., collected during an AF episode), and detecting VF epochs in VF electrocardiograms (i.e., collected during a VF episode). A classification and identification (C&I) system includes a classification system, an AF identification system, and a VF identification system. An AF epoch is a portion of an electrocardiogram that represents AF, such as an RR interval during an AF episode. A VF epoch is a portion of an electrocardiogram that represents VF, such as from the end of pacing to induce VF to the start of a defibrillation spike to terminate VF. The C&I system processes electrocardiograms collected from a patient to classify each electrocardiogram as an AF or VF electrocardiogram, and identifies AF epochs in AF electrocardiograms and VF epochs in VF electrocardiograms. The C&I system can then identify one or more AF source locations of the AF based on the AF epochs and one or more VF source locations of the VF based on the VF epochs. The C&I system can identify source locations based on entire epochs, individual cycles, and / or multiple cycles. The electrocardiogram can be an electrocardiogram (ECG), a vectorcardiogram (VCG), or other electrogram that is a measurement of the heart's electrical activity. Because an ECG is the most common type of electrocardiogram, this detailed description will primarily describe a C&I system adapted to process ECGs. The C&I system can also be adapted to process other types of electrocardiograms. Given an input electrocardiogram, the C&I system can convert the input electrocardiogram into an electrocardiogram of the type it is adapted to process. For example, if the C&I system is adapted to process VCGs, the C&I system can convert the input ECG into a VCG for processing.

[0009] An ECG can be considered to represent an AF ECG if it has an AF epoch, for example, within the TQ, SQ, and RR intervals, and a VF ECG if it has a VF epoch, for example, within the TQ interval or the interval from the end of the pacing pulse to the start of the defibrillation spike. The C&I system can process the ECG to identify various ECG landmarks, such as the P peak, Q peak, R peak, S peak, and T peak. The term "peak" refers to an ECG maximum (i.e., a positive peak) or minimum (i.e., a negative peak). From the ECG landmarks, the C&I system identifies ECG regions, such as QRS complexes, T waves, P waves, QT intervals, TQ intervals, TP intervals, and RR intervals. The C&I system can employ the Pan-Tompkins algorithm or other algorithms, such as those available through open-source software systems, to identify ECG landmarks and ECG regions. One open source software algorithm is described in Makowski, D., Pham, T., Lau, ZJ, Brammer, JC, Lespinasse, F., Pham, H., Scholzel, C., and Chen, SA, NeuroKit2: A Python toolbox for neurophysiological signal processing, Behavior Research Methods, 53(4), pp. 1689-1696 (2021), and is available on GitHub.As an initial step (e.g., before identifying landmarks), the C&I system can remove noise from the ECG using a noise reduction algorithm such as the algorithm described in Krishnamurthy, P., Swethaanjali, N., and Lakshmi, A.B., "Comparison of Various Filtering Techniques Used for Removing High Frequency Noise in ECG Signal," Int'l Journal of Students' Research in Technology & Management, 3(1), pp. 211-215 (2015), which is incorporated herein by reference. The ECG to be processed can be encoded based on an ECG file format such as the Annotated ECG Waveform Data Standard (aECG) format, the Extensible Markup Language (XML) format, the Digital Imaging and Communications in Medicine (DICOM) format, and the Joint Photographic Experts Group (JPEG) format.

[0010] Classification System The classification system processes the ECG to classify it as an AF ECG, a VF ECG, or neither. If the ECG does not represent either an AF ECG or a VF ECG, it may represent, for example, a normal sinus rhythm (NSR) ECG or an atrial flutter ECG. The classification system may employ one or more classification machine learning (ML) models that input a feature vector including ECG features derived from the ECG and output a classification of the ECG. The ECG features may include, for example, the ECG (e.g., an image or voltage-time series), a portion of the ECG, a QRS integral, and / or other features derived from the ECG (e.g., landmarks). In some embodiments, the classification system employs a classification ML model for each arrhythmia type that inputs the ECG features and outputs a classification such as an AF ECG, a VF ECG, or neither. For example, an AF classification ML model may be employed to determine whether the ECG data represents an AF ECG, and a VF classification ML model may be employed to determine whether the ECG data represents a VF ECG. Alternatively, the classification system may employ a classification ML model that inputs ECG features and outputs a classification indicating which of one or more arrhythmia types (e.g., AF and VF) the ECG represents, if any, an arrhythmia is present.

[0011] The classification ML model can be trained based on a set of ECGs and a classification of whether each ECG represents a fibrillation arrhythmia type (AF or VF). For each ECG, the classification system generates a feature vector based on the ECG and labels the feature vector based on the classification. The classification system then trains the classification ML model using training data including the feature vector and its label. The set of ECGs can include clinical ECGs and / or simulated ECGs collected from patients and their classifications. The classifications of the clinical ECGs can be specified by a specialist, and the classifications of the simulated ECGs can be specified based on simulation data. The classification system labels the feature vectors derived from the training ECGs with their classifications.

[0012] The simulated ECG can be generated by simulating cardiac electrical activity with various characteristics such as size, orientation, action potential, conduction velocity, scar tissue, arrhythmia source location, arrhythmia type (e.g., AF or VF) (if present), and location of previous ablation. The simulated ECG can be generated as described in U.S. Pat. Nos. 10,860,754 and 10,319,144. The simulated ECG can be generated based on the output of each simulation of electrical activity.

[0013] The classification system can derive ECG features by first identifying ECG landmarks and at least one ECG region within the ECG, such as the TQ interval, RQ interval, or RR interval. The classification system can then extract fixed-size (e.g., 100 ms) or variable-size (e.g., 50 ms, 100 ms, 200 ms) segments from the ECG region. Rather than each segment encompassing the beginning or end of the ECG region, a sliding window (e.g., in 10 ms increments) can be used so that the segments begin and end at various offsets within the ECG region. Features can include the window size and offset, the average voltage within the window, and the number of nonstandard peaks within the window. The classification system can employ other features, such as ECG image features and voltage time series features, alone or in combination with the features described above. The C&I system can employ various feature selection methods to select features deemed relevant for training. (See Johnson, K. and Kuhn, M., "Applied Predictive Modeling," Springer, 2013, incorporated herein by reference.) The output of the ML model can be the probability that the input features represent a classification, such as 0.90 for an AF classification, 0.03 for a VF classification, and 0.07 for neither classification. The classification system can employ an ensemble of classification ML models, such as an ensemble per window length or per different feature set. One feature set can include the mean voltage and number of non-standard peaks, while another feature set can include an image of the ECG. The classifications of the ensembles can be combined to generate an overall classification of the ECG.

[0014] The classification system can employ one or more supervised and / or unsupervised ML models for the classification ML model. The supervised classification ML model can be a neural network, a recurrent neural network (RNN), a convolutional neural network (CNN), or a support vector machine (SVM). The unsupervised classification ML model can be a k-means clustering model. Other supervised and unsupervised ML models, such as those described below, can also be employed. The classification system can also employ an ensemble of ML models, including, for example, an RNN, a k-means clustering model, and an SVM. The RNN can input a voltage-time series and output an initial classification, and the k-means clustering model can input features derived from the voltage-time series and output an initial classification. The SVM can input both initial classifications and output a final classification. As another example, the ensemble of ML models can include a CNN autoencoder that inputs an ECG image and outputs a latent vector, and another ML model (e.g., an SVM or a neural network (NN)) that inputs a latent vector and outputs a classification. The classification system can employ classification ML models, which can be considered as classifiers or regressors. A regressor generates continuous values ​​from a continuous domain (e.g., real numbers), while a classifier generates discrete values ​​from a discrete domain (e.g., classes). A classifier generates discrete values ​​that indicate classes, but can also generate continuous values ​​for each class that represent probabilities. The continuous values ​​generated by a regressor can be mapped to classes.

[0015] In some embodiments, the classification system may employ a generative adversarial network (GAN), as described below. The GAN may be used to train a discriminator to classify ECGs as AF or not AF, and may be trained using images of AF ECGs, such as R-R intervals. The discriminator may also be trained to classify other types of arrhythmias.

[0016] In some embodiments, the classification system can employ an attention mechanism (e.g., a transformer encoder) to generate the encoding. The attention mechanism can be trained in parallel with the ML model, for example, to classify an ECG as AF or VF. The input to the attention mechanism can be tokens representing portions of the ECG, such as periods within RR intervals and time ranges within RR intervals. These portions can be represented as images, time-voltage series, or features derived from the ECG (e.g., mean voltage or QRS integral). The output of the attention mechanism is a latent vector, which is a representation of the ECG optimized for classification by the ML model. The ML model can be, for example, a neural network or a support vector (SVM).

[0017] In some embodiments, the classification system can employ a neural network (NN) or a convolutional neural network (CNN) to classify ECGs as AF or VF. If a NN is employed, the training data can include feature vectors with features derived from ECG images or ECG time-voltage series labeled as AF, VF, or neither. If a CNN is employed, the training data can include feature vectors with features that are ECG images and their labels. Separate ML models can also be trained to classify AF and VF ECGs.

[0018] In some embodiments, the classification system can employ k-means clustering to classify ECGs as AF or VF. When k-means clustering is employed, the input can be ECG images or ECG time-voltage series of AF, VF, NSR, and other arrhythmias. k-means clustering generates clusters of similar ECGs, where one or more clusters represent AF, VF, or neither. Clusters representing AF and VF (e.g., for a person) are then identified and labeled as AF, VF, or neither. To determine the classification of a patient's ECG, the cluster with the ECG most similar to the patient's ECG is identified and the patient's ECG is classified according to the cluster's label. Various similarity metrics can be employed, such as cross-correlation based on the mean or median ECG of the cluster. In some embodiments, a supervised ML model can be trained using the ECGs of the clusters labeled with the cluster's label.

[0019] AF Identification System AF is characterized by irregular cardiac cycles (e.g., different R-R interval lengths) and rapid heart rates (e.g., 120 bpm). Figure 1 shows AF and NSR ECGs. The upper ECG 101 is an AF ECG, and the lower ECG 102 is an NSR ECG. The AF ECG has R-R intervals of different lengths, such as 400 ms and 800 ms, and represents a heart rate of approximately 175 bpm. The AF ECG does not have distinguishable T or P waves, and the TQ interval (AF epoch) has irregular waves with irregular shapes (e.g., height and width) and irregular intervals. In contrast, the NSR ECG has R-R intervals of approximately the same length, i.e., 800 ms, and represents a heart rate of approximately 75 bpm. The NSR ECG has clear T and P waves.

[0020] To identify AF epochs, an AF identification system can identify TQ intervals and then identify which TQ intervals contain AF epochs. TQ intervals can be pre-identified if a classification system is employed to identify AF ECGs, or can be identified using various techniques, such as those used by classification systems to identify TQ intervals, or can be pre-classified. Identification of TQ intervals can also be performed using various ML models, such as CNNs trained on ECG images labeled with TQ intervals, or neural networks (NNs) (or SVMs) trained on ECG voltage-time series. If no discernible T wave is present within an RR interval, for AF identification purposes, the TQ interval can be defined as one with a T wave that is a fixed offset (e.g., 250 ms) from the first R peak of the RR interval and ends at the onset of the next R peak. Such RR intervals must meet a minimum length criterion (e.g., >750 ms). If the criterion is not met, the RR interval will not be used to identify AF epochs. Alternatively, a TQ interval for an R-R interval in which there is no discernible T-wave can be defined as having a T-wave and ending based on the percentage distance from the first R-peak to the second R-peak of the R-R interval, for example, 30% of the distance can be considered to be the T-wave and 90% of the distance can be considered to be the ending.

[0021] The AF identification system then identifies which TQ intervals represent AF epochs. The AF identification system can employ an AF epoch ML model to identify AF epochs. The AF epoch ML model can be a supervised and / or unsupervised ML model that identifies AF epochs, such as one of the ML models described above or an ensemble of these ML models. The AF identification system can generate training data from a set of training AF ECGs that include TQ intervals marked as representing AF epochs or non-AF epochs. The training AF ECGs can include simulated AF ECGs and / or clinical AF ECGs. The AF identification system can augment the training AF ECGs by generating augmented AF ECGs for each patient AF ECG. The AF identification system can generate an extended AF ECG by adding simulated noise to the patient's AF ECG, time-shifting the patient's AF ECG (e.g., moving the T-wave to start at a later time), stretching (or compressing) the patient's AF ECG (e.g., stretching the cardiac cycle from 0.4 seconds to 0.5 seconds), etc. The simulated AF ECG can be generated as described above.

[0022] The AF identification system can identify TQ intervals (e.g., as described above) in the training data and extract features from the TQ intervals, such as an image of the TQ interval, a voltage-time series of the TQ interval, the number of AF cycles within the TQ interval, the area under the curve after inverting the negative peak within the TQ interval, or other features related to the TQ interval, as described above.

[0023] The AF identification system can employ any of the above-described ML models for the classification system. When the AF epoch ML model is a supervised ML model, the AF identification system labels a feature vector having features derived from the TQ intervals of the training data as an AF epoch or a non-AF epoch specified by the training data. The labeled feature vector is then used to train the supervised ML model. To identify AF epochs in a patient's ECG, the AF identification system identifies and extracts features from the TQ intervals, inputs the feature vector having these features into the supervised ML model, and outputs a classification indicating whether the TQ interval is an AF epoch or a non-AF epoch.

[0024] If the AF epoch ML model is unsupervised, the AF identification system can employ a k-means clustering model to generate clusters of TQ intervals. If two clusters are used, one cluster represents AF epochs and the other cluster represents non-AF epochs. If more than two clusters are used, the clusters can represent AF epochs with different lengths of TQ intervals or different characteristics (e.g., different numbers or shapes of AF cycles). After clustering, clusters representing AF epochs can be manually identified and labeled. To identify AF epochs in the ECG, the AF identification system identifies TQ intervals, generates a patient feature vector of features extracted from the ECG, and uses the similarity metric described above to identify the cluster whose feature vector is most similar to the patient feature vector. The label associated with the identified cluster is the label of the TQ interval.

[0025] In some embodiments, the AF identification system can perform training on a single lead, such as lead II. Alternatively, the AF identification system can perform training based on multiple leads, for example, by generating an ML model for each lead. To identify an AF epoch, the AF identification system can identify a TQ interval as an AF epoch based on the TQ interval being classified as an AF epoch on a certain number of leads (e.g., 9 out of 12 leads). The AF identification system can also weight the leads differently, such as giving a greater weight to lead II than to lead aVL. In such a case, the AF identification system can generate an AF epoch score, for example, as the sum of the probabilities of each lead output by the lead's ML model multiplied by the lead's weight. If the AF epoch score meets an AF epoch score criterion (e.g., greater than a threshold percentage of the maximum possible AF epoch score), the TQ interval is considered to represent an AF epoch. The AF epoch score criterion can be set based on a desired classification accuracy. The AF epoch score criterion can also be derived from AF epochs of the training data or a hold-out portion of the training data, for example, by ensuring that a majority of these AF epochs meet the AF epoch score criterion. Lead weights can be based on how well each lead distinguishes between AF and non-AF epochs. The weights can be established based on an analysis of the accuracy of the ML model in classifying the training TQ intervals. For example, a gradient descent optimization technique can be employed to find weights that tend to minimize an objective function, such as one based on the number of correct and incorrect classifications, and these weights can be biased to tolerate incorrect classification of some AF epochs to help ensure that non-AF epochs are not misclassified. The output of each ML model for a lead can also be input to an aggregation ML model (e.g., a support vector machine) that outputs a classification.The ML model for the leads and the aggregate ML model can be trained separately or in parallel.

[0026] The AF identification system can employ a mapping system to identify a source location associated with an AF epoch. The AF identification system can employ a mapping system such as those described in the '754 and '144 patents. The mapping system can be developed based on simulated AF epochs and / or clinical AF epochs. The simulated AF epochs can be generated by running simulations of cardiac electrical activity with various characteristics, such as the source location of AF. Each simulation is run until the simulation is stable or until an end simulation time (e.g., 10 seconds of simulated electrical activity) is reached. Simulations are considered stable when they meet stabilization criteria, such as when cardiac cycles are similar to each other because they represent AF episodes. Techniques for determining stability are described in Krummen, D. et al., "Rotor Stability Separates Sustained Ventricular Fibrillation from Self-Terminating Episodes in Humans," Journal of the American College of Cardiology, Vol. 63, No. 24, 2014, which is incorporated herein by reference. A TQ interval or a portion of a TQ interval within one of the stable cardiac cycles is a simulated AF epoch. The source locations used in the simulation are associated with the simulated AF epochs. Each clinical AF epoch can be associated with a source location corresponding to the location of an ablation that successfully treated the AF. The AF identification system can generate a library that maps AF epochs to their associated source locations. An AF epoch mapping ML model can be generated based on a feature vector that labels features derived from AF epochs with their source locations (see, e.g., U.S. Pat. No. 10,860,754).

[0027] The AF identification system can use various methods to identify the AF cycle of an AF epoch from the AF VCG corresponding to the AF ECG. For example, one method uses the axis with the largest amplitude as the reference axis. This method then identifies where the AF VCG trace of the AF epoch crosses the reference axis in a fixed direction (e.g., from negative to positive) and designates this crossing as the start of the AF cycle. This method then identifies when the AF VCG trace next crosses the reference axis in a fixed direction. This method can employ a blanking window (e.g., 50 ms) after the start of the AF epoch during which crossings are ignored to account for VCG trace jitter, which can cause multiple crossings within a very short period. This crossing separates the start of the AF cycle (excluding the last crossing) from the end of the previous AF cycle (excluding the first crossing). Another method uses principal component analysis (PCA) to identify the reference axis. Such a reference axis helps ensure that the spatial direction for tracking crossings encompasses the largest voltage fluctuations.

[0028] When generating training data, the AF identification system can filter out AF cycles that do not meet AF cycle criteria. The AF cycle criteria can be based on an area under the curve that is less than a certain percentage greater (e.g., 25% greater) than the average AF cycle of the AF epoch and / or an AF cycle length that is less than a certain percentage longer (e.g., 50% longer) than the average AF cycle of the AF epoch. The AF identification system can also filter out AF epochs that are determined to be false positives (e.g., by a person).

[0029] The AF identification system can also employ an AF cycle ML model to identify AF cycles directly from the VCG. The training data can be based on clinical data and / or simulated data. The clinical data and simulated data can have AF cycles defined manually or using the techniques described above to identify AF cycles. The AF cycle ML model can be based on a recurrent neural network that inputs an ECG voltage-time series and outputs an indication of the cycle. The AF cycle ML model can also be a neural network (NN) or a convolutional neural network (CNN) that inputs a portion of the ECG (e.g., with various window sizes) and outputs an indication of the portion that represents the AF cycle. The AF cycle ML model can also employ an attention mechanism as described above.

[0030] To identify potential source locations of the patient's AF given the patient's AF ECG, the AF identification system can first identify patient TQ intervals that are patient AF epochs using the AF epoch ML model. Next, the AF identification system can identify patient AF cycles in the patient AF epoch and filter out patient AF cycles that do not meet AF cycle criteria. Next, the AF identification system identifies source locations associated with one or more patient AF cycles using the mapping system described above.

[0031] The AF identification system then outputs an indication of the source location (e.g., identified by a mapping system such as described above). The AF identification system can display a graphic of the heart with the identified source location. The graphic can use different intensities of color for the source location to indicate that source location or the number of cycles with very similar source locations, called a cluster of source locations. A cluster representing a majority of AF cycles can represent the actual source location of the patient's AF. Displaying a graphic of the heart with source locations is described in U.S. Patent Application Publication No. 2022 / 0133207, published May 5, 2022, and entitled "Heart Graphic Display System," which is incorporated herein by reference.

[0032] The AF identification system can also display ablation patterns on a graphic of the heart to help inform treatment decisions regarding ablation patterns to be used in treating AF. The ablation pattern can be a generic ablation pattern associated with one or more of the source locations. A wide area circumferential ablation (WACA) line and a left anterior (LA) roofline are examples of generic ablation patterns. The AF identification system can also identify ablation patterns based on a simulation of cardiac electrical activity or clinical data indicating which ablation patterns are effective in treating AF associated with one or more of the source locations. Techniques for identifying such simulated ablation patterns are described in U.S. Patent No. 11,259,871, entitled "Identify Ablation Pattern for Use in an Ablation," issued March 1, 2022, which is incorporated herein by reference. The clinical data can be a mapping of one or more source locations to successful ablation patterns in treating AF associated with those one or more source locations. The mapping can be derived from electronic medical records (EMR) of a group of patients. These patients can be selected based on having similar characteristics to the patient being treated.

[0033] The AF identification system can also locate the source location on a computed tomography (CT) scan of the patient. The CT scan can then be input into an ablation therapy device, such as a SABR device. The ablation therapy device can be used to plan and perform ablation at the source location. The AF identification system can be used with an overall ablation workflow system, such as that described in U.S. Patent Application Publication No. 2023 / 14406, filed March 2, 2023, and entitled "Overall Ablation Workflow System," which is incorporated herein by reference.

[0034] VF Identification System To induce VF in a subject, the subject's heart is first paced at a fixed pacing interval (e.g., 0.01 seconds) near the source of VF. Once VF is induced, pacing is stopped. VF is then terminated by a defibrillation shock.

[0035] FIG. 2 shows an example of a VF ECG acquired during induced VF. The VF ECG 200 includes an initial NSR portion 201, a pacing portion 202, a transition portion 203, a VF portion 204, a defibrillation portion 205, and a restart NSR portion 206. The initial NSR portion represents the NSR before pacing begins. The pacing portion includes a series of pacing cycles, each having a pacing spike caused by the delivery of a pacing pulse. The frequency of pacing cycles is typically much higher than the frequency of VF cycles within a VF epoch. A VF portion (also called a VF epoch) begins upon induction of VF and ends upon the delivery of a defibrillation shock. A VF epoch includes VF cycles separated by adjacent crossings of a baseline voltage (e.g., mean voltage or zero voltage) in the same direction. The defibrillation portion represents the delivery of a defibrillation shock. The restart NSR portion represents the NSR after the delivery of a VF defibrillation shock. Some VF ECGs may not include the initial and / or restarted NSR portions. A VF ECG may not include a pacing portion if it represents non-induced VF (e.g., acquired during an emergency).

[0036] The VF identification system detects VF epochs in a VF ECG acquired, for example, during a VF induction procedure. The VF identification system can first identify the beginning of the defibrillation segment, which is the end of the VF segment, and then identify the end of the pacing segment by processing the ECG in reverse chronological order. Alternatively, the VF identification system can first identify the pacing segment and then identify the defibrillation segment by processing the ECG in chronological order. The VF identification system can first preprocess the ECG by applying a bandpass filter to filter out low frequencies.

[0037] The VF identification system can detect defibrillation spikes using various methods, such as applying a match filter, detecting the presence of a large positive voltage after a large negative voltage, and applying an ML model to distinguish between defibrillation spikes and non-defibrillation spikes. A supervised ML model can be trained using VF spikes labeled as VF spikes and other portions of the ECG labeled as non-VF spikes. The VF identification system can employ various ML models, such as RNNs, CNNs, and transformers. An unsupervised ML model (e.g., k-means clustering) can be trained using VF spikes and other portions of the ECG. To identify defibrillation spikes, the VF identification system can start from either end of the ECG and use sliding windows of various sizes with various offsets to determine whether each window contains a defibrillation spike.

[0038] When a defibrillation spike is detected, the VF identification system can assume that the VF epoch ends immediately before the defibrillation spike. To locate the beginning of the VF epoch, the VF identification system can process the VF ECG in reverse chronological order, starting from the defibrillation spike. The VF identification system can also preprocess the ECG by taking the square root of the voltage to convert negative voltages to positive voltages. This results in a VF epoch and pacing portion with twice as many positive peaks and no negative peaks.

[0039] The VF identification system can identify the onset of a VF epoch by applying a combination of methods, such as detecting pacing periods or periods that may represent VF periods. The combination method can generate a VF period score, such as a probability of being a VF period, and a pacing period score, such as a probability of being a pacing period. High and low VF period scores indicate VF periods, low and high VF period scores indicate pacing periods, and low and low VF period scores indicate transitions. The VF and pacing period scores can be generated using an ML model trained with training data including a feature vector for each training pacing period labeled as a pacing period and each training VF period labeled as a VF period. The features in the feature vector can include various features of the period, such as a voltage-time series, an image of the period, and the maximum amplitude of the period. The ML model can output the probability that the input period represents a pacing period and the probability that the input period represents a VF period. The ML model can be, for example, an RNN, a CNN, an SVM, an NN, or a Transformer.

[0040] A VF identification system can identify pacing segments and VF epochs based on the frequency and / or shape of the cycles. Typically, the frequency of VF epoch peaks is much lower and less regular than the frequency of pacing cycles. To perform frequency-based identification, a VF identification system can assign a frequency to each cycle based on the frequency of the cycles within a time window centered on a cycle. If the frequency generated for a cycle varies by a threshold percentage (or meets another frequency change criterion) from the frequency of a cycle just outside the window, for example, on the defibrillation spike side of the window, the VF identification system can assume that the just outside cycle is the start of a VF epoch. The frequency can be calculated based on a fast Fourier transform (FFT), peak counts, frequency histograms, and the like.

[0041] Typically, the shape of a VF cycle is gentler and wider than that of a paced cycle. To perform shape-based identification, a VF identification system can input the signature (i.e., shape) of the paced cycle and apply a match filter to the cycle to distinguish between paced and non-paced cycles. In such cases, the VF identification system can process the ECG before the defibrillation spike to identify the last paced cycle. The VF cycle can be considered to begin after a time interval based on the typical length of the transitional portion. The signature of the paced spike can be input to the VF identification system or can be derived from the known paced portion of the VF ECG.

[0042] Another method for identifying the start of a VF epoch is based on the similarity of VF cycles. Once VF is induced, it may take some time for the VF to stabilize. VF cycles near the end of the VF epoch (just before the defibrillation spike) are likely to be VF cycles after VF has stabilized. Cycles similar to these VF cycles are likely VF cycles. The VF identification system can designate a template VF cycle, which can be one of the VF cycles near the end of the VF epoch or a combination (e.g., average) of these VF cycles. The VF identification system generates a similarity score between the template cycle and the cycle preceding the template VF cycle. The start of a VF epoch can be considered the earliest cycle within a series of cycles ending with the template VF cycle whose similarity to the template VF cycle meets a similarity criterion. The series of similar cycles represents the VF cycles of the VF epoch. The VF identification system can employ various similarity score generation methods, such as Pearson correlation, Spearman's rank correlation, and cosine similarity. The similarity criterion can be based on a similarity threshold determined based on an analysis of sample VF ECGs labeled with VF cycles. The similarity threshold can be the average of the mean similarity scores for each VF cycle.

[0043] As described above, the VF identification system can first identify patient VF epochs to identify potential source locations of the patient's VF given the patient's VF ECG. Next, the VF identification system uses a mapping system (described above) to identify source locations associated with one or more patient VF cycles. The VF identification system then outputs an indication of the source locations. The VF identification system can display a graphic of the heart with the identified source locations as described above for the AF identification system. The VF identification system can also determine source locations on a patient's CT scan for input to an ablation therapy device as described above for the AF identification system.

[0044] In some embodiments, the VF identification system can employ a VF epoch ML model to identify VF epochs. The VF epoch ML model can be trained using training data including features derived from VF ECGs (i.e., simulated or clinical) and, in the supervised case, including labels indicating the VF epochs. The VF epoch ML model can employ any of the ML models described above for the classification system.

[0045] The VF identification system can also employ a defibrillation spike ML model to identify defibrillation spikes. The defibrillation spike ML model can be trained using electrocardiograms labeled with portions containing defibrillation spikes or portions not containing defibrillation spikes. The training can be based on features derived from the portions, such as maximum voltage, area under the curve, and width (time). The defibrillation spike ML model can include SVM, GAN, NN, CNN, RNN, and Transformer, among others. After training the defibrillation spike model, the VF identification system uses the trained defibrillation spike model to identify defibrillation spikes in VF ECGs.

[0046] A computer system (e.g., a network node or a group of network nodes) capable of implementing the C&I system and other described systems may include a central processing unit, input devices, output devices (e.g., display devices and speakers), storage devices (e.g., memory and disk drives), network interfaces, graphic processing units, communication links (e.g., Ethernet, Wi-Fi, cellular, and Bluetooth), and global positioning system devices, etc. Input devices may include keyboards, pointing devices, touch screens, gesture recognizers (e.g., for air gestures), head and eye tracking devices, and microphones for voice recognition, etc. Computer systems may include high-performance computer systems, distributed systems, cloud-based computer systems, client computer systems interacting with cloud-based computer systems, desktop computers, laptops, tablets, e-readers, personal digital assistants, smartphones, gaming devices, servers, etc. Computer systems may access computer-readable media, including computer-readable storage media and data transmission media. A computer-readable storage medium is a tangible storage means that does not involve a transitory, propagating signal. Examples of computer-readable storage media include memory, such as primary memory, cache memory, and secondary memory (such as a DVD), as well as other storage. The computer-readable storage media may record or be encoded with computer-executable instructions or logic that implement the C&I system and other described systems. Data transmission media are used to transmit data via ephemeral propagating signals or carrier waves (e.g., electromagnetic) over wired or wireless connections. The computer system may include a secure cryptoprocessor as part of the central processing unit (e.g., Intel Secure Guard Extensions (SGX)) to generate and securely store keys, use keys to encrypt and decrypt data, and securely execute all or a portion of the C&I system's computer-executable instructions.Some of the data transmitted and received by the C&I system may be encrypted, for example, to protect patient privacy (e.g., to comply with government regulations such as the European General Data Protection Regulation (GDPR) or the U.S. Health Insurance Portability and Accountability Act (HIPAA)). The C&I system may employ asymmetric encryption (e.g., using private and public keys in the Rivest-Shamir-Adleman (RSA) standard) or symmetric encryption (e.g., using symmetric keys in the Advanced Encryption Standard (AES)).

[0047] The one or more computer systems may include a client-side computer system and a cloud-based computer system (e.g., public or private), each executing computer-executable instructions of the C&I system. The client-side computer system may send data to or receive data from one or more servers of a cloud-based computer system in one or more cloud data centers. For example, the client-side computer system may send a request to the cloud-based computer system to perform a task, such as performing a patient-specific simulation of cardiac electrical activity or training a patient-specific ML model. The cloud-based computer system may respond to the request by sending data derived from performing the task, such as the source location of an arrhythmia, to the client-side computer system. The server may perform computationally expensive tasks before processing by the client-side computer system, such as training an ML model, or in response to data received from the client-side computer system. The client-side computer system may provide a user experience (e.g., a user interface) to a user of the C&I system. The user experience may originate from a client-side computer device or a server computer device. For example, the client-side computer device may generate a patient-specific cardiac graphic and display the graphic. Alternatively, a cloud-based computer system can generate graphics (e.g., in Hypertext Markup Language (HTML) or Extensible Markup Language (XML) format) and provide them to the client-side computer system for display. The client-side computer system can also send and receive data to and from various medical devices, such as ECG monitors, ablation therapy devices, and ablation planning devices. Data received from the medical devices can include ECGs and actual ablation characteristics (e.g., ablation locations and ablation patterns), etc.The data transmitted to the medical device may include, for example, data in Digital Imaging and Communications in Medicine (DICOM) format. The client computing device may also send and receive data to and from a medical computing system that stores patient history data, descriptions of medical equipment at the medical facility (e.g., type, manufacturer, and model number), and treatment results. The term "cloud-based computing system" may include a computing system in a public cloud data center offered by a cloud provider (e.g., Azure offered by Microsoft Corporation) or a computing system in a private server farm (e.g., operated by a C&I system provider).

[0048] The C&I system and other described systems may be described in the general context of computer-executable instructions, such as program modules and components, executed by one or more computers, processors, or other devices. Generally, program modules or components include routines, programs, objects, data structures, etc., that perform tasks or implement data types of the C&I system and other described systems. Typically, the functionality of the program modules may be combined or distributed as desired in various examples. Aspects of the C&I system and other described systems may be implemented in hardware using, for example, application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs).

[0049] The ML model employed by the C&I system can be any of a variety of supervised, semi-supervised, self-supervised, or unsupervised ML models, or combinations thereof, including neural networks such as fully connected, convolutional, recurrent, or autoencoder neural networks, or restricted Boltzmann machines, support vector machines, Bayesian classifiers, k-means clustering models, decision trees, generative adversarial networks, and transformers. If the ML model is a deep neural network, the model is trained using training data that includes features derived from the data and labels corresponding to the data. For example, the data can be images of ECGs, where the features are the images themselves, and the labels can be characteristics exhibited by the ECG (e.g., normal sinus rhythm). The training results in a set of weights for the activation functions of the layers of the deep neural network. The trained deep neural network can then be applied to new data to generate labels for the new data. If the ML model is a support vector machine, a hyper-surface that partitions the space of possible inputs is found. For example, the hypersurface attempts to split positive and negative examples by maximizing the distance between the positive example (e.g., an image of a normal sinus rhythm ECG) and the negative example (e.g., an image of an arrhythmia ECG) that are closest to the hypersurface. The trained support vector machine can then be applied to new data to generate a classification (e.g., normal sinus rhythm or arrhythmia) for the new data. The ML model can generate values ​​(e.g., classifications), probabilities, and / or values ​​(e.g., regression values, classification probabilities) in a discrete domain.

[0050] Various methods can be used to train support vector machines, including adaptive boosting, an iterative process of running multiple tests on a set of training data. Adaptive boosting transforms a weak learning algorithm (one that performs slightly better than chance) into a strong learning algorithm (one that exhibits a low error rate). The weak learning algorithm is run on different subsets of the training data. The algorithm increasingly focuses on examples where predecessors tend to make mistakes. The algorithm corrects the errors made by previous weak learners. The algorithm is adaptive because it adapts to the error rates of its predecessors. Adaptive boosting combines broad and moderately imprecise heuristics to form a high-performance algorithm. Adaptive boosting combines the results of each test run individually into a single, highly accurate classifier. Adaptive boosting can use weak classifiers, which are single-split trees with only two leaf nodes.

[0051] A neural network model has three main components: architecture, loss function, and search algorithm. The architecture defines the functional form (in terms of network topology, unit connectivity, and activation function) that relates inputs to outputs. The training process is to search the weight space for a set of weights that minimizes the loss function. Neural network models can use radial basis function (RBF) networks and standard or stochastic gradient descent as the search method with backpropagation.

[0052] A convolutional neural network (CNN) has multiple layers, such as convolutional layers, rectified linear unit (ReLU) layers, pooling layers, and fully connected (FC) layers. Some more complex CNNs may have multiple convolutional layers, pooling layers, and FC layers. Each layer contains a neuron corresponding to each output of that layer. Neurons receive the output of the previous layer (or the original input) and apply an activation function to these inputs to generate an output.

[0053] A convolutional layer can include multiple filters (also called kernels or activation functions). A filter inputs, for example, a convolutional window of an image, applies weights to each pixel in the convolutional window, and outputs a value for that convolutional window. For example, if a still image is 256x256 pixels, the convolutional window can be 8x8 pixels. The filter can apply a different weight to each of the 64 pixels in the convolutional window to generate a value.

[0054] An activation function has a weight for each input and generates an output by combining the inputs based on the weights. The activation function can be a rectified linear unit (ReLU), which generates a weighted value by multiplying each input by its weight and summing the values, outputting max(0, weighted value) to ensure that the output is non-negative. The weights of the activation function are learned during training of the ML model. The max(0, weighted value) ReLU function can be represented as a separate ReLU layer with a neuron for each output of the previous layer, which inputs the output and applies the ReLU function to generate the corresponding "rectified output."

[0055] Pooling layers can be used to reduce the size of the output of the previous layer by downsampling the output. For example, each neuron in a pooling layer can input 16 outputs from the previous layer to produce one output, resulting in a reduction of the output from 16 to 1.

[0056] An FC layer contains neurons that each input all the outputs of the previous layer and generate a weighted combination of these inputs. For example, if the penultimate layer generates 256 outputs and the FC layer inputs a neuron for each of the three classes (e.g., AF, VF, AFL), each neuron inputs the 256 outputs and applies a weight to generate a value for that class.

[0057] Unsupervised ML is a method for training ML models using unlabeled training data. K-means clustering is an example of an ML method. Given feature vectors representing training data, K-means clustering clusters the feature vectors into clusters of similar feature vectors. In k-means clustering, the number of clusters can be predetermined. For example, a classification system can employ three clusters (k=3) representing AF ECG, VF ECG, and neither. In one example training method, feature vectors are initially randomly placed within each cluster. The training then iterates by calculating the mean feature vector of each cluster, selecting feature vectors not present in the cluster, identifying the cluster with the most similar mean, adding the feature vector to that cluster, and moving feature vectors already in the cluster to the cluster with the most similar mean. Similarity can be determined based on, for example, Pearson similarity and cosine similarity. Training ends when all feature vectors have been added to the clusters. Clusters containing feature vectors for AF ECG, VF ECG, and neither are identified, and a corresponding classification is associated with each cluster. To classify an ECG, a feature vector is generated based on the ECG, the cluster with the most similar mean value to the feature vector is identified, and the ECG is assigned to the classification of that cluster.

[0058] Generative Adversarial Networks (GANs) or attribute (attGANs) can also be used. (See Zhenliang He, Wangmeng Zuo, Meina Kan, Shiguang Shan, and Xilin Chen, "AttGAN: Facial Attribute Editing by Only Changing What You Want," IEEE Transactions on Image Processing, Vol. 28, No. 11, pp. 5464-5478, November 2019, and Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio, "Generative Adversarial Nets," Advances in Neural Information Processing Systems 27, pp. 2672-2680, 2014, which are incorporated herein by reference.) GANs use a generator and a classifier and are trained using training data, such as real images of objects. The generator generates generated images based on random input. The generator is trained to generate generated images that are indistinguishable from real images. The classifier indicates whether the input image is real or generated. The generator and classifier are trained in parallel to learn weights. The generator is trained to generate increasingly realistic images, and the classifier is trained to more effectively distinguish between real and generated images. After training, the C&I system can use the classifier to distinguish between real and (fake) generated images. For example, the real image can be an AF ECG in the AF ML model and a VF ECG in the VF ML model.

[0059] Transformer machine learning was introduced as a more efficient and parallelizable alternative to recurrent neural networks. (See Vaswani, Ashish et al., "Attention is all you need," Advances in Neural Information Processing Systems 30, 2017, incorporated herein by reference.) Transformer machine learning was originally described in the context of natural language processing (NLP), but has also been adapted for other applications, such as image processing, to augment or replace CNNs. Below, we describe transformer machine learning in the context of NLP as introduced by Vaswani.

[0060] A Transformer includes an encoder whose output is fed into a decoder. The encoder includes an input embedding layer followed by one or more encoder attention layers. The input embedding layer generates an embedding of the input. For example, as described by Vaswani, when processing a sentence using a Transformer ML model, each word can be represented as a token that includes the word's embedding and its position information. Such an embedding is a vector representation of a word such that words with similar meanings are nearby in a vector space. The position information is based on the word's position in the sentence.

[0061] The first encoder attention layer inputs the embeddings, and the other encoder attention layers input the output from the previous encoder attention layer. The encoder attention layer includes a multi-head attention mechanism followed by a normalization sublayer whose output is fed into a feedforward neural network followed by a normalization sublayer. The multi-head attention mechanism includes multiple self-attention mechanisms, each inputting the embeddings from the previous layer and weighting the relevance encoding to the other embeddings. For example, this relevance can be determined by the following attention function: TIFF2025530732000002.tif20150 where Q represents the query, K represents the key, V represents the value, and d k represents the dimension of K. This attention function is called scaled dot-product attention. In Vaswani, the query, key, and value of the encoder multi-head attention mechanism are set to the input of the encoder attention layer. The multi-head attention mechanism determines the multi-head attention as represented by TIFF2025530732000003.tif13150Here, W represents the weights learned during training. The weights of the feedforward network are also learned during training. The weights can be initialized to random values. A normalization layer normalizes its input to a vector with the dimensions expected by the next layer or sublayer.

[0062] The decoder includes an output embedding layer, a decoder attention layer, a linear layer, and a softmax layer. The output embedding layer inputs the decoder output with the correct shift. Each decoder attention layer inputs the output of the previous decoder attention layer (or output embedding layer) and the encoder output. The output of the output embedding layer is input to the decoder attention layer, the output of the decoder attention layer is input to the linear layer, and the output of the linear layer is input to the softmax layer, which outputs a probability. The decoder attention layer includes a decoder masked multi-head attention mechanism followed by a normalization sublayer, a decoder multi-head attention mechanism followed by a normalization sublayer, and a feedforward neural network followed by a normalization sublayer. The decoder masked multi-head attention mechanism masks the input so that position prediction is based only on the output of the previous position. The decoder multi-head attention mechanism inputs the normalized output of the decoder masked multi-head attention mechanism as a query and the encoder output as keys and values. The feedforward neural network inputs the normalized output of the decoder's multi-head attention mechanism, which in turn is the output of its multi-head attention layer. The weights of the linear layer are also learned during training.

[0063] Transformers were originally developed for processing sentences, but have also been adapted for image recognition. The input to such a transformer can be a representation of a fixed-size patch of an image. The patch representation can be an encoding of the row, column, and color of each pixel in the patch. The output of the transformer can be, for example, a classification of the image.

[0064] The features used by an ML model can be selected manually or automatically. Features that evaluation indicates are useful in providing accurate output of the ML model are called informative features. The evaluation of which features are informative can be based on various feature selection methods, such as predictive power scores, lasso regression, and mutual information analysis.

[0065] 3 is a block diagram illustrating components of a classification and identification system in some embodiments. C&I system 300 includes a classification system 310, an AF identification system 320, and a VF identification system 330. The classification system includes a classify ECG component 311, a train classification ML model component 312, and a classification ML model weights data store 313. The AF identification system includes an identify AF source locations component 321, a detect AF epochs component 322, a train AF epoch ML model component 323, and an AF epoch ML model weights data store 324. The VF identification system includes an identify VF source locations component 331 and a detect VF epoch component 332. The C&I system interfaces with a simulation system 340, a mapping system 350, and a graphic display system 360. The ECG classification component receives an ECG and classifies it as an AF ECG or a VF ECG. The AF source location identification component receives an AF ECG and identifies source locations associated with the AF ECG. The AF epoch detection component receives an AF ECG and identifies AF epochs within the AF ECG. The VF source location identification component receives a VF ECG and identifies one or more source locations in the VF ECG. The VF epoch detection component identifies VF epochs in the VF ECG. The classification ML model training component trains a classification ML model and stores the weights in a classification ML model weights data store.The AF epoch ML model training component trains the AF epoch ML model and stores the weights in the AF epoch ML model weights data store. The simulation system and mapping system can be a system such as that described in U.S. Patent No. 10,860,754. The graphics display system can be a system such as that described in U.S. Patent Application Publication No. 2022 / 0133207.

[0066] Figure 4 is a flow diagram illustrating the processing of the ECG classification component in some embodiments. The ECG classification component 400 receives an ECG and classifies the ECG as an AF ECG or a VF ECG. In block 401, the component denoises the ECG. In block 402, the component identifies ECG landmarks within the ECG. In block 403, the component identifies an ECG region within the ECG based on the ECG landmarks. In block 404, the component selects the next ECG region. In decision block 405, if all ECG regions have already been selected, the component proceeds to block 410; otherwise, the component proceeds to block 406. In block 406, the component selects a window length and an offset from the start of the ECG region. In decision block 407, if all combinations of window length and offset have already been selected, the component loops to block 404; otherwise, the component proceeds to block 408. In block 408, the component extracts features from the window. In block 409, the component generates a classification of the features as representing AF or VF (by applying a classification ML model) and loops to block 406 to select the next window length and offset. In block 410, the component determines the overall classification of the ECG and then terminates.

[0067] 5 is a flow diagram that illustrates the processing of the AF source location identification component in some embodiments. The AF source location identification component 500 receives an AF ECG and identifies one or more source locations. In block 501, the component invokes the AF epoch detection component to identify AF epochs in the AF ECG. In block 502, the component selects the next AF epoch. In decision block 503, if all AF epochs have already been selected, the component proceeds to block 505; otherwise, the component proceeds to block 504. In block 504, the component uses a mapping system to identify source locations associated with the AF epoch and loops to block 502 to select the next AF epoch. In block 505, the component uses a graphics system to generate a graphic of the heart with the source locations indicated. In block 506, the component displays the graphic and terminates.

[0068] Figure 6 is a flow diagram that illustrates the processing of the detect AF epoch component in some embodiments. The detect AF epoch component 600 receives an AF ECG and identifies an AF epoch within the AF ECG. In block 601, the component denoises the AF ECG. In block 602, the component identifies ECG landmarks within the AF ECG. In block 603, the component identifies a TQ interval based on the ECG landmarks. In block 604, the component selects the next TQ interval. In decision block 605, if all TQ intervals have been selected, the component is done; otherwise, the component continues at block 606. In block 606, the component extracts features. In block 607, the component classifies the TQ interval as an AF epoch or a non-AF epoch using the AF epoch ML model. In decision block 608, if the TQ interval is classified as an AF epoch, the component continues at block 609; otherwise, the component loops to block 604 to select the next TQ interval. In block 609, the component filters the AF epochs to remove AF cycles that do not meet the AF cycle criteria. In block 610, the component stores the remaining (filtered) AF cycles as AF epochs and loops to block 604 to select the next TQ interval.

[0069] 7 is a flow diagram that illustrates the processing of the VF source location identification component in some embodiments. The VF source location identification component 700 inputs a VF ECG and identifies source locations associated with the VF ECG. In block 701, the component invokes the VF epoch detection component to identify VF epochs within the VF ECG. In block 702, the component uses a mapping system to identify source locations associated with the VF epochs. The component can also identify source locations for various subsets of VF period combinations of the VF epochs. In block 703, the component generates a graphic based on the source location(s) using a graphics system. In block 704, the component outputs the graphic and terminates.

[0070] 8 is a flow diagram that illustrates the processing of the VF epoch detection component in some embodiments. The VF epoch detection component 800 receives a VF ECG and identifies a VF epoch within the VF ECG. In block 801, the component denoises the VF ECG. In block 802, the component identifies ECG landmarks within the VF ECG. In block 803, the component identifies a defibrillation spike within the VF ECG. In block 804, the component identifies cycles prior to the identified defibrillation spike. In block 805, the component designates a template VF cycle based on one or more of the identified cycles prior to the defibrillation spike falling within a template range. In block 806, the component selects the next prior cycle prior to the previously identified VF cycle. In decision block 807, if the previous period matches a template VF period or other VF period criteria, the component continues at block 808, else the component continues at block 809. In block 808, the component designates the previous period as a VF period and loops to block 806 to select the next previous period. In block 809, the component designates the VF period as containing a VF epoch and then completes.

[0071] The following paragraphs describe various aspects of the C&I system. An implementation of the system may employ any combination of these aspects. The processes described below may be performed by a computer system having a processor executing computer-executable instructions stored on a computer-readable storage medium that implements the system.

[0072] In some aspects, the techniques described herein include one or more computer systems for identifying atrial fibrillation (AF) epochs in a patient based at least on a patient electrocardiogram collected from the patient, the one or more computer systems generating training data including, for each of a plurality of training TQ intervals, a feature vector derived from the training TQ intervals labeled as an AF epoch or a feature vector derived from the training TQ intervals labeled as an AF epoch or a feature vector not labeled as an AF epoch, training an AF epoch machine learning (ML) model using the generated training data, and applying the AF epoch ML model to the patient electrocardiogram to determine whether the patient electrocardiogram is an AF epoch. and one or more processors that control the one or more computer systems to execute one or more of the computer-executable instructions: one or more computer-readable storage media that store computer-executable instructions for controlling the one or more computer systems to execute one or more of the computer-executable instructions: to determine whether the identified TQ interval represents an AF epoch; to identify one or more landmarks in the patient's electrocardiogram; to identify a TQ interval in the patient's electrocardiogram based on the identified one or more landmarks; to apply an AF epoch ML model to a feature vector derived from the identified TQ interval to determine whether the identified TQ interval represents an AF epoch; and to output instructions for making the determination.

[0073] In some aspects, the techniques described herein relate to one or more computer systems, where the computer-executable instructions further include instructions for applying a mapping system to the identified TQ intervals to identify a source location of the AF represented by the AF epoch, and displaying a cardiac graphic indicating the source location of the AF.

[0074] In some aspects, the techniques described herein relate to one or more computer systems, and the computer-executable instructions for identifying one or more landmarks identify one or more T-peaks and Q-peaks.

[0075] In some aspects, the techniques described herein relate to one or more computer systems, where the training TQ intervals include simulated training TQ intervals generated based on simulation of cardiac electrical activity having different characteristics.

[0076] In some aspects, the technology described herein relates to one or more computer systems, wherein the training TQ intervals include clinical training TQ intervals collected from patients.

[0077] In some aspects, the techniques described herein relate to one or more computer systems, where the computer-executable instructions further include instructions for identifying AF cycles within the AF epoch and filtering out one or more AF cycles that do not meet the AF cycle criteria.

[0078] In some aspects, the technology described herein relates to one or more computer systems, wherein the computer-executable instructions further include instructions for applying a mapping system to the identified TQ interval to identify a source location of the AF and outputting the source location of the AF to an ablation therapy device.

[0079] In some aspects, the techniques described herein relate to one or more computer systems, where the feature vector comprises an image of TQ intervals and the AF epoch ML model comprises a convolutional neural network.

[0080] In some aspects, the techniques described herein relate to one or more computer systems, where the AF Epoch ML model includes a Transformer.

[0081] In some aspects, the techniques described herein relate to one or more computer systems, where the feature vector includes images of TQ intervals and the AF epoch ML model includes a generative adversarial network.

[0082] In some aspects, the techniques described herein relate to one or more computer systems, where the feature vector comprises a voltage-time series representation of TQ intervals and the AF epoch ML model comprises a recurrent neural network.

[0083] In some aspects, the technology described herein relates to one or more computer systems for identifying ventricular fibrillation (VF) epochs in a patient based at least on a patient electrocardiogram collected from the patient, the computer systems including: one or more computer-readable storage media storing computer-executable instructions for controlling the one or more computer systems to: identify a defibrillation spike in the patient electrocardiogram based on characteristics of the defibrillation spike; identify one or more VF cycles preceding the defibrillation spike; designate a template VF cycle based on the identified one or more VF cycles; identify a series of VF cycles similar to the template VF cycle based on satisfying a similarity criterion; designate the identified series of VF cycles as VF epochs; and output an indication of the VF epochs; and one or more processors that control the one or more computer systems to execute one or more of the computer-executable instructions. In some aspects, the technology described herein relates to one or more computer systems, the computer-executable instructions further including instructions for applying a mapping system to the VF epochs to identify a source location of the VF and displaying a cardiac graphic indicating the source location of the VF. In some aspects, the technology described herein relates to one or more computer systems, the computer-executable instructions further including instructions for providing the source location to an ablation therapy device. In some aspects, the technology described herein relates to one or more computer systems, the computer-executable instructions further including instructions for accessing training defibrillation spike portions of an electrocardiogram and training non-defibrillation spike portions of an electrocardiogram, generating training data including, for each training defibrillation spike, a feature vector derived from the training defibrillation spikes labeled as defibrillation spikes, generating training data including, for each training non-defibrillation spike portion, a feature vector derived from the training non-defibrillation spike portions labeled as non-defibrillation spike portions, and training a defibrillation spike machine learning (ML) model using the generated training data.In some embodiments, the techniques described herein relate to one or more computer systems, where the feature vector includes images of defibrillation spike portions or non-defibrillation spike portions, and the defibrillation spike ML model includes a convolutional neural network. In some embodiments, the techniques described herein relate to one or more computer systems, where the feature vector includes voltage-time series representations of defibrillation spike portions or non-defibrillation spike portions, and the defibrillation spike ML model includes a recurrent neural network. In some embodiments, the techniques described herein relate to one or more computer systems, where the defibrillation spike ML model is used to identify defibrillation spikes. In some embodiments, the techniques described herein relate to one or more computer systems, where a match filter is used to identify defibrillation spikes.

[0084] In some aspects, the techniques described herein relate to a method for identifying a source location of atrial fibrillation (AF), performed by one or more computer systems, comprising: receiving a patient AF electrocardiogram collected from a patient; identifying a TQ interval in the patient AF electrocardiogram; applying a machine learning (ML) model to the TQ interval to determine whether the TQ interval is an AF epoch; applying a mapping system to the AF epoch to identify a source location of the AF; and outputting an indication of the source location to inform treatment for the patient. In some aspects, the techniques described herein relate to a method further comprising generating a graphic including a heart with the source location defined. In some aspects, the techniques described herein relate to a method further comprising providing the source location to an ablation therapy device. In some aspects, the techniques described herein relate to a method, wherein the mapping system is a cloud-based computer system, and applying comprises sending an indication of the AF epoch to the mapping system and receiving the source location from the mapping system.

[0085] In some aspects, the technology described herein relates to a method for identifying a source location of ventricular fibrillation (VF), performed by one or more computer systems, that includes receiving a patient VF electrocardiogram collected from a patient, identifying an end of a VF epoch in the patient VF electrocardiogram based on the presence of a defibrillation spike in the patient VF electrocardiogram, identifying a start of the VF epoch, applying a mapping system to the VF epoch to identify a source location of the VF, and outputting the source location to inform patient treatment. In some aspects, the technology described herein relates to a method that further includes generating a graphic including a heart with the source location defined. In some aspects, the technology described herein relates to a method that further includes providing the source location to an ablation therapy device. In some aspects, the technology described herein relates to a method, wherein the end of the VF epoch is identified using a fibrillation spike machine learning (ML) model. In some aspects, the techniques described herein relate to a method, wherein identifying the end and start of a VF epoch is based on a VF epoch machine learning (ML) model trained using VF electrocardiograms, each labeled with an indication of a VF epoch within the VF electrocardiogram. In some aspects, the techniques described herein relate to a method, wherein the mapping system is a cloud-based computer system, and applying includes transmitting the indication of the VF epoch to the mapping system and receiving a source location from the mapping system.

[0086] In some aspects, the technology described herein relates to a method for classifying an electrocardiogram as an atrial fibrillation (AF) electrocardiogram or a ventricular fibrillation (VF) electrocardiogram, the method being performed by one or more computer systems and including: receiving a patient electrocardiogram collected from a patient; identifying electrocardiographic landmarks within the patient electrocardiogram; identifying electrocardiographic regions based on the electrocardiographic landmarks; for each of a plurality of windows varying in length or offset from a start point of the electrocardiographic region, applying a machine learning (ML) model to features derived from the windows to classify the window as an AF region, a VF region, or another region; and determining a classification of the patient electrocardiogram based on the classification of the windows. In some aspects, the technology described herein relates to a method, wherein the ML model is a convolutional neural network. In some aspects, the technology described herein relates to a method, wherein the ML model includes an AF ML model for classifying the electrocardiogram as AF or not AF, and a VF ML model for classifying the electrocardiogram as VF or not VF. In some aspects, the techniques described herein relate to a method, wherein the AF ML model and the VF ML model are Transformers. In some aspects, the techniques described herein relate to a method, wherein the AF ML model and the VF ML model are Generative Adversarial Networks.

[0087] All documents incorporated by reference are incorporated in their entirety. In the event of a conflict between the language of this document and the language of a document incorporated by reference, the language of the document incorporated by reference shall be deemed to supplement the language of this document, and the language of this document shall take precedence.

[0088] Although the present subject matter has been described in language specific to structural features and / or acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to those specific features or acts. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. [Explanation of symbols]

[0089] 101 AF ECG 102 NSR ECG

Claims

1. 1. One or more computer systems for identifying atrial fibrillation (AF) epochs in a patient based at least on a patient electrocardiogram collected from the patient, comprising: training TQ intervals of electrocardiograms that may or may not be AF epochs; the one or more computer systems, generating training data including, for each of a plurality of said training TQ intervals, a feature vector derived from said training TQ interval labeled as an AF epoch or as a non-AF epoch; training an AF epoch machine learning (ML) model using the generated training data; applying an AF epoch ML model to the patient's electrocardiogram to determine whether the patient's electrocardiogram is an AF electrocardiogram; identifying one or more landmarks within the patient's electrocardiogram; identifying a TQ interval in the patient's electrocardiogram based on the identified one or more landmarks; applying the AF epoch ML model to a feature vector derived from the identified TQ interval to determine whether the identified TQ interval represents an AF epoch; outputting an instruction for the determination; and computer-executable instructions for controlling the one or more computer-readable storage media storing the one or more processors that control the one or more computer systems to execute one or more of the computer-executable instructions; 1. One or more computer systems comprising:

2. The computer-executable instructions include: applying a mapping system to the identified TQ interval to identify a source location of the AF represented by the AF epoch; displaying a graphic of the heart showing the source location of the AF; The one or more computer systems of claim 1 further comprising instructions.

3. The computer executable instructions for identifying one or more landmarks identify one or more T peaks and Q peaks.

10. One or more computer systems according to claim 1.

4. the training TQ intervals include simulated training TQ intervals generated based on simulations of cardiac electrical activity having different characteristics; 10. One or more computer systems according to claim 1.

5. the training TQ intervals comprise clinical training TQ intervals collected from patients; 10. One or more computer systems according to claim 1.

6. The computer-executable instructions further include instructions for identifying AF periods within the AF epoch and filtering out one or more AF periods that do not meet an AF period criterion.

10. One or more computer systems according to claim 1.

7. The computer-executable instructions include: applying a mapping system to the identified TQ interval to identify a source location of the AF; outputting the source location of the AF to an ablation therapy device; The one or more computer systems of claim 1 further comprising instructions.

8. The feature vector includes an image of a TQ interval, and the AF Epoch ML model includes a convolutional neural network.

10. One or more computer systems according to claim 1.

9. The AF Epoch ML model includes a transformer.

10. One or more computer systems according to claim 1.

10. The feature vector includes images of TQ intervals, and the AF Epoch ML model includes a generative adversarial network.

10. One or more computer systems according to claim 1.

11. The feature vector includes a voltage-time series representation of the TQ interval, and the AF Epoch ML model includes a recurrent neural network.

10. One or more computer systems according to claim 1.

12. 1. One or more computer systems for identifying ventricular fibrillation (VF) epochs in a patient based at least on a patient electrocardiogram collected from the patient, the computer systems comprising: identifying a defibrillation spike in the patient's electrocardiogram based on a characteristic of the defibrillation spike; identifying one or more VF cycles preceding the defibrillation spike; designating a template VF period based on the identified one or more VF periods; identifying a series of VF cycles that are similar to the template VF cycle based on meeting a similarity criterion; designating the identified series of VF cycles as VF epochs; outputting an indication of the VF epoch; one or more computer-readable storage media storing computer-executable instructions for controlling the one or more computer systems to: one or more processors that control the one or more computer systems to execute one or more of the computer-executable instructions; 1. One or more computer systems comprising:

13. The computer-executable instructions include: applying a mapping system to the VF epoch to identify a source location of the VF; displaying a graphic of the heart showing the source location of the VF; 13. One or more computer systems according to claim 12, further comprising instructions.

14. The computer-executable instructions further include instructions for providing the source location to an ablation therapy device.

14. One or more computer systems according to claim 13.

15. The computer executable instructions are accessing a training defibrillation spike portion of the electrocardiogram and a training non-defibrillation spike portion of the electrocardiogram; generating training data including, for each training defibrillation spike, a feature vector derived from the training defibrillation spike labeled as a defibrillation spike; generating training data including, for each training non-defibrillation spike portion, a feature vector derived from the training non-defibrillation spike portion labeled as a non-defibrillation spike portion; training a defibrillation spike machine learning (ML) model using the generated training data; 13. One or more computer systems according to claim 12, further comprising instructions.

16. the feature vector includes an image of a defibrillation spike portion or a non-defibrillation spike portion, and the defibrillation spike ML model includes a convolutional neural network; 16. One or more computer systems according to claim 15.

17. the feature vector includes a voltage-time series representation of a defibrillation spike portion or a non-defibrillation spike portion, and the defibrillation spike ML model includes a recurrent neural network; 16. One or more computer systems according to claim 15.

18. the defibrillation spike ML model is used to identify the defibrillation spike; 16. One or more computer systems according to claim 15.

19. a matched filter is used to identify the defibrillation spike; 13. One or more computer systems according to claim 12.

20. 1. A method for identifying a source location of atrial fibrillation (AF), performed by one or more computer systems, comprising: receiving a patient AF electrocardiogram collected from the patient; identifying a T-Q interval of the patient's AF electrocardiogram; applying a machine learning (ML) model to the TQ interval to determine whether the TQ interval is an AF epoch; applying a mapping system to the AF epoch to identify a source location of the AF; outputting an indication of the source location to inform treatment of the patient; A method comprising:

21. generating a graphic including the heart with the source location defined.

21. The method of claim 20.

22. further comprising providing the source location to an ablation therapy device.

21. The method of claim 20.

23. the mapping system is a cloud-based computer system, and the applying includes sending an indication of the AF epoch to the mapping system and receiving the source location from the mapping system.

21. The method of claim 20.

24. 1. A method for identifying a source location of ventricular fibrillation (VF), performed by one or more computer systems, comprising: receiving a patient VF electrocardiogram collected from the patient; identifying an end of a VF epoch in the patient's VF electrocardiogram based on the presence of a defibrillation spike in the patient's VF electrocardiogram; identifying the onset of the VF epoch; applying a mapping system to the VF epoch to identify a source location of the VF; outputting the source location to inform treatment of the patient; A method comprising:

25. generating a graphic including the heart with the source location defined.

25. The method of claim 24.

26. further comprising providing the source location to an ablation therapy device.

25. The method of claim 24.

27. The end of the VF epoch is identified using a defibrillation spike machine learning (ML) model.

25. The method of claim 24.

28. the identification of the end and beginning of the VF epoch is based on a VF epoch machine learning (ML) model trained using VF electrocardiograms, each labeled with an indication of a VF epoch within the VF electrocardiogram; 25. The method of claim 24.

29. the mapping system is a cloud-based computer system, and the applying includes sending an indication of the VF epoch to the mapping system and receiving the source location from the mapping system.

25. The method of claim 24.

30. 1. A method for classifying an electrocardiogram as an atrial fibrillation (AF) electrocardiogram or a ventricular fibrillation (VF) electrocardiogram, performed by one or more computer systems, comprising: receiving a patient electrocardiogram collected from the patient; identifying electrocardiographic landmarks within the patient's electrocardiogram; identifying electrocardiographic regions based on the electrocardiographic landmarks; For each of the electrocardiogram regions: For each of a plurality of windows having different lengths or offsets from the start of the electrocardiogram region, applying a machine learning (ML) model to features derived from the window to classify the window as an AF region, a VF region, or another region; determining a classification of the patient electrocardiogram based on the classification of the window; A method comprising:

31. The ML model is a convolutional neural network.

31. The method of claim 30.

32. the ML models include an AF ML model that classifies an electrocardiogram as AF or not AF, and a VF ML model that classifies an electrocardiogram as VF or not VF; 31. The method of claim 30.

33. the AF ML model and the VF ML model are transformers; 33. The method of claim 32.

34. The AFML model and the VFML model are generative adversarial networks.

33. The method of claim 32.

Citation Information

Patent Citations

  • Electrogradiographic signal processor

    JP1999197128A

  • Method and apparatus for evaluating cardiac function

    JP2013521966A

  • Medical image diagnosis apparatus

    JP2018192247A

  • Automatic electrocardiogram analysis method and device based on artificial intelligence self-learning

    JP2020536693A

  • Method of detecting abnormalities in ECG signals

    US20190059763A1