Skip to content
Snippets Groups Projects
Commit 1df048b1 authored by Raphael Sturgis's avatar Raphael Sturgis
Browse files

Merge branch '20-get-time-windows-for-labels' into 'develop'

Resolve "Get time windows for labels"

See merge request !8
parents 58ca07aa 9d067463
Branches
Tags
3 merge requests!12version 0.2a,!10Resolve "Image creation bugs with 0 size windows",!8Resolve "Get time windows for labels"
pandas~=1.1.5
setuptools~=57.0.0
numpy~=1.19.5
numba~=0.53.1
numba>0.53.1
scipy~=1.5.4
hmmlearn~=0.2.6
scikit-learn~=1.0.1
......
......@@ -214,3 +214,12 @@ class AISTrajectory(AISPoints):
return self
else:
return AISTrajectory(new_df, mmsi=self.mmsi)
def get_time_per_label_shift(self, label_column='label'):
current_label = -1
result = []
for index, row in self.df.iterrows():
if current_label != row[label_column]:
current_label = row[label_column]
result.append((row['ts_sec'], current_label))
return result
\ No newline at end of file
......@@ -334,3 +334,48 @@ class TestAISTrajectory(unittest.TestCase):
expected = np.array([2, 2, 2, 2, 2])
np.testing.assert_equal(result, expected)
def test_get_time_per_label_shift_single_label(self):
trajectory = AISTrajectory(
pd.DataFrame(
{
"label": [1 for _ in range(0, 101, 10)],
"ts_sec": [i for i in range(0, 6001, 600)]
}
)
)
result = trajectory.get_time_per_label_shift()
expected = [(0, 1)]
self.assertListEqual(result, expected)
def test_get_time_per_label_shift_label_switch_1(self):
trajectory = AISTrajectory(
pd.DataFrame(
{
"label": [1 for _ in range(11)] + [2 for _ in range(10)],
"ts_sec": [i for i in range(0, 12001, 600)]
}
)
)
result = trajectory.get_time_per_label_shift()
expected = [(0, 1), (6600, 2)]
self.assertListEqual(result, expected)
def test_get_time_per_label_shift_label_switch_2(self):
trajectory = AISTrajectory(
pd.DataFrame(
{
"label": [1 for _ in range(11)] + [2 for _ in range(10)]+ [1 for _ in range(10)],
"ts_sec": [i for i in range(0, 18001, 600)]
}
)
)
result = trajectory.get_time_per_label_shift()
expected = [(0, 1), (6600, 2), (12600, 1)]
self.assertListEqual(result, expected)
\ No newline at end of file
from sklearn.metrics.pairwise import haversine_distances
import numpy as np
from numba import jit
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment