Esempio n. 1
0
 def add_correspondences_from_tracks_manager(
         self, tracks_manager: pymap.TracksManager) -> None:
     for track_id in tracks_manager.get_track_ids():
         if track_id not in self.points:
             continue
         track_obs = tracks_manager.get_track_observations(track_id)
         for shot_id in track_obs.keys():
             if shot_id in self.shots:
                 observation = tracks_manager.get_observation(
                     shot_id, track_id)
                 self.add_observation(shot_id, track_id, observation)
Esempio n. 2
0
def as_graph(tracks_manager: pymap.TracksManager) -> nx.Graph:
    """Return the tracks manager as a bipartite graph (legacy)."""
    tracks = tracks_manager.get_track_ids()
    images = tracks_manager.get_shot_ids()

    graph = nx.Graph()
    for track_id in tracks:
        graph.add_node(track_id, bipartite=1)
    for shot_id in images:
        graph.add_node(shot_id, bipartite=0)
    for track_id in tracks:
        for im, obs in tracks_manager.get_track_observations(track_id).items():
            graph.add_edge(
                im,
                track_id,
                feature=obs.point,
                feature_scale=obs.scale,
                feature_id=obs.id,
                feature_color=obs.color,
                feature_segmentation=obs.segmentation,
                feature_instance=obs.instance,
            )
    return graph