@@ -43,7 +43,7 @@ export default class HilbertPeakDetector implements PeakDetector {
43
43
}
44
44
45
45
private padSignalIfNotPowerOfTwo ( ) {
46
- if ( ! this . signalLengthIsPowerOfTwo ) {
46
+ if ( ! this . passedSignalLengthIsPowerOfTwo ) {
47
47
this . padSignalToNextPowerOfTwo ( )
48
48
}
49
49
}
@@ -67,8 +67,8 @@ export default class HilbertPeakDetector implements PeakDetector {
67
67
protected setSignalBelowLowerEnvelopeToZero ( ) {
68
68
this . thresholdedSignal = this . passedSignal . slice ( )
69
69
70
- for ( let i = 0 ; i < this . signalLength ; i ++ ) {
71
- if ( this . lowerEnvelope [ i ] > this . signal [ i ] ) {
70
+ for ( let i = 0 ; i < this . passedSignalLength ; i ++ ) {
71
+ if ( this . lowerEnvelope [ i ] > this . unpaddedSignal [ i ] ) {
72
72
this . thresholdedSignal [ i ] = 0
73
73
}
74
74
}
@@ -79,7 +79,7 @@ export default class HilbertPeakDetector implements PeakDetector {
79
79
80
80
let currentSegment = this . createEmptySegment ( )
81
81
82
- for ( let i = 0 ; i < this . signalLength ; i ++ ) {
82
+ for ( let i = 0 ; i < this . passedSignalLength ; i ++ ) {
83
83
const value = this . thresholdedSignal [ i ]
84
84
const timestamp = this . timestamps [ i ]
85
85
@@ -126,25 +126,29 @@ export default class HilbertPeakDetector implements PeakDetector {
126
126
private removePadding ( signal : number [ ] ) {
127
127
return signal . slice (
128
128
this . numZerosToPadAtStart ,
129
- signal . length - this . numZerosToPadAtEnd
129
+ this . signalLength - this . numZerosToPadAtEnd
130
130
)
131
131
}
132
132
133
133
private get signalLength ( ) {
134
+ return this . signal . length
135
+ }
136
+
137
+ private get passedSignalLength ( ) {
134
138
return this . passedSignal . length
135
139
}
136
140
137
- private get signalLengthIsPowerOfTwo ( ) {
138
- return isPowerOfTwo ( this . signalLength )
141
+ private get passedSignalLengthIsPowerOfTwo ( ) {
142
+ return isPowerOfTwo ( this . passedSignalLength )
139
143
}
140
144
141
145
private get nextPowerOfTwo ( ) {
142
- const level = Math . log2 ( this . signalLength )
146
+ const level = Math . log2 ( this . passedSignalLength )
143
147
return Math . pow ( 2 , Math . ceil ( level ) )
144
148
}
145
149
146
150
private get totalZerosToPad ( ) {
147
- return this . nextPowerOfTwo - this . signalLength
151
+ return this . nextPowerOfTwo - this . passedSignalLength
148
152
}
149
153
150
154
private get numZerosToPadAtStart ( ) {
@@ -163,30 +167,34 @@ export default class HilbertPeakDetector implements PeakDetector {
163
167
return Array ( this . numZerosToPadAtEnd ) . fill ( 0 )
164
168
}
165
169
170
+ private get unpaddedSignal ( ) {
171
+ return this . removePadding ( this . signal )
172
+ }
173
+
166
174
private get upperAnalyticSignal ( ) {
167
175
return this . upperHilbert . analyticSignal
168
176
}
169
177
170
178
private get upperEnvelope ( ) {
171
- return this . removePadding ( this . upperHilbert . envelope )
179
+ return this . upperHilbert . envelope
172
180
}
173
181
174
182
private get lowerAnalyticSignal ( ) {
175
- return this . removePadding ( this . lowerHilbert . analyticSignal )
183
+ return this . lowerHilbert . analyticSignal
176
184
}
177
185
178
186
private get lowerEnvelope ( ) {
179
- return this . removePadding ( this . lowerHilbert . envelope )
187
+ return this . lowerHilbert . envelope
180
188
}
181
189
182
190
private get results ( ) {
183
191
return {
184
192
filteredSignal : this . passedSignal ,
185
193
timestamps : this . timestamps ,
186
194
upperAnalyticSignal : this . removePadding ( this . upperAnalyticSignal ) ,
187
- upperEnvelope : this . upperEnvelope ,
188
- lowerAnalyticSignal : this . lowerAnalyticSignal ,
189
- lowerEnvelope : this . lowerEnvelope ,
195
+ upperEnvelope : this . removePadding ( this . upperEnvelope ) ,
196
+ lowerAnalyticSignal : this . removePadding ( this . lowerAnalyticSignal ) ,
197
+ lowerEnvelope : this . removePadding ( this . lowerEnvelope ) ,
190
198
thresholdedSignal : this . thresholdedSignal ,
191
199
nonZeroSegments : this . nonZeroSegments ,
192
200
peaks : this . peaks ,
0 commit comments