counteract quadratic signal drop
This commit is contained in:
parent
063a59006b
commit
8b2872866a
1 changed files with 3 additions and 3 deletions
|
@ -120,14 +120,14 @@ class LocatorSpace:
|
||||||
self.stations = tuple(self.stations_set)
|
self.stations = tuple(self.stations_set)
|
||||||
self.stations_lookup = {station_id: i for i, station_id in enumerate(self.stations)}
|
self.stations_lookup = {station_id: i for i, station_id in enumerate(self.stations)}
|
||||||
|
|
||||||
self.levels = np.full((len(self.points), len(self.stations)), fill_value=-100, dtype=np.int16)
|
self.levels = np.full((len(self.points), len(self.stations)), fill_value=(-90)**2, dtype=np.int32)
|
||||||
for i, point in enumerate(self.points):
|
for i, point in enumerate(self.points):
|
||||||
for station_id, value in point.values.items():
|
for station_id, value in point.values.items():
|
||||||
self.levels[i][self.stations_lookup[station_id]] = value
|
self.levels[i][self.stations_lookup[station_id]] = value**2
|
||||||
|
|
||||||
def get_best_point(self, scan_values, station_ids):
|
def get_best_point(self, scan_values, station_ids):
|
||||||
stations = tuple(self.stations_lookup[station_id] for station_id in station_ids)
|
stations = tuple(self.stations_lookup[station_id] for station_id in station_ids)
|
||||||
values = np.array(tuple(scan_values[station_id] for station_id in station_ids), dtype=np.int16)
|
values = np.array(tuple(scan_values[station_id]**2 for station_id in station_ids), dtype=np.int32)
|
||||||
scores = np.sum((self.levels[:, stations]-values)**2, axis=1)
|
scores = np.sum((self.levels[:, stations]-values)**2, axis=1)
|
||||||
best_point = np.argmin(scores).ravel()[0]
|
best_point = np.argmin(scores).ravel()[0]
|
||||||
return self.points[best_point], scores[best_point]
|
return self.points[best_point], scores[best_point]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue