diff --git a/main/flaredetector/flaredetector.py b/main/flaredetector/flaredetector.py index 9c17a12..c880960 100644 --- a/main/flaredetector/flaredetector.py +++ b/main/flaredetector/flaredetector.py @@ -7,3 +7,39 @@ def GaussExpo(x, Peak, l, w): res1 = res1[:peakX] res2 = Peak * np.exp(-l * x[peakX:]) return np.append(res1, res2) + + +def getFlareRange(flux, peakIndex): + minInd = -np.inf + maxInd = np.inf + + maxDelta = 0.005 + meanVal = 1 + maxBacklog = 20 + maxForwardlog = 100 + + deltaCount = 0 + delta = 100 + prevFlux = flux[peakIndex] + for i in range(peakIndex-1, peakIndex - maxBacklog, -1): + delta = prevFlux - flux[i] + if(delta < maxDelta and abs(flux[i] - meanVal) < maxDelta): + deltaCount += 1 + if(deltaCount > 3): + minInd = i + break + prevFlux = flux[i] + + deltaCount = 0 + delta = 100 + prevFlux = flux[peakIndex] + for i in range(peakIndex+1, peakIndex + maxForwardlog, 1): + delta = prevFlux - flux[i] + if(delta < maxDelta and abs(flux[i] - meanVal) < maxDelta): + deltaCount += 1 + if(deltaCount > 3): + maxInd = i + break + prevFlux = flux[i] + + return minInd, maxInd