Patent Description:
The local activation time (LAT) at any portion of cardiac tissue is the difference between (i) the time at which the tissue becomes electrically activated during any cardiac cycle, and (ii) a reference time during the same cycle. The reference time may be set, for example, to a point in the QRS complex of a body-surface electrocardiogram (ECG) recording.

<CIT> describes a system including an active medical device with means for delivering defibrillation shocks, means for continuous collection of the patient current cardiac activity parameters. and evaluator means with neuronal analysis comprising a neural network with at least two layers. The neural network comprises upstream three neural sub-networks receiving the respective parameters divided into separate sub-groups corresponding to classes of arrhythmogenic factors, and downstream an output neuron coupled to the three sub-networks and capable of outputting an index of risk of ventricular arrhythmia. The risk index is compared with a given threshold, to enable or disable at least one function of the device in case of crossing of the threshold.

<CIT> describes a method including accessing cardiac information acquired via a catheter located at various positions in a venous network of a heart of a patient where the cardiac information comprises position information, electrical information and mechanical information, mapping local electrical activation times to anatomic positions to generate an electrical activation time map, mapping local mechanical activation times to anatomic positions to generate a mechanical activation time map, generating an electromechanical delay map by subtracting local electrical activation times from corresponding local mechanical activation times, and rendering at least the electromechanical delay map to a display.

<NPL> surveys algorithms designed for identifying local activation times and computing conduction direction and speed.

<NPL> describes automated algorithms for identifying conduction velocity from multipolar catheter data with any arrangement of electrodes, whilst providing estimates of wavefront direction and focal source position.

<CIT> describes a system for diagnosing arrhythmias and directing catheter therapies may allow for measuring, classifying, analyzing, and mapping spatial electrophysiological (EP) patterns within a body. The system may further guide arrhythmia therapy and update maps as treatment is delivered. The system may use a medical device having a high density of sensors with a known spatial configuration for collecting EP data and positioning data. Further, the system may also use an electronic control system (ECU) for computing and providing the user with a variety of metrics, derivative metrics, high definition (HD) maps, HD composite maps, and general visual aids for association with a geometrical anatomical model shown on a display device.

The present disclosure will be more fully understood from the following detailed description of examples thereof, taken together with the drawings, in which:.

During an electroanatomical mapping, an intrabody probe, which comprises a plurality of electrodes at its distal end, is moved along a surface of a heart. Based on bioelectrical signals acquired from the surface by the electrodes, various electrical properties of the surface, such as the LATs at various locations on the surface, are estimated. (The process of estimating a LAT based on one or more acquired signals is also referred to hereinbelow as a "measurement" of the LAT.

Examples of the present disclosure provide algorithms for accurately computing propagation velocities at small spatial resolutions, based on the LATs. Examples of the present disclosure further provide techniques for visually indicating the propagation velocities to a physician, so as to facilitate proper diagnosis and treatment.

In particular, for each "sampling location" on the surface at which a velocity is to be computed, a computer processor selects a suitable set of nearby "measurement locations" at which respective LATs were measured. Advantageously, this set excludes any measurement locations separated from the sampling location by electrically-inactive tissue. Subsequently, a respective four-dimensional vector is constructed for each of the measurement locations in the set (and, provided an LAT was measured at the sampling location, the sampling location itself). Each vector includes three position values derived from the position coordinates of the measurement location, along with an LAT value derived from the LAT measured at the measurement location.

Subsequently, the processor performs a Principal Component Analysis (PCA) of a 4x4 covariance matrix for the vectors, and computes the propagation velocity at the sampling location based on the PCA. For example, the processor may compute the direction of propagation by projecting the principal component of the covariance matrix onto the three position dimensions. The processor may then project the measurement locations in the set onto a line passing through the sampling location and oriented in the propagation direction. Next, the processor may compute a regression function approximating the relationship between the projections and the corresponding LATs. Finally, the processor may estimate the magnitude of the velocity (i.e., the speed of propagation) as the slope of this function.

In some examples, the propagation velocities are computed following a full mapping of the cardiac surface in which the probe is moved across the surface so as to measure a large number of LATs at respective measurement locations. In particular, subsequently to the mapping, the processor constructs a model of the surface, in which respective measurement points on the surface of the model correspond to the measurement locations. Next, the processor designates, on the model surface, a plurality of sampling points, which correspond to respective sampling locations on the anatomical surface. The processor then computes a propagation velocity at each sampling location, based on a suitable set of measurement locations.

In such examples, subsequently to computing the propagation velocities, the processor typically displays the model with overlaid markers indicating one or more properties of the propagation velocities. For example, at each sampling point, the processor may place a marker oriented in the direction of the propagation velocity at the sampling point. Sampling points at which the magnitude of the propagation velocity is below a predefined threshold may be marked differently from other sampling points, such that the physician may readily identify areas of slow conduction.

(It is noted that in the description of such examples herein, a reference to a point on the surface of the model may be substituted for a reference to the location on the anatomical surface corresponding to the point, and vice versa. For example, an LAT measured at a particular measurement location may be said to be associated with the measurement point on the model surface corresponding to the measurement location. Similarly, the (x, y, z) position coordinates of a location on the anatomical surface may be referred to as the position coordinates of the point on the model surface corresponding to the location.

Alternatively or additionally, propagation velocities may be computed in real-time, during the mapping procedure. In particular, following each round of LAT measurements (which are typically conducted once per cardiac cycle), the processor may iterate through the measurement locations (i.e., the locations of the electrodes). For each measurement location, the processor may identify a suitable set of neighboring measurement locations. The processor may then construct respective vectors for the measurement locations, perform a PCA of the corresponding covariance matrix, and compute the propagation velocity based on the PCA.

In such examples, typically, the processor repeatedly refreshes a display of an icon of the distal end of the probe, which comprises the electrodes, with overlaid markers indicating one or more properties of the propagation velocities. For example, at each electrode, the processor may place a marker oriented in the direction of the propagation velocity at the electrode. As in the case of the non-real-time display, the properties of the markers may be varied as a function of the propagation speeds.

Another challenge, when performing electroanatomical mapping, is that a measured bipolar voltage may falsely indicate electrically-inactive tissue on the cardiac surface, in the event that the pair of electrodes used to measure the bipolar voltage are oriented with respect to one another perpendicularly to the local propagation direction.

To address this challenge, examples of the present disclosure use the aforementioned real-time computations to choose pairs of electrodes that are most closely aligned with the local propagation directions. Bipolar voltages between the chosen pairs of electrodes are associated with the model of the cardiac surface, while other bipolar voltages are omitted from the model.

Examples of the present disclosure further provide an enhanced LAT computation based on multiple bipolar voltages.

Reference is initially made to <FIG>, which is a schematic illustration of a system <NUM> for electroanatomical mapping, in accordance with some examples of the present disclosure.

In <FIG>, a physician <NUM> is shown moving the distal end of a probe <NUM> along an anatomical surface of a portion of a heart <NUM> of a subject <NUM>, such as an endocardial surface of a chamber of the heart. While the distal end of probe <NUM> is moved along the surface, a processor <NUM> belonging to system <NUM> uses electrodes <NUM> at the distal end of the probe to measure respective local activation times (LATs) at various measurement locations on the surface. In particular, as electrodes <NUM> acquire electrogram signals at the measurement locations, the processor processes these signals so as to compute the LATs. Typically, the electrogram signals include both unipolar signals, i.e., signals between the electrodes and a common reference electrode, and bipolar voltages, i.e., voltages between pairs of adjacent electrodes.

(Typically, for cases in which the mapping is performed during the occurrence of a cyclic arrhythmia, calculating an LAT comprises two steps. First, a standard LAT calculation is performed, as described above in the Background. Subsequently, in the event that the absolute value of the LAT is greater than p*CL, where CL is the length of each cycle in the cyclic arrhythmia and p ≥ <NUM> is specified by the physician, CL is added to or subtracted from the LAT such that the absolute value of the LAT is less than p*CL.

In some examples, the distal end of probe <NUM> comprises a plurality of parallel splines <NUM>, each spline <NUM> comprising a linear arrangement of electrodes. Alternatively, a grid of electrodes may be arranged on a balloon, an expandable printed circuit board (PCB), or any other suitable structure at the distal end of the probe.

Typically, the processor is contained within a console <NUM>, comprising an electrical interface <NUM> such as a port or socket. The probe is connected to console <NUM> via electrical interface <NUM>, such that electrogram signals acquired by the electrodes are received, by the processor, via electrical interface <NUM>. Typically, the signals are carried through the probe, along wires, in analog form, and the console further comprises analog-to-digital (A/D) conversion circuitry configured to convert the signals to digital form for processing by processor <NUM>.

During the mapping procedure, the processor tracks the location of the distal end of the probe. Based on the tracking and on the electrogram signals received from the electrodes, the processor may construct a digital model <NUM> of the portion of the heart, also referred to herein as a "map. " The processor may further store the model in a memory <NUM>, comprising any suitable type of volatile or nonvolatile memory, and/or display model <NUM> on a display <NUM>.

In some examples, to facilitate the aforementioned tracking, the distal end of the probe comprises one or more electromagnetic sensors. In the presence of a generated magnetic field, these sensors output, to the processor (e.g., via electrical interface <NUM>), signals indicating the respective locations of the sensors. Such location-tracking techniques are disclosed, for example, in <CIT>, <CIT>, and <CIT>, in <CIT>, in <CIT>, and in <CIT>.

In other examples, impedance is measured between electrodes <NUM> (and/or other electrodes at the distal end of the probe) and electrode patches coupled to the body of subject <NUM>. Based on the impedance measurements, the processor ascertains the locations of the electrodes. Typically, in such examples, the processor utilizes a location map calibrated, in advance, using electromagnetic sensors, as described, for example, in <CIT> and <CIT>.

In yet other examples, currents are passed between the electrode patches. Based on the voltages measured at electrodes <NUM>, the processor ascertains the locations of the electrodes. Such techniques are described, for example, in <CIT>, <CIT>, and <CIT>.

System <NUM> may further comprise one or more input devices, such as a keyboard, a mouse, or a touch screen belonging to display <NUM>. Physician <NUM> may use the input devices to enter any suitable inputs, such as any of the various thresholds described below.

In general, processor <NUM> may be embodied as a single processor, or as a cooperatively networked or clustered set of processors. The functionality of processor <NUM> may be implemented solely in hardware, e.g., using one or more fixed-function or general-purpose integrated circuits, Application-Specific Integrated Circuits (ASICs), and/or Field-Programmable Gate Arrays (FPGAs). Alternatively, this functionality may be implemented at least partly in software. For example, processor <NUM> may be embodied as a programmed processor comprising, for example, a central processing unit (CPU) and/or a Graphics Processing Unit (GPU). Program code, including software programs, and/or data may be loaded for execution and processing by the CPU and/or GPU. The program code and/or data may be downloaded to the processor in electronic form, over a network, for example. Alternatively or additionally, the program code and/or data may be provided and/or stored on non-transitory tangible media, such as magnetic, optical, or electronic memory. Such program code and/or data, when provided to the processor, produce a machine or special-purpose computer, configured to perform the tasks described herein.

Reference is now made to <FIG>, which is a flow diagram for an algorithm <NUM> for computing and displaying propagation velocities, in accordance with some examples of the present disclosure. Processor <NUM> (<FIG>) may execute algorithm <NUM> either in real-time, while electrogram signals are acquired, or subsequently to the acquisition.

Algorithm <NUM> begins with an LAT-obtaining step <NUM>, at which the processor obtains multiple LATs at different respective measurement locations on an anatomical surface of heart <NUM> (<FIG>). For example, the processor may obtain the LATs by calculating the LATs, as described above with reference to <FIG>, or - when executing the algorithm after the mapping - by reading the LATs from memory <NUM> (<FIG>) or from an external storage device, such as a flash drive.

Subsequently to obtaining the LATs, the processor, at an assessing step <NUM>, assesses whether to attempt to compute a propagation velocity for at least one sampling location. If yes, the processor, at a selecting step <NUM>, selects a sampling location for the velocity calculation, along with a subset of the measurement locations whose LATs may be used for the calculation. (Selecting step <NUM> is further described below with reference to <FIG>. ) Next, at a subset-size-assessing step <NUM>, the processor assesses whether the subset of measurement locations is large enough for the calculation, i.e., whether the subset includes a threshold number of measurement locations.

Provided that the subset of measurement locations is large enough, the processor constructs a set of vectors corresponding to the subset of measurement locations. Each of the vectors includes, for a different respective measurement location in the subset, three position values derived from respective position coordinates of the measurement location, and an LAT value derived from the LAT measured at the measurement location. (Thus, each of the vectors is four-dimensional. ) Alternatively, if the subset is not large enough, the processor returns to assessing step <NUM>.

Typically, to construct the set of vectors, the processor first computes, at a scaling-factor-computing step <NUM>, a scaling factor based on the variance of the LATs across the subset of the measurement locations. Subsequently, for each of the measurement locations in the subset, the processor scales, by the scaling factor, either the position coordinates of the measurement location or the LAT at the measurement location, and constructs the vector corresponding to the measurement location from the scaled parameter. (The same parameter is scaled for each of the measurement locations.

For example, the processor may first scale the LATs by the scaling factor, at a LAT-scaling step <NUM>. Subsequently, the processor, at a vector-constructing step <NUM>, may construct the vectors from the position coordinates and the scaled LATs. For example, for any particular measurement location, the processor may construct the vector [x0 y0 z0 s*L0], where (x0, y0, z0) are the position coordinates of the measurement location, L0 is the LAT at the measurement location, and s is the scaling factor.

For examples in which the LAT is scaled, the scaling factor is typically a ratio between a target LAT variance <MAT> and the actual variance <MAT> of the LATs across the subset of measurement locations, this ratio typically being greater than one. For examples in which the position coordinates are scaled instead, the scaling factor is typically <MAT>, this ratio typically being less than one.

In some examples, the target LAT variance is computed per a predefined (increasing) function of the predefined distance D0 described below with reference to <FIG>. For example, the target LAT variance may equal c*D0<NUM>, where c is a constant between <NUM> and <NUM>, for example. In other examples, the spatial variance of the subset of measurement locations is computed for the three x-, y-, and z- axes, and the target LAT variance is computed as a multiple of the largest spatial variance.

Subsequently to constructing the set of vectors, the processor computes the direction of electrical propagation at the selected sampling location based on a Principal Component Analysis (PCA) of the 4x4 covariance matrix for the set of vectors. For example, the processor may project the first principal component of the covariance matrix (a four-dimensional vector) onto respective dimensions of the position coordinates (thus yielding a three-dimensional vector).

By way of illustration, Table <NUM> below shows a set of eight vectors constructed from experimental data. (In this particular example, the LATs were scaled up by a factor of six.

Table <NUM> below shows the covariance matrix for this set of vectors:.

The first principal component of this matrix is [-<NUM> -<NUM>*<NUM>-<NUM> -<NUM> -<NUM>], and the projection of the first principal component onto the XYZ space is [-<NUM> -<NUM>*<NUM>-<NUM> -<NUM>], which, expressed as a unit direction vector, is [<NUM><NUM>*<NUM>-<NUM> <NUM>].

Following the computation of the propagation direction, the processor computes the propagation speed at the selected sampling location, at a speed-computing step <NUM>. (Speed-computing step <NUM> is described below with reference to <FIG>. ) The processor then returns to assessing step <NUM>.

Further to ascertaining, at assessing step <NUM>, that no further velocities are to be computed, the processor, at a displaying step <NUM>, indicates the velocities on display <NUM> (<FIG>), as further described below with reference to <FIG>and <FIG>.

In alternate examples, the processor computes the directions of electrical propagation without computing the speeds, and indicates the directions on the display without indicating the speeds.

For further details regarding some examples of algorithm <NUM>, reference is now additionally made to <FIG>, which is a schematic illustration of a propagation-velocity computation, in accordance with some examples of the present disclosure.

<FIG> shows a plurality of measurement locations <NUM> on an anatomical surface <NUM>. Subsequently to obtaining the LATs at measurement locations <NUM> by performing LAT-obtaining step <NUM>, the processor executes the subsequent steps of algorithm <NUM> as described above. Thus, for example, in performing selecting step <NUM>, the processor may first select a sampling location <NUM> on anatomical surface <NUM>. (As further described below with reference to <FIG>, sampling location <NUM> does not necessarily coincide with one of measurement locations <NUM>. ) Subsequently, the processor may identify those of measurement locations <NUM> that are within a predefined distance D0 of sampling location <NUM>, and then select the subset of measurement locations from the identified measurement locations, as further described below with reference to <FIG>. For example, per the example in <FIG>, the processor selects, of the measurement locations within distance D0 of sampling location <NUM>, measurement locations 44a, 44b, and 44c, without selecting measurement locations 44d and 44e.

For instances in which algorithm <NUM> is not performed in real-time, as further described below with reference to <FIG>, D0 is typically between <NUM> and <NUM>. For instances in which algorithm <NUM> is performed in real-time, as further described below with reference to <FIG>, D0 is typically between <NUM> and <NUM>, such as between <NUM> and <NUM>. More generally, D0 may be a function of the density of the measurement locations.

(It is noted that, although appearing two-dimensional in <FIG>, anatomical surface <NUM> is three-dimensional. Thus, typically, the processor uses a geodesic distance measure for computing distances along the surface.

In some examples, if the processor subsequently ascertains at subset-size-assessing step <NUM> that the subset is too small, the processor may increase distance D0 one or more times (up to a predefined maximum), repeating the selection each time.

Upon ascertaining that the subset is large enough, the processor computes the propagation direction as described above. Subsequently, the processor computes the propagation speed at speed-computing step <NUM>.

In some examples, to compute the propagation speed, the processor first projects the subset of measurement locations onto a hypothetical line <NUM> passing through sampling location <NUM> and oriented in the direction of electrical propagation at the sampling location. The processor then computes the respective distances along line <NUM> at which the projections lie. Next, the processor defines a group of points <NUM>, each of which includes, for a different respective measurement location in the subset, (i) the distance along the line at which the projection of the measurement location lies, and (ii) the LAT at the measurement location. Subsequently, the processor fits a regression function <NUM> to points <NUM> (or to a subset of points <NUM> near the LAT measured at, or - as described below with reference to <FIG> - interpolated for, sampling location <NUM>), and then computes the speed of electrical propagation as the slope of function <NUM>.

For example, function <NUM> may be a line, and the speed of electrical propagation may be computed as the slope of the line. Alternatively, the function may be a polynomial of order two or higher, a spline function, or any other suitable type of function. In such examples, the speed may be computed as the slope of the function at the LAT measured at or interpolated for sampling location <NUM>. Alternatively, the processor may compute the speed of electrical propagation in any other suitable way. For example, the processor may compute a 2x2 covariance matrix for points <NUM>, and then compute the speed of electrical propagation based on the first principal component of this matrix. Alternatively, the processor may divide the projections into two groups: a first group at one side of sampling location <NUM>, and a second group at the other side of sampling location <NUM>. (Thus, per the example in <FIG>, the first group would include the projections of measurement locations 44a and 44b, while the second group would include the projection of measurement location 44c. ) Subsequently, the processor may compute the respective centers of mass of each group, each center of mass being the average location of the projections in the group. The speed may then be computed as the slope of a line passing between the two centers of mass.

For further details regarding selecting step <NUM>, reference is also made to <FIG>, which is a flow diagram for selecting step <NUM>, in accordance with some examples of the present disclosure.

Selecting step <NUM> begins with a sampling-location-selecting step <NUM>, at which the processor selects a sampling location <NUM>. Subsequently, the processor, at a checking step <NUM>, checks whether any measurement locations within distance D0 of the sampling location have yet to be processed. If yes, the processor, at a measurement-location-identifying step <NUM>, identifies one of these measurement locations for processing. Subsequently, the processor, at a difference-computing step <NUM>, computes the difference between the LAT at the measurement location and the LAT at the sampling location.

Based on the computed LAT difference, the processor, at a speed-estimating step <NUM>, computes a propagation-speed estimate, which estimates the propagation speed between the sampling location and the measurement location. Typically, this estimate is the quotient of the LAT difference and the distance between the sampling location and the measurement location, which the processor computes at checking step <NUM>.

Subsequently, the processor checks, at a checking step <NUM>, whether the propagation-speed estimate exceeds a predefined speed-estimate threshold vT1. If yes, the measurement location is added to the selected subset of measurement locations, at a subset-augmenting step <NUM>. Otherwise, the measurement location is not added to the subset. (In the event that the propagation-speed estimate does not exceed vT1, there is likely a block between the sampling location and the measurement location, such that adding the measurement location to the subset would render inaccurate the subsequent computation of the propagation velocity.

Subsequently to subset-augmenting step <NUM>, or if the propagation-speed estimate does not exceed vT1, the processor returns to checking step <NUM>. Upon ascertaining that all measurement locations within distance D0 were processed, selecting step <NUM> ends.

Reference is now made to <FIG>, which is a schematic illustration of a surface <NUM>' of digital model <NUM>, in accordance with some examples of the present disclosure.

In some examples, the processor constructs model <NUM> from a point cloud corresponding to multiple locations of the distal end of probe <NUM> (<FIG>) on anatomical surface <NUM> (<FIG>), typically by performing a triangular tessellation of the point cloud. Measurement locations <NUM> (<FIG>) correspond to different respective measurement points <NUM>' on surface <NUM>' of model <NUM>. (It is noted that since surface <NUM>' is a "best fit" that does not necessarily pass through every point in the point cloud, some measurement points <NUM>' may be computed by projecting a point from the point cloud onto surface <NUM>'.

In such examples, the computation of propagation velocities may be performed following the construction of the model. In particular, the processor may designate a plurality of sampling points <NUM>' on surface <NUM>', e.g., by uniformly sampling the surface. Subsequently, the processor may iterate through the sampling points when performing algorithm <NUM> (<FIG>). In particular, at assessing step <NUM> of algorithm <NUM>, the processor may assess whether any sampling points have yet to be processed. If yes, the processor may perform an example of selecting step <NUM> referred to hereinbelow as a model-based selecting step <NUM>'. Subsequently, provided the selected subset of measurement locations is large enough, the processor may compute the propagation velocity for the sampling point, as described above with reference to <FIG>.

Reference is now further made to <FIG>, which is a flow diagram for model-based selecting step <NUM>', in accordance with some examples of the present disclosure.

Model-based selecting step <NUM>' begins with a sampling-point-selecting step <NUM>', at which the processor selects a sampling point.

In some examples, following sampling-point-selecting step <NUM>', the processor checks, at a checking step <NUM>, whether any measurement points are within distance D0 of the selected sampling point. If not, model-based selecting step <NUM>' ends. Otherwise, the processor checks, at a checking step <NUM>, whether the selected sampling point is within a predefined distance D1 of any of the measurement points <NUM>'. Typically, D1 is much smaller than D0, e.g., <NUM> or less.

If the sampling point is within D1 of at least one measurement point, the processor considers the sampling point to coincide with the closest measurement point. (In other words, the processor considers the sampling location corresponding to the sampling point to coincide with the closest measurement location for which a LAT was obtained. ) Hence, the processor, at a LAT-assigning step <NUM>, assigns the LAT of the closest measurement point to the sampling point.

Alternatively, if no measurement point is within D1 of the sampling point, the processor, at an interpolating step <NUM>, computes an interpolated LAT for the sampling point by interpolating at least some of the LATs associated with those of the measurement points identified at checking step <NUM>, as further described below with reference to <FIG>, and assigns the interpolated LAT to the sampling point.

Thus, for example, as shown in <FIG>, a first sampling point <NUM>'a may be assigned the LAT of the closest measurement point <NUM>'a, whereas an interpolated LAT may be computed for a second sampling point <NUM>'b, which is not sufficiently close to any measurement points.

Subsequently to assigning an LAT to the sampling point, the processor, at a measurement-point-identifying step <NUM>', identifies an unprocessed measurement point for processing. Subsequently, the processor, at a difference-computing step <NUM>', computes the difference between the LAT associated with the sampling point and the LAT associated with the measurement point. Based on the computed LAT difference, the processor, at a speed-estimating step <NUM>', estimates the propagation speed between the measurement point and the sampling point. Subsequently, the processor checks, at a checking step <NUM>, whether the propagation-speed estimate exceeds the predefined speed-estimate threshold vT1. If yes, the measurement point is added to the selected subset of measurement points, at a subset-augmenting step <NUM>'. Otherwise, the measurement point is not added to the subset.

Subsequently to subset-augmenting step <NUM>', or if the propagation-speed estimate does not exceed vT1, the processor checks, at a checking step <NUM>', whether any more unprocessed measurement point are within distance D0. Upon ascertaining that all measurement points within distance D0 were processed, selecting step <NUM>' ends.

In some examples, to compute an interpolated LAT at interpolating step <NUM>, the processor first clusters those of the measurement points within distance D0 of the sampling point into one or more clusters such that, for each of the clusters, for each pair of measurement points in the cluster, a propagation-speed estimate, which estimates a propagation speed between the pair of measurement points, exceeds a predefined speed-estimate threshold vT2, which may be different from vT1. The processor then identifies one of the clusters, based on respective distances between the sampling point and the clusters. The processor then computes the interpolated LAT for the sampling point as a weighted average of those of the LATs associated, respectively, with at least some of the measurement points in the identified cluster.

In this regard, reference is now made to <FIG>, which is a flow diagram for interpolating step <NUM>, in accordance with some examples of the present disclosure.

Interpolating step <NUM> begins with a clustering step <NUM>, at which the processor clusters those of the measurement points within distance D0 of the sampling point, as described above. An example of clustering step <NUM> is described below with reference to <FIG>.

Following clustering step <NUM>, each cluster is selected at a first cluster-selecting step <NUM>. For each selected cluster, the processor, at a distance-computing step <NUM>, computes the distance from the sampling point to the cluster. In general, any suitable definition of this distance may be used. For example, the processor may compute the distance as the average distance between the sampling point and the N measurement points in the cluster that are closest to the sampling point, N being two, three, or four, for example.

Subsequently, the processor checks, at a checking step <NUM>, whether any more clusters have yet to be selected. If yes, the processor returns to cluster-selecting step <NUM>. Otherwise, at a cluster-identifying step <NUM>, the processor identifies the cluster having the smallest distance from the sampling point. Subsequently to identifying the cluster, the processor, at a weighted-averaging step <NUM>, computes the interpolated LAT as a weighted average of the LATs associated with at least some of the measurement points in the identified cluster, such as the N measurement points closest to the sampling point. Typically, the weight wi for the LAT of each ith measurement point is equal to <MAT>, where di is the distance of the ith measurement point from the sampling point.

By virtue of performing the interpolation as described above, the processor generally refrains from basing the interpolated LAT on a measurement point that is separated from the sampling point by electrically-inactive tissue.

Reference is now made to <FIG>, which is a flow diagram for clustering step <NUM>, in accordance with some examples of the present disclosure.

To perform clustering step <NUM>, the processor, at a first measurement-point-selecting step <NUM>, iteratively selects each measurement point within distance D0 of the sampling point. For each selected measurement point, referred to in <FIG> as "MP1," the processor checks, at a checking step <NUM>, whether any clusters exist and have not yet been selected. If not, the processor, at a cluster-initializing step <NUM>, initializes a cluster with MP1. Otherwise, the processor, at a second cluster-selecting step <NUM>, selects the next cluster that has not been selected yet.

Subsequently to selecting a cluster, the processor, at a second measurement-point-selecting step <NUM>, selects one of the measurement points, referred to in <FIG> as "MP2," in the cluster. Next, at another speed-estimating step <NUM>, the processor computes a propagation-speed estimate, which estimates the propagation speed between MP1 and MP2. The processor then checks, at a checking step <NUM>, whether the propagation-speed estimate exceeds the threshold vT2. If not, the processor returns to checking step <NUM>. Otherwise, the processor checks, at a checking step <NUM>, whether any measurement points in the cluster have not been selected yet. If there is at least one measurement point that has not yet been selected, the processor returns to second measurement-point-selecting step <NUM> and selects the next measurement point MP2. Otherwise, the processor adds MP1 to the cluster at a cluster-growing step <NUM>.

Following cluster-growing step <NUM> or cluster-initializing step <NUM>, the processor checks, at a checking step <NUM>, whether any measurement points within distance D0 of the sampling point have not yet been selected. If yes, the processor returns to first measurement-point-selecting step <NUM> and selects the next measurement point MP1. Otherwise, clustering step <NUM> ends.

Reference is now made to <FIG>, which is a schematic illustration of a displayed model, in accordance with some examples of the present disclosure.

Subsequently to computing the propagation velocities, the processor displays model <NUM> (in particular, model surface <NUM>') with respective markers <NUM> overlaying the model at sampling points <NUM>' and oriented in the directions of electrical propagation, respectively. (For better visibility, each marker <NUM> may be slightly offset from its sampling point, e.g., in a direction parallel to model surface <NUM>'. ) Each marker <NUM> may have any suitable shape, such as the arrowhead shape shown in <FIG> or a full arrow shape. Optionally, additional markers, such as the circles shown in <FIG>, may mark the positions of the sampling points on model surface <NUM>'.

In addition to orienting markers <NUM> so as to indicate the directions of electrical propagation, the processor may vary at least one other property - such as the color, shape, length, or thickness - of the markers in accordance with the speeds of electrical propagation. For example, the property may be set to a first value for each speed that does not exceed a predefined speed threshold vT3 (or, as described immediately below, does not exceed vT3 with a threshold measure of confidence), and to a second value otherwise. As a specific example, a thicker marker 116a may be placed at each sampling point for which the speed does not exceed vT3, while thinner markers 116b may be placed at the other sampling points. Thicker markers 116a thus indicate areas of slow conduction on the anatomical surface, which may be of interest to the physician.

In some examples, a measure of confidence is calculated for each speed that does not exceed the speed threshold vT3. If the measure of confidence exceeds a predefined confidence threshold, the marker property is set to the first value; otherwise, the property is set to the second value. The measure of confidence may be defined, for example, as the ratio of (i) the number of neighboring sampling points at which the speed does not exceed the speed threshold, to (ii) the total number of neighboring sampling points. A neighboring sampling point S2 of a sampling point S1 may be defined, for example, as any sampling point that is within a predefined distance of S1, provided that the propagation-speed estimate between S1 and S2 exceeds vT1.

In some examples, the model is displayed so as to further indicate other properties of the anatomical surface. For example, model surface <NUM>' may be colored so as to indicate the LATs on the anatomical surface.

In some examples, prior to visually indicating the directions of electrical propagation, the processor smooths the directions of electrical propagation. For example, the processor may perform a Laplacian smoothing, whereby, during each ith iteration of the smoothing, the unit propagation-direction vector V[i] at each sampling point is computed as α*V[i-<NUM>] + (<NUM>-α)*VA[i], where VA is the average unit propagation-direction vector for the neighbors of the sampling point. (As described above, a neighbor may be any other sampling point that is within a predefined distance of the sampling point, provided that the propagation-speed estimate between the two points exceeds vT1. ) <FIG> illustrates an example result of such a smoothing operation, by showing one of the markers reoriented in approximately the same direction as that of its neighbors.

Reference is now made to <FIG>, which is another schematic illustration of a displayed model, in accordance with some examples of the present disclosure.

In some examples, alternatively or additionally to smoothing the directions of electrical propagation, the processor, prior to displaying the model with the overlaid markers, condenses the sampling points such that the sampling points approximately follow one or more average propagation pathways <NUM>. The processor thus facilitates interpretation of the displayed model by the physician.

Typically, the condensing is performed by executing an iterative algorithm. During each iteration of the algorithm, the processor recomputes the directions of electrical propagation, and then shifts the sampling points toward each other in response to the directions of electrical propagation.

In this regard, reference is now made to <FIG>, which is a flow diagram for one such iterative condensing algorithm <NUM>, in accordance with some examples of the present disclosure.

At the start of each iteration of algorithm <NUM>, the processor recomputes the propagation directions at a recomputing step <NUM>. Typically, in this step, the computation of the propagation velocities is performed as described above with reference to <FIG>, with the neighbors of the sampling point substituting for the subset of measurement points. For example, for each sampling point, the processor may (i) construct respective vectors for the sampling point and its neighbors, (ii) perform a PCA of the corresponding 4x4 covariance matrix, and (iii) compute the propagation direction based on the PCA, e.g., by projecting the first principal component of the covariance matrix onto the respective dimensions of the position coordinates.

Subsequently, the processor checks, at a checking step <NUM>, whether any sampling points have yet to be selected. If yes, the processor selects the next sampling point at a sampling-point-selecting step <NUM>. Next, the processor, at an average-position-computing step <NUM>, computes the average position of the points in the neighborhood of the sampling point. These points include the selected sampling point along with the neighbors of the selected sampling point. As described above with reference to <FIG>, a neighbor may be defined as any sampling point that is within a predefined distance of the selected sampling point, provided that the propagation-speed estimate between the two sampling points exceeds the speed-estimate threshold vT1·.

Following average-position-computing step <NUM>, the processor, at a projection-computing step <NUM>, computes the projection of the sampling point onto a line oriented in the direction of propagation at the sampling point and passing through the average position. The processor then moves the sampling point toward the projection, at a point-moving step <NUM>. For example, during each ith iteration of the algorithm, the processor may compute the new position P[i] of the sampling point as α*P[i-<NUM>] + (<NUM>-α)*Pp[i], where PP is the projection of the sampling point. Subsequently to moving the sampling point, the processor returns to checking step <NUM>.

Upon ascertaining, at checking step <NUM>, that all the sampling points have been selected during the present iteration, the processor assesses, at an assessing step <NUM>, whether to perform another iteration. If yes, the processor performs the next iteration of the algorithm; otherwise, the execution of the algorithm ends.

In general, assessing step <NUM> may be based on any suitable criteria. For example, the processor may terminate execution of the algorithm if, during the present iteration, none of the sampling points moved by more than a predefined threshold distance, or if a predefined maximum number of iterations have been performed.

Reference is now made to <FIG>, which is a schematic illustration of probe <NUM> and anatomical surface <NUM>, in accordance with some examples of the present disclosure.

As described above with reference to <FIG>, the LATs at measurement locations <NUM> are calculated by the processor based on signals acquired by electrodes <NUM>, which belong to probe <NUM>. In some examples, the processor further computes the respective propagation velocities (or at least the propagation directions) at at least some of measurement locations <NUM> in real-time, i.e., while the electrodes are at the measurement locations. (In other words, in real-time, the processor treats at least some of measurement locations <NUM> as sampling locations <NUM>, and hence computes the propagation velocities at these measurement locations, without using a digital model of the anatomical surface. ) For example, the propagation velocities may be computed once per cardiac cycle. This real-time computation may be performed as described above with reference to <FIG>, alternatively or additionally to the model-based computation described above.

Reference is now made to <FIG>, which is a schematic illustration of a real-time visual indication of propagation velocities, in accordance with some examples of the present disclosure.

Subsequently to each real-time computation of propagation velocities, the processor indicates the velocities. Typically, to indicate the directions of electrical propagation, the processor displays an icon <NUM>' of the probe and places, at portions <NUM>' of the icon corresponding to those of the electrodes located at the sampling locations for which the directions were computed, respective markers <NUM> oriented in the directions of electrical propagation. (For simplicity, markers <NUM> are shown in <FIG> only for a small number of electrodes. ) In some examples, prior to indicating the directions of electrical propagation, the processor smooths the directions, as described above with reference to <FIG>.

Typically, the processor varies at least one property (e.g., a color, shape, length, or thickness) of the markers in accordance with the speeds of electrical propagation. For example, the markers may have (i) a first shape and a first thickness for those of the speeds that belong to a first range (e.g., for those of the speeds greater than vT3), (ii) the first shape and a second thickness for those of the speeds that belong to a second range that is lower than the first range (e.g., for those of the speeds less than vT3 but greater than a lower threshold vT4), and (iii) a second shape for those of the speeds that belong to a third range that is lower than the second range (e.g., for those of the speeds less than vT4). <FIG> shows such an example, whereby (i) a first marker 117a includes a longer, thinner arrow, indicating a normal propagation speed, (ii) a second marker 117b includes a shorter, thicker arrow, indicating a slower propagation speed, and (iii) a third marker 117c includes a circle, indicating electrically-inactive tissue. (Typically, to avoid false markings, electrically-inactive tissue is marked only if it is known that the relevant electrode is contacting the tissue.

Optionally, another property of the markers may be varied in accordance with the LATs. For example, the markers may be colored in accordance with a color scale based on the LATs.

As shown in <FIG>, the icon of the probe may be overlaid over an image <NUM>" of the anatomical surface that is being mapped. Alternatively, the icon may be overlaid over the surface of a model. In some examples, the display of the icon and markers is refreshed multiple times per cardiac cycle, so as to account for movement of the probe during the cardiac cycle.

Reference is now made to <FIG>, which is a schematic illustration of a method for selecting pairs of electrodes for bipolar voltage measurements, in accordance with some examples of the present disclosure.

In some examples, subsequently to computing the respective directions of electrical propagation at the locations of electrodes <NUM>, the processor selects pairs <NUM> of adjacent ones of the electrodes such that, for each pair <NUM>, a vector <NUM> joining the pair to one another is aligned, to within a predefined threshold degree of alignment, with the direction of electrical propagation at the location of one of the electrodes belonging to the pair. (Thus, the pair selection is based on the propagation direction, rather than the propagation speed. ) Subsequently to selecting the pairs of electrodes, the processor associates respective bipolar voltages measured by the pairs of electrodes with model <NUM> (<FIG>). Thus, advantageously, less-relevant bipolar voltages are omitted from the model.

For a rectangular grid of electrodes as shown in <FIG>, in which the distance between adjacent (or "neighboring") electrodes in the same row is the same as the distance between adjacent rows, the threshold degree of alignment is generally <NUM>°. For each of the electrodes (excluding, typically, one of the corner electrodes), the processor decides whether to pair the electrode with an adjacent electrode in the same row, to pair the electrode with an adjacent electrode in an adjacent row, or not to pair the electrode at all. In particular, for each of the potentially pairable adjacent electrodes, the processor calculates the angle θ between vector <NUM>, which points from the electrode to the adjacent electrode (or vice versa), and another vector <NUM> oriented in the propagation direction. If θ (or |<NUM>° - θ|) is less than the threshold angle, the adjacent electrode is paired with the electrode.

(Typically, only a single adjacent electrode in the same row is potentially pairable, this electrode always being to the left of, or always being to the right of, the electrode for which a pair is sought. Similarly, typically, only a single adjacent electrode in an adjacent row is potentially pairable, the adjacent row always being above, or always being below, the electrode for which a pair is sought. Thus, no pair of electrodes is selected more than once.

Thus, in the example shown in <FIG>, a first electrode 28a is paired with the adjacent electrode lying below electrode 28a in the same column, while a second electrode 28b is paired with the adjacent electrode in the column to the right of second electrode 28b.

Reference is now further made to <FIG>, which shows the method of <FIG> for hexagonal arrangements of electrodes, in accordance with some examples of the present disclosure.

In some examples, as described in <CIT> electrodes <NUM> are arranged in a hexagonal grid, such that each electrode is spaced equidistantly from up to six neighboring electrodes. For example, the rows of electrodes on splines <NUM> (<FIG>) may be staggered with respect to each other. In such examples, the threshold degree of alignment is generally <NUM>°, and the processor considers up to three adjacent electrodes for pairing.

For further details, reference is now made to <FIG>, which is a flow diagram for an algorithm <NUM> for selecting pairs of electrodes for bipolar voltage measurements, in accordance with some examples of the present disclosure.

Typically, algorithm <NUM> is executed at least once, e.g., exactly once, per cardiac cycle. Per algorithm <NUM>, each of the electrodes (excluding, typically, one of the corner electrodes, which does not have any potentially pairable neighbors) is selected at an electrode-selecting step <NUM>. Following the selection of the electrode, a potentially pairable neighboring electrode (e.g., the right neighbor or lower neighbor of the selected electrode) is selected at a neighbor-selecting step <NUM>. Next, the processor, at an angle-computing step <NUM>, computes the angle θ (<FIG>) for the pair of electrodes (i.e., the selected electrode and its selected neighbor).

Subsequently to computing θ, the processor ascertains, at an angle-comparing step <NUM>, whether θ (or |<NUM>° - θ|) is less than the threshold angle (e.g., <NUM>° or <NUM>°). If yes, the pair of electrodes are selected for bipolar voltage measurement (i.e., the bipolar voltage between the pair is selected for association with model <NUM> (<FIG>)) at a pair-selecting step <NUM>. Otherwise, the processor checks, at a checking step <NUM>, whether any potentially pairable neighbors have not yet been selected. If yes, the processor returns to neighbor-selecting step <NUM> and selects the next potentially pairable neighbor.

Subsequently to performing pair-selecting step <NUM> or ascertaining that no potentially pairable neighbors remain to be selected, the processor checks, at a checking step <NUM>, whether any electrodes remain to be selected. If yes, the processor returns to electrode-selecting step <NUM> and selects the next electrode. Otherwise, the processor, at a model-augmenting step <NUM>, associates the bipolar voltages measured by the selected pairs of electrodes with model <NUM> (<FIG>). For example, the processor may color surface <NUM>' of the model in accordance with a color scale that ranges over the bipolar voltages. Alternatively or additionally, in response to movement of a mouse pointer over a point on surface <NUM>', or to a clicking of the mouse on the point, the processor may display an indication of the electrode pair from which the bipolar voltage at the point was acquired, and/or the bipolar voltage signal itself.

Reference is now made to <FIG>, which is a flow diagram for an algorithm <NUM> for computing the respective LATs at the locations of the electrodes, in accordance with some examples of the present disclosure. Algorithm <NUM> may be executed by the processor at any time during the electroanatomical mapping procedure.

By way of introduction, it is noted that algorithm <NUM> utilizes a function configured to return a candidate set of LATs for any location, based on a unipolar voltage signal and a bipolar voltage signal acquired from the location. Such functions are described, for example, in <CIT>.

Each iteration of algorithm <NUM> begins with electrode-selecting step <NUM>, at which the processor selects an electrode E1 belonging to the probe. Following the selection of E1, the processor selects an electrode E2 that neighbors (i.e., is adjacent to) E1, at a neighbor-selecting step <NUM>. The processor then inputs two signals to the aforementioned function at a signal-inputting step <NUM>: a unipolar voltage signal, which represents the unipolar voltage between E1 and a reference electrode, and a bipolar voltage signal, which represents the bipolar voltage between E1 and E2. Subsequently, at an output-receiving step <NUM>, the processor receives, as output from the function, a candidate set of LATs computed by the function based on the input. For example, the output may include the unipolar voltage signal with annotations marking the candidate LATs.

Subsequently, the processor checks, at a checking step <NUM>, whether E1 has any more neighboring electrodes. If yes, the processor returns to neighbor-selecting step <NUM> and selects the next neighbor of E1. Otherwise, the processor, at a LAT-choosing step <NUM>, chooses a LAT from all the candidate sets that were received. For example, the processor may choose the candidate LAT at which the derivative of the unipolar signal is greatest, relative to the other candidate LATs.

Thus, for example, given a rectangular grid of electrodes in which each electrode has up to four equidistant neighbors, the processor may choose the LAT from up to four candidate sets. Given a hexagonal arrangement in which each electrode has up to six equidistant neighbors, the processor may choose the LAT from up to six candidate sets.

The processor may be configured to select the subset by:
for each measurement location within the predefined distance of the sampling location:.

The processor may be further configured to compute an interpolated LAT for the sampling location, and wherein the processor is configured to compute the propagation-speed estimate based on the interpolated LAT.

The predefined speed-estimate threshold is a first predefined speed-estimate threshold and the propagation-speed estimate is a first propagation-speed estimate.

The processor may additionally be configured to compute the interpolated LAT by:.

The processor may be configured to obtain the LATs by calculating the LATs based on signals acquired by respective electrodes belonging to an intrabody probe.

Additionally, the sampling locations include at least some of the measurement locations.

The processor may additionally be configured to indicate the directions of electrical propagation while the electrodes are at the measurement locations, respectively.

The processor may additionally be configured to indicate the directions of electrical propagation by:.

The processor may be further configured to:.

Claim 1:
A system (<NUM>), comprising:
a display (<NUM>); and
a processor (<NUM>), configured to:
obtain multiple local activation times (LATs) at different respective measurement locations (<NUM>) on an anatomical surface (<NUM>) of a heart (<NUM>),
compute respective directions of electrical propagation at one or more sampling locations (<NUM>) on the anatomical surface, by, for each sampling location of the sampling locations:
selecting a respective subset of the measurement locations for the sampling location,
constructing a set of vectors, each of at least some of the vectors including, for a different respective measurement location in the subset, three position values derived from respective position coordinates of the measurement location and an LAT value derived from the LAT at the measurement location, and
computing the direction of electrical propagation at the sampling location based on a Principal Component Analysis (PCA) of a 4x4 covariance matrix for the set of vectors, and
indicate the directions of electrical propagation on the display.