2

I have a list of floats called self.data[_]['smooth_ISA'] I'm giving this list to peakutils.indexes() like this:

indexes = peakutils.indexes(self.data[_]['smooth_ISA'], thres=0.1, min_dist=50)

But I'm getting this error:

TypeError: only integer scalar arrays can be converted to a scalar index

What do you think is going on?

Thanks

Crawdad_Buckwheat
  • 313
  • 1
  • 4
  • 16

1 Answers1

1

In my case, I was able to get this to work by converting my data to a numpy array. There appears to be some change recently, in which you can't treat single scalar array as indexed array.

I was able to get this to work for me specifically by editing this within peak.py, approximately line 34.

    if isinstance(y, np.ndarray) and np.issubdtype(y.dtype, np.unsignedinteger):
        raise ValueError("y must be signed")
if isinstance(y, list):
        y = np.array(y)

I've also opened an issue.

His documentation for the function does specify that it should be:

y : ndarray (signed)
    1D amplitude data to search for peaks.

TypeError: only integer scalar arrays can be converted to a scalar index

Nathan Tuggy
  • 2,237
  • 27
  • 30
  • 38
will.mont
  • 81
  • 5