Skip to content
Snippets Groups Projects
Commit 97f26b28 authored by Raphael's avatar Raphael
Browse files

data augmentation

parent 3e2895a4
No related branches found
No related tags found
2 merge requests!12version 0.2a,!10Resolve "Image creation bugs with 0 size windows"
class DataAugmentor:
def transform(self, X):
pass
from skais.ais.ais_trajectory import AISTrajectory
from skais.process.data_augmentation.data_augmentor import DataAugmentor
class Flip(DataAugmentor):
def __init__(self, meridian=None, parallel=None):
self.meridian = meridian
self.parallel = parallel
def transform(self, X):
result = []
for trajectory in X:
df = trajectory.df
df['latitude'] = -trajectory.df['latitude']
result.append(AISTrajectory(df))
return result
from skais.ais.ais_trajectory import AISTrajectory
from skais.process.data_augmentation.data_augmentor import DataAugmentor
class Translator(DataAugmentor):
def __init__(self, longitude, latitude):
self.longitude = longitude
self.latitude = latitude
def transform(self, X):
result = []
for trajectory in X:
df = trajectory.df
df['longitude'] = trajectory.df['longitude'] + self.longitude
result.append(AISTrajectory(df))
return result
\ No newline at end of file
import unittest
import pandas as pd
from skais.ais.ais_trajectory import AISTrajectory
from skais.process.data_augmentation.flip import Flip
class TestFlip(unittest.TestCase):
def setUp(self):
t1 = AISTrajectory(
pd.DataFrame(
{
'ts_sec': [i for i in range(10)],
'latitude': [45 + i for i in range(10)],
'longitude': [12 + i for i in range(10)]
}
)
)
t2 = AISTrajectory(
pd.DataFrame(
{
'ts_sec': [i for i in range(10)],
'latitude': [-12 + i for i in range(10)],
'longitude': [12 + i for i in range(10)]
}
)
)
self.trajectories = [t1, t2]
def test_flip_equator(self):
aug = Flip(0, None)
result = aug.transform(self.trajectories)
t1 = AISTrajectory(
pd.DataFrame(
{
'ts_sec': [i for i in range(10)],
'latitude': [-45 - i for i in range(10)],
'longitude': [12 + i for i in range(10)]
}
)
)
t2 = AISTrajectory(
pd.DataFrame(
{
'ts_sec': [i for i in range(10)],
'latitude': [12 - i for i in range(10)],
'longitude': [12 + i for i in range(10)]
}
)
)
expected = [t1,t2]
for t1, t2 in zip(result, expected):
pd.testing.assert_frame_equal(t1.df, t2.df)
if __name__ == '__main__':
unittest.main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment