Rename directory applicationCode -> src
This commit is contained in:
43
src/util/CandidateEventsTS.py
Normal file
43
src/util/CandidateEventsTS.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import numpy as np
|
||||
|
||||
class CandidateEventsTS:
|
||||
def __init__(self, data, current_time, Mc, time_win, space_win=None):
|
||||
assert time_win > 0, f"Time windows is {time_win}, which should be a positive number"
|
||||
|
||||
self.data = data
|
||||
self.current_time = current_time
|
||||
self.Mc = Mc
|
||||
self.time_win = time_win
|
||||
self.space_win = space_win
|
||||
|
||||
def filter_by_time(self):
|
||||
indx = np.where((self.data[:, 4] > (self.current_time - self.time_win)) & (self.data[:, 4] <= self.current_time))[0]
|
||||
if len(indx) > 0:
|
||||
self.data = self.data[indx, :]
|
||||
else:
|
||||
self.data = []
|
||||
|
||||
def filter_by_magnitude(self):
|
||||
if self.Mc:
|
||||
indx = np.where(self.data[:, 5] > self.Mc)[0]
|
||||
if len(indx) > 0:
|
||||
self.data = self.data[indx, :]
|
||||
else:
|
||||
self.data = []
|
||||
|
||||
def filter_by_space(self):
|
||||
dist = np.sqrt(np.sum((self.data[:, 1:4] - self.data[-1, 1:4]) ** 2, axis=1))
|
||||
indx = np.where(dist < self.space_win)[0]
|
||||
if len(indx) > 0:
|
||||
self.data = self.data[indx, :]
|
||||
else:
|
||||
self.data = []
|
||||
|
||||
def filter_data(self):
|
||||
self.filter_by_time()
|
||||
if len(self.data) > 0:
|
||||
self.filter_by_magnitude()
|
||||
if len(self.data) > 0 and self.space_win:
|
||||
self.filter_by_space()
|
||||
|
||||
return self.data
|
||||
Reference in New Issue
Block a user