Commit fda712fa authored by acpaquette's avatar acpaquette Committed by GitHub
Browse files

General fix to autocnet (#409)

* Closed sessions where necessary

* Changed any instance of accessing node to nodes
parent 37298615
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ def identify_potential_overlaps(cg, cn, overlap=True):
        # Determine whether a 'real' lat/lon are to be used and reproject
        if overlap:
            row = p.iloc[0]
            lat, lon = cg.node[row.image_index]['data'].geodata.pixel_to_latlon(
            lat, lon = cg.nodes[row.image_index]['data'].geodata.pixel_to_latlon(
                row.x, row.y)
        else:
            lat, lon = 0, 0
+1 −4
Original line number Diff line number Diff line
@@ -859,9 +859,7 @@ class NetworkEdge(Edge):
        df.index.name = 'id'
        # Explicit close to get the session cleaned up
        session.close()
        return DbDataFrame(df,
                           parent=self,
                           name='matches')
        return DbDataFrame(df,  parent=self, name='matches')

    @matches.setter
    def matches(self, v):
@@ -919,7 +917,6 @@ class NetworkEdge(Edge):
        session.query(Matches).filter(Matches.source == self.source['node_id'], Matches.destination == self.destination['node_id']).delete()
        session.commit()
        session.close()
        return

    @property
    def ring(self):
+3 −3
Original line number Diff line number Diff line
@@ -145,7 +145,7 @@ class CandidateGraph(nx.Graph):
        if sorted(self.nodes()) != sorted(other.nodes()):
            return False
        for node in self.nodes:
            if not self.node[node] == other.node[node]:
            if not self.nodes[node] == other.nodes[node]:
                return False
        if sorted(self.edges()) != sorted(other.edges()):
            return False
@@ -294,7 +294,7 @@ class CandidateGraph(nx.Graph):


        """
        return self.node[node_index]['data']['image_name']
        return self.nodes[node_index]['data']['image_name']

    def get_matches(self, clean_keys=[]):
        matches = []
@@ -385,7 +385,7 @@ class CandidateGraph(nx.Graph):
            # Grab node ids & create edge obj
            s_id = self.graph["node_name_map"][u]
            d_id = self.graph["node_name_map"][v]
            new_edge = Edge(self.node[s_id]["data"], self.node[d_id]["data"])
            new_edge = Edge(self.nodes[s_id]["data"], self.nodes[d_id]["data"])
            # Prepare data for networkx
            u = s_id
            v = d_id
+13 −13
Original line number Diff line number Diff line
@@ -88,9 +88,9 @@ def candidategraph(node_a, node_b, node_c):
    cg.get_matches = MagicMock(return_value=matches)

    # Mock in the node objects onto the candidate graph
    cg.node[0]['data'] = node_a
    cg.node[1]['data'] = node_b
    cg.node[2]['data'] = node_c
    cg.nodes[0]['data'] = node_a
    cg.nodes[1]['data'] = node_b
    cg.nodes[2]['data'] = node_c

    return cg

@@ -142,7 +142,7 @@ def test_add_node(reduced_geo):
                                    image_path=os.path.join(basepath, c),
                                    node_id=3))
    assert len(reduced_geo.nodes) == 3
    assert reduced_geo.node[3]["data"]["image_name"] == c
    assert reduced_geo.nodes[3]["data"]["image_name"] == c

def test_add_node_by_name(reduced_geo):
    # Test with "image_name" (cg method)
@@ -150,8 +150,8 @@ def test_add_node_by_name(reduced_geo):
    basepath = get_path('Apollo15')
    reduced_geo.add_node(image_name=c, basepath=basepath)
    assert len(reduced_geo.nodes) == 3
    assert reduced_geo.node[3]["data"]["image_name"] == c
    assert reduced_geo.node[1].keys() == reduced_geo.node[2].keys() == reduced_geo.node[3].keys()
    assert reduced_geo.nodes[3]["data"]["image_name"] == c
    assert reduced_geo.nodes[1].keys() == reduced_geo.nodes[2].keys() == reduced_geo.nodes[3].keys()

def test_add_node_nonexistent(geo_graph):
    # Test when "image_name" not found
@@ -170,12 +170,12 @@ def test_add_edge():
    g.add_node(image_name=c, basepath=basepath, adjacency=c_adj)

    assert len(g.edges) == 3
    assert g.edges[1, 2]["data"].source == g.node[1]["data"]
    assert g.edges[1, 2]["data"].destination == g.node[2]["data"]
    assert g.edges[1, 3]["data"].source == g.node[1]["data"]
    assert g.edges[1, 3]["data"].destination == g.node[3]["data"]
    assert g.edges[2, 3]["data"].source == g.node[2]["data"]
    assert g.edges[2, 3]["data"].destination == g.node[3]["data"]
    assert g.edges[1, 2]["data"].source == g.nodes[1]["data"]
    assert g.edges[1, 2]["data"].destination == g.nodes[2]["data"]
    assert g.edges[1, 3]["data"].source == g.nodes[1]["data"]
    assert g.edges[1, 3]["data"].destination == g.nodes[3]["data"]
    assert g.edges[2, 3]["data"].source == g.nodes[2]["data"]
    assert g.edges[2, 3]["data"].destination == g.nodes[3]["data"]
    assert g.edges[1, 2].keys() == g.edges[1, 3].keys() == g.edges[2, 3].keys()

def test_add_edge_missing_img(reduced_geo):
@@ -197,7 +197,7 @@ def test_equal(candidategraph):
    assert candidategraph != cg

    cg = copy.deepcopy(candidategraph)
    cg.node[0]['image_name'] = 'foo'
    cg.nodes[0]['image_name'] = 'foo'
    assert candidategraph != cg

    cg = copy.deepcopy(candidategraph)
+2 −2
Original line number Diff line number Diff line
@@ -138,8 +138,8 @@ def load(projectname):
            d = e['target']
            if s > d:
                s,d = d,s
            source = cg.node[s]['data']
            destination = cg.node[d]['data']
            source = cg.nodes[s]['data']
            destination = cg.nodes[d]['data']
            edge = Edge(source, destination)
            # Backwards compatible with nx 1.x proj files (64_apollo in examples)
            if 'data' in e.keys():
Loading