Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_write_read_integrity(self):
result_out = Result()
result_out.add_np_array("test-array", np.ones(1000))
result_out.add_info({"name": "test", "number": 666})
result_out.add_trajectory("traj", helpers.fake_trajectory(1000, 0.1))
file_interface.save_res_file(self.mock_file, result_out)
result_in = file_interface.load_res_file(self.mock_file,
load_trajectories=True)
self.assertEqual(result_in, result_out)
def test_write_read_integrity(self):
traj_out = helpers.fake_trajectory(1000, 0.1)
self.assertTrue(traj_out.check())
file_interface.write_tum_trajectory_file(self.mock_file, traj_out)
self.mock_file.seek(0)
traj_in = file_interface.read_tum_trajectory_file(self.mock_file)
self.assertIsInstance(traj_in, PoseTrajectory3D)
self.assertTrue(traj_in.check())
self.assertTrue(traj_out == traj_in)
def test_with_bom(self):
tmp_file = tempfile.NamedTemporaryFile(delete=False)
with open(tmp_file.name, 'wb') as f:
f.write(b"\xef\xbb\xbf")
self.assertTrue(file_interface.has_utf8_bom(tmp_file.name))
def test_write_read_integrity(self):
import rosbag
tmp_file = tempfile.NamedTemporaryFile(delete=False)
bag_out = rosbag.Bag(tmp_file.name, 'w')
traj_out = helpers.fake_trajectory(1000, 0.1)
self.assertTrue(traj_out.check())
file_interface.write_bag_trajectory(bag_out, traj_out, "/test",
frame_id="map")
bag_out.close()
bag_in = rosbag.Bag(tmp_file.name, 'r')
traj_in = file_interface.read_bag_trajectory(bag_in, "/test")
self.assertIsInstance(traj_in, PoseTrajectory3D)
self.assertTrue(traj_in.check())
self.assertTrue(traj_out == traj_in)
self.assertEqual(traj_in.meta["frame_id"], "map")
def test_too_many_columns(self):
self.mock_file.write(u"1 2 3 4 5 6 7 8 9 10 11 12 13")
self.mock_file.seek(0)
with self.assertRaises(file_interface.FileInterfaceException):
file_interface.read_kitti_poses_file(self.mock_file)
def test_write_read_integrity(self):
traj_out = helpers.fake_path(1000)
self.assertTrue(traj_out.check())
file_interface.write_kitti_poses_file(self.mock_file, traj_out)
self.mock_file.seek(0)
traj_in = file_interface.read_kitti_poses_file(self.mock_file)
self.assertIsInstance(traj_in, PosePath3D)
self.assertTrue(traj_in.check())
self.assertTrue(traj_out == traj_in)
def load_results_as_dataframe(result_files, use_filenames=False, merge=False):
import pandas as pd
from evo.tools import pandas_bridge
from evo.tools import file_interface
if merge:
from evo.core.result import merge_results
results = [file_interface.load_res_file(f) for f in result_files]
return pandas_bridge.result_to_df(merge_results(results))
df = pd.DataFrame()
for result_file in result_files:
result = file_interface.load_res_file(result_file)
name = result_file if use_filenames else None
df = pd.concat([df, pandas_bridge.result_to_df(result, name)],
axis="columns")
return df
def load_trajectories(args):
from evo.core import sync
from evo.tools import file_interface
if args.subcommand == "tum":
traj_ref = file_interface.read_tum_trajectory_file(args.ref_file)
traj_est = file_interface.read_tum_trajectory_file(args.est_file)
ref_name, est_name = args.ref_file, args.est_file
elif args.subcommand == "kitti":
traj_ref = file_interface.read_kitti_poses_file(args.ref_file)
traj_est = file_interface.read_kitti_poses_file(args.est_file)
ref_name, est_name = args.ref_file, args.est_file
elif args.subcommand == "euroc":
traj_ref = file_interface.read_euroc_csv_trajectory(args.state_gt_csv)
traj_est = file_interface.read_tum_trajectory_file(args.est_file)
ref_name, est_name = args.state_gt_csv, args.est_file
elif args.subcommand == "bag":
import os
logger.debug("Opening bag file " + args.bag)
if not os.path.exists(args.bag):
raise file_interface.FileInterfaceException(
"File doesn't exist: {}".format(args.bag))
import rosbag
bag = rosbag.Bag(args.bag, 'r')
try:
traj_ref = file_interface.read_bag_trajectory(bag, args.ref_topic)
traj_est = file_interface.read_bag_trajectory(bag, args.est_topic)
ref_name, est_name = args.ref_topic, args.est_topic
finally:
bag.close()