Commit d520cc81ef2745566e73898269bc549f859382b4
1 parent
e971a699
Exists in
master
FIX: check coil mesh connection
Showing
1 changed file
with
24 additions
and
23 deletions
Show diff stats
invesalius/net/neuronavigation_api.py
... | ... | @@ -72,26 +72,27 @@ class NeuronavigationApi(metaclass=Singleton): |
72 | 72 | ) |
73 | 73 | |
74 | 74 | def update_coil_mesh(self, polydata): |
75 | - wrapped = dataset_adapter.WrapDataObject(polydata) | |
76 | - | |
77 | - points = np.asarray(wrapped.Points) | |
78 | - polygons_raw = np.asarray(wrapped.Polygons) | |
79 | - | |
80 | - # The polygons are returned as 1d-array of the form | |
81 | - # | |
82 | - # [n_0, id_0(0), id_0(1), ..., id_0(n_0), | |
83 | - # n_1, id_1(0), id_1(1), ..., id_1(n_1), | |
84 | - # ...] | |
85 | - # | |
86 | - # where n_i is the number of vertices in polygon i, and id_i's are indices to the vertex list. | |
87 | - # | |
88 | - # Assert that all polygons have an equal number of vertices, reshape the array, and drop n_i's. | |
89 | - # | |
90 | - assert np.all(polygons_raw[0::self.N_VERTICES_IN_POLYGON + 1] == self.N_VERTICES_IN_POLYGON) | |
91 | - | |
92 | - polygons = polygons_raw.reshape(-1, self.N_VERTICES_IN_POLYGON + 1)[:, 1:] | |
93 | - | |
94 | - self.connection.update_coil_mesh( | |
95 | - points=points, | |
96 | - polygons=polygons, | |
97 | - ) | |
75 | + if self.connection is not None: | |
76 | + wrapped = dataset_adapter.WrapDataObject(polydata) | |
77 | + | |
78 | + points = np.asarray(wrapped.Points) | |
79 | + polygons_raw = np.asarray(wrapped.Polygons) | |
80 | + | |
81 | + # The polygons are returned as 1d-array of the form | |
82 | + # | |
83 | + # [n_0, id_0(0), id_0(1), ..., id_0(n_0), | |
84 | + # n_1, id_1(0), id_1(1), ..., id_1(n_1), | |
85 | + # ...] | |
86 | + # | |
87 | + # where n_i is the number of vertices in polygon i, and id_i's are indices to the vertex list. | |
88 | + # | |
89 | + # Assert that all polygons have an equal number of vertices, reshape the array, and drop n_i's. | |
90 | + # | |
91 | + assert np.all(polygons_raw[0::self.N_VERTICES_IN_POLYGON + 1] == self.N_VERTICES_IN_POLYGON) | |
92 | + | |
93 | + polygons = polygons_raw.reshape(-1, self.N_VERTICES_IN_POLYGON + 1)[:, 1:] | |
94 | + | |
95 | + self.connection.update_coil_mesh( | |
96 | + points=points, | |
97 | + polygons=polygons, | |
98 | + ) | ... | ... |