Skip to content

Commit

Permalink
Merge pull request #60 from chorus-ai/bg_wfdb_benchmark_all_nans
Browse files Browse the repository at this point in the history
Benchmarking - handle all NaN signal for WFDB `write_waveform` format
  • Loading branch information
briangow committed May 10, 2024
2 parents ac7cade + a1e8f7c commit b8d36f6
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions waveform_benchmark/formats/wfdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,15 @@ def write_waveforms(self, path, waveforms):
sig_samples[start:end] = chunk['samples']
sig_gain = max(sig_gain, chunk['gain'])

sample_min = numpy.nanmin(sig_samples)
sample_max = numpy.nanmax(sig_samples)
sig_baseline = round(-sig_gain * (sample_min + sample_max) / 2)
# Determine the minimum and maximum non-NaN sample values.
# (nanmin and nanmax will give a warning if all values are NaN.)
sample_min = numpy.fmin.reduce(sig_samples)
sample_max = numpy.fmax.reduce(sig_samples)
if numpy.isnan(sample_min):
sig_baseline = 0
else:
sig_baseline = round(-sig_gain * (sample_min + sample_max) / 2)

adc_gain.append(sig_gain)
baseline.append(sig_baseline)
e_p_signal.append(sig_samples)
Expand Down

0 comments on commit b8d36f6

Please sign in to comment.