(cfg, paf_graph)
| 110 | |
| 111 | |
| 112 | def validate_paf_graph(cfg, paf_graph): |
| 113 | multianimalbodyparts = extractindividualsandbodyparts(cfg)[2] |
| 114 | connected = set() |
| 115 | for bpt1, bpt2 in paf_graph: |
| 116 | connected.add(bpt1) |
| 117 | connected.add(bpt2) |
| 118 | unconnected = set(range(len(multianimalbodyparts))).difference(connected) |
| 119 | if unconnected and len(multianimalbodyparts) > 1: # for single bpt not important! |
| 120 | raise ValueError( |
| 121 | f"Unconnected {', '.join(multianimalbodyparts[i] for i in unconnected)}. " |
| 122 | f"For multi-animal projects, all multianimalbodyparts should be connected. " |
| 123 | f"Ideally there should be at least one (multinode) path from each multianimalbodyparts to each other" |
| 124 | f"multianimalbodyparts." |
| 125 | ) |
| 126 | |
| 127 | |
| 128 | def prune_paf_graph(list_of_edges, desired_n_edges=None, average_degree=None): |
nothing calls this directly
no test coverage detected