Hi all,
I’m writing a script for first- and second-level modeling using this example from the Nipype documentation. Here’s the relevant bit of code from that example:
modelfit = pe.Workflow(name='modelfit')
modelspec = pe.Node(interface=model.SpecifyModel(), name="modelspec")
level1design = pe.Node(interface=fsl.Level1Design(), name="level1design")
modelgen = pe.MapNode(interface=fsl.FEATModel(), name='modelgen',
iterfield=['fsf_file', 'ev_files'])
modelestimate = pe.MapNode(interface=fsl.FILMGLS(smooth_autocorr=True,
mask_size=5,
threshold=1000),
name='modelestimate',
iterfield=['design_file', 'in_file'])
conestimate = pe.MapNode(interface=fsl.ContrastMgr(), name='conestimate',
iterfield=['tcon_file', 'param_estimates',
'sigmasquareds', 'corrections',
'dof_file'])
modelfit.connect([
(modelspec, level1design, [('session_info', 'session_info')]),
(level1design, modelgen, [('fsf_files', 'fsf_file'),
('ev_files', 'ev_files')]),
(modelgen, modelestimate, [('design_file', 'design_file')]),
(modelgen, conestimate, [('con_file', 'tcon_file')]),
(modelestimate, conestimate, [('param_estimates', 'param_estimates'),
('sigmasquareds', 'sigmasquareds'),
('corrections', 'corrections'),
('dof_file', 'dof_file')]),
])
When I tried running the code above, I couldn’t connect the nodes together. Instead, I got this error:
Exception: Some connections were not found
Module modelestimate has no output called corrections
And, indeed, there isn’t any field called “corrections” in modelestimate.outputs
:
Bunch(copes=<undefined>, dof_file=<undefined>, fstats=<undefined>, logfile=<undefined>,
param_estimates=<undefined>, residual4d=<undefined>, results_dir=<undefined>,
sigmasquareds=<undefined>, thresholdac=<undefined>, tstats=<undefined>,
varcopes=<undefined>, zfstats=<undefined>, zstats=<undefined>)
How else should I feed the corrections to the contrast manager? For reference, I’m using nipype version 0.13.1.
Thanks!