The present application provides systems, apparatuses, and methods for compensating for respiration in mapping.
Surgical procedures involving cavities or chambers, such as the heart, require accurate information regarding a position of the probe or catheter in the cavity. In one aspect, mapping of a heart chamber is critical in order to identify issues regarding cardiac arrhythmia (e.g., atrial fibrillation (AF)), which can be treated via intra-body procedures.
Respiration is divided into breathing in (inhalation or inspiration) and breathing out (exhalation or expiration). Due to human physiology, the diaphragm moves up and down during this process and displaces the heart in a cyclical manner. During the expiration phase, there is a moment called the end-expirium phase in which this displacement from the diaphragm is minimal for a period of time.
A system and method are disclosed. The system and method include obtaining respiration data of a patient via at least one sensor, obtaining probe location data for a probe positioned within a cavity, generating probe-cavity location data by compensating the respiration data from the probe location data, identifying periods when the probe is stable relative to a cavity boundary based on the probe-cavity location data, and capturing data based on generated probe-cavity location during identified periods to produce mapping.
A more detailed understanding can be had from the following description, given by way of example in conjunction with the accompanying drawings wherein:
As disclosed herein, systems, apparatuses and methods are provided that determine or estimate motion of a probe while inside of a chamber by accounting for respiration motion. The term probe is used interchangeably with the term catheter herein, and one skilled in the art would understand that any type of location sensing device could be implemented with the configurations disclosed herein.
A system and method are disclosed. The system and method include obtaining respiration data of a patient via at least one sensor, obtaining probe location data for a probe positioned within a cavity, generating probe-cavity location data by compensating the respiration data from the probe location data, identifying periods when the probe is stable relative to a cavity boundary based on the probe-cavity location data, and capturing data based on generated probe-cavity location during identified periods to produce mapping.
The method includes obtaining respiration data of a patient via at least one sensor, obtaining probe location data for a probe positioned within a cavity, generating compensated location data by compensating the obtained probe location data with the obtained respiration data, and producing a mapping based on the generated compensated location data. The method may include applying a filter to the respiration data. The obtaining respiration data may include obtaining respiration indicators (abbreviated herein as “RI”) via the at least one sensor. The obtaining respiration data may include converting the respiration indicators by using singular value decomposition (SVD) to obtain a first Eigenvector and a first Eigenvector derivative, the first Eigenvector corresponding to a primary respiration signal and the first Eigenvector derivative corresponding to a phase shifted respiration signal. The primary respiration signal and the phase shifted respiration signal are transferred from two dimensions into a three-dimensional ellipsoid based on a correlation matrix. The correlation matrix is determined based on weighted factors including at least one of: age of the respiration data; speed of the probe; and depth of respiration. The method may include generating an image including estimated respiratory motion based on the respiration data, probe motion based on the probe location data, and probe-cavity motion based on the probe-cavity location data. The method may include notifying a surgeon of the periods when the probe is stable relative to the cavity boundary. The notifying a surgeon includes notifying the surgeon of the periods when the probe is stable relative to the cavity boundary via visual indicators displayed on a monitor. The method may include identifying site stability sites based on the periods when probe speed is less than 2 mm/second for at least three seconds.
The system may include a probe configured to be inserted into an intra-body cavity of a patient, at least one sensor configured to obtain respiration data, the probe and the at least one sensor being configured to obtain probe location data, and a processor configured to generate compensated location data by compensating the obtained probe location data with the obtained respiration data, and produce a mapping based on the generated compensated location data. The processor may be configured to apply a filter to the respiration data and the probe location data. The processor may be configured to generate respiration indicators based on the respiration data from the at least one sensor. The processor may be configured to convert the respiration indicators by using singular value decomposition (SVD) to obtain a first Eigenvector and a first Eigenvector derivative, the first Eigenvector corresponding to a primary respiration signal and the first Eigenvector derivative corresponding to a phase shifted respiration signal. The primary respiration signal and the phase shifted respiration signal are transferred from two dimensions into a three-dimensional ellipsoid based on a correlation matrix. The correlation matrix is determined based on weighted factors including at least one of: age of the respiration data; speed of the probe; and depth of respiration. The processor may be configured to generate an image including estimated respiratory motion based on the respiration data, probe motion based on the probe location data, and probe-cavity motion based on the probe-cavity location data. The processor may be configured to notify a surgeon of the periods when the probe is stable relative to the cavity boundary. The notifying the surgeon of the periods when the probe is stable relative to the cavity boundary includes displaying visual indicators on a monitor. The processor may be configured to identify site stability sites based on the periods when probe speed is less than 2 mm/second for at least three seconds.
Reference is made to
The system 10 includes multiple catheters 14, which are percutaneously inserted by the physician 24 through the patient's vascular system into a chamber or vascular structure of the heart 12. Typically, a delivery sheath catheter is inserted into the left or right atrium near a desired location in the heart 12. Thereafter, a plurality of catheters can be inserted into the delivery sheath catheter to arrive at the desired location. The plurality of catheters 14 may include catheters dedicated for sensing Intracardiac Electrogram (IEGM) signals, catheters dedicated for ablating, and/or catheters dedicated for both sensing and ablating. The example catheter 14 that is configured for sensing IEGM is illustrated herein. The physician 24 brings the distal tip 28 of the catheter 14 into contact with a heart wall for sensing a target site in the heart 12. For ablation, the physician 24 would similarly bring a distal end of an ablation catheter to a target site for ablating.
The catheter 14 is an exemplary catheter that includes at least one and preferably multiple electrodes 26 optionally distributed over a plurality of splines 22 at the distal tip 28 and configured to sense the IEGM signals. The catheter 14 may additionally include the sensor 29 embedded in or near the distal tip 28 for tracking position and orientation of the distal tip 28. Optionally and preferably, the position sensor 29 is a magnetic based position sensor including three magnetic coils for sensing three-dimensional (3D) position and orientation.
The sensor 29 (e.g., a position or a magnetic based position sensor) may be operated together with the location pad 25 including a plurality of magnetic coils 32 configured to generate magnetic fields in a predefined working volume. Real time position of the distal tip 28 of the catheter 14 may be tracked based on magnetic fields generated with the location pad 25 and sensed by the sensor 29. Details of the magnetic based position sensing technology are described in U.S. Pat. Nos. 5,5391,199; 5,443,489; 5,558,091; 6,172,499; 6,239,724; 6,332,089; 6,484,118; 6,618,612; 6,690,963; 6,788,967; 6,892,091.
The system 10 includes one or more electrode patches 38 positioned for skin contact on the patient 23 to establish location reference for the location pad 25 as well as impedance-based tracking of the electrodes 26. For impedance-based tracking, electrical current is directed toward the electrodes 26 and sensed at the patches 38 (e.g., electrode skin patches) so that the location of each electrode can be triangulated via the patches 38. Details of the impedance-based location tracking technology are described in U.S. Pat. Nos. 7,536,218; 7,756,576; 7,848,787; 7,869,865; and 8,456,182, which are incorporated herein by reference.
The recorder 11 displays the electrograms 21 captured with the electrodes 18 (e.g., body surface electrocardiogram (ECG) electrodes) and intracardiac electrograms (IEGM) captured with the electrodes 26 of the catheter 14. The recorder 11 may include pacing capability for pacing the heart rhythm and/or may be electrically connected to a standalone pacer.
The system 10 may include the ablation energy generator 50 that is adapted to conduct ablative energy to the one or more of electrodes 26 at the distal tip 28 of the catheter 14 configured for ablating. Energy produced by the ablation energy generator 50 may include, but is not limited to, radiofrequency (RF) energy or pulsed-field ablation (PFA) energy, including monopolar or bipolar high-voltage DC pulses as may be used to effect irreversible electroporation (IRE), or combinations thereof.
The PIU 30 is an interface configured to establish electrical communication between catheters, electrophysiological equipment, power supply and the workstation 55 for controlling operation of the system 10. Electrophysiological equipment of the system 10 may include for example, multiple catheters 14, the location pad 25, the body surface ECG electrodes 18, the electrode patches 38, the ablation energy generator 50, and the recorder 11. Optionally and preferably, the PIU 30 additionally includes processing capability for implementing real-time computations of location of the catheters and for performing ECG calculations.
The workstation 55 includes memory, processor unit with memory or storage with appropriate operating software loaded therein, and user interface capability. The workstation 55 may provide multiple functions, optionally including (1) modeling the endocardial anatomy in three-dimensions (3D) and rendering the model or anatomical map 20 for display on the display device 27, (2) displaying on the display device 27 activation sequences (or other data) compiled from recorded electrograms 21 in representative visual indicia or imagery superimposed on the rendered anatomical map 20, (3) displaying real-time location and orientation of multiple catheters within the heart chamber, and (5) displaying on the display device 27 sites of interest such as places where ablation energy has been applied. One commercial product embodying elements of the system 10 is available as the CARTO™ 3 System, available from Biosense Webster, Inc., 31A Technology Drive, Irvine, CA 92618.
For instance, the system 10 can be part of a surgical system (e.g., CARTO® system sold by Biosense Webster) that is configured to obtain biometric data (e.g., anatomical and electrical measurements of a patient's organ, such as the heart 12 and as described herein) and perform a cardiac ablation procedure. More particularly, treatments for cardiac conditions such as cardiac arrhythmia often require obtaining a detailed mapping of cardiac tissue, chambers, veins, arteries and/or electrical pathways. For example, a prerequisite for performing a catheter ablation (as described herein) successfully is that the cause of the cardiac arrhythmia is accurately located in a chamber of the heart 12. Such locating may be done via an electrophysiological investigation during which electrical potentials are detected spatially resolved with a mapping catheter (e.g., the catheter 14) introduced into the chamber of the heart 12. This electrophysiological investigation, the so-called electro-anatomical mapping, thus provides 3D mapping data which can be displayed on the display device 27. In many cases, the mapping function and a treatment function (e.g., ablation) are provided by a single catheter or group of catheters such that the mapping catheter also operates as a treatment (e.g., ablation) catheter at the same time.
In another aspect, at least one single-axis magnetic sensor mounted on the catheter tip is configured to work in conjunction with at least one external magnetic sensor in a patient pad (i.e., under the patient). In one embodiment, there are three magnetic sensors mounted on the catheter that are oriented in three different directions (i.e., spaced 120 degrees apart) and that are configured to work in conjunction with three external magnetic sensors. Details of such technique are provided in the following documents: U.S. Pat. Nos. 5,391,199, 5,443,489, 5,558,091, 6,172,499, 6,177,792, 6,690,963, 6,788,967, and 6,892,091, which are each incorporated by reference as if fully set forth herein.
In another aspect, an impedance sensor on the catheter is provided that is configured to be used without any external sensors. Details of such technique are provided in the following documents: U.S. Pat. Nos. 5,944,022, 5,983,126, and 6,456,864, which are each incorporated by reference as if fully set forth herein. As used herein, the term sensor refers to any of the sensor arrangements described herein, whether the sensor is integrated with the catheter, or includes a combination of a sensor integrated with the catheter and additional sensors, such as external sensors.
Regardless of the sensor arrangement, these sensors assist with modeling a patient's respiratory cycle, and identifying when a patient's lungs are breathing in or out. In one embodiment, when the lungs inflate or fill with air, then the impedance increases. The sensors can also generate a magnetic field, and this magnetic field can be used to detect the absolute position of the catheter 14. One skilled in the art would understand from the present disclosure that various methods and sensors can be used to determine a patient's respiratory cycle or the catheter's position. The respiration motion gathered from the sensors can be used to generate an ellipsoid (i.e., element 120 in
The term respiratory motion 120 refers to motion that is based on respiration data, which can be gathered or collected in various ways. For example, in one embodiment, probes, sensors, or patches (such as sensors 18 in
The catheter motion 130, which is also known as probe or sensor motion or original catheter motion, illustrated in
The reconstructed motion 140 of
The in-heart motion 150 is also referred to as the catheter-heart motion or probe-cavity motion. In one aspect, the in-heart motion 150 is measured in millimeters, but can be measured used any metrics. This motion data can generically refer to any type of motion data for a probe, catheter, or sensor relative to any wall or chamber of a chamber. This data can ultimately be used to determine site stability, specifically relating to ablation in a patient's heart. The in-heart motion 150 is typically important for a surgeon due to this information indicating when the catheter is stable relative to the heart chamber wall. With the in-heart motion 150, it is possible to find a stability point, also known as a stability location or site. This information is important for determining various parameters regarding an ablation lesion, such as location, size, etc. During breathing, it is generally assumed that the catheter and the heart are moving up and down based on the diaphragm contracting. If the catheter is not stable relative to the heart wall or boundary (i.e., the catheter is not in contact with the heart wall or boundary) during ablation, then the ablation will likely not be successful or ablate the desired targeted location. In one aspect, the present disclosure is directed to providing more reliable and accurate mapping of in-heart motion 150 (i.e., catheter-heart motion or probe-cavity motion) based at least in part on respiration motion and other features, which addresses issues associated with any sudden movements occurring between end expiriums. In other words, by providing more accurate information regarding the relative position of the catheter and the cavity boundary, any movement that occurs between end expiriums can be accounted for by a surgeon and used to facilitate decisions regarding ablating procedures.
In one aspect, the systems, methods, and processes are based on the following three features: (1) signal processing, (2) respiration compensation, and (3) station finding or site stability location. One skilled in the art would understand that any one or more of these features can be used independent from the other features. For example, features (1) and (2) can be implemented without feature (3). In another aspect, feature (3) is specifically implemented in order to procedures involving the heart, and specifically involving ablation of specific areas of the heart. Any of the features described herein can used or adapted for determining aspects of chambers, and are not specifically limited to only being implemented with respect to heart chambers (i.e., navigation in the lungs).
In one aspect, signal processing includes converting respiration indicators (RI) into a main respiration signal and its derivative, i.e., respiration vectors (RV). The respiration data is gathered based on the sensors in one embodiment, which can either include a catheter integrated with a sensor, external sensors, or any combination thereof. In one aspect, before converting RI to RV, ablation effects are accounted for with ablation offset corrections, and low-pass filtering can be used to reduce heartbeat movement. In one aspect, the disclosed subject matter is based on decomposing catheter motion into two components: respiration motion and catheter-heart motion. Respiration motion is generally assumed to be correlated to RV via a correlation matrix A.
The catheter-heart motion is assumed to be a smoothed motion and can be modeled via a spline curve. Based on the foregoing, Equation 1 is provided:
Here, the correlation matrix A and the spline parameters are incrementally and simultaneously tuned in order to minimize root mean square (RMS) deviation between the measured motion after lower pass and the reconstructed motion in order to minimize the error.
In one aspect, the correlation matrix A is regressed in step n to match the respiration motion of step n−1, which is the total motion minus in-heart motion in step n−1. In other words, A is regressed in a current state to match the respiration motion of an earlier state, and the respiration motion is equal to the total motion minus the in-heart motion in the earlier state.
The correlation matrix A is a two-row by three-column data set. The correlation matrix A is configured in one aspect to transform two-dimensional RV into an ellipsoid in three-dimensional space. The matrix values are tuned or selected so as to adapt by multiplication the RV values to the respiration ellipsoid size (i.e., in mm). In one aspect, the RV values are relatively small (i.e., 1.e−3) and these are multiplied by large values (i.e., 3,000) in the A matrix to create movement (i.e., 3.0 mm movement) in the three-dimensional space.
Regarding the respiration motion, in one aspect, there are five RI channels. One skilled in the art would understand that the number of RI channels can vary. The RI generally indicate lung motion and changes in lung volume over time. The RI generally each contain similar signals and noise. In one aspect, the RI are collected by attaching a plurality of probes directly to a patient. For example, six patches or probes can be attached to a patient. Electrical signals between the six patches or probes are measured and the RI are generated. The electrical signals may include voltage, resistance, and/or impedance. The RI corresponding to each patch or probe may be provided in mV in one embodiment.
Specifically, in one embodiment, RI are measures of the change in resistance (impedance) between patches, where the resistance is used via a temporal decomposition to extract the frequency band related to the respiration. The RI reflect the changes in the amount of air that flows into and exist in the lungs. The variation in airflow into and the air in the lungs may change the measurement of resistance between the patches (among the six patches).
Filters can be applied to the RI in order to remove noise or other elements. For example, a low pass finite impulse response (FIR) filter can be used to remove an imprint of the heartbeat on the RI signals. This step uses a 151-weight vector that is multiplied by 151 elements on each channel of raw data to produce one sample of filtered data, in one aspect. In other words, the filter multiplies the corresponding sample in a sliding window manner. One skilled in the art would understand that these parameters can vary.
The singular value decomposition (SVD) can be used to find the weights that select the most prominent respiration signal if multiplied by the measure five RI. This filtering step and processing step provides a smoother output signal and eliminates undesirable noise and disruptions caused by the heartbeat.
Based on the RI, a main respiration vector is extracted. In one aspect, this extraction is performed by calculating the first Eigenvector in SVD.
Generally, the SVD is configured to extract the most prominent common motion out of several similar respiration dependent signals. The common signal is found as a linear combination of the individual RI signals. In one aspect, to verify consistency of the linear weights, the SVD is done three times, including a first one on the first 30 seconds, a second one on the second 30 seconds, and third one on the entire 60 seconds of the RI buffer. In the event that the three sets of weights are similar enough, then the last set is selected. In other words, the similarity here refers to the V from the SVD. This V then becomes a weight vector, i.e., the RI2RV weights vector. In one aspect, the similarity parameter has a Pearson correlation of at least 0.5.
In one aspect, this process involves determining the first Eigenvector in the SVD of five RI signals over several respiration cycles. For example, a sixty second buffer can be used, which can correspond to ten respiration cycles. By using multiple cycles, it can be assured that the RI signals are accurate and reliable.
The disclosed subject matter also adds a phase shifted signal to provide ellipse-like motion or a model, shown by the estimated respiration motion 120 in
In one aspect, respiration vectors (RV) are produced based on the main respiration vector and a derivative of the main respiration vector. In other words, the five RI are processed using the steps disclosed herein to produce or determine two RV. Once these RV are determined, the following equation is provided:
Equation 2 is generally similar to Equation 1, except Equation 2 uses RV instead of RI.
In order to determine the catheter location, raw location data regarding the catheter is filtered. In one aspect, the raw location data is filtered using the same low pass FIR filter that was applied to the RI signals to remove the heartbeat motion. As a result of the processing, synched and filtered respiration vectors and the catheter location are generated.
In summary, at the end of signal processing, the processes disclosed herein provides signals 120 and 130 in
This feature generally includes estimating a correlation matrix A and spline parameters that represent the catheter's actual motion. The two RV are then transferred into a three-dimensional space.
Regarding the RV, the processes disclosed herein generally transfer this 2D vector into a 3D ellipse or ellipsoid in 3D space, as shown by element 120 in
The correlation matrix A (also referred to as the transformation matrix) converts the two-dimensional vector into a three-dimensional ellipsoid. The correlation matrix A is determined based on regression, in one aspect. The root mean square error (RMSE) is minimized between the modeled motion (i.e., respiration motion+catheter motion) and the measured motion to provide the correlation matrix A.
As shown in
The site stability module 210 can include any one or more of the features disclosed herein. In one aspect, the site stability module 210 is configured to receive data from various inputs. For example, location data 202, respiration indicator data 204, status data 206 (such as location status and status of the RI), and initialization or algorithm parameters 208 can each be provided to the site stability module 210. In one embodiment, the data is provided streaming in 16.67 ms intervals. One skilled in the art will understand based on this disclosure that the data steaming parameters and cycles or periods can vary.
From the site stability module 210, session stability time segments 212 (i.e., start-end segments) and the catheter-heart location data 214 are transmitted to a central module 220. In other words, the site stability module 210 provides output parameters that include the last stability segment parameter and parameters of the last set of sites in the last ablation session. In one aspect, stability is a segment of duration of three seconds or greater in which the catheter-heart speed is below a certain speed threshold. The site is part of the stable segment during ablation time, and a segment of stability during ablation can be divided into several sites.
In one embodiment, the central module 220 can include any centralized computing system configured to receive, process, and/or transmit data to and from the site stability module 210. In one example, the central module 220 is a CARTO VISITAG™ processing unit. One skilled in the art would understand that various types of configurations can be provided that are in communication with the site stability module 210.
At the central module 220, compensated location data 222 for each session can be saved and stored. This data 222 can be further processed, filtered, etc. at the site stability module 210. A recordation module 230 can optionally be provided. The recordation module 230 can be configured to assist with debugging and post analysis of collected data. Element 224 in
Referring to
In the pre-processing phase 310, location data 312 and the RI 314 is provided. In other words, the pre-processing phase 310 includes at least two groups of channels: the location channels, and the RI channels. This data can be set or generated in relatively small increments. For example, the data can be set at least every 16.67 ms.
The location data 312 is further processed. For example, the location data 312 can be processed by applying a low pass filter or low pass FIR filter at step 316. After this step, the filtered location, i.e., the last filtered location, is determined at step 324.
The RI 314 can also be further processed through a series of steps or processes 318, 320, and 322. As shown in
Returning to
The data regarding the RI 314 is further processed at step 322 by calculating the first Eigenvector of the RI 314 and by calculating the derivative of the first Eigenvector of the RI 314. The SVD is used to find the first Eigenvector of the filtered RI in order to reduce redundancy and noise. The mean compensated (e.g., subtracted or added) filtered respiration indicators (FRI) and the derivative respiration indicators (DRI) can be stored. In one embodiment, this information is stored in one-minute buffers. One skilled in the art would understand that the buffer duration can vary.
In one aspect, the SVD is only performed once at the beginning of a predetermined period when the buffers are full with a valid signal. The SVD produces five coefficients of a first Eigenvector (V1), and the five coefficients are used to produce the respiration vectors (RV) at step 326. In one embodiment, the RV equal is equal to FRI×V1, DRI×V1.
At the end of the pre-processing phase 310, the last minute of the RV data (produced at step 326) and the filtered location data produced at step 324, are synchronized and stored in the last-minute buffer.
Data from steps 324 and 326 is provided to the stability detection phase 350. During the stability detection phase 350 (shown in
A more detailed overview of the pre-processing phase 310 is illustrated in
As shown on the right side of
As shown in
Continuing from step 602, a validation step 608 is carried out to determine if the data set is complete. In one aspect, the computing system 4 or a manager in a software module confirms the validity of the data. As used herein, the term manager can refer to any computational interface, such as an interface within CARTO® VISITAG™ processing unit or central module 220. This component is configured to insert or input data and to also receive an output of data. In the event that the data is invalid, the manager sends a reset or soft-reset signal to the algorithm processor to empty all of the buffers and begin filling the buffers again with new data if errors are detected. The algorithm ensures that the buffers are full with valid data before progressing to a subsequent step.
If the data is determined to not be valid due to location data issues, then the buffer is reset at step 610, and location filter buffers are updated at step 614. In one embodiment, step 614 includes 151×3 samples.
If the data is determined to not be valid due to RI channel related issues, then the buffer is reset at step 612, and RI filter buffers are updated at step 616. In one embodiment, step 616 includes 151×5 samples.
If the data is determined to be valid, then the location filter buffers and the RI filter buffers are also updated, as described with respect to steps 614 and 616, but the buffers do not need to be reset.
Continuing on from steps 614 and 616, the location data and the RI signal data both undergo a filtering step. The location data from step 614 is filtered at step 618. In one embodiment, the filter at step 618 is a low-pass FIR filter. The RI signal data from step 616 is also processed. In one embodiment, the filter at step 612 is a low-pass and derivative FIR filter.
Step 622, which follows step 618, then updates location buffers. Step 624 follows step 620 and includes updating RI buffers. From step 622, the location data is further processed at step 626, which includes obtaining a last-minute buffer, and obtaining filtered catheter motion.
Regarding the RI signal data, after step 624, this data is further processed using an Eigenvector estimation phase 606. In general, phase 606 includes transforming every sample in the 5D FRI vectors into their first Eigenvector using the Eigenvector coefficients in vector V. In one aspect, vector V is a five-element vector of weights that multiple the five RIs to obtain the most prominent respiration vector. The vector V is obtained via SVD decomposition and RI=U*S*V′ in one aspect.
Step 606a includes measuring breaks in the derivative RI (DRI) signal. Step 606b includes checking that there is no respiration gap and the data is valid. Step 606c includes calculating V using the SVD. The SVD is calculated only once the FRI buffer is full with valid numbers and no respiration gap was found. In one embodiment, this step can include calculating V in one second intervals. Once V is obtained at step 606d, then the data can be further processed at steps 628 and 632. Step 606e is a validity check, and if a soft-reset signal was received, then vector V is reset to zero.
Step 628 includes checking whether (V1)>0. If not, then step 630 includes waiting for the next round of data. If so, then step 632 defines the RV=[FRI×V, DRI×V]. Calculating V (or RI2RV as used in one aspect of the algorithm) includes the following steps. Once the RV buffers are full, a two second test can be performed to determine if there are any respiration gaps (i.e., due to apnea) inside the DRI buffer. If the buffers are full and there are no gaps, then a calculation is carried to out to determine three different V by three different SVDs: one on the first 30 seconds, one on the last 30 seconds, and one on the entire 60 seconds DRI buffer. If all the three Vs are correlated (i.e., within a predetermined value of each other), then the 60 second V is selected as the new V going forward. The process then verifies that the minima of the resulting respiration signal RV(1) is correlated to a maxima of the y-location of the probe. In one aspect, the minima of the respiration signal (RV1) is preferred to represent the end-expirium (as compared to the in-expirium). For this process, the corresponding Y-values of the catheter location are checked and the process ensures that the Y values in the respiration minima is larger than the Y values in the respiration maxima because the Y value is maximal in humans at end-expirium times. In this orientation, the Y-direction in is oriented in a heart-head direction in a patient as the patient lays on their back.
If the resulting respiration signal RV(1) is not correlated to the maxima of a y-location of the probe, then the selected V is reversed to be negative (i.e., −V). Finally, step 634 includes the last-minute buffer that was used in step 626, to provide RV.
As shown at the top of
The term “smooth(x)” as used herein generally refers to a mathematical smoothing function, which can be implemented according to any computer interface, electronics, or programming tool, such as MATLAB®. Various other functions, such as “smooth,” “exp,” “pinv,” “spline,” “rms,” “norm,” etc., used herein may be implemented using any known computer interface, electronics, or programming tool, such as MATLAB®. These computer interfaces, electronics, or programming tools are generally configured to provide matrix, array, and data manipulation, plotting functions, data implementation, and/or algorithm implementation.
The term “smooth” as used with respect to functions or equations herein refers to a method of noise reduction or a data set in one aspect. In one aspect, the smoothing function uses a moving average, a filter, or uses a smoothing spline.
In one aspect, the term “spline(x)” as used with respect to functions or equations herein refers to a function that calculates, returns, or generates a vector having interpolated values that correspond to points of an array, matrix, or dataset x. In one aspect, a cubic spline interpolation can be used.
In one aspect, the term “exp(x)” as used with respect to functions or equations herein refers to an exponential function ex and determines each element in an array, matrix, or dataset x.
In one aspect, the term “pinv(x)” as used with respect to functions or equations herein refers to a function that calculates, returns, or generates a Moore-Penrose Pseudoinverse of an array, dataset, or matrix x.
In one aspect, the term “norm(x)” as used with respect to functions or equations herein refers to a function that determines a scalar or magnitude value, and calculates, returns, or generates a measure of magnitude of elements in an array, matrix, or dataset x.
In one aspect, the term “max(x)” as used with respect to functions or equations herein refers to a function that calculates, returns, or generates the maximum elements of an array, matrix, or dataset x.
In one aspect, the term “rms(x)” as used with respect to functions or equations herein refers to a function that calculates, returns, or generates the root-mean-square of an array, matrix, or dataset x.
Any one or more of the function terms used herein can be implemented using any computational element or software program configured to perform computational analysis and functions. One such example of a program is MATLAB®. One skilled in the art would understand these mathematical or programming functions, and equivalents or variants thereof, can be implemented to carry out specific functions, calculations, or manipulations of the data, matrices, arrays, and information described herein. Any of the functions described herein can be implemented on the computing system 4, or any other electrical or computer hardware and software.
Decomposition is calculated every 100 ms in one embodiment. These 100 ms segments can be calculated on the entire last minute of data in order to allow for slow adaption of the correlation matrix A over the last minute.
In one aspect, two versions of the catheter-heart motion are used by controlling the curvature of the spline. In one version, intermediate catheter motion is calculated with a single curvature or smoothing parameter. Step 638 includes estimating the intermediate catheter motion with the following calculation: Smooth(FCM-RCV). This smoothing parameter limits the speed of the spline direction change and this is equivalent to assume slow accelerations. The intermediate catheter motion is used in the estimation of the correlation matrix A. Specifically, the correlation matrix A is tuned using segments with slow intermediate catheter motion speed (i.e., slow segments). On these slow segments, the catheter acceleration is small with respect to the respiration motion, and the correlation matrix (A) is estimated more accurately. During step 638, the intermediate catheter motion is estimated using a smoothing function to limit the resulting curvature.
In one aspect, intermediate catheter motion (ICM)=Smooth(T0,(FCM−RCV),SmoothP). In this equation, TO is a vector of reference time (0 to 60 seconds in 0.1 second increments). The inaccuracy is estimated by the norm function of the estimation error. Using step 638, the ICM has an error component (ICMerr) and ICMerr=Norm(FCM−RCV−ICM), and SmoothV=Exp(−2*ICMerr), and SmoothP=0.005. This process corrects or updates the ICM to allow larger curvature where the ICMerr is unacceptably large. If ICM were equal to FCM−RCV, then the ICMerr would be zero.
SmoothP is a smoothing parameter that limits the spline curves second derivative (i.e., acceleration), and is generally defined as a smoothing parameter to control the curvature through a segment. SmoothV is generally defined as smoothing vector to control curvature per data point. During step 638, it is assumed that slow accelerations help converge the correlation matrix A. The slow accelerations, i.e., the intermediate catheter motion (ICM), are used in combination with faster accelerations, i.e., the catheter motion (CM), in order to provide a more robust and accurate reconstruction. The ICMerr or error of the ICM is an estimation error and this is equal to Norm(FCM-RCV-ICM). The ICMerr is used to estimate the accuracy of the reconstruction of the FCM. Based on this, the spline is corrected when the error of slow motion is high. In one aspect, the smoothing function smooths data using a moving average filter.
In another aspect, shown in step 648, catheter motion (CM) is the corrected ICM using the correction vector (SmoothV) and allows fast acceleration where the intermediate catheter motion is determined to be inaccurate. This correction vector (SmoothV) allows different curvatures (i.e., accelerations) at different spots along the last minute of data. The CM equals: Smooth(T0, (FCM-RCV), SmoothP, smoothV). This process is a way to force the smooth function to be more flexible, which allows for larger curvature in points where the reconstructed error is larger.
Step 650 includes estimating the catheter motion based on the following equation: Smooth(FCM−RCV,SmoothV). In one aspect, a function or process is carried out to smooth the catheter motion with a spline model by limiting the spline curvature (i.e., the second derivative of the curvature).
When estimating the CM, fast segments are permitted to have increased curvature to provide for more accurate and better reconstruction. The smoothing spline function ƒ is shown in the following equation:
In this equation, |z|2 represents the sum of the squares of all the entries of z, n is the number of entries of x, and the integral is over the smallest interval containing all the entries of x. The default value for the weight vector W in the error measure is ones(size(x)). The default value for the piecewise constant weight function smoothV in the roughness measure is the constant function 1.
In Equation 3, D2f denotes the second derivative of the function ƒ. The parameter smoothP controls the smoothing strength. When smoothP=1, the spline goes through all the original data points without any curvature limitations. When smoothP=0 the spline cannot include any curvature so the result is a straight line. In this situation, smoothing can be used to control the catheter allowed acceleration.
For intermediate catheter motion (ICM) only the non-zero smoothP parameter is used, and the sharp movements are smoothed or filtered out. To model fast or sharp movements, the smoothV vectors having a value less than 1 are used. SmoothV values less than 1 put extra weight or emphasis on certain aspects and therefore can include higher curvature in those places.
The whole concept of smoothing in this aspect is balancing between two contradictory elements. The first element generally tries to remain true or accurate to an input vector even when there is noise (i.e., many inconsistent direction changes). The second element is to be as smooth as possible with minimal direction and speed changes. SmoothV is a vector of values that directs the smooth function to prefer the first element over the other, or vice versa, in different parts of the input vector. So as SmoothV values are closer to 0, the smoothing function should be more accurate and less smooth. In one aspect, smoothV allows smoothP in Equation 3 to be localized.
From step 650, catheter motion is used for site segment detection at step 652. At step 654, catheter motion and site segment detection data are sent to a central module 655 that is configured to store data regarding the site segment and catheter motion. An iterative process is then carried out that analyzes session motion, and recalculates the ablation site. The ablation is divided into sites and is recalculated in every step, and can vary significantly according to compensated catheter-heart motion. This catheter compensated location can be saved in a central module or storage unit for site recalculation after a user or surgeon has adjusted various control parameters.
Step 640 includes calculating the RCV in the last minute of information and data. In one embodiment, the RCV=A×RV. In one aspect, correlation matrix A is also identified as RV2RCV. Estimating the correlation matrix A is generally performed using weighted mean squares and matrix inversion according to one embodiment. The weights (W) used in these calculations reflect how each data point in the last minute is configured to estimate the correlation matrix A according to at least one of the following criteria: (i) weight decay with time, (ii) preference for slow intermediate catheter motion speeds, (iii) RV validity, and (iv) duration of time from ablation.
Regarding factor (i), older samples generally receive lower weights than recent samples. Regarding factor (ii), slower speeds on long segments receive higher weights. Regarding factor (iii), during apnea, the RV is reduced to very close to zero, and cannot be used in estimating the correlation matrix A. Accordingly, apnea segments receive zero weights. Apnea detection occurs at step 642. Apnea is also generically known as depth of breathing, or the shallowness of breathing. Factor (iv) results in recent ablation segments receiving higher weights. The weight vectors are identified as the stability weights, and the step of estimating the stability weights is generally shown as step 644 in
The apnea detection associated with factor (iii) and step 642 is defined in more detail. Respiration apneas are segments of time in which the respiration signal, i.e., the RV, is reduced due to apnea or other forms of shallow respiration. Due to their influence, the correlation matrix A should generally not be estimated during these segments. By using weight associated with each sample (which includes RV and location data), the effects of apnea or shallow respiration are minimized. Weights during shallow respiration (i.e., small RV signals) are zeroed, which eliminates the impact of these measurements on the overall estimation and correlation matrix A.
Further details regarding estimating stability weights are provided herein. Generally, the decomposition process into respiratory related motion and catheter related motion is performed more accurately when the catheter is relatively stable or is slowly sliding against another surface, i.e., tissue. Identifying relatively stable segments is important for producing a reliable output. Stable segments are generally defined herein as segments of time in which the intermediate catheter motion speed is relatively slow (i.e., <2.5 mm/sec) for a specific period of time (i.e., >3-5 seconds). Estimating the correlation matrix A is carried out using the stable segments or essentially stable segments. Stable segments are emphasized due to the assignment of higher weights for samples during stable times. Stability weights are converted into a vector of numbers that correspond to the last minute and represents the point relevancy for the correlation matrix A estimation (i.e., the RV2RCV matrix). Besides speed stability, factors regarding recency (i.e., the age or how old a segment is) and data segments collected during ablation are also considered. Recent samples receive higher weights than older samples, and ablation segments receive higher weights than non-ablation segments.
Returning to
As shown in
In one aspect, it is assumed that the 3D RCV can be modeled as a product of the 2D RV (which equals the main respiration signal+a phase shift) and the correlation matrix A (2×3). The parameters of the correlation matrix A are estimated based on the RV, a rough estimation of the respiration vector (which equals the filtered catheter motion minus the intermediate catheter motion), and the stability weights vector by minimizing the mean square error. By providing inputs of the (i) FCM, (ii) intermediate catheter motion, and (iii) stability weights, the correlation matrix A is generated as an output.
The intermediate catheter motion assumes relatively slow accelerations of the catheter, and cannot represent the true catheter motion in segments of high speed. An intermediate catheter motion error factor can be estimated based on segments of faster motion. Catheter motion is recalculated while increasing the curvature for high speed segments to allow for fast motion as well. Using this approach, the ICM error (ICMerr)=Norm(FCM−ICM−RCV). In other words, the respiration data equals total catheter motion minus intermediate catheter motion, and total catheter motion minus respiration equals in-heart catheter motion. In one embodiment, ICMerr is the per sample Euclidian distance in R3 between the measured location FCM and the slow model reconstructed location ICM+RCV. SmoothV is used to correct the intermediate catheter motion to find the in-heart catheter motion, in one aspect.
Station finding, also known as location finding or site finding, generally includes identifying periods when the catheter or probe is stable. This process includes performing logic and functions that produce stations' time edges and center locations based on the compensated motion. The stations in the last session are continuously updated along with the correlation matrix A and the resulting compensated motion. Stability is generally defined as a continuous segment of time in which the estimated catheter speed is below a user predefined threshold.
The catheter speed is calculated by taking a derivative of the catheter position over the last minute. As one example, the last-minute locations are updated at least every 0.1 second, and are saved for the whole minute. These values can vary depending on the specific requirements of a particular application. The last catheter speed value from this buffer is saved and accumulated in the last speed buffer.
For example, in one embodiment, the end-5 value in the catheter speed buffer is the speed of the catheter using the end-5 and end-7 values in the catheter one-minute locations buffer that were updated in current iteration. Here, the end-5 value in the last speed buffer is the last catheter speed that was calculated 5 iterations ago.
A minimum value of the catheter speed and the last speed over the last minute is defined as the minimal speed, and is used to detect when the catheter is stable. A minimal speed buffer includes all the minimum speeds that were estimated during the last minute. Segments of continuous speed that are smaller than a threshold speed are identified in this buffer, while trying to find a time period when the catheter was stable.
An estimation close to the current time is not accurate enough because speed can change dramatically near the buffer end without a reliable indication on the estimated speed. Accordingly, any determination regarding stability can be delayed for at least one second, and this predetermined delay can vary.
Boundaries of a current stable segment can be updated and then terminated if necessary. If a current stable segment was not found or if it was previously terminated, then a search for new stability segment in the recent several seconds of the estimated catheter motion is carried out.
If a stability segment was already found, then the boundaries are updated according to an updated minimal speed buffer. The starting point of the current stable segment can also be updated by looking backwards from the last index of stable segments until the earliest point when the speed is lower than a threshold.
The ending point of the stability segment can be updated by looking forward from the last index of a stable end until the latest point that the catheter speed is lower than a threshold.
A stable segment is not terminated until a predetermined period (i.e., roughly one second) occurs from the current time in order to avoid terminating segments due to edge inaccuracy. If a stable segment was not yet found, then the search for stability from the current time backward is carried out to find the earliest moment when a predetermined threshold was crossed.
In addition to the above process for determining when a segment is stable, the present disclosure also is directed to defining a localized segment as a time segment in which all its points (i.e., distance from its own center of gravity) are below a threshold. In other words, when considering a curved line in 3D space, the XYZ mean of the curved line can be calculated and this is the center of gravity. From this value, it is possible to calculate the distance from center (DFC) for every point on the line.
This process involves locating a site (i.e., a time segment) when the ablator is on and the catheter is both stable and localized. One aspect of this process is described in more detail herein. In one aspect, a stable time segment during ablation is identified.
The processes and algorithms disclosed herein can divide, segment, or otherwise split the stability segment during ablation into localized segments (i.e., sites) for which the maximal DFC is below a predetermined threshold. In one aspect, the predetermined threshold is 3.0 mm. One skilled in the art would understand that this value can vary. The algorithm for splitting the stability segment into sites essentially obtains the minimal number of sub-segments that maintain a localization criterion. In one aspect, it is a recursive function that ceases or stops in the event that the current sub-segment is localized. In one embodiment, this involves determining whether the maximum DFC is less than a threshold, i.e., 3.0 mm in one aspect.
In one aspect, an algorithm is provided that essentially splits or segments a curve in 3D dimensional space (i.e., the in-heart motion 50, catheter-heart motion, probe-cavity motion, etc.) into localized curves. As used herein, the term curve is defined as a vector of XYZ coordinates in 3D space that represents the course of motion of an object. In one aspect, this process involves determining the center of gravity of a curve defined by a data set, in which the center of gravity is defined as a point in 3D space that represents the mean value of each coordinate of the curve. The DFC is defined as a one-dimensional vector that represents the Euclidean distance between each point in the curve relative to the center of gravity, in one aspect. Finally, a localized curve is defined as a curve for which a maximum DFC is smaller than a predetermined threshold distance. In one aspect, this distance is 3.0 mm.
In one aspect, defining a split curve of 3D dimensional data is a recursive function. This defining a split curve is provided in the flow diagram 1300 of
Flow diagram 1300 checks whether any curves exist before the central localized curve at 1380. In one aspect, this step is performed based on the excluded or set aside pre-central points (disclosed above with respect to an index comparison step) by using a splitting function in a recursive manner. The process generates a list of pre-central localized curves for analysis at 1390 based on 1380. Flow diagram 1300 checks whether any curves exist after the central localized curve at 1385. In one aspect, this step is performed based on the excluded or set aside post-central points by using a splitting function in a recursive manner. The process generates a list of post-central localized curves for analysis at 1395 based on 1385. The list of all localized curves includes preceding localized curves, central localized curves, and proceeding localized curves at 1399. In other words, the algorithm essentially segments or breaks a 3D curve into a number of localized curves for further analysis. In particular, the analysis determines whether curves have a maximal DFC that is less than a predetermined distance threshold.
Step 1420 includes obtaining probe location data, which can be generated via any known tracking method or system. The probe location data can also be obtained using sensors (i.e., sensors 18 from
Step 1430 includes generating probe-cavity location data by compensating (e.g., subtracting or adding) the respiration data from the probe location data. Step 1440 includes identifying periods when the probe is stable relative to a boundary of the cavity. Step 1450 includes identifying site stability sites based on the periods when probe speed is less than a predetermined speed for a predetermined period. In one aspect, the predetermined speed can be 2 mm/second and the predetermined period can be at least three seconds. In one embodiment, the method 1400 includes applying a filter to the respiration data and the probe location data.
Step 1460 includes notifying a surgeon of the periods when the probe is stable relative to the cavity boundary. This step can include providing notifications via visual alerts or indicia (which can be displayed via monitor 3), audio alerts or indicia (which can be played via computing system 4), or any other notification such that the surgeon is informed of the stable periods. In one aspect, markers, tags, or visual indicators are overlaid or inserted onto a three-dimensional mapping or image of the location data and are displayed on a monitor (e.g., monitor 3 in
Step 1410, described above, can further include converting respiration indicators by using singular value decomposition (SVD) to obtain a first Eigenvector and a first Eigenvector derivative. As would be understood by those possessing an ordinary skill in the art, the first Eigenvector can correspond to a primary respiration signal and the first Eigenvector derivative can correspond to a phase shifted respiration signal. The method 1400 can include transferring the primary respiration signal and the phase shifted respiration signal from two dimensions into a three-dimensional ellipsoid based on a correlation matrix. The method 1400 can also include determining the correlation matrix by calculating a root mean square deviation between the probe location data and the probe-cavity motion data. The method 1400 can include determining the correlation matrix based on weighted factors including at least one of: (i) age of the respiration data; (ii) speed of the probe; (iii) depth of respiration; or (iv) data obtained during ablation. In one embodiment, the method 1400 includes generating an image including estimated respiratory motion based on the respiration data, probe motion based on the probe location data, and probe-cavity motion based on the probe-cavity location data. This image can then be displayed on a monitor to a surgeon, along with indicators, tags, or visual indicators showing periods when the probe is stable relative to the cavity boundary.
At step 1510, in a mapping configuration, the signal(s) from multiple electrodes are recorded over a period of about 2.5 seconds. As a result of the use of 2.5 seconds periods, the beating of the heart may be accounted for. As a result of the duration accounting for the beating of the heart, the movement due to respiration is the main remaining factor effecting the mapping. This movement due to respiration can cause a smearing of the data.
At step 1520, in order to reduce, or eliminate, the smearing of the data, the respiration movement can be compensated for. As described above in
At step 1530, additionally, or alternatively, the stability of each electrode (or spline of a catheter) may be monitored as described herein. When data is collected, the stability is used to determine the mapping values. This determination may include at least one of adjusting the mapped data points based on the stability and only computing mapping values for electrodes that are deemed to be stable. For example, when a data collection occurs, the data from stable electrodes may be recorded, while the less than stable electrodes are excluded, or have their data recollected. Alternatively, a weighting system may be used based on the level of stability in collecting the data. In either example—the wait or the weight, which may also be employed in unison, the data is improved and less blurry. Using a gating function based on the stability the data collected is of improved quality.
At step 1540 respiration data may be obtained. In order to compensate for respiration data at step 1550, the respiration data may be obtained. This data can be obtained by sensors attached to a patient's body. In one aspect, this data is obtained by a series of patches or sensors (i.e., sensors 5 from
At step 1550 respiration data may be converted to indicators by using singular value decomposition (SVD) to obtain a first Eigenvector and a first Eigenvector derivative. The first Eigenvector can correspond to a primary respiration signal and the first Eigenvector derivative can correspond to a phase shifted respiration signal. The method 1400 can include transferring the primary respiration signal and the phase shifted respiration signal from two dimensions into a three-dimensional ellipsoid based on a correlation matrix. The method 1400 can also include determining the correlation matrix by calculating a root mean square deviation between the probe location data and the probe-cavity motion data. The method 1400 can include determining the correlation matrix based on weighted factors including at least one of: (i) age of the respiration data; (ii) speed of the probe; (iii) depth of respiration; or (iv) data obtained during ablation. In one embodiment, the method 1400 includes generating an image including estimated respiratory motion based on the respiration data, probe motion based on the probe location data, and probe-cavity motion based on the probe-cavity location data. This image can then be displayed on a monitor to a surgeon, along with indicators, tags, or visual indicators showing periods when the probe is stable relative to the cavity boundary.
The disclosed subject matter is not limited to being used in connection with a heart. The disclosed subject matter can be used in a variety of applications to analyze features of any type of object, such as a chamber.
Any of the functions and methods described herein can be implemented in a general-purpose computer, a processor, or a processor core. Suitable processors include, by way of example, a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) circuits, any other type of integrated circuit (IC), and/or a state machine. Such processors can be manufactured by configuring a manufacturing process using the results of processed hardware description language (HDL) instructions and other intermediary data including netlists (such instructions capable of being stored on a computer readable media). The results of such processing can be maskworks that are then used in a semiconductor manufacturing process to manufacture a processor which implements features of the disclosure.
Any of the functions and methods described herein can be implemented in a computer program, software, or firmware incorporated in a non-transitory computer-readable storage medium for execution by a general-purpose computer or a processor. Examples of non-transitory computer-readable storage mediums include a read only memory (ROM), a random-access memory (RAM), a register, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks, and digital versatile disks (DVDs).
It should be understood that many variations are possible based on the disclosure herein. Although features and elements are described above in particular combinations, each feature or element can be used alone without the other features and elements or in various combinations with or without other features and elements.