Fix unwrapped SfmTrack2d, and instantiate generator before calling its method

release/4.3a0
senselessdev1 2022-07-16 01:23:54 -04:00
parent 629b9cd955
commit 2434d3a41e
3 changed files with 21 additions and 13 deletions

View File

@ -104,8 +104,8 @@ class DsfTrackGenerator
// set elements from camera index of a detection and the index of that detection in that camera's keypoint list,
// i.e. (i,k).
std::vector<SfmTrack2d> generate_tracks_from_pairwise_matches(
const MatchIndicesMap matches_dict,
const KeypointsList keypoints_list)
const MatchIndicesMap& matches_dict,
const KeypointsList& keypoints_list)
{
std::vector<SfmTrack2d> track_2d_list;

View File

@ -43,11 +43,19 @@ class Keypoints
}; // check if this should be a method
class SfmTrack2d
{
void addMeasurement(const gtsam::NamedSfmMeasurement &m);
std::vector<gtsam::NamedSfmMeasurement> measurements();
bool validate_unique_cameras();
};
class DsfTrackGenerator {
DsfTrackGenerator();
std::vector<SfmTrack2d> generate_tracks_from_pairwise_matches(
const gtsam::MatchIndicesMap matches_dict,
const gtsam::KeypointsList keypoints_list);
std::vector<gtsam::SfmTrack2d> generate_tracks_from_pairwise_matches(
const gtsam::MatchIndicesMap& matches_dict,
const gtsam::KeypointsList& keypoints_list);
};

View File

@ -1,4 +1,4 @@
"""
"""Unit tests for track generation using a Disjoint Set Forest data structure.
Authors: John Lambert
"""
@ -17,9 +17,9 @@ class TestDsfTrackGenerator(GtsamTestCase):
def test_track_generation(self) -> None:
"""Ensures that DSF generates two tracks from measurements in 3 images (H=200,W=400)."""
kps_i0 = Keypoints(coordinates=np.array([[10.,20],[30,40]]))
kps_i1 = Keypoints(coordinates=np.array([[50.,60],[70,80],[90,100]]))
kps_i2 = Keypoints(coordinates=np.array([[110.,120],[130,140]]))
kps_i0 = Keypoints(coordinates=np.array([[10.0, 20], [30, 40]]))
kps_i1 = Keypoints(coordinates=np.array([[50.0, 60], [70, 80], [90, 100]]))
kps_i2 = Keypoints(coordinates=np.array([[110.0, 120], [130, 140]]))
keypoints_list = KeypointsList()
keypoints_list.append(kps_i0)
@ -30,6 +30,6 @@ class TestDsfTrackGenerator(GtsamTestCase):
matches_dict = MatchIndicesMap()
matches_dict[(0, 1)] = np.array([[0, 0], [1, 1]])
matches_dict[(1, 2)] = np.array([[2, 0], [1, 1]])
import pdb; pdb.set_trace()
tracks = DsfTrackGenerator.generate_tracks_from_pairwise_matches(matches_dict, keypoints_list)
tracks = DsfTrackGenerator().generate_tracks_from_pairwise_matches(matches_dict, keypoints_list)
print(tracks[0])