2 GTSAM Copyright 2010-2019, Georgia Tech Research Corporation, 3 Atlanta, Georgia 30332-0415 6 See LICENSE for the license information 8 Unit tests for Disjoint Set Forest. 9 Author: Frank Dellaert & Varun Agrawal & John Lambert 13 from __future__
import print_function
16 from typing
import Tuple
18 from gtsam
import DSFMapIndexPair, IndexPair, IndexPairSetAsArray
23 """Tests for DSFMap.""" 26 """Test everything in DFSMap.""" 28 def key(index_pair) -> Tuple[int, int]:
29 return index_pair.i(), index_pair.j()
33 self.assertEqual(
key(dsf.find(pair1)),
key(pair1))
37 dsf.merge(pair1, pair2)
38 self.assertEqual(
key(dsf.find(pair1)),
key(dsf.find(pair2)))
41 """Ensure that pairs are merged correctly during Union-Find. 43 An IndexPair (i,k) representing a unique key might represent the 44 k'th detected keypoint in image i. For the data below, merging such 45 measurements into feature tracks across frames should create 2 distinct sets. 59 set_keys.append((val.i(), val.j()))
60 merged_sets.add(
tuple(set_keys))
64 ((0, 1), (1, 2), (3, 4)),
68 assert expected_sets == merged_sets
71 if __name__ ==
"__main__":
const gtsam::Symbol key('X', 0)
DSFMap< IndexPair > DSFMapIndexPair
IndexPairVector IndexPairSetAsArray(IndexPairSet &set)
Small utility class for representing a wrappable pairs of ints.