Region adjacency graph¶
Create a region adjacency graph (rag) of a vertex labelled graph. 

Create a region adjacency graph (rag) from a graph cut. 


Projects rag vertex weights onto original graph vertices. 

Projects rag edge weights onto original graph edges. 

Weights rag vertices by accumulating values from the vertex weights of the original graph. 

Weights rag edges by accumulating values from the edge weights of the original graph. 

make_region_adjacency_graph_from_labelisation
(graph, vertex_labels)[source]¶ Create a region adjacency graph (rag) of a vertex labelled graph. Each maximal connected set of vertices having the same label is a region. Each region is represented by a vertex in the rag. There is an edge between two regions of labels \(l_1\) and \(l_2\) in the rag iff there exists an edge linking two vertices of labels \(l_1\) and \(l_2\) int he original graph.
 Parameters
graph – input graph
vertex_labels – vertex labels on the input graph
 Returns
a region adjacency graph (Concept
CptRegionAdjacencyGraph
)

make_region_adjacency_graph_from_graph_cut
(graph, edge_weights)[source]¶ Create a region adjacency graph (rag) from a graph cut. Two vertices \(v_1\), \(v_2\) are in the same region if there exists a \(v_1v_2\)path composed of edges weighted 0. Each region is represented by a vertex in the rag. There is an edge between two regions of labels \(l_1\) and \(l_2\) in the rag iff there exists an edge linking two vertices of labels \(l_1\) and \(l_2\) int he original graph.
 Parameters
graph – input graph
edge_weights – edge weights on the input graph, non zero weights are part of the cut
 Returns
a region adjacency graph (Concept
CptRegionAdjacencyGraph
)

rag_back_project_vertex_weights
(graph, vertex_weights)[source]¶ Projects rag vertex weights onto original graph vertices. The result is an array weighting the vertices of the original graph of the rag such that: for any vertex \(v\) of the original graph, its weight is equal to the weight of the vertex of the rag that represents the region that contains \(v\).
For any vertex index \(i\), \(result[i] = rag\_vertex\_weight[rag\_vertex_map[i]]\)
 Parameters
graph – input region adjacency graph
vertex_weights – vertex weights on the input region adjacency graph
 Returns
vertex weights on the original graph

rag_back_project_edge_weights
(graph, edge_weights)[source]¶ Projects rag edge weights onto original graph edges. The result is an array weighting the edges of the original graph of the rag such that: for any edge \(e\) of the original graph, its weight is equal to the weight of the edge of the rag that represents that links the two regions containing the extremities of \(e\). If no such edge exists (if the extremities of \(e\) are in the same region), its value is 0.
For any edge index \(ei\), \(result[ei] = rag\_edge\_weight[rag\_edge\_map[ei]]\) if \(rag\_edge\_map[ei] != 1\) and 0 otherwise.
 Parameters
graph – input region adjacency graph
edge_weights – edge weights on the input region adjacency graph
 Returns
edge weights on the original graph

rag_accumulate_on_vertices
(rag, accumulator, vertex_weights)[source]¶ Weights rag vertices by accumulating values from the vertex weights of the original graph.
For any vertex index \(i\) of the rag, \(result[i] = accumulator(\{vertex\_weights[j]  rag\_vertex\_map[j] == i\})\)
 Parameters
rag – input region adjacency graph (Concept
RegionAdjacencyGraph
)vertex_weights – vertex weights on the original graph
accumulator – see
Accumulators
 Returns
vertex weights on the region adjacency graph

rag_accumulate_on_edges
(rag, accumulator, edge_weights)[source]¶ Weights rag edges by accumulating values from the edge weights of the original graph.
For any edge index \(ei\) of the rag, \(result[ei] = accumulate(\{edge\_weights[j]  rag\_edge\_map[j] == ei\})\)
 Parameters
rag – input region adjacency graph (Concept
RegionAdjacencyGraph
)edge_weights – edge weights on the original graph
accumulator – see
Accumulators
 Returns
edge weights on the region adjacency graph