higher exponent

This commit is contained in:
Laura Klünder 2017-12-26 13:30:54 +01:00
parent 5d8af2ca1d
commit b28ae3341f

View file

@ -120,15 +120,15 @@ 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=(-90)**2, dtype=np.int32) self.levels = np.full((len(self.points), len(self.stations)), fill_value=(-90)**3, 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**2 self.levels[i][self.stations_lookup[station_id]] = value**3
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]**2 for station_id in station_ids), dtype=np.int32) values = np.array(tuple(scan_values[station_id]**3 for station_id in station_ids), dtype=np.int32)
scores = np.sum((self.levels[:, stations]-values)**2, axis=1) / len(stations) / (1.1**len(stations)) scores = np.sum((self.levels[:, stations]-values)**2, axis=1) / len(stations)
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]