A method for processing respiratory data

By filtering and denoising noise, eliminating linear trends, identifying the true peaks and troughs of respiratory data and the end-expiratory stay phase, the reference drift and instability problems of respiratory data collection are solved, and precise guidance for lung puncture surgery is achieved.

CN114938951BActive Publication Date: 2025-07-25NANJING TUODAO MEDICAL TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210610264.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-31
Publication Date
2025-07-25
Estimated Expiration
2042-05-31

AI Technical Summary

Technical Problem

In the prior art, human respiratory data acquisition has problems such as zero-point reference drift, clutter interference, and respiratory amplitude and periodic instability, which cannot be directly used for subsequent processing, affecting the accuracy of medical devices.

Method used

Accurate breathing curves during the breathing cycle are obtained by filtering noise reduction, eliminating linear trends, identifying potential peaks and troughs, eliminating pseudo-climbs and troughs, and identifying end-expiratory stay phases.

Benefits of technology

It improves the accuracy of lung puncture surgery and provides relatively accurate breathing curves during the breathing cycle for doctors to guide puncture.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114938951B_ABST
    Figure CN114938951B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for processing respiratory data, including: acquiring patient respiratory data; traversing the patient respiratory data to identify potential peaks and troughs; comparing the intervals and amplitudes of adjacent peaks and troughs to eliminate false peaks and false troughs, so as to obtain the true peaks and troughs of the patient respiratory data; and identifying the end-expiratory pause phase at the true troughs. By filtering and denoising the respiratory data, eliminating the linear trend to zero, searching for and identifying peaks and troughs, and identifying the end-expiratory short pause points, the present invention can obtain effective signal features, find a relatively accurate respiratory curve within the respiratory cycle, and provide guidance for puncture surgery.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, and in particular, to a method for processing respiratory data. Background Art

[0002] As an important physiological signal, the human respiratory waveform is used in many medical devices or solutions, such as lung nodule puncture, tumor radiotherapy of the lungs and surrounding organs, 4D CT reconstruction of the lungs, lung MRI imaging, and other fields. Accurate display or feature extraction of the periodic and unstable respiratory curves of patients provides an opportunity for higher-end development in the above fields.

[0003] The respiratory data directly collected from the sensor has problems such as zero-point reference drift, clutter interference, and unstable respiratory amplitude and period, and cannot be directly used for subsequent processing. Summary of the Invention

[0004] Object of the Invention: Aiming at the above deficiencies, the present invention provides a method for processing respiratory data. The processed data can provide a respiratory guidance function for lung puncture surgery, and can find the respiratory curve within a relatively accurate respiratory cycle to provide puncture guidance for doctors.

[0005] Technical Solution:

[0006] A method for processing respiratory data, comprising:

[0007] Obtaining patient respiratory data;

[0008] Traversing the patient respiratory data to identify potential peaks and valleys;

[0009] Comparing the intervals and amplitudes of adjacent peaks and valleys to eliminate false peaks and false valleys, and obtaining the true peaks and valleys of the patient respiratory data;

[0010] Identifying the end-expiratory pause phase at the true valley.

[0011] Before identifying potential peaks and valleys, it includes an outlier detection and replacement step:

[0012] The detected outlier X out The range is as follows:

[0013] x i >Q3 + c*(IQR) ∪ x i <Q1 - c*(IQR)

[0014] Wherein, x iDenote the respiratory data of the \(i\)-th sampling point in the collected patient respiratory data, where \(i = 1, 2, \ldots, n\); \(n\) represents the total number of sampling points of the collected patient respiratory data; \(Q1\) and \(Q3\) respectively represent the first and third quartiles obtained by the interquartile range of the amplitude in the patient respiratory data; \(c\) is a threshold factor, \(c>0\), and \(IQR = Q3 - Q1\);

[0015] Interpolate and replace the outliers. The two endpoints of the outlier range are replaced by the neighboring points, and the points within the outlier range are replaced by linear interpolation, as shown in the following formula:

[0016]

[0017] where \(k\) represents the \(k\)-th sampling point and \(m\) represents the number of intermediate outliers.

[0018] Before the outlier detection and replacement step, a filtering step is included.

[0019] Before identifying potential peaks and valleys, a reference calibration step is also included:

[0020] Fit a first-order polynomial through the following formula;

[0021]

[0022]

[0023] Obtain the linear trend:

[0024] \(f(i)=w\times i + b\)

[0025] where \(w\) and \(b\) respectively represent the coefficients of the first-order polynomial;

[0026] Perform reference calibration on the respiratory data: \(x\) i \(^\prime=x\) i \(-f(i)\).

[0027] Specifically, traversing the patient respiratory data to identify potential peaks and valleys is as follows:

[0028] Set a number of sliding windows and the starting positions of the sliding windows according to the number of sampling points of the respiratory data. Use each sliding window to traverse the patient respiratory data in turn. If the respiratory amplitude in the respiratory data of a certain sampling point meets the acceptance thresholds of peaks and valleys, it is considered a peak or a valley, so as to obtain the number of peaks and the number of valleys after each sliding window traverses the respiratory data;

[0029] Calculate the increments of the number of peaks and the number of valleys obtained by each sliding window relative to the previous sliding window after traversing the respiratory data in turn, and calculate the average values of the respiratory amplitudes corresponding to the multiple peaks and multiple valleys corresponding to the increments, and use the average value of the two average values as the segmentation threshold;

[0030] Taking the peaks with respiratory amplitudes greater than the segmentation threshold in the respiratory data as potential peaks, and taking the troughs with respiratory amplitudes less than the segmentation threshold in the respiratory data as potential troughs.

[0031] The acceptance threshold is calculated as follows:

[0032] Calculate the mean M and the mean square deviation S of the respiratory data, and set the peak acceptance threshold as T1 > M + S / 2 and the trough acceptance threshold as T2 < M - S / 2.

[0033] Set each sliding window size according to the Fibonacci sequence, and there is at least one sliding window with a size greater than the respiratory cycle.

[0034] It also includes the step of mirror extension for the respiratory data:

[0035] The size of the mirror extension is the smaller value between the sampling size of the respiratory data and the size required to supplement the sliding window size when the sliding window traverses to the end of the respiratory data.

[0036] Eliminating false peaks and false troughs specifically means:

[0037] Calculate the intervals between adjacent peaks and troughs and the intervals between adjacent peaks and peaks. If the latter is greater than the former, the current peak is considered a true peak; otherwise, it is considered that there is a false peak. If the respiratory amplitude corresponding to the current peak is less than the respiratory amplitude corresponding to the next peak, the current peak is considered a false peak; otherwise, the next peak is considered a false peak. Directly delete the false peak;

[0038] Calculate the intervals between adjacent troughs and peaks and the intervals between adjacent troughs and troughs. If the latter is greater than the former, the current corresponding trough is considered a true trough; otherwise, it is considered that there is a false trough. If the respiratory amplitude corresponding to the current trough is greater than the respiratory amplitude corresponding to the next trough, the current trough is considered a false trough; otherwise, the next trough is considered a false trough. Directly delete the false trough.

[0039] Identifying the end-expiratory pause phase at the true trough specifically means:

[0040] Intercept the respiratory data in the middle section between two adjacent peaks, and conduct a histogram statistics with the respiratory amplitude as the ordinate and the sampling point frequency as the abscissa;

[0041] The sampling point frequency within the range of each array bin of a certain histogram is N bin and the central value of its respiratory amplitude is V bin , calculate the sampling point frequency max(N bin ) of the array with the largest sampling point frequency in the histogram and its central value V of the respiratory amplitude maxbin , with V maxbin < fac mag * range(Vbin )+min(V bin ) and max(N bin )>fac bin1 *T(N bin ) as the screening condition for the presence of the end-expiratory dwell phase; where range(V bin ) represents the amplitude range of all intercepted partial respiratory data, fac mag Indicates the scaling factor of the amplitude in the histogram; min(V bin ) represents the minimum value of the center value of all arrays of the histogram; T(N bin ) is the threshold value set according to the sampling frequency; fac bin1 Represents the scaling factor for the number of bins in the histogram array;

[0042] If the above conditions are not met, it is considered that there is no end-expiratory dwell phase to be identified;

[0043] If the above conditions are met, then the number of sampling points N for a certain array bin bin Search upward in the histogram to find the number of bin >fac bin2 *N maxbin The center value T corresponding to the array bin bin As the threshold for respiratory data segmentation, fac bin2 Represents the scaling factor of the number of bins in the histogram array; any breathing amplitude less than T bin The breathing data is identified as the end-expiratory stage point, thereby obtaining the end-expiratory dwell stage.

[0044] Beneficial effects: The present invention obtains effective signal features by filtering and denoising the original one-dimensional data, eliminating linear trends and returning to zero, searching for peaks and valleys, and identifying short pause points at the end of exhalation, and thereby obtains a relatively accurate respiratory curve within the respiratory cycle, thereby providing guidance for doctors in lung puncture surgery and improving surgical accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] Figure 1 is a flow chart of a respiratory data processing method;

[0046] Figure 2 is a schematic diagram of the raw respiration data;

[0047] Figure 3 is a schematic diagram of respiratory data after filtering;

[0048] Figure 4 Schematic diagram of respiratory data with linear trend removed;

[0049] Figure 5 Flow chart for peak and trough identification;

[0050] Figure 6 Schematic diagram of peaks and valleys in the respiration data obtained by searching;

[0051] Figure 7 Schematic diagram for identifying the end-expiratory pause phase;

[0052] Figure 8 Schematic diagram for searching the end-expiratory pause phase. Detailed implementation manner

[0053] The present invention will be further illustrated below with reference to the accompanying drawings and specific embodiments.

[0054] The respiration data processing method of the present invention is as Figure 1 shown and includes the following steps:

[0055] (1) Obtain the original respiration data of the patient;

[0056] The respiration waveform data of the patient can come from various respiration data acquisition devices. From the perspective of the human respiration end, such as a mask-type respiration flow valve, nasal cavity temperature field, etc., and from the perspective of the body surface changes caused by respiration, such as an air pressure type abdominal belt, ECG electrocardiogram signal, short-wave radar UWB, optical navigation, magnetic navigation, etc.

[0057] (2) Process the abnormal values of the original respiration data of the patient obtained in step (1);

[0058] The original respiration data obtained from the respiration data acquisition device is sequence data, as Figure 2 shown. It varies according to the human state. For example, coughing, nervousness, shaking, etc. will interfere with the data, and there are local extreme values, clutter interference, etc. It is necessary to perform filtering and abnormal value detection and replacement processing on the respiration data, and then extract the characteristic signal to better apply the data, such as respiratory gating, pattern recognition, etc. The specific processing is as follows:

[0059] (21) Data smoothing filtering;

[0060] In view of the problem of phase shift in frequency domain filtering, the present invention uses Savitzky-Golay filtering before abnormal value detection and replacement, as Figure 3 shown;

[0061] (22) Abnormal value detection and replacement;

[0062] The abnormal value X detected by the present invention out is in the following range:

[0063] x i >Q3 + c*(IQR) ∪ x i <Q1 - c*(IQR) (1)

[0064] Among them, x i represents the respiratory data of the i-th sampling point in the collected sequence data, where i = 1, 2, …, n; n represents the total number of sampling points in the collected sequence data; Q1 and Q3 respectively represent the first and third quartiles obtained by the interquartile range of the amplitude in the sequence data; c is a threshold factor, c > 0, generally taking 1.5; IQR = Q3 - Q1;

[0065] Through this step, the sharp change points in the respiratory data obtained after filtering in step (21) can be detected and replaced. Among them, the outliers in the filtered respiratory data are detected by formula (1), and the detected outliers are interpolated and replaced by formula (2). Among them, the interpolation replacement is specifically: the two end points of the outlier range are replaced by the neighboring points, and the points within the outlier range are replaced by linear interpolation, which is represented by formula (2):

[0066]

[0067] Among them, k represents the k-th sampling point, and m represents the number of intermediate outliers;

[0068] Through this step, the stationarity of the respiratory data obtained in step (1) can be checked, and the outlier data can be replaced;

[0069] (3) Perform baseline calibration to eliminate the linear trend;

[0070] During the long-term data collection process of the respiratory sampling device, the movement of the human body and the like cause the baseline to gradually shift. Therefore, there are trend changes in the respiratory data due to body position changes and low-frequency interference. Therefore, it is necessary to eliminate the influence of this part of the trend change on the respiratory data and convert the data to near zero to make the data more accurate.

[0071] Such as Figure 4 As shown, the present invention first uses a first-order polynomial fitting to calculate the trend line of the data, and then subtracts the trend line from the denoised data to obtain a zero-drift-free data signal with a baseline of zero, specifically as follows:

[0072] Fit a first-order polynomial through the following formula;

[0073]

[0074]

[0075] Obtain the linear trend:

[0076] f(i) = w * i + b

[0077] Among them, w and b respectively represent the coefficients of the first-order polynomial;

[0078] Thus, the linear trend can be eliminated from the respiratory data processed in step (2) to obtain accurate respiratory data through the following formula:

[0079] x i ′ = x i -f(i)

[0080] (4) Identify potential peaks and valleys;

[0081] Search for the peaks and valleys of the respiratory data processed in step (3) to obtain the corresponding end-expiration and end-inspiration, thereby clarifying the specific expiration phase (the phase from valley to peak within the same cycle) and inspiration phase (the phase from peak to valley within the same cycle) in the respiratory data; the usual second-order difference recognition algorithm for peaks and valleys, that is, identifying local extreme points as end-expiration or end-inspiration, is prone to misidentification. The present invention identifies peaks and valleys based on a sliding window algorithm, which can greatly improve the recognition accuracy. As Figure 5 shown, the specific steps are as follows:

[0082] (41) Calculate the mean M and standard deviation S of the respiratory data, and set the peak acceptance threshold T1 > M + S / 2 and the valley acceptance threshold T2 < M - S / 2;

[0083] (42) Set several sliding windows and the starting positions of the sliding windows according to the number of sampling points of the respiratory data. Among them, the sizes of the sliding windows can be set according to the Fibonacci sequence to obtain a sequence of sliding windows, and there must be a sliding window with a size larger than the respiratory cycle. The size of the sliding window is the number of sampling points of the respiratory data, that is, a certain segment of the sampling size of the respiratory data; when traversing the respiratory data through each sliding window size, the respiratory data can be traversed multiple times from different starting positions of the sliding window according to actual needs, and the starting position of the sliding window can be set according to the size of the sliding window; ensure that each sliding window covers as many local peaks and valleys caused by unstable periods and amplitudes as possible.

[0084] Among them, the size of the sliding window is positively correlated with the sampling frequency. For example, if the number of data points in a peak-valley pair is 50, the sizes of the sliding windows can be set to 10, 20, 30, 50, 80, 130, 210 respectively to ensure that the peak-valley pair is at the center position of the sliding window; the starting positions of the sliding windows are set to 0%, 10%, 30%, etc. respectively;

[0085] To prevent the situation where the sliding window traversal lacks data and the sliding window cannot fully traverse the respiratory data, it is necessary to mirror-expand the respiratory data when necessary. The expanded respiratory data is the respiratory data starting from the 0 point of the sampling points of the respiratory data, and the expanded size h is the smaller value between the sampling size of the respiratory data and the size required to complete the traversal of the sliding window when the sliding window traverses to the end of the respiratory data to make up for the size of the sliding window; then the respiratory data {x i} is expanded into the expanded respiratory data {X j},where \(j = 1, 2, \ldots, j\), \(j=n + h\);

[0086] (43) Each sliding window is used to sequentially traverse the extended respiration data expanded in step (42). If the respiration amplitude in the respiration data of a certain sampling point satisfies the threshold \(T1\) or \(T2\), it is considered as a peak or a valley, and the corresponding index number is increased. Specifically: if the respiration data of a certain sampling point is greater than the threshold \(T1\), it is considered as a peak, and the peak number is incremented by 1; if the respiration data of a certain sampling point is less than the threshold \(T2\), it is considered as a valley, and the valley number is incremented by 1. Thus, the peak number \(Nap\) and the valley number \(Nat\) after each sliding window traverses the extended respiration data are obtained;

[0087] (44) Calculate the increments of the peak number and the valley number obtained by each sliding window relative to the previous sliding window after traversing the extended respiration data. If there are \(N\) sliding windows, there are \(N - 1\) increments of the potential peak number and the valley number respectively; thereby calculating the average values of the respiration amplitudes corresponding to the multiple peaks and multiple valleys corresponding to the increments, and taking the average value of the two average values as the segmentation threshold \(T\), that is:

[0088] \(T=\{median[diff(Nap)] + median[diff(Nat)]\}\times0.5\)

[0089] where \(diff()\) represents a function to obtain the increment of the peak or valley number in two adjacent sliding windows, and \(median()\) represents a function to obtain the average value of the respiration amplitudes corresponding to the increments therein;

[0090] (45) According to the segmentation threshold obtained in step (44), the peaks with respiration amplitudes greater than the segmentation threshold in the respiration data obtained in step (43) are used as potential peaks, and the valleys with respiration amplitudes less than the segmentation threshold in the respiration data obtained in step (43) are used as potential valleys;

[0091] If the respiration amplitude corresponding to the first peak among the potential peaks is less than the respiration amplitude corresponding to any valley among the potential valleys, delete the first peak among the potential peaks to ensure the peak-valley pair, and initialize the indices \(p\) t \( = 0\) and \(t\) t \( = 0\).

[0092] (5) Eliminate the false peaks and false valleys in the potential peaks and valleys;

[0093] (51) Identify false peaks:

[0094] Calculate the interval \(d1 = vt(t\) t ) - vt(p\) t ) between the peak and the valley with the same index (i.e., adjacent peak and valley), and the interval \(d2 = vt(p\)t+1 ) - vt(p t ), where vt() represents the sampling point time of a certain index, and vp() represents the respiratory amplitude of the original data sampling point of a certain index;

[0095] If d2 > d1, it is considered that the current peak is a true peak, and the next step is executed. Otherwise, it is considered a false peak and classified. Specifically: If vp(p t ) < vp(p t+1 ), then the peak corresponding to the index p t is considered a false peak and directly skipped; otherwise, the peak corresponding to the index p t+1 is considered a false peak, and the respiratory data of the peak corresponding to the index p t+1 is directly deleted;

[0096] Repeat this step until all potential peaks are traversed;

[0097] (52) Identify false troughs;

[0098] Calculate the interval d3 = vt(t t+1 ) - vt(t t ) between the trough and peak of adjacent indices (i.e., adjacent peak and trough), and the interval d4 = vt(t t+1 ) - vt(t t ) between the troughs of adjacent indices (i.e., adjacent troughs). If d4 > d3, it is considered that the trough corresponding to the index t t is a true trough, and the next step is executed. Otherwise, it is considered a false trough and classified. Specifically:

[0099] If vp(t t ) > vp(t t+1 ), then the trough corresponding to the index t t is considered a false trough and directly skipped; otherwise, the trough corresponding to the index t t+1 is considered a false trough, and the respiratory data of the trough corresponding to the index t t+1 is directly deleted;

[0100] Repeat this step until all potential peaks and potential troughs are traversed;

[0101] (53) Take the remaining peaks and troughs after removing false peaks and false troughs in steps (51) and (52) as true peaks and true troughs;

[0102] After traversing the potential peaks and troughs, the true peaks and troughs corresponding to the indices of the respiratory data without mirror extension are the actual peak and trough values, as Figure 6 shown.

[0103] (6) Search for the end-expiratory pause phase;

[0104] The human body's inhalation time accounts for a smaller proportion than the exhalation time. Normal breathing has an exhalation dwell stage, and this stage may be skipped due to a fast breathing rhythm. Therefore, it is necessary to determine whether there is a relatively long exhalation dwell stage and identify it. Specifically, the partial respiratory data of the middle section between two adjacent peaks of the respiratory data obtained in step (5) are intercepted, and a histogram statistics is performed on the partial data, such as Figure 7 As shown, the histogram is counted with the respiratory amplitude as the ordinate and the sampling point frequency as the abscissa, and the number of histogram arrays is determined according to actual needs;

[0105] The sampling point frequency corresponding to each array bin in the histogram is N bin , the central value of the breathing amplitude is V bin , calculate the sampling point frequency N of the array with the largest sampling point frequency in the histogram maxbin and the central value V of the respiratory amplitude maxbin , with V maxbin <fac mag *range(V bin )+min(V bin ) and N maxbin >fac bin1 *T(N bin ) as the screening condition for the existence of the end-expiratory dwell stage. If the above conditions are not met, it is considered that the end-expiratory dwell stage to be identified does not exist, where range(V bin ) represents the amplitude range of the intercepted part of the respiratory data, fac mag Indicates the scaling factor of the amplitude in the histogram, and 0.3 is recommended; min(V bin ) represents the minimum value of the center value of all arrays of the histogram; T(N bin ) is a threshold value set according to the sampling frequency. The higher the sampling frequency, the larger the threshold value. In this application, the sampling frequency is 30 Hz, T(N bin ) is set to 5; fac bin1 The scaling factor representing the number of bins in the histogram array is recommended to be 0.9;

[0106] When the above conditions are met (i.e., there is an exhalation dwell phase that needs to be identified), the number of sampling points N for a certain array bin is bin Search upward in the histogram to find the number of bin >fac bin2 *N maxbin The center value T corresponding to the array bin bin As the threshold for respiratory data segmentation, fac bin2 Represents the scaling factor of the number of bins in the histogram array. It is recommended to take 0.75.bin All the respiratory data are recognized as the stage points at the end of exhalation, thereby obtaining the stage of staying at the end of exhalation, as Figure 8 shown;

[0107] (7) Guide the puncture;

[0108] After processing the patient's respiratory data through the above steps, a respiratory waveform of the patient with less interference can be obtained. Using this waveform to search for the stage of staying at the end of exhalation of the patient through step (6) and guiding the puncture accordingly can achieve a relatively precise puncture operation.

[0109] In the present invention, after obtaining the original respiratory data of the patient, outlier processing and reference calibration can be directly performed without alignment to directly identify the potential peaks and valleys therein; of course, outlier processing or reference calibration can also be performed, and then the potential peaks and valleys therein are identified. Although the effect is worse than the previous method, the technical effect of the present invention can also be achieved, and the technical problem to be solved by the present invention can be solved.

[0110] The present invention obtains effective signal features through filtering and noise reduction of the original one-dimensional data, eliminating linear trend to zero, peak-valley search and identification, and identification of the short pause point at the end of exhalation, and accordingly obtains a respiratory curve within a relatively accurate respiratory cycle for doctors to guide pulmonary puncture surgery and improve the surgical accuracy.

[0111] The preferred embodiments of the present invention have been described in detail above. However, the present invention is not limited to the specific details in the above embodiments. Within the scope of the technical concept of the present invention, various equivalent transformations (such as quantity, shape, position, etc.) can be made to the technical solution of the present invention, and these equivalent transformations all belong to the protection scope of the present invention.

Claims

1. A method for processing respiratory data, characterized in that: Including: Obtain the patient's respiratory data; Traverse the patient's respiratory data to identify potential peaks and troughs; Compare the intervals between adjacent peaks and troughs and the intervals between adjacent peaks. If the latter is greater than the former, the current peak is considered a true peak; otherwise, it is considered that there is a false peak. If the respiratory amplitude corresponding to the current peak is less than the respiratory amplitude corresponding to the next peak, the current peak is considered a false peak; Otherwise, the next peak is considered a false peak; directly delete the false peak; Compare the intervals between adjacent peaks and troughs and the intervals between adjacent troughs. If the latter is greater than the former, the current corresponding trough is considered a true trough; otherwise, it is considered that there is a false trough. If the respiratory amplitude corresponding to the current trough is greater than the respiratory amplitude corresponding to the next trough, the current trough is considered a false trough; Otherwise, the next trough is considered a false trough; directly delete the false trough; Obtain the true peaks and troughs of the patient's respiratory data; Identify the end-expiratory pause phase at the true trough.

2. The respiratory data processing method according to claim 1, wherein: Before identifying potential peaks and troughs, it includes an outlier detection and replacement step: Detected outlier X out The range is as follows: x i > Q3 + c*(IQR) ∪ x i < Q1 - c*(IQR) where x i represents the respiratory data at the i-th sampling point in the collected patient respiratory data, where i = 1, 2, …, n; n represents the total number of sampling points in the collected patient respiratory data; Q1 and Q3 respectively represent the first and third quartiles obtained by the interquartile range of the amplitude in the patient respiratory data; c is a threshold factor, c > 0, and IQR = Q3 - Q1; Interpolate and replace the outliers. The two endpoints of the outlier range are replaced by neighboring points, and the points within the outlier range are replaced by linear interpolation, as shown in the following formula: where k represents the k-th sampling point, and m represents the number of intermediate outlier points.

3. The respiratory data processing method according to claim 2, wherein: Before the outlier detection and replacement step, it includes a filtering step.

4. The respiratory data processing method according to any one of claims 1 to 3, characterized in that: Before identifying potential peaks and troughs, it also includes a baseline calibration step: Fit a first-order polynomial through the following formula; Obtain the linear trend: f(i) = w * i + b where w and b represent the coefficients of the first-order polynomial respectively; Perform baseline calibration on respiratory data: x i ′ = x i - f(i).

5. The respiratory data processing method according to claim 4, characterized in that: Specifically, traversing the patient's respiratory data to identify potential peaks and troughs is as follows: Set a number of sliding windows and the starting positions of the sliding windows according to the number of sampling points of the respiratory data. Use each sliding window to traverse the patient's respiratory data in turn. If the respiratory amplitude in the respiratory data of a certain sampling point meets the acceptance thresholds for peaks and troughs, it is considered a peak or a trough, so as to obtain the number of peaks and the number of troughs after each sliding window traverses the respiratory data; Calculate the increments of the number of peaks and the number of troughs obtained by each sliding window relative to the previous sliding window after traversing the respiratory data in turn, and calculate the average values of the respiratory amplitudes corresponding to the multiple peaks and multiple troughs corresponding to the increments, and use the average value of the two average values as the segmentation threshold; Take the peaks with respiratory amplitudes greater than the segmentation threshold in the respiratory data as potential peaks, and take the troughs with respiratory amplitudes less than the segmentation threshold in the respiratory data as potential troughs.

6. The respiratory data processing method according to claim 5, wherein: The acceptance threshold is calculated as follows: Calculate the mean M and the standard deviation S of the respiratory data, and set the peak acceptance threshold as T1 > M + S / 2, and the trough acceptance threshold as T2 < M - S / 2.

7. The respiratory data processing method according to claim 5, characterized in that: Set the sizes of each sliding window according to the Fibonacci sequence, and there is at least one sliding window with a size greater than the respiratory cycle.

8. The respiratory data processing method according to claim 5, characterized in that: It also includes a step of mirror expansion for the respiratory data: The size of the mirror expansion is the smaller value between the sampling size of the respiratory data and the size required to supplement the sliding window size when the sliding window traverses to the end of the respiratory data.

9. The respiratory data processing method according to claim 1, characterized in that: Specifically, identifying the end-expiratory pause phase at the true trough is as follows: Intercept the respiratory data in the middle section between two adjacent peaks, and conduct a histogram statistics with the respiratory amplitude as the ordinate and the sampling point frequency as the abscissa; The frequency of sampling points within the range of each array bin of a certain histogram is N bin and the central value of its respiratory amplitude is V bin , calculate the frequency N of the sampling points of the array with the largest frequency of sampling points in the histogram maxbin and the central value V of its respiratory amplitude maxbin , with V maxbin < fac mag * range(V bin ) + min(V bin ) and N maxbin > fac bin1 * T(N bin ) as the screening condition for the existence of the end-expiratory pause stage; where range(V bin ) represents the amplitude range of all intercepted partial respiratory data, fac mag represents the scaling factor of the amplitude in the histogram; min(V bin ) represents the minimum value of the central values of all arrays in the histogram; T(N bin ) is the threshold set according to the sampling frequency; fac bin1 represents the scaling factor of the number of array bins in the histogram; If the above conditions are not met, it is considered that there is no end-expiratory pause phase to be identified; If the above conditions are met, the number of sampling points N for a certain array bin bin Search upward in the histogram to obtain the N that satisfies bin >fac bin2 *N maxbin The central value T corresponding to the array bin where it is located bin As the threshold for respiratory data segmentation, fac bin2 Represents the scaling factor of the number of histogram array bins; any respiratory data with a respiratory amplitude less than T bin Is recognized as the stage point at the end of exhalation, thus obtaining the stage of staying at the end of exhalation.

Citation Information

Patent Citations

  • Method for improving recognition rate of respiratory wave

    US20070135726A1

  • KR1018007390000B1