@@ -235,10 +235,6 @@ def __init__(self, tractogram, header=None):
235
235
and *mm* space where coordinate (0,0,0) refers to the center
236
236
of the voxel.
237
237
"""
238
- if header is None :
239
- header_rec = self .create_empty_header ()
240
- header = dict (zip (header_rec .dtype .names , header_rec [0 ]))
241
-
242
238
super (TrkFile , self ).__init__ (tractogram , header )
243
239
244
240
@classmethod
@@ -266,8 +262,9 @@ def is_correct_format(cls, fileobj):
266
262
return magic_number == cls .MAGIC_NUMBER
267
263
268
264
@classmethod
269
- def create_empty_header (cls ):
270
- """ Return an empty compliant TRK header. """
265
+ def _default_structarr (cls ):
266
+ """ Return an empty compliant TRK header as numpy structured array
267
+ """
271
268
header = np .zeros (1 , dtype = header_2_dtype )
272
269
273
270
# Default values
@@ -281,6 +278,13 @@ def create_empty_header(cls):
281
278
282
279
return header
283
280
281
+ @classmethod
282
+ def create_empty_header (cls ):
283
+ """ Return an empty compliant TRK header as dict
284
+ """
285
+ header_rec = cls ._default_structarr ()
286
+ return dict (zip (header_rec .dtype .names , header_rec ))
287
+
284
288
@classmethod
285
289
def load (cls , fileobj , lazy_load = False ):
286
290
""" Loads streamlines from a filename or file-like object.
@@ -388,7 +392,7 @@ def save(self, fileobj):
388
392
of the TRK header data).
389
393
"""
390
394
# Enforce little-endian byte order for header
391
- header = self .create_empty_header ().newbyteorder ('<' )
395
+ header = self ._default_structarr ().newbyteorder ('<' )
392
396
393
397
# Override hdr's fields by those contained in `header`.
394
398
for k , v in self .header .items ():
0 commit comments