@@ -262,7 +262,7 @@ def __getitem__(self, slicer):
262
262
return h5f [self .dataset_name ][slicer ]
263
263
264
264
265
- class H5Geometry (ps .TriangularMesh , ps .CoordinateFamilyMixin ):
265
+ class H5Geometry (ps .CoordinateFamilyMixin , ps .TriangularMesh ):
266
266
"""Simple Geometry file structure that combines a single topology
267
267
with one or more coordinate sets
268
268
"""
@@ -274,8 +274,7 @@ def from_filename(klass, pathlike):
274
274
triangles = H5ArrayProxy (pathlike , '/topology' )
275
275
for name in h5f ['coordinates' ]:
276
276
coords [name ] = H5ArrayProxy (pathlike , f'/coordinates/{ name } ' )
277
- self = klass (next (iter (coords .values ())), triangles )
278
- self ._coords .update (coords )
277
+ self = klass (next (iter (coords .values ())), triangles , mapping = coords )
279
278
return self
280
279
281
280
def to_filename (self , pathlike ):
@@ -336,13 +335,12 @@ def triangles(self):
336
335
)
337
336
338
337
339
- class FreeSurferHemisphere (ps .TriangularMesh , ps .CoordinateFamilyMixin ):
338
+ class FreeSurferHemisphere (ps .CoordinateFamilyMixin , ps .TriangularMesh ):
340
339
@classmethod
341
340
def from_filename (klass , pathlike ):
342
341
path = Path (pathlike )
343
342
hemi , default = path .name .split ('.' )
344
- self = klass .from_object (FSGeometryProxy (path ))
345
- self ._coords [default ] = self .coordinates
343
+ self = klass .from_object (FSGeometryProxy (path ), name = default )
346
344
mesh_names = (
347
345
'orig' ,
348
346
'white' ,
@@ -353,10 +351,12 @@ def from_filename(klass, pathlike):
353
351
'midthickness' ,
354
352
'graymid' ,
355
353
) # Often created
354
+
356
355
for mesh in mesh_names :
357
- fpath = path .parent / f'{ hemi } .{ mesh } '
358
- if mesh not in self ._coords and fpath .exists ():
359
- self .add_coordinates (mesh , FSGeometryProxy (fpath ).coordinates )
356
+ if mesh != default :
357
+ fpath = path .parent / f'{ hemi } .{ mesh } '
358
+ if fpath .exists ():
359
+ self .add_coordinates (mesh , FSGeometryProxy (fpath ).coordinates )
360
360
return self
361
361
362
362
0 commit comments