The last few days I've been working on a script to manipulate some scientific data. One thing I would like to be able to do is find relative maxima in a data set.
I'm using numpy in python3 (which I think I can't do without because of utf16 encoding of my data source) and a series of np.arrays. When looking around the web and some forums I came across the scipy function argrelextrema, which seemed to do just what I wanted. The problem is that I can't get the function to work, probably because scipy in python3 does not yet support the argrelextrema function. I can however, not find a reference to this really being the problem, and was wondering if someone here could maybe help me out.
The code I used is shown below. The function to return the maximum values is called by a different script. Then, when running, it returns an error like the one below the code.
import numpy as np
import scipy as sp
def max_in_array_range(MaxArray, Column, LowBound):
"Finding the max value an array with a predefined in a certain column and from a threshold index.
The complete array is loaded through Max Array. The column is first selected.
The, the LowBound is called (the data is only interesting from a certain point onward."
TempArray = MaxArray[:, Column] # Creation of Temporary Array to ensure 1D Array and specification of the LowBound in the next line.
return sp.argrelextrema(TempArray[LowBound:], np.greater)
Traceback (most recent call last):
File "MyScript.py", line 15, in
Varrr = FD.max_in_array_range(CalcAndDiffArray, 5 ,MyBound)
File "/MyPath/Script.py", line 82, in max_in_array_range
return sp.argrelmax(TempArray[LowBound:], np.greater)
AttributeError: 'module' object has no attribute 'argrelmax'