Skip to content

Commit 1f92bd5

Browse files
authored
Merge pull request #1 from vferat/fix/mne_watershed_bem
Fix/mne watershed bem
2 parents 8129ff4 + 6f71654 commit 1f92bd5

File tree

1 file changed

+63
-49
lines changed

1 file changed

+63
-49
lines changed

nipype/interfaces/mne/base.py

Lines changed: 63 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,92 @@
11
# -*- coding: utf-8 -*-
2-
from __future__ import (print_function, division, unicode_literals,
3-
absolute_import)
2+
from __future__ import print_function, division, unicode_literals, absolute_import
43
from builtins import str, bytes
54

65
import os.path as op
76
import glob
87

98
from ... import logging
109
from ...utils.filemanip import simplify_list
11-
from ..base import (traits, File, Directory, TraitedSpec, OutputMultiPath)
10+
from ..base import traits, File, Directory, TraitedSpec, OutputMultiPath
1211
from ..freesurfer.base import FSCommand, FSTraitedSpec
1312

14-
iflogger = logging.getLogger('nipype.interface')
13+
iflogger = logging.getLogger("nipype.interface")
1514

1615

1716
class WatershedBEMInputSpec(FSTraitedSpec):
1817
subject_id = traits.Str(
19-
argstr='--subject %s',
18+
argstr="--subject %s",
2019
mandatory=True,
21-
desc='Subject ID (must have a complete Freesurfer directory)')
20+
desc="Subject ID (must have a complete Freesurfer directory)",
21+
)
2222
subjects_dir = Directory(
2323
exists=True,
2424
mandatory=True,
2525
usedefault=True,
26-
desc='Path to Freesurfer subjects directory')
26+
desc="Path to Freesurfer subjects directory",
27+
)
2728
volume = traits.Enum(
28-
'T1',
29-
'aparc+aseg',
30-
'aseg',
31-
'brain',
32-
'orig',
33-
'brainmask',
34-
'ribbon',
35-
argstr='--volume %s',
29+
"T1",
30+
"aparc+aseg",
31+
"aseg",
32+
"brain",
33+
"orig",
34+
"brainmask",
35+
"ribbon",
36+
argstr="--volume %s",
3637
usedefault=True,
37-
desc='The volume from the "mri" directory to use (defaults to T1)')
38+
desc='The volume from the "mri" directory to use (defaults to T1)',
39+
)
3840
overwrite = traits.Bool(
3941
True,
4042
usedefault=True,
41-
argstr='--overwrite',
42-
desc='Overwrites the existing files')
43+
argstr="--overwrite",
44+
desc="Overwrites the existing files",
45+
)
4346
atlas_mode = traits.Bool(
44-
argstr='--atlas',
45-
desc='Use atlas mode for registration (default: no rigid alignment)')
47+
argstr="--atlas",
48+
desc="Use atlas mode for registration (default: no rigid alignment)",
49+
)
4650

4751

4852
class WatershedBEMOutputSpec(TraitedSpec):
4953
mesh_files = OutputMultiPath(
5054
File(exists=True),
51-
desc=('Paths to the output meshes (brain, inner '
52-
'skull, outer skull, outer skin)'))
55+
desc=(
56+
"Paths to the output meshes (brain, inner "
57+
"skull, outer skull, outer skin)"
58+
),
59+
)
5360
brain_surface = File(
54-
exists=True,
55-
loc='bem/watershed',
56-
desc='Brain surface (in Freesurfer format)')
61+
exists=True, loc="bem/watershed", desc="Brain surface (in Freesurfer format)"
62+
)
5763
inner_skull_surface = File(
5864
exists=True,
59-
loc='bem/watershed',
60-
desc='Inner skull surface (in Freesurfer format)')
65+
loc="bem/watershed",
66+
desc="Inner skull surface (in Freesurfer format)",
67+
)
6168
outer_skull_surface = File(
6269
exists=True,
63-
loc='bem/watershed',
64-
desc='Outer skull surface (in Freesurfer format)')
70+
loc="bem/watershed",
71+
desc="Outer skull surface (in Freesurfer format)",
72+
)
6573
outer_skin_surface = File(
6674
exists=True,
67-
loc='bem/watershed',
68-
desc='Outer skin surface (in Freesurfer format)')
75+
loc="bem/watershed",
76+
desc="Outer skin surface (in Freesurfer format)",
77+
)
6978
fif_file = File(
7079
exists=True,
71-
loc='bem',
72-
altkey='fif',
73-
desc='"fif" format file for EEG processing in MNE')
80+
loc="bem",
81+
altkey="fif",
82+
desc='"fif" format file for EEG processing in MNE',
83+
)
7484
cor_files = OutputMultiPath(
7585
File(exists=True),
76-
loc='bem/watershed/ws',
77-
altkey='COR',
78-
desc='"COR" format files')
86+
loc="bem/watershed/ws",
87+
altkey="COR",
88+
desc='"COR" format files',
89+
)
7990

8091

8192
class WatershedBEM(FSCommand):
@@ -89,23 +100,23 @@ class WatershedBEM(FSCommand):
89100
>>> bem.inputs.subject_id = 'subj1'
90101
>>> bem.inputs.subjects_dir = '.'
91102
>>> bem.cmdline
92-
'mne_watershed_bem --overwrite --subject subj1 --volume T1'
103+
'mne watershed_bem --overwrite --subject subj1 --volume T1'
93104
>>> bem.run() # doctest: +SKIP
94105
95106
"""
96107

97-
_cmd = 'mne_watershed_bem'
108+
_cmd = "mne watershed_bem"
98109
input_spec = WatershedBEMInputSpec
99110
output_spec = WatershedBEMOutputSpec
100-
_additional_metadata = ['loc', 'altkey']
111+
_additional_metadata = ["loc", "altkey"]
101112

102113
def _get_files(self, path, key, dirval, altkey=None):
103-
globsuffix = '*'
104-
globprefix = '*'
114+
globsuffix = "*"
115+
globprefix = "*"
105116
keydir = op.join(path, dirval)
106117
if altkey:
107118
key = altkey
108-
globpattern = op.join(keydir, ''.join((globprefix, key, globsuffix)))
119+
globpattern = op.join(keydir, "".join((globprefix, key, globsuffix)))
109120
return glob.glob(globpattern)
110121

111122
def _list_outputs(self):
@@ -115,10 +126,13 @@ def _list_outputs(self):
115126
output_traits = self._outputs()
116127
mesh_paths = []
117128
for k in list(outputs.keys()):
118-
if k != 'mesh_files':
119-
val = self._get_files(subject_path, k,
120-
output_traits.traits()[k].loc,
121-
output_traits.traits()[k].altkey)
129+
if k != "mesh_files":
130+
val = self._get_files(
131+
subject_path,
132+
k,
133+
output_traits.traits()[k].loc,
134+
output_traits.traits()[k].altkey,
135+
)
122136
if val:
123137
value_list = simplify_list(val)
124138
if isinstance(value_list, list):
@@ -130,7 +144,7 @@ def _list_outputs(self):
130144
else:
131145
raise TypeError
132146
outputs[k] = out_files
133-
if not k.rfind('surface') == -1:
147+
if not k.rfind("surface") == -1:
134148
mesh_paths.append(out_files)
135-
outputs['mesh_files'] = mesh_paths
149+
outputs["mesh_files"] = mesh_paths
136150
return outputs

0 commit comments

Comments
 (0)