Skip to content

Commit fcb38aa

Browse files
committed
aded support for custom IRF in FSL models
1 parent 0ac8143 commit fcb38aa

File tree

5 files changed

+44
-1
lines changed

5 files changed

+44
-1
lines changed

nipype/interfaces/fsl/model.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ class Level1DesignInputSpec(BaseInterfaceInputSpec):
4242
'dgamma'), traits.Dict(traits.Enum('derivs'), traits.Bool)),
4343
traits.Dict(traits.Enum('gamma'), traits.Dict(
4444
traits.Enum('derivs', 'gammasigma', 'gammadelay'))),
45+
traits.Dict(traits.Enum('custom'), traits.Dict(traits.Dict(traits.Enum('bfcustompath'), traits.Str))),
4546
traits.Dict(traits.Enum('none'), traits.Dict()),
4647
traits.Dict(traits.Enum('none'), traits.Enum(None)),
4748
mandatory=True,
@@ -193,10 +194,11 @@ def _create_ev_files(
193194
evinfo.insert(j, [onset, cond['duration'][j], amp])
194195
else:
195196
evinfo.insert(j, [onset, cond['duration'][0], amp])
197+
ev_parameters['cond_file'] = evfname
196198
ev_parameters['ev_num'] = num_evs[0]
197199
ev_parameters['ev_name'] = name
200+
ev_parameters['fsldir'] = os.environ['FSLDIR']
198201
ev_parameters['tempfilt_yn'] = do_tempfilter
199-
ev_parameters['cond_file'] = evfname
200202
try:
201203
ev_parameters['temporalderiv'] = int(bool(ev_parameters.pop('derivs')))
202204
except KeyError:
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# EV title
2+
set fmri(evtitle$ev_num) "$ev_name"
3+
4+
# Basic waveform shape (EV $ev_num)
5+
# 0 : Square
6+
# 1 : Sinusoid
7+
# 2 : Custom (1 entry per volume)
8+
# 3 : Custom (3 column format)
9+
# 4 : Interaction
10+
# 10 : Empty (all zeros)
11+
set fmri(shape$ev_num) 3
12+
13+
# Convolution (EV $ev_num)
14+
# 0 : None
15+
# 1 : Gaussian
16+
# 2 : Gamma
17+
# 3 : Double-Gamma HRF
18+
# 4 : Gamma basis functions
19+
# 5 : Sine basis functions
20+
# 6 : FIR basis functions
21+
# 7 : Optimal/custom basis functions
22+
set fmri(convolve$ev_num) 7
23+
24+
# Convolve phase (EV $ev_num)
25+
set fmri(convolve_phase$ev_num) 0
26+
27+
# Apply temporal filtering (EV $ev_num)
28+
set fmri(tempfilt_yn$ev_num) $tempfilt_yn
29+
30+
# Add temporal derivative (EV $ev_num)
31+
set fmri(deriv_yn$ev_num) $temporalderiv
32+
33+
# Custom EV file (EV $ev_num)
34+
set fmri(custom$ev_num) "$cond_file"
35+
36+
# Optimal/custom HRF convolution file
37+
set fmri(default_bfcustom) "${fsldir}etc/default_flobs.flobs/hrfbasisfns.txt"
38+
set fmri(bfcustom) "$bfcustompath"

nipype/interfaces/script_templates/feat_ev_gamma.tcl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ set fmri(shape$ev_num) 3
1818
# 4 : Gamma basis functions
1919
# 5 : Sine basis functions
2020
# 6 : FIR basis functions
21+
# 7 : Optimal/custom basis functions
2122
set fmri(convolve$ev_num) 2
2223

2324
# Convolve phase

nipype/interfaces/script_templates/feat_ev_hrf.tcl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ set fmri(shape$ev_num) 3
1818
# 4 : Gamma basis functions
1919
# 5 : Sine basis functions
2020
# 6 : FIR basis functions
21+
# 7 : Optimal/custom basis functions
2122
set fmri(convolve$ev_num) 3
2223

2324
# Convolve phase (EV $ev_num)

nipype/interfaces/script_templates/feat_ev_none.tcl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ set fmri(shape$ev_num) 2
1818
# 4 : Gamma basis functions
1919
# 5 : Sine basis functions
2020
# 6 : FIR basis functions
21+
# 7 : Optimal/custom basis functions
2122
set fmri(convolve$ev_num) 0
2223

2324
# Apply temporal filtering

0 commit comments

Comments
 (0)