Skip to content

Commit f28665b

Browse files
committed
enabled dgamma convolution
this also provides a framework easily extensible t other convolution methods that we do not yet provide
1 parent 124a850 commit f28665b

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

nipype/interfaces/fsl/model.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,8 @@ def _create_ev_file(self, evfname, evinfo):
124124
f.close()
125125

126126
def _create_ev_files(
127-
self, cwd, runinfo, runidx, usetd, contrasts, no_bases,
128-
do_tempfilter):
127+
self, cwd, runinfo, runidx, usetd, contrasts,
128+
do_tempfilter, basis_key):
129129
"""Creates EV files from condition and regressor information.
130130
131131
Parameters:
@@ -144,8 +144,9 @@ def _create_ev_files(
144144
"""
145145
conds = {}
146146
evname = []
147-
ev_hrf = load_template('feat_ev_hrf.tcl')
148-
ev_none = load_template('feat_ev_none.tcl')
147+
if basis_key == "dgamma":
148+
basis_key = "hrf"
149+
ev_template = load_template('feat_ev_'+basis_key+'.tcl')
149150
ev_ortho = load_template('feat_ev_ortho.tcl')
150151
ev_txt = ''
151152
# generate sections for conditions and other nuisance
@@ -174,13 +175,13 @@ def _create_ev_files(
174175
evinfo.insert(j, [onset, cond['duration'][j], amp])
175176
else:
176177
evinfo.insert(j, [onset, cond['duration'][0], amp])
177-
if no_bases:
178-
ev_txt += ev_none.substitute(ev_num=num_evs[0],
178+
if basis_key == "none":
179+
ev_txt += ev_template.substitute(ev_num=num_evs[0],
179180
ev_name=name,
180181
tempfilt_yn=do_tempfilter,
181182
cond_file=evfname)
182183
else:
183-
ev_txt += ev_hrf.substitute(ev_num=num_evs[0],
184+
ev_txt += ev_template.substitute(ev_num=num_evs[0],
184185
ev_name=name,
185186
tempfilt_yn=do_tempfilter,
186187
temporalderiv=usetd,
@@ -296,12 +297,9 @@ def _run_interface(self, runtime):
296297
if isdefined(self.inputs.model_serial_correlations):
297298
prewhiten = int(self.inputs.model_serial_correlations)
298299
usetd = 0
299-
no_bases = False
300300
basis_key = list(self.inputs.bases.keys())[0]
301301
if basis_key in ['dgamma', 'gamma']:
302302
usetd = int(self.inputs.bases[basis_key]['derivs'])
303-
if basis_key == 'none':
304-
no_bases = True
305303
session_info = self._format_session_info(self.inputs.session_info)
306304
func_files = self._get_func_files(session_info)
307305
n_tcon = 0
@@ -319,7 +317,7 @@ def _run_interface(self, runtime):
319317
do_tempfilter = 0
320318
num_evs, cond_txt = self._create_ev_files(cwd, info, i, usetd,
321319
self.inputs.contrasts,
322-
no_bases, do_tempfilter)
320+
do_tempfilter, basis_key)
323321
nim = load(func_files[i])
324322
(_, _, _, timepoints) = nim.shape
325323
fsf_txt = fsf_header.substitute(run_num=i,

0 commit comments

Comments
 (0)