AnatomicMaps / flatmap-maker

Make anatomical flatmaps from SVG diagrams, Powerpoint slides, and other sources.
Apache License 2.0
2 stars 6 forks source link

KeyError when generating mouse flatmap #23

Open keeran97 opened 1 year ago

keeran97 commented 1 year ago

When generating the mouse flatmap with SCKAN neuron knowledge, mapmaker crashes with a KeyError message. The error can be found below. The files that produce this message are at the head of the keerans_changes branch, also found on the commit a36841b. The commit of files that will reproduce this issue has been tagged with v2.1.

the command line used to run mapmaker was: python runmaker.py --source ../flatmap-sources/new-mouse/manifest.json --output ../flatmaps --verbose --background-tiles --debug --log log-files/LOG_410 --authoring

the error produced is: Traceback (most recent call last): File "/home/keeran/flatmap-maker/mapmaker/__main__.py", line 100, in main mapmaker.make() File "/home/keeran/flatmap-maker/mapmaker/maker.py", line 260, in make self.__flatmap.close() File "/home/keeran/flatmap-maker/mapmaker/flatmap/__init__.py", line 159, in close self.__resolve_connectivity() File "/home/keeran/flatmap-maker/mapmaker/flatmap/__init__.py", line 334, in __resolve_connectivity self.__map_properties.generate_connectivity(self.__feature_map) File "/home/keeran/flatmap-maker/mapmaker/properties/__init__.py", line 133, in generate_connectivity self.__pathways.generate_connectivity(self.__networks.values()) File "/home/keeran/flatmap-maker/mapmaker/properties/pathways.py", line 681, in generate_connectivity self.__route_network_connectivity(network) File "/home/keeran/flatmap-maker/mapmaker/properties/pathways.py", line 617, in __route_network_connectivity route_graphs[path.id] = network.route_graph_from_path(path) File "/home/keeran/flatmap-maker/mapmaker/routing/__init__.py", line 671, in route_graph_from_path return self.__route_graph_from_connectivity(path) File "/home/keeran/flatmap-maker/mapmaker/routing/__init__.py", line 1112, in __route_graph_from_connectivity terminal_graphs[terminal_node] = self.__terminal_graph(G, terminal_node, seen_terminals) File "/home/keeran/flatmap-maker/mapmaker/routing/__init__.py", line 938, in __terminal_graph walk_paths_from_node(start_node, start_dict) File "/home/keeran/flatmap-maker/mapmaker/routing/__init__.py", line 929, in walk_paths_from_node if 'upstream' in terminal_network.nodes[last_feature]: File "/home/keeran/.cache/pypoetry/virtualenvs/mapmaker-NDtPvMnW-py3.8/lib/python3.8/site-packages/networkx/classes/reportviews.py", line 194, in __getitem__ return self._nodes[n] KeyError: 'spinal_10-1'

note that this error only comes when the ApiNATOMY/SCKAN models have been added to the manifest. without this knowledge, the map does generate, but with plenty of error messages.