Capture problems during data fitting.
This commit is contained in:
parent
32c95757c6
commit
7617958a1c
@ -326,6 +326,7 @@ class AICPicker(AutoPicker):
|
|||||||
dataslope = aicsmooth[pickindex: iaicmax]
|
dataslope = aicsmooth[pickindex: iaicmax]
|
||||||
# calculate slope as polynomal fit of order 1
|
# calculate slope as polynomal fit of order 1
|
||||||
xslope = np.arange(0, len(dataslope), 1)
|
xslope = np.arange(0, len(dataslope), 1)
|
||||||
|
try:
|
||||||
P = np.polyfit(xslope, dataslope, 1)
|
P = np.polyfit(xslope, dataslope, 1)
|
||||||
datafit = np.polyval(P, xslope)
|
datafit = np.polyval(P, xslope)
|
||||||
if datafit[0] >= datafit[-1]:
|
if datafit[0] >= datafit[-1]:
|
||||||
@ -334,6 +335,8 @@ class AICPicker(AutoPicker):
|
|||||||
self.slope = 1 / (len(dataslope) * self.Data[0].stats.delta) * (datafit[-1] - datafit[0])
|
self.slope = 1 / (len(dataslope) * self.Data[0].stats.delta) * (datafit[-1] - datafit[0])
|
||||||
# normalize slope to maximum of cf to make it unit independent
|
# normalize slope to maximum of cf to make it unit independent
|
||||||
self.slope /= aicsmooth[iaicmax]
|
self.slope /= aicsmooth[iaicmax]
|
||||||
|
except ValueError as e:
|
||||||
|
print("AICPicker: Problems with data fitting! {}".format(e))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.SNR = None
|
self.SNR = None
|
||||||
|
@ -270,8 +270,13 @@ def fmpicker(Xraw, Xfilt, pickwin, Pick, iplot=0, fig=None, linecolor='k'):
|
|||||||
islope1 = np.where((t >= Pick) & (t <= Pick + t[imax1]))
|
islope1 = np.where((t >= Pick) & (t <= Pick + t[imax1]))
|
||||||
# calculate slope as polynomal fit of order 1
|
# calculate slope as polynomal fit of order 1
|
||||||
xslope1 = np.arange(0, len(xraw[islope1]), 1)
|
xslope1 = np.arange(0, len(xraw[islope1]), 1)
|
||||||
|
try:
|
||||||
P1 = np.polyfit(xslope1, xraw[islope1], 1)
|
P1 = np.polyfit(xslope1, xraw[islope1], 1)
|
||||||
datafit1 = np.polyval(P1, xslope1)
|
datafit1 = np.polyval(P1, xslope1)
|
||||||
|
except ValueError as e:
|
||||||
|
print("fmpicker: Problems with data fit! {}".format(e))
|
||||||
|
print("Skip first motion determination!")
|
||||||
|
return FM
|
||||||
|
|
||||||
# now using filterd trace
|
# now using filterd trace
|
||||||
# next zero crossings after most likely pick
|
# next zero crossings after most likely pick
|
||||||
|
Loading…
Reference in New Issue
Block a user