@@ -338,13 +338,16 @@ def coord_to_label(subject_id, coord, label, hemi='lh', n_steps=30,
338
338
f .write ('%d %f %f %f 0.000000\n ' % (i , x , y , z ))
339
339
340
340
341
- def _get_subjects_dir (subjects_dir = None ):
341
+ def _get_subjects_dir (subjects_dir = None , raise_error = True ):
342
342
"""Get the subjects directory from parameter or environment variable
343
343
344
344
Parameters
345
345
----------
346
346
subjects_dir : str | None
347
347
The subjects directory.
348
+ raise_error : bool
349
+ If True, raise a ValueError if no value for SUBJECTS_DIR can be found
350
+ or the corresponding directory does not exist.
348
351
349
352
Returns
350
353
-------
@@ -359,13 +362,13 @@ def _get_subjects_dir(subjects_dir=None):
359
362
subjects_dir = os .environ ['SUBJECTS_DIR' ]
360
363
else :
361
364
subjects_dir = config .get ('options' , 'subjects_dir' )
362
- if subjects_dir == '' :
365
+ if raise_error and subjects_dir == '' :
363
366
raise ValueError ('The subjects directory has to be specified '
364
367
'using the subjects_dir parameter, the '
365
368
'SUBJECTS_DIR environment variable, or the '
366
369
'"subjects_dir" entry in the config file' )
367
370
368
- if not os .path .exists (subjects_dir ):
371
+ if raise_error and not os .path .exists (subjects_dir ):
369
372
raise ValueError ('The subjects directory %s does not exist.'
370
373
% subjects_dir )
371
374
@@ -374,7 +377,7 @@ def _get_subjects_dir(subjects_dir=None):
374
377
375
378
def has_fsaverage (subjects_dir = None ):
376
379
"""Determine whether the user has a usable fsaverage"""
377
- fs_dir = op .join (_get_subjects_dir (subjects_dir ), 'fsaverage' )
380
+ fs_dir = op .join (_get_subjects_dir (subjects_dir , False ), 'fsaverage' )
378
381
if not op .isdir (fs_dir ):
379
382
return False
380
383
if not op .isdir (op .join (fs_dir , 'surf' )):
0 commit comments