Medical decision support system
A Support Vector Machine trained responsive to mean and median values of standard and Shannon energy for a plurality of time and frequency intervals within a heart cycles provides for detecting coronary artery disease (CAD). A quality of an auscultatory sound time-series vector is assessed responsive to a vector distance and angle thereof in relation to a median heart cycle vector.
1 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal, comprising:
a. receiving an electrographic signal from an electrocardiogram (ECG) sensor;
b. receiving at least one auscultatory sound signal responsive to a corresponding at least one auscultatory sound sensor operatively associated with a test-subject;
c. generating a feature set of data responsive to said at least one auscultatory sound signal, wherein said feature set of data provides for input to a support vector machine (SVM) that is pretrained to detect the cardiac condition, wherein the operation of generating said feature set of data comprises:
i. for each frequency interval of a plurality of frequency intervals:
a) bandpass filtering said at least one auscultatory sound signal so as to generate a corresponding time series of bandpass-filtered data;
b) segmenting said corresponding time series of bandpass-filtered data responsive to said electrographic signal so as to associate a plurality of heart-cycle time series with said corresponding time series of bandpass-filtered data, wherein each heart-cycle time series of said plurality of heart-cycle time series spans a single corresponding heart cycle;
c) identifying a start of an S 1 heart sound in each of said plurality of heart-cycle time series;
d) temporally aligning each of said plurality of heart-cycle time series with respect to said start of said S 1 heart sound therein;
e) identifying a longest said heart-cycle time series of said plurality of heart-cycle time series corresponding to a slowest heart cycle of a plurality of heart cycles that correspond to said plurality of heart-cycle time series;
f) for each relatively-shorter said heart-cycle time series of said plurality of heart-cycle time series that is shorter in duration than said longest said heart-cycle time series, temporally scaling and temporally interpolating said each relatively-shorter said heart-cycle time series so as to generate a corresponding temporally-scaled heart-cycle time series that is temporally synchronized with, and of the same length, as said longest said heart-cycle time series;
g) determining an average heart-cycle time series for said frequency interval, wherein each sample of said average heart-cycle time series is responsive to an average of corresponding samples of a) each said heart-cycle time series of said plurality of heart-cycle time series having said same length as said longest said heart-cycle time series and b) each said corresponding temporally-scaled heart-cycle time series associated with remaining said heart-cycle time series of said plurality of heart-cycle time series;
h) determining at least one energy time series selected from the group of energy time series consisting of a standard-energy time series determined from said average heart-cycle time series, and a Shannon-energy time series determined from said average heart-cycle time series, wherein each sample of said standard-energy time series is responsive to a sum squares of values of samples of said average heart-cycle time series for a subset of samples of said average heart-cycle time series within an associated time interval within said average heart-cycle time series, and each sample of said Shannon-energy time series is responsive to a sum of products for a subset of said samples of said average heart-cycle time series within an associated time interval within said average heart-cycle time series;
i) locating at least one first time interval within said average heart-cycle time series, wherein a temporal duration of each first time interval of said at least one first time interval is shorter than a temporal duration of said average heart-cycle time series, and each said first time interval is selected from the group of first time intervals consisting of an S 1 -heart-sound time interval, a systolic time interval, an S 2 -heart-sound time interval, a pre-S 3 -heart-sound time interval, an S 3 -heart-sound time interval, a diastasis time interval, and an S 4 -heart-sound time interval; and
j) determining a plurality of features of said feature set of data, wherein each feature of said plurality of features is selected from the group of energy measures consisting of a plurality of integrals of said standard-energy time series over a corresponding plurality of second time intervals, a plurality of mean values of said standard-energy time series over said corresponding plurality of second time intervals, a plurality of median values of said standard-energy time series over said corresponding plurality of second time intervals, a plurality of integrals of said Shannon-energy time series over said corresponding plurality of second time intervals, a plurality of mean values of said Shannon-energy time series over said corresponding plurality of second time intervals, and a plurality of median values of said Shannon-energy time series over said corresponding plurality of second time intervals, wherein each second time interval of said corresponding plurality of second time intervals is selected from the group of second time intervals consisting of the entirety of said at least one energy time series and said at least one first time interval; and
d. using said support vector machine (SVM) to generate an estimate of whether or not said test-subject exhibits said cardiac condition responsive to said feature set of data.
2 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 1 , wherein at least one said frequency interval of said plurality of frequency intervals is selected from the group of frequency intervals consisting of within the range of 1 Hz to 10 Hz, within the range of 11 Hz to 30 Hz, within the range of starting at between 3 Hz and 31 Hz and ending at 80 Hz, within the range of 81 Hz to 120 Hz, and within the range of 12 1 Hz to 1,000 Hz.
3 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 1 , wherein a start of each said time window is aligned with a corresponding sample of said at least one energy time series.
4 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 1 , wherein a start of said S 1 -heart-sound time interval is coincident with the beginning of said average heart-cycle time series, and an end of said S 1 -heart-sound time interval is responsive to a root of a quadratic equation model of an S 1 -heart-sound region of said average heart-cycle time series.
5 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 4 , wherein said end of said S 1 -heart-sound time interval is responsive to a second root of said quadratic equation model of said S 1 -heart-sound region of said average heart-cycle time series.
6 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 1 , wherein a start of said S 2 -heart-sound time interval is responsive to a first root of a quadratic equation model of an S 2 -heart-sound region of said average heart-cycle time series, and an end of said S 2 -heart-sound time interval is responsive to a second root of said quadratic equation model of said S 2 -heart-sound region of said average heart-cycle time series.
7 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 1 , wherein a start of said systolic time interval is coincident with the beginning of said average heart-cycle time series, and an end of said systolic time interval is coincident with the beginning of diastole in said average heart-cycle time series.
8 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 7 , wherein said beginning of said diastole in said average heart-cycle time series is responsive to a second root of a quadratic equation model of an S 2 -heart-sound region of said average heart-cycle time series.
9 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 1 , wherein a start of said S 4 -heart-sound time interval is assumed to occur at a point in time relative to the beginning of said average heart-cycle time series that is 80 percent of the duration of said average heart-cycle time series and an end of said S 4 -heart-sound time interval is coincident with the end of said average heart-cycle time series.
10 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 1 , wherein a start of said diastasis time interval is assumed to occur at a temporal offset relative to the beginning of said average heart-cycle time series, wherein said temporal offset is given in milliseconds by 350 plus 0.3 times the quantity (TRR-350), wherein said TRR is the duration of said average heart-cycle time series in milliseconds, and an end of said diastasis time interval is assumed to be coincident with a start of said S 4 -heart-sound time interval.
11 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 10 , wherein said start of said S 4 -heart-sound time interval is assumed to occur at a point in time relative to the beginning of said average heart-cycle time series that is 80 percent of the duration of said average heart-cycle time series.
12 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 1 , wherein a start of said S 3 -heart-sound time interval is assumed to occur at a first temporal offset prior to a start of said diastasis time interval, and an end of said S 3 -heart-sound time interval is assumed to occur at a second temporal offset after said start of said diastasis time interval, wherein said start of said diastasis time interval is assumed to occur at a third temporal offset relative to the beginning of said average heart-cycle time series, wherein said third temporal offset is given in milliseconds by 350 plus 0.3 times the quantity (TRR-350), wherein said TRR is the duration of said average heart-cycle time series in milliseconds.
13 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 12 , wherein said first temporal offset is within the range of 60 to 100 milliseconds, and said second temporal offset is within the range of 0 to 60 milliseconds.
14 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 1 , wherein a start of said pre-S 3 -heart-sound time interval is coincident with the beginning of diastole in said average heart-cycle time series, and an end of said pre-S 3 -heart-sound time interval is coincident with a start of said S 3 -heart-sound time interval.
15 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 14 , wherein said beginning of said diastole in said average heart-cycle time series is responsive to a second root of a quadratic equation model of an S 2 -heart-sound region of said average heart-cycle time series.
16 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 14 , wherein said start of said S 3 -heart-sound time interval is assumed to occur at a first temporal offset prior to a start of said diastasis time interval, said start of said diastasis time interval is assumed to occur at a second temporal offset relative to the beginning of said average heart-cycle time series, said second temporal offset is given in milliseconds by 350 plus 0.3 times the quantity (TRR-350), and said TRR is the duration of said average heart-cycle time series in milliseconds.
17 . A computer-implemented metho of detecting a cardiac condition from an auscultatory sound signal as recited in claim 16 , wherein said first temporal offset is within the range of 60 to 100 milliseconds.
18 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 1 , wherein each product of said sum of products of said Shannon-energy time series comprises a square of a value of a sample of said subset of samples of said average heart-cycle time series multiplied by a logarithm of said square of said value.
19 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 1 , further comprising:
a. repeating steps a-c of claim 1 for each training-test-subject of a plurality of training-test-subjects so as to generate a composite feature set of data, wherein said composite feature set of data comprises a composite of said feature set of data from said each training-test-subject of said plurality of training-test-subjects, a first non-null subset of said plurality of training-test-subjects is known a priori to exhibit said cardiac condition, and a remaining subset of said plurality of training-test-subjects is known a priori to not exhibit said cardiac condition;
b. for each said each training-test-subject of said plurality of training-test-subjects, including in said composite feature set of data an indication of whether or not said each training-test-subject exhibits said cardiac condition; and
c. training said support vector machine (SVM) with said composite feature set of data from said plurality of training-test-subjects so as to provide for estimating therewith whether or not a test-subject exhibits said cardiac condition responsive to a corresponding feature set of data associated with said test-subject for the same features as had been incorporated for each said each training-test-subject in said composite feature set of data.
20 . A computer-implemented method of detecting a cardiac condition from an auscultatory sound signal as recited in claim 19 , wherein the features incorporated in said feature set of data used in step d of claim 1 are the same features used in step c of claim 19 to train said support vector machine (SVM).
21 . A computer-implemented method of assessing the quality of an auscultatory sound signal for use in detecting a cardiac condition, comprising:
a. receiving an electrographic signal from an electrocardiogram (ECG) sensor;
b. receiving at least one auscultatory sound signal responsive to a corresponding at least one auscultatory sound sensor operatively associated with a test-subject;
c. segmenting said at least one auscultatory sound signal responsive to said electrographic signal so as to associate a plurality of heart-cycle time series with said at least one auscultatory sound signal, wherein each heart-cycle time series of said plurality of heart-cycle time series spans a single corresponding heart-cycle;
d. temporally aligning each of said plurality of heart-cycle time series with respect to a start of said single corresponding heart-cycle thereof;
e. identifying a longest said heart-cycle time series of said plurality of heart-cycle time series corresponding to a slowest heart-cycle of a plurality of heart-cycles that correspond to said plurality of heart-cycle time series;
f. for each relatively-shorter said heart-cycle time series of said plurality of heart-cycle time series that is shorter in duration than said longest said heart-cycle time series, forming a corresponding zero-padded heart-cycle time series from said each relatively-shorter said heart-cycle time series by also padding said each relatively-shorter said heart-cycle time series with a sufficient number of zero-valued samples at the end of said each relatively-shorter said heart-cycle time series so that a length of said corresponding zero-padded heart-cycle time series is the same as a length of said longest said heart-cycle time series;
g. determining a composite heart-cycle time series, wherein each sample of said composite heart-cycle time series is responsive to a composite of corresponding samples of a) each heart-cycle time series of said plurality of heart-cycle time series having the same said length as said longest said heart-cycle time series and b) each said corresponding zero-padded heart-cycle time series associated with remaining heart-cycle time series of said plurality of heart-cycle time series; and
h. assessing a quality of said at least one auscultatory sound signal responsive to said composite heart-cycle time series, wherein the operation of assessing said quality of said at least one auscultatory sound signal is responsive to a value of at least one scaler selected from the group of scalers consisting of a difference-vector magnitude and an angular deviation, wherein said difference-vector magnitude is responsive to a vector distance between a first vector responsive to said composite heart-cycle time series and a second vector responsive to one of said plurality of heart-cycle time series, wherein said second vector is responsive to a time series selected from the group of time series consisting of one of said longest said heart-cycle time series and one of said corresponding zero-padded heart-cycle time series, and said angular deviation is responsive to a vector angle between said first and second vectors.
22 . A computer-implemented method of assessing the quality of an auscultatory sound signal for use in detecting a cardiac condition as recited in claim 21 , wherein said composite heart-cycle time series comprises a median heart-cycle time series, and each sample of said median heart-cycle time series is responsive to a median of values of corresponding samples of a) each said heart-cycle time series of said plurality of heart-cycle time series having the same said length as said longest said heart-cycle time series and b) each said corresponding zero-padded heart-cycle time series associated with said remaining heart-cycle time series of said plurality of heart-cycle time series.
23 . A computer-implemented method of assessing the quality of an auscultatory sound signal for use in detecting a cardiac condition as recited in claim 21 , wherein a cosine of said vector angle is responsive to a dot product of said first and second vectors divided by a product of magnitudes of said first and second vectors.
24 . A computer-implemented method of assessing the quality of an auscultatory sound signal for use in detecting a cardiac condition as recited in claim 21 , further comprising for each said heart-cycle time series of said plurality of heart-cycle time series, causing a corresponding heart-cycle corresponding to said each said heart-cycle time series to be ignored in subsequent calculations if a corresponding said difference-vector magnitude is in excess of a corresponding difference-vector-magnitude threshold.
25 . A computer-implemented method of assessing the quality of an auscultatory sound signal for use in detecting a cardiac condition as recited in claim 21 , further comprising for each said heart-cycle time series of said plurality of heart-cycle time series, causing a corresponding heart-cycle corresponding to said each said heart-cycle time series to be ignored in subsequent calculations if a corresponding said angular deviation is in excess of a corresponding angular-deviation threshold.
26 . A computer-implemented method of assessing the quality of an auscultatory sound signal for use in detecting a cardiac condition as recited in claim 21 , further comprising assessing said quality of said at least one auscultatory sound signal responsive to a heart-cycle-duration deviation of at least one said heart-cycle time series of said plurality of heart-cycle time series.
27 . A computer-implemented method of assessing the quality of an auscultatory sound signal for use in detecting a cardiac condition as recited in claim 26 , wherein said heart-cycle-duration deviation is responsive to a temporal deviation selected from the group of temporal deviations consisting of a first temporal deviation relative to said longest said heart-cycle time series, a second temporal deviation relative to a length of any of said plurality of heart-cycle time series, a third temporal deviation relative to a mean length of said plurality of heart-cycle time series, and a fourth temporal deviation relative to a composite length of said plurality of heart-cycle time series.
28 . A computer-implemented method of assessing the quality of an auscultatory sound signal for use in detecting a cardiac condition as recited in claim 26 , further comprising for each said heart-cycle time series of said plurality of heart-cycle time series, causing a corresponding heart-cycle corresponding to said at least one said heart-cycle time series to be ignored in subsequent calculations if a corresponding said heart-cycle-duration deviation is in excess of a corresponding heart-cycle-duration-deviation threshold.