Closed
Description
The adc
function reports a RuntimeWarning (at least in some cases) if the input array contains NaN values.
I'm currently looking at this case (expanded=True, inplace=False), though it looks like the other cases are also broken in various similar ways:
d_signal = []
for ch in range(self.n_sig):
# NAN locations for the channel
ch_nanlocs = np.isnan(self.e_p_signal[ch])
ch_d_signal = self.e_p_signal[ch].copy()
np.multiply(ch_d_signal, self.adc_gain[ch], ch_d_signal)
np.add(ch_d_signal, self.baseline[ch], ch_d_signal)
np.round(ch_d_signal, 0, ch_d_signal)
ch_d_signal = ch_d_signal.astype(intdtype, copy=False)
ch_d_signal[ch_nanlocs] = d_nans[ch]
d_signal.append(ch_d_signal)
The warning occurs here:
ch_d_signal = ch_d_signal.astype(intdtype, copy=False)
numpy is complaining, I assume, because you can't cast a NaN to an integer.
(Like many things to do with numpy and with this package), the above looks rather inefficient. Perhaps numpy.nan_to_num
could be used instead.
Metadata
Metadata
Assignees
Labels
No labels