flaredetector: util: optimize: improve minima detection
This commit is contained in:
@@ -429,7 +429,9 @@ def getOptimizedFold(normalizedLC, preferedFoldedFitType):
|
||||
spotModulationBefore = spotModulation
|
||||
if(len(fitMaximaArgs) > 1):
|
||||
print("fitMaximaArgs > 1: ", fitMaximaArgs)
|
||||
if(len(fitMaximaArgs) == 2 and fitMaximaArgs[0] > len(phase)*0.1 and fitMaximaArgs[1] < len(phase)*0.1):
|
||||
print(fitMaximaArgs[0], len(phase)*0.1, fitMaximaArgs[1], len(phase)*0.9)
|
||||
print(fitMaximaArgs[0] > len(phase)*0.1, fitMaximaArgs[1] < len(phase)*0.9)
|
||||
if(len(fitMaximaArgs) == 2 and fitMaximaArgs[0] > len(phase)*0.1 and fitMaximaArgs[1] < len(phase)*0.9):
|
||||
halfPeriod = period/2
|
||||
for lsP, blsP in zip(lsPeriods, blsPeriods):
|
||||
if(abs(lsP.value - halfPeriod) < period*0.05):
|
||||
@@ -454,9 +456,23 @@ def getOptimizedFold(normalizedLC, preferedFoldedFitType):
|
||||
|
||||
fitMinimaArgs = argrelextrema(np.asarray(fit), np.less)[0]
|
||||
fitMinima = phase[0]
|
||||
fitMinimaArg = 0
|
||||
|
||||
newFitMinimaArgs = []
|
||||
for args in fitMinimaArgs:
|
||||
if(abs(phase[args]) < abs(fitMinima)):
|
||||
print("Phases: ", fit[0], fit[len(phase)-1], fit[args])
|
||||
if(fit[0] < fit[args] and fit[len(fit)-1] < fit[args]):
|
||||
print("Found new minima")
|
||||
newFitMinimaArgs.append(0)
|
||||
newFitMinimaArgs.append(args)
|
||||
|
||||
newFitMinimaArgs = set(newFitMinimaArgs)
|
||||
print(newFitMinimaArgs)
|
||||
|
||||
for args in newFitMinimaArgs:
|
||||
if(abs(phase[args]) < abs(fitMinima) and fit[args] < fit[fitMinimaArg]):
|
||||
fitMinima = phase[args]
|
||||
fitMinimaArg = args
|
||||
|
||||
if(abs(fitMinima) < phaseLength*0.01):
|
||||
isValid = True
|
||||
|
||||
Reference in New Issue
Block a user