Hands-on 2: How to create a fMRI analysis workflow

The purpose of this section is that you set-up a complete fMRI analysis workflow yourself. So that in the end, you are able to perform the analysis from A-Z, i.e. from preprocessing to group analysis. This section will cover the analysis part, the previous section Hands-on 1: Preprocessing handles the preprocessing part.

We will use this opportunity to show you some nice additional interfaces/nodes that might not be relevant to your usual analysis. But it's always nice to know that they exist. And hopefully, this will encourage you to investigate all other interfaces that Nipype can bring to the tip of your finger.

Important: You will not be able to go through this notebook if you haven't preprocessed your subjects first.

1st-level Analysis Workflow Structure

In this notebook we will create a workflow that performs 1st-level analysis and normalizes the resulting beta weights to the MNI template. In concrete steps this means:

1. Specify 1st-level model parameters
2. Specify 1st-level contrasts
3. Estimate 1st-level contrasts
4. Normalize 1st-level contrasts

Imports

It's always best to have all relevant module imports at the beginning of your script. So let's import what we most certainly need.

In [ ]:
# Get the Node and Workflow object
from nipype import Node, Workflow

# Specify which SPM to use
from nipype.interfaces.matlab import MatlabCommand
MatlabCommand.set_default_paths('/opt/spm12-r7219/spm12_mcr/spm12')

Note: Ideally you would also put the imports of all the interfaces that you use here at the top. But as we will develop the workflow step by step, we can also import the relevant modules as we go.

Create Nodes and Workflow connections

Let's create all the nodes that we need! Make sure to specify all relevant inputs and keep in mind which ones you later on need to connect in your pipeline.

Workflow for the 1st-level analysis

We recommend to create the workflow and establish all its connections at a later place in your script. This helps to have everything nicely together. But for this hands-on example, it makes sense to establish the connections between the nodes as we go.

And for this, we first need to create a workflow:

In [ ]:
# Create the workflow here
# Hint: use 'base_dir' to specify where to store the working directory
In [ ]:
analysis1st = Workflow(name='work_1st', base_dir='/output/')

Specify 1st-level model parameters (stimuli onsets, duration, etc.)

The specify the 1st-level model we need the subject-specific onset times and duration of the stimuli. Luckily, as we are working with a BIDS dataset, this information is nicely stored in a tsv file:

In [ ]:
import pandas as pd
trialinfo = pd.read_table('/data/ds000114/task-fingerfootlips_events.tsv')
trialinfo
Out[ ]:
onset duration weight trial_type
0 10 15.0 1 Finger
1 40 15.0 1 Foot
2 70 15.0 1 Lips
3 100 15.0 1 Finger
4 130 15.0 1 Foot
5 160 15.0 1 Lips
6 190 15.0 1 Finger
7 220 15.0 1 Foot
8 250 15.0 1 Lips
9 280 15.0 1 Finger
10 310 15.0 1 Foot
11 340 15.0 1 Lips
12 370 15.0 1 Finger
13 400 15.0 1 Foot
14 430 15.0 1 Lips

Using pandas is probably the quickest and easiest ways to aggregate stimuli information per condition.

In [ ]:
for group in trialinfo.groupby('trial_type'):
    print(group)
    print("")
('Finger',     onset  duration  weight trial_type
0      10      15.0       1     Finger
3     100      15.0       1     Finger
6     190      15.0       1     Finger
9     280      15.0       1     Finger
12    370      15.0       1     Finger)

('Foot',     onset  duration  weight trial_type
1      40      15.0       1       Foot
4     130      15.0       1       Foot
7     220      15.0       1       Foot
10    310      15.0       1       Foot
13    400      15.0       1       Foot)

('Lips',     onset  duration  weight trial_type
2      70      15.0       1       Lips
5     160      15.0       1       Lips
8     250      15.0       1       Lips
11    340      15.0       1       Lips
14    430      15.0       1       Lips)

To create a GLM model, Nipype needs an list of Bunch objects per session. As we only have one session, our object needs to look as follows:

[Bunch(conditions=['Finger', 'Foot', 'Lips'],
       durations=[[15.0, 15.0, 15.0, 15.0, 15.0],
                  [15.0, 15.0, 15.0, 15.0, 15.0],
                  [15.0, 15.0, 15.0, 15.0, 15.0]],
       onsets=[[10, 100, 190, 280, 370],
               [40, 130, 220, 310, 400],
               [70, 160, 250, 340, 430]]
       )]

For more information see either the official documnetation or the nipype_tutorial example.

So, let's create this Bunch object that we then can use for the GLM model.

In [ ]:
import pandas as pd
from nipype.interfaces.base import Bunch

trialinfo = pd.read_table('/data/ds000114/task-fingerfootlips_events.tsv')
conditions = []
onsets = []
durations = []

for group in trialinfo.groupby('trial_type'):
    conditions.append(group[0])
    onsets.append(list(group[1].onset -10)) # subtracting 10s due to removing of 4 dummy scans
    durations.append(group[1].duration.tolist())

subject_info = [Bunch(conditions=conditions,
                      onsets=onsets,
                      durations=durations,
                      )]
subject_info
Out[ ]:
[Bunch(conditions=['Finger', 'Foot', 'Lips'],
       durations=[[15.0, 15.0, 15.0, 15.0, 15.0],
        [15.0, 15.0, 15.0, 15.0, 15.0],
        [15.0, 15.0, 15.0, 15.0, 15.0]],
       onsets=[[0, 90, 180, 270, 360],
        [30, 120, 210, 300, 390],
        [60, 150, 240, 330, 420]])]

Good! Now we can create the node that will create the SPM model. For this we will be using SpecifySPMModel. As a reminder the TR of the acquisition is 2.5s and we want to use a high pass filter of 128.

In [ ]:
from nipype.algorithms.modelgen import SpecifySPMModel
In [ ]:
# Initiate the SpecifySPMModel node here
In [ ]:
modelspec = Node(SpecifySPMModel(concatenate_runs=False,
                                 input_units='secs',
                                 output_units='secs',
                                 time_repetition=2.5,
                                 high_pass_filter_cutoff=128,
                                 subject_info=subject_info),
                 name="modelspec")

This node will also need some additional inputs, such as the preprocessed functional images, the motion parameters etc. We will specify those once we take care of the workflow data input stream.

Specify 1st-level contrasts

To do any GLM analysis, we need to also define the contrasts that we want to investigate. If we recap, we had three different conditions in the fingerfootlips task in this dataset:

  • finger
  • foot
  • lips

Therefore, we could create the following contrasts (seven T-contrasts and two F-contrasts):

In [ ]:
# Condition names
condition_names = ['Finger', 'Foot', 'Lips']

# Contrasts
cont01 = ['average',        'T', condition_names, [1/3., 1/3., 1/3.]]
cont02 = ['Finger',         'T', condition_names, [1, 0, 0]]
cont03 = ['Foot',           'T', condition_names, [0, 1, 0]]
cont04 = ['Lips',           'T', condition_names, [0, 0, 1]]
cont05 = ['Finger < others','T', condition_names, [-1, 0.5, 0.5]]
cont06 = ['Foot < others',  'T', condition_names, [0.5, -1, 0.5]]
cont07 = ['Lips > others',  'T', condition_names, [-0.5, -0.5, 1]]

cont08 = ['activation',     'F', [cont02, cont03, cont04]]
cont09 = ['differences',    'F', [cont05, cont06, cont07]]

contrast_list = [cont01, cont02, cont03, cont04, cont05, cont06, cont07, cont08, cont09]

Estimate 1st-level contrasts

Before we can estimate the 1st-level contrasts, we first need to create the 1st-level design. Here you can also specify what kind of basis function you want (HRF, FIR, Fourier, etc.), if you want to use time and dispersion derivatives and how you want to model the serial correlation.

In this example, I propose that you use an HRF basis function, that we model time derivatives and that we model the serial correlation with AR(1).

In [ ]:
from nipype.interfaces.spm import Level1Design
In [ ]:
# Initiate the Level1Design node here
In [ ]:
level1design = Node(Level1Design(bases={'hrf': {'derivs': [1, 0]}},
                                 timing_units='secs',
                                 interscan_interval=2.5,
                                 model_serial_correlations='AR(1)'),
                    name="level1design")

Now that we have the Model Specification and 1st-Level Design node, we can connect them to each other:

In [ ]:
# Connect the two nodes here
In [ ]:
analysis1st.connect([(modelspec, level1design, [('session_info',
                                                 'session_info')])])

Now we need to estimate the model. I recommend that you'll use a Classical: 1 method to estimate the model.

In [ ]:
from nipype.interfaces.spm import EstimateModel
In [ ]:
# Initiate the EstimateModel node here
In [ ]:
level1estimate = Node(EstimateModel(estimation_method={'Classical': 1}),
                      name="level1estimate")

Now we can connect the 1st-Level Design node with the model estimation node.

In [ ]:
# Connect the two nodes here
In [ ]:
analysis1st.connect([(level1design, level1estimate, [('spm_mat_file',
                                                      'spm_mat_file')])])

Now that we estimate the model, we can estimate the contrasts. Don't forget to feed the list of contrast we specify above to this node.

In [ ]:
from nipype.interfaces.spm import EstimateContrast
In [ ]:
# Initiate the EstimateContrast node here
In [ ]:
level1conest = Node(EstimateContrast(contrasts=contrast_list),
                    name="level1conest")

Now we can connect the model estimation node with the contrast estimation node.

In [ ]:
# Connect the two nodes here
In [ ]:
analysis1st.connect([(level1estimate, level1conest, [('spm_mat_file',
                                                      'spm_mat_file'),
                                                     ('beta_images',
                                                      'beta_images'),
                                                     ('residual_image',
                                                      'residual_image')])])

Normalize 1st-level contrasts

Now that the contrasts were estimated in subject space we can put them into a common reference space by normalizing them to a specific template. In this case, we will be using SPM12's Normalize routine and normalize to the SPM12 tissue probability map TPM.nii.

At this step, you can also specify the voxel resolution of the output volumes. If you don't specify it, it will normalize to a voxel resolution of 2x2x2mm. As a training exercise, set the voxel resolution to 4x4x4mm.

In [ ]:
from nipype.interfaces.spm import Normalize12

# Location of the template
template = '/opt/spm12-r7219/spm12_mcr/spm12/tpm/TPM.nii'
In [ ]:
# Initiate the Normalize12 node here
In [ ]:
normalize = Node(Normalize12(jobtype='estwrite',
                             tpm=template,
                             write_voxel_sizes=[4, 4, 4]
                            ),
                 name="normalize")

Now we can connect the estimated contrasts to normalization node.

In [ ]:
# Connect the nodes here
In [ ]:
analysis1st.connect([(level1conest, normalize, [('con_images',
                                                 'apply_to_files')])
                     ])

Datainput with SelectFiles and iterables

As in the preprocessing hands-on, we will again be using SelectFiles and iterables. So, what do we need?

From the preprocessing pipeline, we need the functional images, the motion parameters and the list of outliers. Also, for the normalization, we need the subject-specific anatomy.

In [ ]:
# Import the SelectFiles
from nipype import SelectFiles

# String template with {}-based strings
templates = {'anat': '/data/ds000114/sub-{subj_id}/ses-test/anat/sub-{subj_id}_ses-test_T1w.nii.gz',
             'func': '/output/datasink_handson/preproc/sub-{subj_id}_detrend.nii.gz',
             'mc_param': '/output/datasink_handson/preproc/sub-{subj_id}.par',
             'outliers': '/output/datasink_handson/preproc/art.sub-{subj_id}_outliers.txt'
            }

# Create SelectFiles node
sf = Node(SelectFiles(templates, sort_filelist=True),
          name='selectfiles')

Now we can specify over which subjects the workflow should iterate. As we preprocessed only subjects 1 to 5, we can only them for this analysis.

In [ ]:
# list of subject identifiers
subject_list = ['02', '03', '04', '07', '08', '09']
sf.iterables = [('subj_id', subject_list)]

Gunzip Node

SPM12 can accept NIfTI files as input, but online if they are not compressed ('unzipped'). Therefore, we need to use a Gunzip node to unzip the detrend file and another one to unzip the anatomy image, before we can feed it to the model specification node.

In [ ]:
from nipype.algorithms.misc import Gunzip
In [ ]:
# Initiate the two Gunzip node here
In [ ]:
gunzip_anat = Node(Gunzip(), name='gunzip_anat')
gunzip_func = Node(Gunzip(), name='gunzip_func')

And as a final step, we just need to connect this SelectFiles node to the rest of the workflow.

In [ ]:
# Connect SelectFiles node to the other nodes here
In [ ]:
analysis1st.connect([(sf, gunzip_anat, [('anat', 'in_file')]),
                     (sf, gunzip_func, [('func', 'in_file')]),
                     (gunzip_anat, normalize, [('out_file', 'image_to_align')]),
                     (gunzip_func, modelspec, [('out_file', 'functional_runs')]),
                     (sf, modelspec, [('mc_param', 'realignment_parameters'),
                                      ('outliers', 'outlier_files'),
                                      ])
                    ])

Data output with DataSink

Now, before we run the workflow, let's again specify a Datasink folder to only keep those files that we want to keep.

In [ ]:
from nipype.interfaces.io import DataSink
In [ ]:
# Initiate DataSink node here
In [ ]:
# Initiate the datasink node
output_folder = 'datasink_handson'
datasink = Node(DataSink(base_directory='/output/',
                         container=output_folder),
                name="datasink")
In [ ]:
## Use the following substitutions for the DataSink output
substitutions = [('_subj_id_', 'sub-')]
datasink.inputs.substitutions = substitutions

Now the next step is to specify all the output that we want to keep in our output folder output. Probably best to keep are the:

  • SPM.mat file and the spmT and spmF files from the contrast estimation node
  • normalized betas and anatomy
In [ ]:
# Connect nodes to datasink here
In [ ]:
analysis1st.connect([(level1conest, datasink, [('spm_mat_file', '1stLevel.@spm_mat'),
                                               ('spmT_images', '1stLevel.@T'),
                                               ('spmF_images', '1stLevel.@F'),
                                              ]),
                     (normalize, datasink, [('normalized_files', 'normalized.@files'),
                                            ('normalized_image', 'normalized.@image'),
                                           ]),
                    ])

Visualize the workflow

Now that the workflow is finished, let's visualize it again.

In [ ]:
# Create 1st-level analysis output graph
analysis1st.write_graph(graph2use='colored', format='png', simple_form=True)

# Visualize the graph
from IPython.display import Image
Image(filename='/output/work_1st/graph.png')
180514-10:15:27,199 workflow INFO:
	 Generated workflow graph: /output/work_1st/graph.png (graph2use=colored, simple_form=True).
Out[ ]:

Run the Workflow

Now that everything is ready, we can run the 1st-level analysis workflow. Change n_procs to the number of jobs/cores you want to use.

In [ ]:
analysis1st.run('MultiProc', plugin_args={'n_procs': 8})
180514-10:15:27,274 workflow INFO:
	 Workflow work_1st settings: ['check', 'execution', 'logging', 'monitoring']
180514-10:15:27,348 workflow INFO:
	 Running in parallel.
180514-10:15:27,353 workflow INFO:
	 [MultiProc] Running 0 tasks, and 6 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:15:27,423 workflow INFO:
	 [Node] Setting-up "work_1st.selectfiles" in "/output/work_1st/_subj_id_09/selectfiles".
180514-10:15:27,424 workflow INFO:
	 [Node] Setting-up "work_1st.selectfiles" in "/output/work_1st/_subj_id_08/selectfiles".
180514-10:15:27,433 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")180514-10:15:27,436 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")

180514-10:15:27,447 workflow INFO:
	 [Node] Finished "work_1st.selectfiles".180514-10:15:27,449 workflow INFO:
	 [Node] Finished "work_1st.selectfiles".
180514-10:15:27,425 workflow INFO:
	 [Node] Setting-up "work_1st.selectfiles" in "/output/work_1st/_subj_id_07/selectfiles".

180514-10:15:27,431 workflow INFO:
	 [Node] Setting-up "work_1st.selectfiles" in "/output/work_1st/_subj_id_02/selectfiles".180514-10:15:27,428 workflow INFO:
	 [Node] Setting-up "work_1st.selectfiles" in "/output/work_1st/_subj_id_04/selectfiles".
180514-10:15:27,458 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")

180514-10:15:27,464 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")180514-10:15:27,464 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")
180514-10:15:27,471 workflow INFO:
	 [Node] Finished "work_1st.selectfiles".

180514-10:15:27,431 workflow INFO:
	 [Node] Setting-up "work_1st.selectfiles" in "/output/work_1st/_subj_id_03/selectfiles".180514-10:15:27,479 workflow INFO:
	 [Node] Finished "work_1st.selectfiles".

180514-10:15:27,484 workflow INFO:
	 [Node] Finished "work_1st.selectfiles".
180514-10:15:27,489 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")
180514-10:15:27,499 workflow INFO:
	 [Node] Finished "work_1st.selectfiles".
180514-10:15:29,354 workflow INFO:
	 [Job 0] Completed (work_1st.selectfiles).
180514-10:15:29,356 workflow INFO:
	 [Job 9] Completed (work_1st.selectfiles).
180514-10:15:29,358 workflow INFO:
	 [Job 18] Completed (work_1st.selectfiles).
180514-10:15:29,361 workflow INFO:
	 [Job 27] Completed (work_1st.selectfiles).
180514-10:15:29,363 workflow INFO:
	 [Job 36] Completed (work_1st.selectfiles).
180514-10:15:29,365 workflow INFO:
	 [Job 45] Completed (work_1st.selectfiles).
180514-10:15:29,369 workflow INFO:
	 [MultiProc] Running 0 tasks, and 12 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:15:29,413 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_func" in "/output/work_1st/_subj_id_09/gunzip_func".180514-10:15:29,415 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_anat" in "/output/work_1st/_subj_id_09/gunzip_anat".

180514-10:15:29,420 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_func" in "/output/work_1st/_subj_id_08/gunzip_func".
180514-10:15:29,423 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_anat" in "/output/work_1st/_subj_id_08/gunzip_anat".180514-10:15:29,423 workflow INFO:
	 [Node] Running "gunzip_func" ("nipype.algorithms.misc.Gunzip")180514-10:15:29,425 workflow INFO:
	 [Node] Running "gunzip_anat" ("nipype.algorithms.misc.Gunzip")180514-10:15:29,427 workflow INFO:
	 [Node] Running "gunzip_func" ("nipype.algorithms.misc.Gunzip")
180514-10:15:29,427 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_func" in "/output/work_1st/_subj_id_07/gunzip_func".



180514-10:15:29,435 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_func" in "/output/work_1st/_subj_id_04/gunzip_func".180514-10:15:29,435 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_anat" in "/output/work_1st/_subj_id_07/gunzip_anat".
180514-10:15:29,440 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_anat" in "/output/work_1st/_subj_id_04/gunzip_anat".180514-10:15:29,433 workflow INFO:
	 [Node] Running "gunzip_anat" ("nipype.algorithms.misc.Gunzip")180514-10:15:29,439 workflow INFO:
	 [Node] Running "gunzip_func" ("nipype.algorithms.misc.Gunzip")
180514-10:15:29,443 workflow INFO:
	 [Node] Running "gunzip_func" ("nipype.algorithms.misc.Gunzip")


180514-10:15:29,456 workflow INFO:
	 [Node] Running "gunzip_anat" ("nipype.algorithms.misc.Gunzip")180514-10:15:29,463 workflow INFO:
	 [Node] Running "gunzip_anat" ("nipype.algorithms.misc.Gunzip")


180514-10:15:30,84 workflow INFO:
	 [Node] Finished "work_1st.gunzip_anat".180514-10:15:30,87 workflow INFO:
	 [Node] Finished "work_1st.gunzip_anat".

180514-10:15:30,121 workflow INFO:
	 [Node] Finished "work_1st.gunzip_anat".
180514-10:15:30,295 workflow INFO:
	 [Node] Finished "work_1st.gunzip_anat".
180514-10:15:30,642 workflow INFO:
	 [Node] Finished "work_1st.gunzip_func".
180514-10:15:30,678 workflow INFO:
	 [Node] Finished "work_1st.gunzip_func".
180514-10:15:30,700 workflow INFO:
	 [Node] Finished "work_1st.gunzip_func".
180514-10:15:30,853 workflow INFO:
	 [Node] Finished "work_1st.gunzip_func".
180514-10:15:31,362 workflow INFO:
	 [Job 1] Completed (work_1st.gunzip_func).
180514-10:15:31,366 workflow INFO:
	 [Job 6] Completed (work_1st.gunzip_anat).
180514-10:15:31,372 workflow INFO:
	 [Job 10] Completed (work_1st.gunzip_func).
180514-10:15:31,377 workflow INFO:
	 [Job 15] Completed (work_1st.gunzip_anat).
180514-10:15:31,382 workflow INFO:
	 [Job 19] Completed (work_1st.gunzip_func).
180514-10:15:31,387 workflow INFO:
	 [Job 24] Completed (work_1st.gunzip_anat).
180514-10:15:31,393 workflow INFO:
	 [Job 28] Completed (work_1st.gunzip_func).
180514-10:15:31,398 workflow INFO:
	 [Job 33] Completed (work_1st.gunzip_anat).
180514-10:15:31,403 workflow INFO:
	 [MultiProc] Running 0 tasks, and 8 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:15:31,450 workflow INFO:
	 [Node] Setting-up "work_1st.modelspec" in "/output/work_1st/_subj_id_09/modelspec".
180514-10:15:31,456 workflow INFO:
	 [Node] Setting-up "work_1st.modelspec" in "/output/work_1st/_subj_id_08/modelspec".
180514-10:15:31,457 workflow INFO:
	 [Node] Running "modelspec" ("nipype.algorithms.modelgen.SpecifySPMModel")
180514-10:15:31,463 workflow INFO:
	 [Node] Running "modelspec" ("nipype.algorithms.modelgen.SpecifySPMModel")180514-10:15:31,461 workflow INFO:
	 [Node] Setting-up "work_1st.modelspec" in "/output/work_1st/_subj_id_07/modelspec".

180514-10:15:31,468 workflow INFO:
	 [Node] Setting-up "work_1st.modelspec" in "/output/work_1st/_subj_id_04/modelspec".180514-10:15:31,469 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_func" in "/output/work_1st/_subj_id_03/gunzip_func".

180514-10:15:31,473 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_func" in "/output/work_1st/_subj_id_02/gunzip_func".180514-10:15:31,474 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_anat" in "/output/work_1st/_subj_id_02/gunzip_anat".180514-10:15:31,473 workflow INFO:
	 [Node] Running "modelspec" ("nipype.algorithms.modelgen.SpecifySPMModel")
180514-10:15:31,471 workflow INFO:
	 [Node] Setting-up "work_1st.gunzip_anat" in "/output/work_1st/_subj_id_03/gunzip_anat".180514-10:15:31,481 workflow INFO:
	 [Node] Running "modelspec" ("nipype.algorithms.modelgen.SpecifySPMModel")180514-10:15:31,477 workflow INFO:
	 [Node] Running "gunzip_func" ("nipype.algorithms.misc.Gunzip")

180514-10:15:31,489 workflow INFO:
	 [Node] Running "gunzip_anat" ("nipype.algorithms.misc.Gunzip")



180514-10:15:31,496 workflow INFO:
	 [Node] Running "gunzip_func" ("nipype.algorithms.misc.Gunzip")180514-10:15:31,501 workflow INFO:
	 [Node] Running "gunzip_anat" ("nipype.algorithms.misc.Gunzip")

180514-10:15:31,558 workflow INFO:
	 [Node] Finished "work_1st.modelspec".180514-10:15:31,558 workflow INFO:
	 [Node] Finished "work_1st.modelspec".

180514-10:15:31,575 workflow INFO:
	 [Node] Finished "work_1st.modelspec".
180514-10:15:31,578 workflow INFO:
	 [Node] Finished "work_1st.modelspec".
180514-10:15:31,933 workflow INFO:
	 [Node] Finished "work_1st.gunzip_anat".
180514-10:15:31,938 workflow INFO:
	 [Node] Finished "work_1st.gunzip_anat".
180514-10:15:32,508 workflow INFO:
	 [Node] Finished "work_1st.gunzip_func".
180514-10:15:32,539 workflow INFO:
	 [Node] Finished "work_1st.gunzip_func".
180514-10:15:33,362 workflow INFO:
	 [Job 2] Completed (work_1st.modelspec).
180514-10:15:33,365 workflow INFO:
	 [Job 11] Completed (work_1st.modelspec).
180514-10:15:33,367 workflow INFO:
	 [Job 20] Completed (work_1st.modelspec).
180514-10:15:33,370 workflow INFO:
	 [Job 29] Completed (work_1st.modelspec).
180514-10:15:33,373 workflow INFO:
	 [Job 37] Completed (work_1st.gunzip_func).
180514-10:15:33,376 workflow INFO:
	 [Job 42] Completed (work_1st.gunzip_anat).
180514-10:15:33,379 workflow INFO:
	 [Job 46] Completed (work_1st.gunzip_func).
180514-10:15:33,382 workflow INFO:
	 [Job 51] Completed (work_1st.gunzip_anat).
180514-10:15:33,387 workflow INFO:
	 [MultiProc] Running 0 tasks, and 6 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:15:33,478 workflow INFO:
	 [Node] Setting-up "work_1st.level1design" in "/output/work_1st/_subj_id_09/level1design".
180514-10:15:33,521 workflow INFO:
	 [Node] Setting-up "work_1st.level1design" in "/output/work_1st/_subj_id_08/level1design".
180514-10:15:33,538 workflow INFO:
	 [Node] Running "level1design" ("nipype.interfaces.spm.model.Level1Design")
180514-10:15:33,575 workflow INFO:
	 [Node] Setting-up "work_1st.level1design" in "/output/work_1st/_subj_id_07/level1design".
180514-10:15:33,611 workflow INFO:
	 [Node] Running "level1design" ("nipype.interfaces.spm.model.Level1Design")
180514-10:15:33,632 workflow INFO:
	 [Node] Setting-up "work_1st.level1design" in "/output/work_1st/_subj_id_04/level1design".
180514-10:15:33,637 workflow INFO:
	 [Node] Setting-up "work_1st.modelspec" in "/output/work_1st/_subj_id_03/modelspec".
180514-10:15:33,642 workflow INFO:
	 [Node] Setting-up "work_1st.modelspec" in "/output/work_1st/_subj_id_02/modelspec".
180514-10:15:33,655 workflow INFO:
	 [Node] Running "modelspec" ("nipype.algorithms.modelgen.SpecifySPMModel")
180514-10:15:33,656 workflow INFO:
	 [Node] Running "level1design" ("nipype.interfaces.spm.model.Level1Design")
180514-10:15:33,662 workflow INFO:
	 [Node] Running "modelspec" ("nipype.algorithms.modelgen.SpecifySPMModel")
180514-10:15:33,700 workflow INFO:
	 [Node] Running "level1design" ("nipype.interfaces.spm.model.Level1Design")
180514-10:15:33,744 workflow INFO:
	 [Node] Finished "work_1st.modelspec".
180514-10:15:33,757 workflow INFO:
	 [Node] Finished "work_1st.modelspec".
180514-10:15:35,364 workflow INFO:
	 [Job 38] Completed (work_1st.modelspec).
180514-10:15:35,366 workflow INFO:
	 [Job 47] Completed (work_1st.modelspec).
180514-10:15:35,369 workflow INFO:
	 [MultiProc] Running 4 tasks, and 2 jobs ready. Free memory (GB): 53.14/53.94, Free processors: 4/8.
                     Currently running:
                       * work_1st.level1design
                       * work_1st.level1design
                       * work_1st.level1design
                       * work_1st.level1design
180514-10:15:35,460 workflow INFO:
	 [Node] Setting-up "work_1st.level1design" in "/output/work_1st/_subj_id_03/level1design".
180514-10:15:35,516 workflow INFO:
	 [Node] Setting-up "work_1st.level1design" in "/output/work_1st/_subj_id_02/level1design".
180514-10:15:35,537 workflow INFO:
	 [Node] Running "level1design" ("nipype.interfaces.spm.model.Level1Design")
180514-10:15:35,595 workflow INFO:
	 [Node] Running "level1design" ("nipype.interfaces.spm.model.Level1Design")
180514-10:15:37,367 workflow INFO:
	 [MultiProc] Running 6 tasks, and 0 jobs ready. Free memory (GB): 52.74/53.94, Free processors: 2/8.
                     Currently running:
                       * work_1st.level1design
                       * work_1st.level1design
                       * work_1st.level1design
                       * work_1st.level1design
                       * work_1st.level1design
                       * work_1st.level1design
180514-10:16:02,592 workflow INFO:
	 [Node] Finished "work_1st.level1design".
180514-10:16:02,942 workflow INFO:
	 [Node] Finished "work_1st.level1design".
180514-10:16:03,148 workflow INFO:
	 [Node] Finished "work_1st.level1design".
180514-10:16:03,390 workflow INFO:
	 [Job 3] Completed (work_1st.level1design).
180514-10:16:03,392 workflow INFO:
	 [Job 12] Completed (work_1st.level1design).
180514-10:16:03,395 workflow INFO:
	 [Job 30] Completed (work_1st.level1design).
180514-10:16:03,401 workflow INFO:
	 [MultiProc] Running 3 tasks, and 3 jobs ready. Free memory (GB): 53.34/53.94, Free processors: 5/8.
                     Currently running:
                       * work_1st.level1design
                       * work_1st.level1design
                       * work_1st.level1design
180514-10:16:03,461 workflow INFO:
	 [Node] Setting-up "work_1st.level1estimate" in "/output/work_1st/_subj_id_09/level1estimate".180514-10:16:03,466 workflow INFO:
	 [Node] Setting-up "work_1st.level1estimate" in "/output/work_1st/_subj_id_08/level1estimate".

180514-10:16:03,472 workflow INFO:
	 [Node] Setting-up "work_1st.level1estimate" in "/output/work_1st/_subj_id_04/level1estimate".180514-10:16:03,482 workflow INFO:
	 [Node] Running "level1estimate" ("nipype.interfaces.spm.model.EstimateModel")180514-10:16:03,487 workflow INFO:
	 [Node] Running "level1estimate" ("nipype.interfaces.spm.model.EstimateModel")

180514-10:16:03,501 workflow INFO:
	 [Node] Running "level1estimate" ("nipype.interfaces.spm.model.EstimateModel")

180514-10:16:03,586 workflow INFO:
	 [Node] Finished "work_1st.level1design".
180514-10:16:05,391 workflow INFO:
	 [Job 21] Completed (work_1st.level1design).
180514-10:16:05,395 workflow INFO:
	 [MultiProc] Running 5 tasks, and 1 jobs ready. Free memory (GB): 52.94/53.94, Free processors: 3/8.
                     Currently running:
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1design
                       * work_1st.level1design
180514-10:16:05,451 workflow INFO:
	 [Node] Setting-up "work_1st.level1estimate" in "/output/work_1st/_subj_id_07/level1estimate".
180514-10:16:05,459 workflow INFO:
	 [Node] Running "level1estimate" ("nipype.interfaces.spm.model.EstimateModel")
180514-10:16:05,812 workflow INFO:
	 [Node] Finished "work_1st.level1design".
180514-10:16:06,769 workflow INFO:
	 [Node] Finished "work_1st.level1design".
180514-10:16:07,394 workflow INFO:
	 [Job 39] Completed (work_1st.level1design).
180514-10:16:07,400 workflow INFO:
	 [Job 48] Completed (work_1st.level1design).
180514-10:16:07,403 workflow INFO:
	 [MultiProc] Running 4 tasks, and 2 jobs ready. Free memory (GB): 53.14/53.94, Free processors: 4/8.
                     Currently running:
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1estimate
180514-10:16:07,457 workflow INFO:
	 [Node] Setting-up "work_1st.level1estimate" in "/output/work_1st/_subj_id_03/level1estimate".180514-10:16:07,461 workflow INFO:
	 [Node] Setting-up "work_1st.level1estimate" in "/output/work_1st/_subj_id_02/level1estimate".

180514-10:16:07,475 workflow INFO:
	 [Node] Running "level1estimate" ("nipype.interfaces.spm.model.EstimateModel")180514-10:16:07,482 workflow INFO:
	 [Node] Running "level1estimate" ("nipype.interfaces.spm.model.EstimateModel")

180514-10:16:09,397 workflow INFO:
	 [MultiProc] Running 6 tasks, and 0 jobs ready. Free memory (GB): 52.74/53.94, Free processors: 2/8.
                     Currently running:
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1estimate
180514-10:16:28,193 workflow INFO:
	 [Node] Finished "work_1st.level1estimate".
180514-10:16:29,414 workflow INFO:
	 [Job 31] Completed (work_1st.level1estimate).
180514-10:16:29,418 workflow INFO:
	 [MultiProc] Running 5 tasks, and 1 jobs ready. Free memory (GB): 52.94/53.94, Free processors: 3/8.
                     Currently running:
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1estimate
180514-10:16:29,494 workflow INFO:
	 [Node] Setting-up "work_1st.level1conest" in "/output/work_1st/_subj_id_04/level1conest".
180514-10:16:29,534 workflow INFO:
	 [Node] Running "level1conest" ("nipype.interfaces.spm.model.EstimateContrast")
180514-10:16:29,550 workflow INFO:
	 [Node] Finished "work_1st.level1estimate".
180514-10:16:31,264 workflow INFO:
	 [Node] Finished "work_1st.level1estimate".
180514-10:16:31,417 workflow INFO:
	 [Job 22] Completed (work_1st.level1estimate).
180514-10:16:31,420 workflow INFO:
	 [Job 49] Completed (work_1st.level1estimate).
180514-10:16:31,425 workflow INFO:
	 [MultiProc] Running 4 tasks, and 2 jobs ready. Free memory (GB): 53.14/53.94, Free processors: 4/8.
                     Currently running:
                       * work_1st.level1conest
                       * work_1st.level1estimate
                       * work_1st.level1estimate
                       * work_1st.level1estimate
180514-10:16:31,508 workflow INFO:
	 [Node] Setting-up "work_1st.level1conest" in "/output/work_1st/_subj_id_07/level1conest".
180514-10:16:31,524 workflow INFO:
	 [Node] Setting-up "work_1st.level1conest" in "/output/work_1st/_subj_id_02/level1conest".
180514-10:16:31,528 workflow INFO:
	 [Node] Running "level1conest" ("nipype.interfaces.spm.model.EstimateContrast")
180514-10:16:31,547 workflow INFO:
	 [Node] Running "level1conest" ("nipype.interfaces.spm.model.EstimateContrast")
180514-10:16:31,980 workflow INFO:
	 [Node] Finished "work_1st.level1estimate".
180514-10:16:33,419 workflow INFO:
	 [Job 40] Completed (work_1st.level1estimate).
180514-10:16:33,422 workflow INFO:
	 [MultiProc] Running 5 tasks, and 1 jobs ready. Free memory (GB): 52.94/53.94, Free processors: 3/8.
                     Currently running:
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1estimate
                       * work_1st.level1estimate
180514-10:16:33,481 workflow INFO:
	 [Node] Setting-up "work_1st.level1conest" in "/output/work_1st/_subj_id_03/level1conest".
180514-10:16:33,504 workflow INFO:
	 [Node] Running "level1conest" ("nipype.interfaces.spm.model.EstimateContrast")
180514-10:16:35,37 workflow INFO:
	 [Node] Finished "work_1st.level1estimate".
180514-10:16:35,166 workflow INFO:
	 [Node] Finished "work_1st.level1estimate".
180514-10:16:35,421 workflow INFO:
	 [Job 4] Completed (work_1st.level1estimate).
180514-10:16:35,424 workflow INFO:
	 [Job 13] Completed (work_1st.level1estimate).
180514-10:16:35,428 workflow INFO:
	 [MultiProc] Running 4 tasks, and 2 jobs ready. Free memory (GB): 53.14/53.94, Free processors: 4/8.
                     Currently running:
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1conest
180514-10:16:35,499 workflow INFO:
	 [Node] Setting-up "work_1st.level1conest" in "/output/work_1st/_subj_id_09/level1conest".
180514-10:16:35,516 workflow INFO:
	 [Node] Setting-up "work_1st.level1conest" in "/output/work_1st/_subj_id_08/level1conest".
180514-10:16:35,524 workflow INFO:
	 [Node] Running "level1conest" ("nipype.interfaces.spm.model.EstimateContrast")
180514-10:16:35,540 workflow INFO:
	 [Node] Running "level1conest" ("nipype.interfaces.spm.model.EstimateContrast")
180514-10:16:37,423 workflow INFO:
	 [MultiProc] Running 6 tasks, and 0 jobs ready. Free memory (GB): 52.74/53.94, Free processors: 2/8.
                     Currently running:
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1conest
180514-10:16:48,609 workflow INFO:
	 [Node] Finished "work_1st.level1conest".
180514-10:16:49,433 workflow INFO:
	 [Job 32] Completed (work_1st.level1conest).
180514-10:16:49,439 workflow INFO:
	 [MultiProc] Running 5 tasks, and 1 jobs ready. Free memory (GB): 52.94/53.94, Free processors: 3/8.
                     Currently running:
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1conest
180514-10:16:49,500 workflow INFO:
	 [Node] Setting-up "work_1st.normalize" in "/output/work_1st/_subj_id_04/normalize".
180514-10:16:49,569 workflow INFO:
	 [Node] Running "normalize" ("nipype.interfaces.spm.preprocess.Normalize12")
180514-10:16:50,781 workflow INFO:
	 [Node] Finished "work_1st.level1conest".
180514-10:16:51,391 workflow INFO:
	 [Node] Finished "work_1st.level1conest".
180514-10:16:51,434 workflow INFO:
	 [Job 23] Completed (work_1st.level1conest).
180514-10:16:51,437 workflow INFO:
	 [Job 50] Completed (work_1st.level1conest).
180514-10:16:51,440 workflow INFO:
	 [MultiProc] Running 4 tasks, and 2 jobs ready. Free memory (GB): 53.14/53.94, Free processors: 4/8.
                     Currently running:
                       * work_1st.normalize
                       * work_1st.level1conest
                       * work_1st.level1conest
                       * work_1st.level1conest
180514-10:16:51,505 workflow INFO:
	 [Node] Setting-up "work_1st.normalize" in "/output/work_1st/_subj_id_07/normalize".
180514-10:16:51,516 workflow INFO:
	 [Node] Setting-up "work_1st.normalize" in "/output/work_1st/_subj_id_02/normalize".
180514-10:16:51,567 workflow INFO:
	 [Node] Running "normalize" ("nipype.interfaces.spm.preprocess.Normalize12")
180514-10:16:51,602 workflow INFO:
	 [Node] Running "normalize" ("nipype.interfaces.spm.preprocess.Normalize12")
180514-10:16:53,337 workflow INFO:
	 [Node] Finished "work_1st.level1conest".
180514-10:16:53,439 workflow INFO:
	 [Job 41] Completed (work_1st.level1conest).
180514-10:16:53,446 workflow INFO:
	 [MultiProc] Running 5 tasks, and 1 jobs ready. Free memory (GB): 52.94/53.94, Free processors: 3/8.
                     Currently running:
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.level1conest
                       * work_1st.level1conest
180514-10:16:53,519 workflow INFO:
	 [Node] Setting-up "work_1st.normalize" in "/output/work_1st/_subj_id_03/normalize".
180514-10:16:53,604 workflow INFO:
	 [Node] Running "normalize" ("nipype.interfaces.spm.preprocess.Normalize12")
180514-10:16:55,445 workflow INFO:
	 [MultiProc] Running 6 tasks, and 0 jobs ready. Free memory (GB): 52.74/53.94, Free processors: 2/8.
                     Currently running:
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.level1conest
                       * work_1st.level1conest
180514-10:16:56,204 workflow INFO:
	 [Node] Finished "work_1st.level1conest".
180514-10:16:56,444 workflow INFO:
	 [Node] Finished "work_1st.level1conest".
180514-10:16:57,446 workflow INFO:
	 [Job 5] Completed (work_1st.level1conest).
180514-10:16:57,449 workflow INFO:
	 [Job 14] Completed (work_1st.level1conest).
180514-10:16:57,454 workflow INFO:
	 [MultiProc] Running 4 tasks, and 2 jobs ready. Free memory (GB): 53.14/53.94, Free processors: 4/8.
                     Currently running:
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
180514-10:16:57,515 workflow INFO:
	 [Node] Setting-up "work_1st.normalize" in "/output/work_1st/_subj_id_09/normalize".
180514-10:16:57,522 workflow INFO:
	 [Node] Setting-up "work_1st.normalize" in "/output/work_1st/_subj_id_08/normalize".
180514-10:16:57,588 workflow INFO:
	 [Node] Running "normalize" ("nipype.interfaces.spm.preprocess.Normalize12")
180514-10:16:57,605 workflow INFO:
	 [Node] Running "normalize" ("nipype.interfaces.spm.preprocess.Normalize12")
180514-10:16:59,449 workflow INFO:
	 [MultiProc] Running 6 tasks, and 0 jobs ready. Free memory (GB): 52.74/53.94, Free processors: 2/8.
                     Currently running:
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
180514-10:20:14,249 workflow INFO:
	 [Node] Finished "work_1st.normalize".
180514-10:20:15,537 workflow INFO:
	 [Node] Finished "work_1st.normalize".
180514-10:20:15,626 workflow INFO:
	 [Job 25] Completed (work_1st.normalize).
180514-10:20:15,628 workflow INFO:
	 [Job 52] Completed (work_1st.normalize).
180514-10:20:15,631 workflow INFO:
	 [MultiProc] Running 4 tasks, and 2 jobs ready. Free memory (GB): 53.14/53.94, Free processors: 4/8.
                     Currently running:
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
180514-10:20:15,692 workflow INFO:
	 [Node] Setting-up "work_1st.datasink" in "/output/work_1st/_subj_id_07/datasink".
180514-10:20:15,710 workflow INFO:
	 [Node] Setting-up "work_1st.datasink" in "/output/work_1st/_subj_id_02/datasink".180514-10:20:15,707 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")

180514-10:20:15,725 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")180514-10:20:15,723 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_07/wcon_0001.nii -> /output/datasink_handson/normalized/sub-07/wcon_0001.nii

180514-10:20:15,738 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_07/wcon_0002.nii -> /output/datasink_handson/normalized/sub-07/wcon_0002.nii180514-10:20:15,739 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_02/wcon_0001.nii -> /output/datasink_handson/normalized/sub-02/wcon_0001.nii
180514-10:20:15,750 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_07/wcon_0003.nii -> /output/datasink_handson/normalized/sub-07/wcon_0003.nii
180514-10:20:15,758 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_02/wcon_0002.nii -> /output/datasink_handson/normalized/sub-02/wcon_0002.nii

180514-10:20:15,765 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_07/wcon_0004.nii -> /output/datasink_handson/normalized/sub-07/wcon_0004.nii
180514-10:20:15,774 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_07/wcon_0005.nii -> /output/datasink_handson/normalized/sub-07/wcon_0005.nii180514-10:20:15,767 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_02/wcon_0003.nii -> /output/datasink_handson/normalized/sub-02/wcon_0003.nii
180514-10:20:15,783 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_02/wcon_0004.nii -> /output/datasink_handson/normalized/sub-02/wcon_0004.nii

180514-10:20:15,788 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_07/wcon_0006.nii -> /output/datasink_handson/normalized/sub-07/wcon_0006.nii180514-10:20:15,797 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_02/wcon_0005.nii -> /output/datasink_handson/normalized/sub-02/wcon_0005.nii
180514-10:20:15,803 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_02/wcon_0006.nii -> /output/datasink_handson/normalized/sub-02/wcon_0006.nii
180514-10:20:15,806 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_07/wcon_0007.nii -> /output/datasink_handson/normalized/sub-07/wcon_0007.nii
180514-10:20:15,818 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_02/wcon_0007.nii -> /output/datasink_handson/normalized/sub-02/wcon_0007.nii

180514-10:20:15,829 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_02/wess_0008.nii -> /output/datasink_handson/normalized/sub-02/wess_0008.nii180514-10:20:15,829 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_07/wess_0008.nii -> /output/datasink_handson/normalized/sub-07/wess_0008.nii
180514-10:20:15,841 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_02/wess_0009.nii -> /output/datasink_handson/normalized/sub-02/wess_0009.nii
180514-10:20:15,845 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_07/wess_0009.nii -> /output/datasink_handson/normalized/sub-07/wess_0009.nii

180514-10:20:15,853 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_02/wsub-02_ses-test_T1w.nii -> /output/datasink_handson/normalized/sub-02/wsub-02_ses-test_T1w.nii
180514-10:20:15,857 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_07/wsub-07_ses-test_T1w.nii -> /output/datasink_handson/normalized/sub-07/wsub-07_ses-test_T1w.nii180514-10:20:15,860 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/SPM.mat -> /output/datasink_handson/1stLevel/sub-02/SPM.mat

180514-10:20:15,877 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/SPM.mat -> /output/datasink_handson/1stLevel/sub-07/SPM.mat180514-10:20:15,872 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/spmT_0001.nii -> /output/datasink_handson/1stLevel/sub-02/spmT_0001.nii
180514-10:20:15,888 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/spmT_0001.nii -> /output/datasink_handson/1stLevel/sub-07/spmT_0001.nii
180514-10:20:15,891 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/spmT_0002.nii -> /output/datasink_handson/1stLevel/sub-02/spmT_0002.nii

180514-10:20:15,900 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/spmT_0003.nii -> /output/datasink_handson/1stLevel/sub-02/spmT_0003.nii
180514-10:20:15,913 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/spmT_0004.nii -> /output/datasink_handson/1stLevel/sub-02/spmT_0004.nii180514-10:20:15,913 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/spmT_0002.nii -> /output/datasink_handson/1stLevel/sub-07/spmT_0002.nii

180514-10:20:15,933 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/spmT_0003.nii -> /output/datasink_handson/1stLevel/sub-07/spmT_0003.nii
180514-10:20:15,936 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/spmT_0004.nii -> /output/datasink_handson/1stLevel/sub-07/spmT_0004.nii180514-10:20:15,933 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/spmT_0005.nii -> /output/datasink_handson/1stLevel/sub-02/spmT_0005.nii
180514-10:20:15,942 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/spmT_0005.nii -> /output/datasink_handson/1stLevel/sub-07/spmT_0005.nii

180514-10:20:15,947 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/spmT_0006.nii -> /output/datasink_handson/1stLevel/sub-02/spmT_0006.nii
180514-10:20:15,953 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/spmT_0006.nii -> /output/datasink_handson/1stLevel/sub-07/spmT_0006.nii180514-10:20:15,956 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/spmT_0007.nii -> /output/datasink_handson/1stLevel/sub-02/spmT_0007.nii
180514-10:20:15,966 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/spmT_0007.nii -> /output/datasink_handson/1stLevel/sub-07/spmT_0007.nii
180514-10:20:15,969 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-07/spmF_0008.nii
180514-10:20:15,974 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-02/spmF_0008.nii

180514-10:20:15,977 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-02/spmF_0009.nii180514-10:20:15,985 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-07/spmF_0009.nii

180514-10:20:15,991 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-07/spmF_0008.nii180514-10:20:15,994 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-02/spmF_0008.nii

180514-10:20:16,0 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_02/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-02/spmF_0009.nii
180514-10:20:16,6 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_07/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-07/spmF_0009.nii
180514-10:20:16,16 workflow INFO:
	 [Node] Finished "work_1st.datasink".
180514-10:20:16,26 workflow INFO:
	 [Node] Finished "work_1st.datasink".
180514-10:20:17,628 workflow INFO:
	 [Job 26] Completed (work_1st.datasink).
180514-10:20:17,630 workflow INFO:
	 [Job 53] Completed (work_1st.datasink).
180514-10:20:17,632 workflow INFO:
	 [MultiProc] Running 4 tasks, and 0 jobs ready. Free memory (GB): 53.14/53.94, Free processors: 4/8.
                     Currently running:
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
180514-10:20:18,482 workflow INFO:
	 [Node] Finished "work_1st.normalize".
180514-10:20:19,630 workflow INFO:
	 [Job 7] Completed (work_1st.normalize).
180514-10:20:19,633 workflow INFO:
	 [MultiProc] Running 3 tasks, and 1 jobs ready. Free memory (GB): 53.34/53.94, Free processors: 5/8.
                     Currently running:
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
180514-10:20:19,691 workflow INFO:
	 [Node] Setting-up "work_1st.datasink" in "/output/work_1st/_subj_id_09/datasink".
180514-10:20:19,700 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")
180514-10:20:19,707 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_09/wcon_0001.nii -> /output/datasink_handson/normalized/sub-09/wcon_0001.nii
180514-10:20:19,710 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_09/wcon_0002.nii -> /output/datasink_handson/normalized/sub-09/wcon_0002.nii
180514-10:20:19,715 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_09/wcon_0003.nii -> /output/datasink_handson/normalized/sub-09/wcon_0003.nii
180514-10:20:19,718 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_09/wcon_0004.nii -> /output/datasink_handson/normalized/sub-09/wcon_0004.nii
180514-10:20:19,725 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_09/wcon_0005.nii -> /output/datasink_handson/normalized/sub-09/wcon_0005.nii
180514-10:20:19,727 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_09/wcon_0006.nii -> /output/datasink_handson/normalized/sub-09/wcon_0006.nii
180514-10:20:19,733 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_09/wcon_0007.nii -> /output/datasink_handson/normalized/sub-09/wcon_0007.nii
180514-10:20:19,741 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_09/wess_0008.nii -> /output/datasink_handson/normalized/sub-09/wess_0008.nii
180514-10:20:19,746 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_09/wess_0009.nii -> /output/datasink_handson/normalized/sub-09/wess_0009.nii
180514-10:20:19,749 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_09/wsub-09_ses-test_T1w.nii -> /output/datasink_handson/normalized/sub-09/wsub-09_ses-test_T1w.nii
180514-10:20:19,761 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/SPM.mat -> /output/datasink_handson/1stLevel/sub-09/SPM.mat
180514-10:20:19,765 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/spmT_0001.nii -> /output/datasink_handson/1stLevel/sub-09/spmT_0001.nii
180514-10:20:19,778 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/spmT_0002.nii -> /output/datasink_handson/1stLevel/sub-09/spmT_0002.nii
180514-10:20:19,788 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/spmT_0003.nii -> /output/datasink_handson/1stLevel/sub-09/spmT_0003.nii
180514-10:20:19,802 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/spmT_0004.nii -> /output/datasink_handson/1stLevel/sub-09/spmT_0004.nii
180514-10:20:19,805 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/spmT_0005.nii -> /output/datasink_handson/1stLevel/sub-09/spmT_0005.nii
180514-10:20:19,812 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/spmT_0006.nii -> /output/datasink_handson/1stLevel/sub-09/spmT_0006.nii
180514-10:20:19,817 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/spmT_0007.nii -> /output/datasink_handson/1stLevel/sub-09/spmT_0007.nii
180514-10:20:19,822 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-09/spmF_0008.nii
180514-10:20:19,831 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-09/spmF_0009.nii
180514-10:20:19,834 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-09/spmF_0008.nii
180514-10:20:19,839 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_09/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-09/spmF_0009.nii
180514-10:20:19,858 workflow INFO:
	 [Node] Finished "work_1st.datasink".
180514-10:20:21,632 workflow INFO:
	 [Job 8] Completed (work_1st.datasink).
180514-10:20:21,634 workflow INFO:
	 [MultiProc] Running 3 tasks, and 0 jobs ready. Free memory (GB): 53.34/53.94, Free processors: 5/8.
                     Currently running:
                       * work_1st.normalize
                       * work_1st.normalize
                       * work_1st.normalize
180514-10:20:28,468 workflow INFO:
	 [Node] Finished "work_1st.normalize".
180514-10:20:29,639 workflow INFO:
	 [Job 43] Completed (work_1st.normalize).
180514-10:20:29,642 workflow INFO:
	 [MultiProc] Running 2 tasks, and 1 jobs ready. Free memory (GB): 53.54/53.94, Free processors: 6/8.
                     Currently running:
                       * work_1st.normalize
                       * work_1st.normalize
180514-10:20:29,702 workflow INFO:
	 [Node] Setting-up "work_1st.datasink" in "/output/work_1st/_subj_id_03/datasink".
180514-10:20:29,718 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")
180514-10:20:29,724 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_03/wcon_0001.nii -> /output/datasink_handson/normalized/sub-03/wcon_0001.nii
180514-10:20:29,729 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_03/wcon_0002.nii -> /output/datasink_handson/normalized/sub-03/wcon_0002.nii
180514-10:20:29,732 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_03/wcon_0003.nii -> /output/datasink_handson/normalized/sub-03/wcon_0003.nii
180514-10:20:29,736 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_03/wcon_0004.nii -> /output/datasink_handson/normalized/sub-03/wcon_0004.nii
180514-10:20:29,742 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_03/wcon_0005.nii -> /output/datasink_handson/normalized/sub-03/wcon_0005.nii
180514-10:20:29,747 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_03/wcon_0006.nii -> /output/datasink_handson/normalized/sub-03/wcon_0006.nii
180514-10:20:29,750 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_03/wcon_0007.nii -> /output/datasink_handson/normalized/sub-03/wcon_0007.nii
180514-10:20:29,753 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_03/wess_0008.nii -> /output/datasink_handson/normalized/sub-03/wess_0008.nii
180514-10:20:29,756 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_03/wess_0009.nii -> /output/datasink_handson/normalized/sub-03/wess_0009.nii
180514-10:20:29,761 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_03/wsub-03_ses-test_T1w.nii -> /output/datasink_handson/normalized/sub-03/wsub-03_ses-test_T1w.nii
180514-10:20:29,764 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/SPM.mat -> /output/datasink_handson/1stLevel/sub-03/SPM.mat
180514-10:20:29,767 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/spmT_0001.nii -> /output/datasink_handson/1stLevel/sub-03/spmT_0001.nii
180514-10:20:29,771 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/spmT_0002.nii -> /output/datasink_handson/1stLevel/sub-03/spmT_0002.nii
180514-10:20:29,775 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/spmT_0003.nii -> /output/datasink_handson/1stLevel/sub-03/spmT_0003.nii
180514-10:20:29,779 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/spmT_0004.nii -> /output/datasink_handson/1stLevel/sub-03/spmT_0004.nii
180514-10:20:29,782 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/spmT_0005.nii -> /output/datasink_handson/1stLevel/sub-03/spmT_0005.nii
180514-10:20:29,786 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/spmT_0006.nii -> /output/datasink_handson/1stLevel/sub-03/spmT_0006.nii
180514-10:20:29,789 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/spmT_0007.nii -> /output/datasink_handson/1stLevel/sub-03/spmT_0007.nii
180514-10:20:29,792 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-03/spmF_0008.nii
180514-10:20:29,796 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-03/spmF_0009.nii
180514-10:20:29,800 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-03/spmF_0008.nii
180514-10:20:29,804 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_03/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-03/spmF_0009.nii
180514-10:20:29,818 workflow INFO:
	 [Node] Finished "work_1st.datasink".
180514-10:20:31,641 workflow INFO:
	 [Job 44] Completed (work_1st.datasink).
180514-10:20:31,644 workflow INFO:
	 [MultiProc] Running 2 tasks, and 0 jobs ready. Free memory (GB): 53.54/53.94, Free processors: 6/8.
                     Currently running:
                       * work_1st.normalize
                       * work_1st.normalize
180514-10:20:32,0 workflow INFO:
	 [Node] Finished "work_1st.normalize".
180514-10:20:33,643 workflow INFO:
	 [Job 16] Completed (work_1st.normalize).
180514-10:20:33,646 workflow INFO:
	 [MultiProc] Running 1 tasks, and 1 jobs ready. Free memory (GB): 53.74/53.94, Free processors: 7/8.
                     Currently running:
                       * work_1st.normalize
180514-10:20:33,697 workflow INFO:
	 [Node] Setting-up "work_1st.datasink" in "/output/work_1st/_subj_id_08/datasink".
180514-10:20:33,705 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")
180514-10:20:33,710 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_08/wcon_0001.nii -> /output/datasink_handson/normalized/sub-08/wcon_0001.nii
180514-10:20:33,717 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_08/wcon_0002.nii -> /output/datasink_handson/normalized/sub-08/wcon_0002.nii
180514-10:20:33,720 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_08/wcon_0003.nii -> /output/datasink_handson/normalized/sub-08/wcon_0003.nii
180514-10:20:33,724 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_08/wcon_0004.nii -> /output/datasink_handson/normalized/sub-08/wcon_0004.nii
180514-10:20:33,727 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_08/wcon_0005.nii -> /output/datasink_handson/normalized/sub-08/wcon_0005.nii
180514-10:20:33,731 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_08/wcon_0006.nii -> /output/datasink_handson/normalized/sub-08/wcon_0006.nii
180514-10:20:33,734 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_08/wcon_0007.nii -> /output/datasink_handson/normalized/sub-08/wcon_0007.nii
180514-10:20:33,737 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_08/wess_0008.nii -> /output/datasink_handson/normalized/sub-08/wess_0008.nii
180514-10:20:33,741 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_08/wess_0009.nii -> /output/datasink_handson/normalized/sub-08/wess_0009.nii
180514-10:20:33,745 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_08/wsub-08_ses-test_T1w.nii -> /output/datasink_handson/normalized/sub-08/wsub-08_ses-test_T1w.nii
180514-10:20:33,748 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/SPM.mat -> /output/datasink_handson/1stLevel/sub-08/SPM.mat
180514-10:20:33,753 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/spmT_0001.nii -> /output/datasink_handson/1stLevel/sub-08/spmT_0001.nii
180514-10:20:33,756 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/spmT_0002.nii -> /output/datasink_handson/1stLevel/sub-08/spmT_0002.nii
180514-10:20:33,761 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/spmT_0003.nii -> /output/datasink_handson/1stLevel/sub-08/spmT_0003.nii
180514-10:20:33,764 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/spmT_0004.nii -> /output/datasink_handson/1stLevel/sub-08/spmT_0004.nii
180514-10:20:33,767 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/spmT_0005.nii -> /output/datasink_handson/1stLevel/sub-08/spmT_0005.nii
180514-10:20:33,770 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/spmT_0006.nii -> /output/datasink_handson/1stLevel/sub-08/spmT_0006.nii
180514-10:20:33,773 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/spmT_0007.nii -> /output/datasink_handson/1stLevel/sub-08/spmT_0007.nii
180514-10:20:33,776 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-08/spmF_0008.nii
180514-10:20:33,780 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-08/spmF_0009.nii
180514-10:20:33,783 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-08/spmF_0008.nii
180514-10:20:33,785 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_08/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-08/spmF_0009.nii
180514-10:20:33,799 workflow INFO:
	 [Node] Finished "work_1st.datasink".
180514-10:20:35,647 workflow INFO:
	 [Job 17] Completed (work_1st.datasink).
180514-10:20:35,655 workflow INFO:
	 [MultiProc] Running 1 tasks, and 0 jobs ready. Free memory (GB): 53.74/53.94, Free processors: 7/8.
                     Currently running:
                       * work_1st.normalize
180514-10:20:36,215 workflow INFO:
	 [Node] Finished "work_1st.normalize".
180514-10:20:37,649 workflow INFO:
	 [Job 34] Completed (work_1st.normalize).
180514-10:20:37,657 workflow INFO:
	 [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:20:37,718 workflow INFO:
	 [Node] Setting-up "work_1st.datasink" in "/output/work_1st/_subj_id_04/datasink".
180514-10:20:37,728 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")
180514-10:20:37,733 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_04/wcon_0001.nii -> /output/datasink_handson/normalized/sub-04/wcon_0001.nii
180514-10:20:37,737 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_04/wcon_0002.nii -> /output/datasink_handson/normalized/sub-04/wcon_0002.nii
180514-10:20:37,739 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_04/wcon_0003.nii -> /output/datasink_handson/normalized/sub-04/wcon_0003.nii
180514-10:20:37,742 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_04/wcon_0004.nii -> /output/datasink_handson/normalized/sub-04/wcon_0004.nii
180514-10:20:37,745 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_04/wcon_0005.nii -> /output/datasink_handson/normalized/sub-04/wcon_0005.nii
180514-10:20:37,750 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_04/wcon_0006.nii -> /output/datasink_handson/normalized/sub-04/wcon_0006.nii
180514-10:20:37,753 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_04/wcon_0007.nii -> /output/datasink_handson/normalized/sub-04/wcon_0007.nii
180514-10:20:37,755 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_04/wess_0008.nii -> /output/datasink_handson/normalized/sub-04/wess_0008.nii
180514-10:20:37,758 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_04/wess_0009.nii -> /output/datasink_handson/normalized/sub-04/wess_0009.nii
180514-10:20:37,760 interface INFO:
	 sub: /output/datasink_handson/normalized/_subj_id_04/wsub-04_ses-test_T1w.nii -> /output/datasink_handson/normalized/sub-04/wsub-04_ses-test_T1w.nii
180514-10:20:37,763 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/SPM.mat -> /output/datasink_handson/1stLevel/sub-04/SPM.mat
180514-10:20:37,766 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/spmT_0001.nii -> /output/datasink_handson/1stLevel/sub-04/spmT_0001.nii
180514-10:20:37,769 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/spmT_0002.nii -> /output/datasink_handson/1stLevel/sub-04/spmT_0002.nii
180514-10:20:37,774 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/spmT_0003.nii -> /output/datasink_handson/1stLevel/sub-04/spmT_0003.nii
180514-10:20:37,777 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/spmT_0004.nii -> /output/datasink_handson/1stLevel/sub-04/spmT_0004.nii
180514-10:20:37,780 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/spmT_0005.nii -> /output/datasink_handson/1stLevel/sub-04/spmT_0005.nii
180514-10:20:37,783 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/spmT_0006.nii -> /output/datasink_handson/1stLevel/sub-04/spmT_0006.nii
180514-10:20:37,787 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/spmT_0007.nii -> /output/datasink_handson/1stLevel/sub-04/spmT_0007.nii
180514-10:20:37,790 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-04/spmF_0008.nii
180514-10:20:37,799 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-04/spmF_0009.nii
180514-10:20:37,802 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/spmF_0008.nii -> /output/datasink_handson/1stLevel/sub-04/spmF_0008.nii
180514-10:20:37,805 interface INFO:
	 sub: /output/datasink_handson/1stLevel/_subj_id_04/spmF_0009.nii -> /output/datasink_handson/1stLevel/sub-04/spmF_0009.nii
180514-10:20:37,812 workflow INFO:
	 [Node] Finished "work_1st.datasink".
180514-10:20:39,650 workflow INFO:
	 [Job 35] Completed (work_1st.datasink).
180514-10:20:39,655 workflow INFO:
	 [MultiProc] Running 0 tasks, and 0 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
Out[ ]:
<networkx.classes.digraph.DiGraph at 0x7ff53c6fb3c8>

Visualize results

In [ ]:
%matplotlib inline
import numpy as np
from matplotlib import pyplot as plt

First, let's look at the 1st-level Design Matrix of subject one, to verify that everything is as it should be.

In [ ]:
from scipy.io import loadmat

# Using scipy's loadmat function we can access SPM.mat
spmmat = loadmat('/output/datasink_handson/1stLevel/sub-07/SPM.mat',
                 struct_as_record=False)

The design matrix and the names of the regressors are a bit hidden in the spmmat variable, but they can be accessed as follows:

In [ ]:
designMatrix = spmmat['SPM'][0][0].xX[0][0].X
names = [i[0] for i in spmmat['SPM'][0][0].xX[0][0].name[0]]

Now before we can plot it, we just need to normalize the desing matrix in such a way, that each column has a maximum amplitude of 1. This is just for visualization purposes, otherwise the rotation parameters with their rather small values will not show up in the figure.

In [ ]:
normed_design = designMatrix / np.abs(designMatrix).max(axis=0)

And we're ready to plot the design matrix.

In [ ]:
fig, ax = plt.subplots(figsize=(8, 8))
plt.imshow(normed_design, aspect='auto', cmap='gray', interpolation='none')
ax.set_ylabel('Volume id')
ax.set_xticks(np.arange(len(names)))
ax.set_xticklabels(names, rotation=90);

Now that we're happy with the design matrix, let's look how well the normalization worked.

In [ ]:
import nibabel as nb
from nilearn.plotting import plot_anat
from nilearn.plotting import plot_glass_brain
%matplotlib inline
In [ ]:
# Load GM probability map of TPM.nii
img = nb.load('/opt/spm12-r7219/spm12_mcr/spm12/tpm/TPM.nii')
GM_template = nb.Nifti1Image(img.get_data()[..., 0], img.affine, img.header)

# Plot normalized subject anatomy
display = plot_anat('/output/datasink_handson/normalized/sub-07/wsub-07_ses-test_T1w.nii',
                    dim=-0.1)

# Overlay in edges GM map
display.add_edges(GM_template)

Let's look at the contrasts of one subject that we've just computed. In particular the F-contrast.

In [ ]:
plot_glass_brain('/output/datasink_handson/normalized/sub-07/wess_0008.nii',
                 colorbar=True, display_mode='lyrz', black_bg=True, threshold=25,
                 title='subject 7 - F-contrast: Activation');
In [ ]:
plot_glass_brain('/output/datasink_handson/normalized/sub-07/wess_0009.nii',
                 colorbar=True, display_mode='lyrz', black_bg=True, threshold=25,
                 title='subject 7 - F-contrast: Differences');

2nd-level Analysis Workflow Structure

Last but not least, the group level analysis. This example will also directly include thresholding of the output, as well as some visualization.

Imports

To make sure that the necessary imports are done, here they are again:

In [ ]:
# Get the Node and Workflow object
from nipype import Node, Workflow

# Specify which SPM to use
from nipype.interfaces.matlab import MatlabCommand
MatlabCommand.set_default_paths('/opt/spm12-r7219/spm12_mcr/spm12')

Create Nodes and Workflow connections

Now we should know this part very well.

Workflow for the 2nd-level analysis

In [ ]:
# Create the workflow here
# Hint: use 'base_dir' to specify where to store the working directory
In [ ]:
analysis2nd = Workflow(name='work_2nd', base_dir='/output/')

2nd-Level Design

This step depends on your study design and the tests you want to perform. If you're using SPM to do the group analysis, you have the liberty to choose between a factorial design, a multiple regression design, one-sample T-Test design, a paired T-Test design or a two-sample T-Test design.

For the current example, we will be using a one-sample T-Test design.

In [ ]:
from nipype.interfaces.spm import OneSampleTTestDesign
In [ ]:
# Initiate the OneSampleTTestDesign node here
In [ ]:
onesamplettestdes = Node(OneSampleTTestDesign(), name="onesampttestdes")

The next two steps are the same as for the 1st-level design, i.e. estimation of the model followed by estimation of the contrasts.

In [ ]:
from nipype.interfaces.spm import EstimateModel, EstimateContrast
In [ ]:
# Initiate the EstimateModel and the EstimateContrast node here
In [ ]:
level2estimate = Node(EstimateModel(estimation_method={'Classical': 1}),
                      name="level2estimate")

level2conestimate = Node(EstimateContrast(group_contrast=True),
                         name="level2conestimate")

To finish the EstimateContrast node, we also need to specify which contrast should be computed. For a 2nd-level one-sample t-test design, this is rather straightforward:

In [ ]:
cont01 = ['Group', 'T', ['mean'], [1]]
level2conestimate.inputs.contrasts = [cont01]

Now, let's connect those three design nodes to each other.

In [ ]:
# Connect OneSampleTTestDesign, EstimateModel and EstimateContrast here
In [ ]:
analysis2nd.connect([(onesamplettestdes, level2estimate, [('spm_mat_file',
                                                           'spm_mat_file')]),
                     (level2estimate, level2conestimate, [('spm_mat_file',
                                                           'spm_mat_file'),
                                                          ('beta_images',
                                                           'beta_images'),
                                                          ('residual_image',
                                                           'residual_image')])
                    ])

Thresholding of output contrast

And to close, we will use SPM Threshold. With this routine, we can set a specific voxel threshold (i.e. p<0.001) and apply an FDR cluster threshold (i.e. p<0.05).

As we only have 5 subjects, I recommend to set the voxel threshold to 0.01 and to leave the cluster threshold at 0.05.

In [ ]:
from nipype.interfaces.spm import Threshold
In [ ]:
level2thresh = Node(Threshold(contrast_index=1,
                              use_topo_fdr=True,
                              use_fwe_correction=False,
                              extent_threshold=0,
                              height_threshold=0.01,
                              height_threshold_type='p-value',
                              extent_fdr_p_threshold=0.05),
                    name="level2thresh")
In [ ]:
# Connect the Threshold node to the EstimateContrast node here
In [ ]:
analysis2nd.connect([(level2conestimate, level2thresh, [('spm_mat_file',
                                                         'spm_mat_file'),
                                                        ('spmT_images',
                                                         'stat_image'),
                                                       ])
                    ])

Gray Matter Mask

We could run our 2nd-level workflow as it is. All the major nodes are there. But I nonetheless suggest that we use a gray matter mask to restrict the analysis to only gray matter voxels.

In the 1st-level analysis, we normalized to SPM12's TPM.nii tissue probability atlas. Therefore, we could just take the gray matter probability map of this TPM.nii image (the first volume) and threshold it at a certain probability value to get a binary mask. This can of course also all be done in Nipype, but sometimes the direct bash code is quicker:

In [ ]:
%%bash
TEMPLATE='/opt/spm12-r7219/spm12_mcr/spm12/tpm/TPM.nii'

# Extract the first volume with `fslroi`
fslroi $TEMPLATE GM_PM.nii.gz 0 1

# Threshold the probability mask at 10%
fslmaths GM_PM.nii -thr 0.10 -bin /output/datasink_handson/GM_mask.nii.gz

# Unzip the mask and delete the GM_PM.nii file
gunzip /output/datasink_handson/GM_mask.nii.gz
rm GM_PM.nii.gz

Let's take a look at this mask:

In [ ]:
import nibabel as nb
mask = nb.load('/output/datasink_handson/GM_mask.nii')
mask.orthoview()
Out[ ]:
<OrthoSlicer3D: /output/datasink_handson/GM_mask.nii (121, 145, 121)>

Now we just need to specify this binary mask as an explicit_mask_file for the one-sample T-test node.

In [ ]:
onesamplettestdes.inputs.explicit_mask_file = '/output/datasink_handson/GM_mask.nii'

Datainput with SelectFiles and iterables

We will again be using SelectFiles and iterables.

So, what do we need? Actually, just the 1st-level contrasts of all subjects, separated by contrast number.

In [ ]:
# Import the SelectFiles
from nipype import SelectFiles

# String template with {}-based strings
templates = {'cons': '/output/datasink_handson/normalized/sub-*/w*_{cont_id}.nii'}

# Create SelectFiles node
sf = Node(SelectFiles(templates, sort_filelist=True),
          name='selectfiles')

We are using * to tell SelectFiles that it can grab all available subjects and any contrast, with a specific contrast id, independnet if it's an t-contrast (con) or an F-contrast (ess) contrast.

So, let's specify over which contrast the workflow should iterate.

In [ ]:
# list of contrast identifiers
contrast_id_list = ['0001', '0002', '0003', '0004', '0005',
                    '0006', '0007', '0008', '0009']
sf.iterables = [('cont_id', contrast_id_list)]

Now we need to connect the SelectFiles to the OneSampleTTestDesign node.

In [ ]:
analysis2nd.connect([(sf, onesamplettestdes, [('cons', 'in_files')])])

Data output with DataSink

Now, before we run the workflow, let's again specify a Datasink folder to only keep those files that we want to keep.

In [ ]:
from nipype.interfaces.io import DataSink
In [ ]:
# Initiate DataSink node here
In [ ]:
# Initiate the datasink node
output_folder = 'datasink_handson'
datasink = Node(DataSink(base_directory='/output/',
                         container=output_folder),
                name="datasink")
In [ ]:
## Use the following substitutions for the DataSink output
substitutions = [('_cont_id_', 'con_')]
datasink.inputs.substitutions = substitutions

Now the next step is to specify all the output that we want to keep in our output folder output. Probably best to keep are the:

  • the SPM.mat file and the spmT images from the EstimateContrast node
  • the thresholded spmT images from the Threshold node
In [ ]:
# Connect nodes to datasink here
In [ ]:
analysis2nd.connect([(level2conestimate, datasink, [('spm_mat_file',
                                                     '2ndLevel.@spm_mat'),
                                                    ('spmT_images',
                                                     '2ndLevel.@T'),
                                                    ('con_images',
                                                     '2ndLevel.@con')]),
                    (level2thresh, datasink, [('thresholded_map',
                                               '2ndLevel.@threshold')])
                     ])

Visualize the workflow

And we're good to go. Let's first take a look at the workflow.

In [ ]:
# Create 1st-level analysis output graph
analysis2nd.write_graph(graph2use='colored', format='png', simple_form=True)

# Visualize the graph
from IPython.display import Image
Image(filename='/output/work_2nd/graph.png')
180514-10:20:47,788 workflow INFO:
	 Generated workflow graph: /output/work_2nd/graph.png (graph2use=colored, simple_form=True).
Out[ ]:

Run the Workflow

Now that everything is ready, we can run the 2nd-level analysis workflow. Change n_procs to the number of jobs/cores you want to use.

In [ ]:
analysis2nd.run('MultiProc', plugin_args={'n_procs': 8})
180514-10:20:47,858 workflow INFO:
	 Workflow work_2nd settings: ['check', 'execution', 'logging', 'monitoring']
180514-10:20:47,914 workflow INFO:
	 Running in parallel.
180514-10:20:47,919 workflow INFO:
	 [MultiProc] Running 0 tasks, and 9 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:20:48,4 workflow INFO:
	 [Node] Setting-up "work_2nd.selectfiles" in "/output/work_2nd/_cont_id_0008/selectfiles".
180514-10:20:48,6 workflow INFO:
	 [Node] Setting-up "work_2nd.selectfiles" in "/output/work_2nd/_cont_id_0007/selectfiles".180514-10:20:48,17 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")180514-10:20:48,8 workflow INFO:
	 [Node] Setting-up "work_2nd.selectfiles" in "/output/work_2nd/_cont_id_0006/selectfiles".

180514-10:20:48,10 workflow INFO:
	 [Node] Setting-up "work_2nd.selectfiles" in "/output/work_2nd/_cont_id_0005/selectfiles".180514-10:20:48,13 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")
180514-10:20:48,13 workflow INFO:
	 [Node] Setting-up "work_2nd.selectfiles" in "/output/work_2nd/_cont_id_0004/selectfiles".
180514-10:20:48,17 workflow INFO:
	 [Node] Setting-up "work_2nd.selectfiles" in "/output/work_2nd/_cont_id_0002/selectfiles".180514-10:20:48,17 workflow INFO:
	 [Node] Setting-up "work_2nd.selectfiles" in "/output/work_2nd/_cont_id_0003/selectfiles".180514-10:20:48,17 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")



180514-10:20:48,29 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")180514-10:20:48,30 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")180514-10:20:48,29 workflow INFO:
	 [Node] Finished "work_2nd.selectfiles".180514-10:20:48,20 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")


180514-10:20:48,3 workflow INFO:
	 [Node] Setting-up "work_2nd.selectfiles" in "/output/work_2nd/_cont_id_0009/selectfiles".
180514-10:20:48,33 workflow INFO:
	 [Node] Finished "work_2nd.selectfiles".
180514-10:20:48,46 workflow INFO:
	 [Node] Finished "work_2nd.selectfiles".180514-10:20:48,48 workflow INFO:
	 [Node] Finished "work_2nd.selectfiles".



180514-10:20:48,56 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")
180514-10:20:48,51 workflow INFO:
	 [Node] Finished "work_2nd.selectfiles".
180514-10:20:48,59 workflow INFO:
	 [Node] Finished "work_2nd.selectfiles".
180514-10:20:48,70 workflow INFO:
	 [Node] Finished "work_2nd.selectfiles".180514-10:20:48,51 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")

180514-10:20:48,82 workflow INFO:
	 [Node] Finished "work_2nd.selectfiles".
180514-10:20:49,922 workflow INFO:
	 [Job 0] Completed (work_2nd.selectfiles).
180514-10:20:49,928 workflow INFO:
	 [Job 6] Completed (work_2nd.selectfiles).
180514-10:20:49,933 workflow INFO:
	 [Job 12] Completed (work_2nd.selectfiles).
180514-10:20:49,940 workflow INFO:
	 [Job 18] Completed (work_2nd.selectfiles).
180514-10:20:49,946 workflow INFO:
	 [Job 24] Completed (work_2nd.selectfiles).
180514-10:20:49,952 workflow INFO:
	 [Job 30] Completed (work_2nd.selectfiles).
180514-10:20:49,955 workflow INFO:
	 [Job 36] Completed (work_2nd.selectfiles).
180514-10:20:49,958 workflow INFO:
	 [Job 42] Completed (work_2nd.selectfiles).
180514-10:20:49,962 workflow INFO:
	 [MultiProc] Running 0 tasks, and 9 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:20:50,29 workflow INFO:
	 [Node] Setting-up "work_2nd.onesampttestdes" in "/output/work_2nd/_cont_id_0009/onesampttestdes".
180514-10:20:50,34 workflow INFO:
	 [Node] Running "onesampttestdes" ("nipype.interfaces.spm.model.OneSampleTTestDesign")180514-10:20:50,36 workflow INFO:
	 [Node] Setting-up "work_2nd.onesampttestdes" in "/output/work_2nd/_cont_id_0008/onesampttestdes".

180514-10:20:50,41 workflow INFO:
	 [Node] Setting-up "work_2nd.onesampttestdes" in "/output/work_2nd/_cont_id_0007/onesampttestdes".
180514-10:20:50,44 workflow INFO:
	 [Node] Setting-up "work_2nd.onesampttestdes" in "/output/work_2nd/_cont_id_0006/onesampttestdes".180514-10:20:50,49 workflow INFO:
	 [Node] Setting-up "work_2nd.onesampttestdes" in "/output/work_2nd/_cont_id_0005/onesampttestdes".

180514-10:20:50,52 workflow INFO:
	 [Node] Running "onesampttestdes" ("nipype.interfaces.spm.model.OneSampleTTestDesign")
180514-10:20:50,52 workflow INFO:
	 [Node] Running "onesampttestdes" ("nipype.interfaces.spm.model.OneSampleTTestDesign")
180514-10:20:50,58 workflow INFO:
	 [Node] Setting-up "work_2nd.onesampttestdes" in "/output/work_2nd/_cont_id_0004/onesampttestdes".180514-10:20:50,63 workflow INFO:
	 [Node] Running "onesampttestdes" ("nipype.interfaces.spm.model.OneSampleTTestDesign")180514-10:20:50,64 workflow INFO:
	 [Node] Setting-up "work_2nd.onesampttestdes" in "/output/work_2nd/_cont_id_0003/onesampttestdes".
180514-10:20:50,58 workflow INFO:
	 [Node] Running "onesampttestdes" ("nipype.interfaces.spm.model.OneSampleTTestDesign")
180514-10:20:50,68 workflow INFO:
	 [Node] Setting-up "work_2nd.onesampttestdes" in "/output/work_2nd/_cont_id_0002/onesampttestdes".

180514-10:20:50,73 workflow INFO:
	 [Node] Running "onesampttestdes" ("nipype.interfaces.spm.model.OneSampleTTestDesign")

180514-10:20:50,82 workflow INFO:
	 [Node] Running "onesampttestdes" ("nipype.interfaces.spm.model.OneSampleTTestDesign")180514-10:20:50,75 workflow INFO:
	 [Node] Running "onesampttestdes" ("nipype.interfaces.spm.model.OneSampleTTestDesign")

180514-10:20:51,923 workflow INFO:
	 [MultiProc] Running 8 tasks, and 1 jobs ready. Free memory (GB): 52.34/53.94, Free processors: 0/8.
                     Currently running:
                       * work_2nd.onesampttestdes
                       * work_2nd.onesampttestdes
                       * work_2nd.onesampttestdes
                       * work_2nd.onesampttestdes
                       * work_2nd.onesampttestdes
                       * work_2nd.onesampttestdes
                       * work_2nd.onesampttestdes
                       * work_2nd.onesampttestdes
180514-10:21:20,430 workflow INFO:
	 [Node] Finished "work_2nd.onesampttestdes".
180514-10:21:21,364 workflow INFO:
	 [Node] Finished "work_2nd.onesampttestdes".
180514-10:21:21,384 workflow INFO:
	 [Node] Finished "work_2nd.onesampttestdes".
180514-10:21:21,437 workflow INFO:
	 [Node] Finished "work_2nd.onesampttestdes".
180514-10:21:21,584 workflow INFO:
	 [Node] Finished "work_2nd.onesampttestdes".
180514-10:21:21,938 workflow INFO:
	 [Node] Finished "work_2nd.onesampttestdes".
180514-10:21:21,949 workflow INFO:
	 [Node] Finished "work_2nd.onesampttestdes".180514-10:21:21,950 workflow INFO:
	 [Job 1] Completed (work_2nd.onesampttestdes).
180514-10:21:21,952 workflow INFO:
	 [Job 7] Completed (work_2nd.onesampttestdes).

180514-10:21:21,954 workflow INFO:
	 [Job 13] Completed (work_2nd.onesampttestdes).
180514-10:21:21,956 workflow INFO:
	 [Job 25] Completed (work_2nd.onesampttestdes).
180514-10:21:21,958 workflow INFO:
	 [Job 31] Completed (work_2nd.onesampttestdes).
180514-10:21:21,960 workflow INFO:
	 [Job 37] Completed (work_2nd.onesampttestdes).
180514-10:21:21,963 workflow INFO:
	 [Job 43] Completed (work_2nd.onesampttestdes).
180514-10:21:21,966 workflow INFO:
	 [MultiProc] Running 1 tasks, and 8 jobs ready. Free memory (GB): 53.74/53.94, Free processors: 7/8.
                     Currently running:
                       * work_2nd.onesampttestdes
180514-10:21:22,40 workflow INFO:
	 [Node] Setting-up "work_2nd.level2estimate" in "/output/work_2nd/_cont_id_0009/level2estimate".
180514-10:21:22,44 workflow INFO:
	 [Node] Setting-up "work_2nd.level2estimate" in "/output/work_2nd/_cont_id_0008/level2estimate".180514-10:21:22,47 workflow INFO:
	 [Node] Running "level2estimate" ("nipype.interfaces.spm.model.EstimateModel")180514-10:21:22,47 workflow INFO:
	 [Node] Setting-up "work_2nd.level2estimate" in "/output/work_2nd/_cont_id_0007/level2estimate".



180514-10:21:22,60 workflow INFO:
	 [Node] Running "level2estimate" ("nipype.interfaces.spm.model.EstimateModel")180514-10:21:22,60 workflow INFO:
	 [Node] Setting-up "work_2nd.level2estimate" in "/output/work_2nd/_cont_id_0004/level2estimate".180514-10:21:22,55 workflow INFO:
	 [Node] Setting-up "work_2nd.level2estimate" in "/output/work_2nd/_cont_id_0005/level2estimate".180514-10:21:22,57 workflow INFO:
	 [Node] Running "level2estimate" ("nipype.interfaces.spm.model.EstimateModel")

180514-10:21:22,63 workflow INFO:
	 [Node] Setting-up "work_2nd.level2estimate" in "/output/work_2nd/_cont_id_0003/level2estimate".

180514-10:21:22,68 workflow INFO:
	 [Node] Running "level2estimate" ("nipype.interfaces.spm.model.EstimateModel")180514-10:21:22,75 workflow INFO:
	 [Node] Running "level2estimate" ("nipype.interfaces.spm.model.EstimateModel")

180514-10:21:22,68 workflow INFO:
	 [Node] Setting-up "work_2nd.level2estimate" in "/output/work_2nd/_cont_id_0002/level2estimate".
180514-10:21:22,96 workflow INFO:
	 [Node] Running "level2estimate" ("nipype.interfaces.spm.model.EstimateModel")
180514-10:21:22,104 workflow INFO:
	 [Node] Running "level2estimate" ("nipype.interfaces.spm.model.EstimateModel")
180514-10:21:22,154 workflow INFO:
	 [Node] Finished "work_2nd.onesampttestdes".
180514-10:21:23,952 workflow INFO:
	 [Job 19] Completed (work_2nd.onesampttestdes).
180514-10:21:23,962 workflow INFO:
	 [MultiProc] Running 7 tasks, and 2 jobs ready. Free memory (GB): 52.54/53.94, Free processors: 1/8.
                     Currently running:
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
180514-10:21:24,59 workflow INFO:
	 [Node] Setting-up "work_2nd.level2estimate" in "/output/work_2nd/_cont_id_0006/level2estimate".
180514-10:21:24,102 workflow INFO:
	 [Node] Running "level2estimate" ("nipype.interfaces.spm.model.EstimateModel")
180514-10:21:25,959 workflow INFO:
	 [MultiProc] Running 8 tasks, and 1 jobs ready. Free memory (GB): 52.34/53.94, Free processors: 0/8.
                     Currently running:
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
180514-10:21:47,35 workflow INFO:
	 [Node] Finished "work_2nd.level2estimate".
180514-10:21:47,164 workflow INFO:
	 [Node] Finished "work_2nd.level2estimate".
180514-10:21:47,473 workflow INFO:
	 [Node] Finished "work_2nd.level2estimate".
180514-10:21:47,638 workflow INFO:
	 [Node] Finished "work_2nd.level2estimate".
180514-10:21:47,786 workflow INFO:
	 [Node] Finished "work_2nd.level2estimate".
180514-10:21:47,976 workflow INFO:
	 [Job 2] Completed (work_2nd.level2estimate).
180514-10:21:47,978 workflow INFO:
	 [Job 8] Completed (work_2nd.level2estimate).
180514-10:21:47,980 workflow INFO:
	 [Job 14] Completed (work_2nd.level2estimate).
180514-10:21:47,983 workflow INFO:
	 [Job 32] Completed (work_2nd.level2estimate).
180514-10:21:47,986 workflow INFO:
	 [Job 44] Completed (work_2nd.level2estimate).
180514-10:21:47,990 workflow INFO:
	 [MultiProc] Running 3 tasks, and 6 jobs ready. Free memory (GB): 53.34/53.94, Free processors: 5/8.
                     Currently running:
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
                       * work_2nd.level2estimate
180514-10:21:48,59 workflow INFO:
	 [Node] Setting-up "work_2nd.level2conestimate" in "/output/work_2nd/_cont_id_0009/level2conestimate".
180514-10:21:48,64 workflow INFO:
	 [Node] Finished "work_2nd.level2estimate".180514-10:21:48,66 workflow INFO:
	 [Node] Setting-up "work_2nd.level2conestimate" in "/output/work_2nd/_cont_id_0008/level2conestimate".
180514-10:21:48,68 workflow INFO:
	 [Node] Running "level2conestimate" ("nipype.interfaces.spm.model.EstimateContrast")

180514-10:21:48,85 workflow INFO:
	 [Node] Setting-up "work_2nd.level2conestimate" in "/output/work_2nd/_cont_id_0004/level2conestimate".
180514-10:21:48,81 workflow INFO:
	 [Node] Running "level2conestimate" ("nipype.interfaces.spm.model.EstimateContrast")
180514-10:21:48,78 workflow INFO:
	 [Node] Setting-up "work_2nd.level2conestimate" in "/output/work_2nd/_cont_id_0007/level2conestimate".180514-10:21:48,94 workflow INFO:
	 [Node] Setting-up "work_2nd.level2conestimate" in "/output/work_2nd/_cont_id_0002/level2conestimate".180514-10:21:48,93 workflow INFO:
	 [Node] Running "level2conestimate" ("nipype.interfaces.spm.model.EstimateContrast")

180514-10:21:48,103 workflow INFO:
	 [Node] Running "level2conestimate" ("nipype.interfaces.spm.model.EstimateContrast")180514-10:21:48,105 workflow INFO:
	 [Node] Running "level2conestimate" ("nipype.interfaces.spm.model.EstimateContrast")


180514-10:21:48,553 workflow INFO:
	 [Node] Finished "work_2nd.level2estimate".
180514-10:21:49,545 workflow INFO:
	 [Node] Finished "work_2nd.level2estimate".
180514-10:21:49,980 workflow INFO:
	 [Job 26] Completed (work_2nd.level2estimate).
180514-10:21:49,982 workflow INFO:
	 [Job 38] Completed (work_2nd.level2estimate).
180514-10:21:49,985 workflow INFO:
	 [Job 20] Completed (work_2nd.level2estimate).
180514-10:21:49,994 workflow INFO:
	 [MultiProc] Running 5 tasks, and 4 jobs ready. Free memory (GB): 52.94/53.94, Free processors: 3/8.
                     Currently running:
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
180514-10:21:50,72 workflow INFO:
	 [Node] Setting-up "work_2nd.level2conestimate" in "/output/work_2nd/_cont_id_0006/level2conestimate".
180514-10:21:50,88 workflow INFO:
	 [Node] Running "level2conestimate" ("nipype.interfaces.spm.model.EstimateContrast")180514-10:21:50,92 workflow INFO:
	 [Node] Setting-up "work_2nd.level2conestimate" in "/output/work_2nd/_cont_id_0003/level2conestimate".180514-10:21:50,81 workflow INFO:
	 [Node] Setting-up "work_2nd.level2conestimate" in "/output/work_2nd/_cont_id_0005/level2conestimate".

180514-10:21:50,107 workflow INFO:
	 [Node] Running "level2conestimate" ("nipype.interfaces.spm.model.EstimateContrast")
180514-10:21:50,110 workflow INFO:
	 [Node] Running "level2conestimate" ("nipype.interfaces.spm.model.EstimateContrast")

180514-10:21:51,987 workflow INFO:
	 [MultiProc] Running 8 tasks, and 1 jobs ready. Free memory (GB): 52.34/53.94, Free processors: 0/8.
                     Currently running:
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
180514-10:22:11,12 workflow INFO:
	 [Node] Finished "work_2nd.level2conestimate".
180514-10:22:11,284 workflow INFO:
	 [Node] Finished "work_2nd.level2conestimate".
180514-10:22:11,403 workflow INFO:
	 [Node] Finished "work_2nd.level2conestimate".
180514-10:22:11,683 workflow INFO:
	 [Node] Finished "work_2nd.level2conestimate".
180514-10:22:11,794 workflow INFO:
	 [Node] Finished "work_2nd.level2conestimate".
180514-10:22:12,7 workflow INFO:
	 [Job 3] Completed (work_2nd.level2conestimate).
180514-10:22:12,12 workflow INFO:
	 [Job 9] Completed (work_2nd.level2conestimate).
180514-10:22:12,17 workflow INFO:
	 [Job 15] Completed (work_2nd.level2conestimate).
180514-10:22:12,22 workflow INFO:
	 [Job 33] Completed (work_2nd.level2conestimate).
180514-10:22:12,28 workflow INFO:
	 [Job 45] Completed (work_2nd.level2conestimate).
180514-10:22:12,36 workflow INFO:
	 [MultiProc] Running 3 tasks, and 6 jobs ready. Free memory (GB): 53.34/53.94, Free processors: 5/8.
                     Currently running:
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
                       * work_2nd.level2conestimate
180514-10:22:12,104 workflow INFO:
	 [Node] Setting-up "work_2nd.level2thresh" in "/output/work_2nd/_cont_id_0009/level2thresh".
180514-10:22:12,109 workflow INFO:
	 [Node] Setting-up "work_2nd.level2thresh" in "/output/work_2nd/_cont_id_0008/level2thresh".180514-10:22:12,111 workflow INFO:
	 [Node] Running "level2thresh" ("nipype.interfaces.spm.model.Threshold")
180514-10:22:12,113 workflow INFO:
	 [Node] Setting-up "work_2nd.level2thresh" in "/output/work_2nd/_cont_id_0007/level2thresh".
180514-10:22:12,116 workflow INFO:
	 [Node] Running "level2thresh" ("nipype.interfaces.spm.model.Threshold")
180514-10:22:12,119 workflow INFO:
	 [Node] Setting-up "work_2nd.level2thresh" in "/output/work_2nd/_cont_id_0004/level2thresh".

180514-10:22:12,120 workflow INFO:
	 [Node] Running "level2thresh" ("nipype.interfaces.spm.model.Threshold")
180514-10:22:12,126 workflow INFO:
	 [Node] Setting-up "work_2nd.level2thresh" in "/output/work_2nd/_cont_id_0002/level2thresh".180514-10:22:12,127 workflow INFO:
	 [Node] Running "level2thresh" ("nipype.interfaces.spm.model.Threshold")

180514-10:22:12,135 workflow INFO:
	 [Node] Running "level2thresh" ("nipype.interfaces.spm.model.Threshold")
180514-10:22:13,503 workflow INFO:
	 [Node] Finished "work_2nd.level2conestimate".
180514-10:22:13,562 workflow INFO:
	 [Node] Finished "work_2nd.level2conestimate".
180514-10:22:13,572 workflow INFO:
	 [Node] Finished "work_2nd.level2conestimate".
180514-10:22:14,8 workflow INFO:
	 [Job 21] Completed (work_2nd.level2conestimate).
180514-10:22:14,10 workflow INFO:
	 [Job 27] Completed (work_2nd.level2conestimate).
180514-10:22:14,12 workflow INFO:
	 [Job 39] Completed (work_2nd.level2conestimate).
180514-10:22:14,17 workflow INFO:
	 [MultiProc] Running 5 tasks, and 4 jobs ready. Free memory (GB): 52.94/53.94, Free processors: 3/8.
                     Currently running:
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
180514-10:22:14,92 workflow INFO:
	 [Node] Setting-up "work_2nd.level2thresh" in "/output/work_2nd/_cont_id_0006/level2thresh".
180514-10:22:14,101 workflow INFO:
	 [Node] Setting-up "work_2nd.level2thresh" in "/output/work_2nd/_cont_id_0005/level2thresh".180514-10:22:14,109 workflow INFO:
	 [Node] Running "level2thresh" ("nipype.interfaces.spm.model.Threshold")
180514-10:22:14,106 workflow INFO:
	 [Node] Setting-up "work_2nd.level2thresh" in "/output/work_2nd/_cont_id_0003/level2thresh".

180514-10:22:14,139 workflow INFO:
	 [Node] Running "level2thresh" ("nipype.interfaces.spm.model.Threshold")
180514-10:22:14,167 workflow INFO:
	 [Node] Running "level2thresh" ("nipype.interfaces.spm.model.Threshold")
180514-10:22:16,14 workflow INFO:
	 [MultiProc] Running 8 tasks, and 1 jobs ready. Free memory (GB): 52.34/53.94, Free processors: 0/8.
                     Currently running:
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
180514-10:22:23,238 workflow INFO:
	 [Node] Finished "work_2nd.level2thresh".
180514-10:22:23,416 workflow INFO:
	 [Node] Finished "work_2nd.level2thresh".
180514-10:22:23,421 workflow INFO:
	 [Node] Finished "work_2nd.level2thresh".
180514-10:22:23,556 workflow INFO:
	 [Node] Finished "work_2nd.level2thresh".
180514-10:22:24,38 workflow INFO:
	 [Job 10] Completed (work_2nd.level2thresh).
180514-10:22:24,40 workflow INFO:
	 [Job 16] Completed (work_2nd.level2thresh).
180514-10:22:24,42 workflow INFO:
	 [Job 34] Completed (work_2nd.level2thresh).
180514-10:22:24,45 workflow INFO:
	 [Job 46] Completed (work_2nd.level2thresh).
180514-10:22:24,48 workflow INFO:
	 [MultiProc] Running 4 tasks, and 5 jobs ready. Free memory (GB): 53.14/53.94, Free processors: 4/8.
                     Currently running:
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
                       * work_2nd.level2thresh
180514-10:22:24,85 workflow INFO:
	 [Node] Finished "work_2nd.level2thresh".
180514-10:22:24,114 workflow INFO:
	 [Node] Setting-up "work_2nd.datasink" in "/output/work_2nd/_cont_id_0008/datasink".
180514-10:22:24,123 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")180514-10:22:24,119 workflow INFO:
	 [Node] Setting-up "work_2nd.datasink" in "/output/work_2nd/_cont_id_0007/datasink".

180514-10:22:24,127 workflow INFO:
	 [Node] Setting-up "work_2nd.datasink" in "/output/work_2nd/_cont_id_0004/datasink".
180514-10:22:24,128 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0008/SPM.mat -> /output/datasink_handson/2ndLevel/con_0008/SPM.mat180514-10:22:24,135 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")180514-10:22:24,135 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")

180514-10:22:24,137 workflow INFO:
	 [Node] Setting-up "work_2nd.datasink" in "/output/work_2nd/_cont_id_0002/datasink".180514-10:22:24,139 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0007/SPM.mat -> /output/datasink_handson/2ndLevel/con_0007/SPM.mat

180514-10:22:24,140 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0004/SPM.mat -> /output/datasink_handson/2ndLevel/con_0004/SPM.mat
180514-10:22:24,142 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0008/spmT_0001.nii -> /output/datasink_handson/2ndLevel/con_0008/spmT_0001.nii180514-10:22:24,143 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0007/spmT_0001.nii -> /output/datasink_handson/2ndLevel/con_0007/spmT_0001.nii


180514-10:22:24,146 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0004/spmT_0001.nii -> /output/datasink_handson/2ndLevel/con_0004/spmT_0001.nii180514-10:22:24,147 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0007/con_0001.nii -> /output/datasink_handson/2ndLevel/con_0007/con_0001.nii180514-10:22:24,146 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0008/con_0001.nii -> /output/datasink_handson/2ndLevel/con_0008/con_0001.nii

180514-10:22:24,149 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")
180514-10:22:24,151 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0004/con_0001.nii -> /output/datasink_handson/2ndLevel/con_0004/con_0001.nii
180514-10:22:24,151 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0007/spmT_0001_thr.nii -> /output/datasink_handson/2ndLevel/con_0007/spmT_0001_thr.nii
180514-10:22:24,154 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0002/SPM.mat -> /output/datasink_handson/2ndLevel/con_0002/SPM.mat
180514-10:22:24,154 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0004/spmT_0001_thr.nii -> /output/datasink_handson/2ndLevel/con_0004/spmT_0001_thr.nii

180514-10:22:24,158 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0002/spmT_0001.nii -> /output/datasink_handson/2ndLevel/con_0002/spmT_0001.nii
180514-10:22:24,162 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0002/con_0001.nii -> /output/datasink_handson/2ndLevel/con_0002/con_0001.nii180514-10:22:24,160 workflow INFO:
	 [Node] Finished "work_2nd.datasink".
180514-10:22:24,163 workflow INFO:
	 [Node] Finished "work_2nd.datasink".
180514-10:22:24,152 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0008/spmT_0001_thr.nii -> /output/datasink_handson/2ndLevel/con_0008/spmT_0001_thr.nii180514-10:22:24,167 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0002/spmT_0001_thr.nii -> /output/datasink_handson/2ndLevel/con_0002/spmT_0001_thr.nii


180514-10:22:24,173 workflow INFO:
	 [Node] Finished "work_2nd.datasink".
180514-10:22:24,174 workflow INFO:
	 [Node] Finished "work_2nd.datasink".
180514-10:22:25,437 workflow INFO:
	 [Node] Finished "work_2nd.level2thresh".
180514-10:22:25,582 workflow INFO:
	 [Node] Finished "work_2nd.level2thresh".
180514-10:22:25,629 workflow INFO:
	 [Node] Finished "work_2nd.level2thresh".
180514-10:22:26,41 workflow INFO:
	 [Job 4] Completed (work_2nd.level2thresh).
180514-10:22:26,47 workflow INFO:
	 [Job 22] Completed (work_2nd.level2thresh).
180514-10:22:26,53 workflow INFO:
	 [Job 28] Completed (work_2nd.level2thresh).
180514-10:22:26,55 workflow INFO:
	 [Job 40] Completed (work_2nd.level2thresh).
180514-10:22:26,57 workflow INFO:
	 [Job 11] Completed (work_2nd.datasink).
180514-10:22:26,59 workflow INFO:
	 [Job 17] Completed (work_2nd.datasink).
180514-10:22:26,60 workflow INFO:
	 [Job 35] Completed (work_2nd.datasink).
180514-10:22:26,62 workflow INFO:
	 [Job 47] Completed (work_2nd.datasink).
180514-10:22:26,64 workflow INFO:
	 [MultiProc] Running 0 tasks, and 5 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:22:26,132 workflow INFO:
	 [Node] Setting-up "work_2nd.datasink" in "/output/work_2nd/_cont_id_0009/datasink".
180514-10:22:26,138 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")
180514-10:22:26,142 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0009/SPM.mat -> /output/datasink_handson/2ndLevel/con_0009/SPM.mat180514-10:22:26,143 workflow INFO:
	 [Node] Setting-up "work_2nd.datasink" in "/output/work_2nd/_cont_id_0006/datasink".

180514-10:22:26,147 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0009/spmT_0001.nii -> /output/datasink_handson/2ndLevel/con_0009/spmT_0001.nii180514-10:22:26,150 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")

180514-10:22:26,152 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0009/con_0001.nii -> /output/datasink_handson/2ndLevel/con_0009/con_0001.nii180514-10:22:26,154 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0006/SPM.mat -> /output/datasink_handson/2ndLevel/con_0006/SPM.mat

180514-10:22:26,152 workflow INFO:
	 [Node] Setting-up "work_2nd.datasink" in "/output/work_2nd/_cont_id_0005/datasink".180514-10:22:26,156 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0009/spmT_0001_thr.nii -> /output/datasink_handson/2ndLevel/con_0009/spmT_0001_thr.nii

180514-10:22:26,157 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0006/spmT_0001.nii -> /output/datasink_handson/2ndLevel/con_0006/spmT_0001.nii180514-10:22:26,162 workflow INFO:
	 [Node] Setting-up "work_2nd.datasink" in "/output/work_2nd/_cont_id_0003/datasink".180514-10:22:26,163 workflow INFO:
	 [Node] Finished "work_2nd.datasink".
180514-10:22:26,164 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")180514-10:22:26,164 workflow INFO:
	 [Node] Setting-up "work_2nd.selectfiles" in "/output/work_2nd/_cont_id_0001/selectfiles".


180514-10:22:26,167 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0006/con_0001.nii -> /output/datasink_handson/2ndLevel/con_0006/con_0001.nii
180514-10:22:26,172 workflow INFO:
	 [Node] Running "selectfiles" ("nipype.interfaces.io.SelectFiles")180514-10:22:26,172 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")


180514-10:22:26,175 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0006/spmT_0001_thr.nii -> /output/datasink_handson/2ndLevel/con_0006/spmT_0001_thr.nii180514-10:22:26,178 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0003/SPM.mat -> /output/datasink_handson/2ndLevel/con_0003/SPM.mat180514-10:22:26,180 workflow INFO:
	 [Node] Finished "work_2nd.selectfiles".
180514-10:22:26,174 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0005/SPM.mat -> /output/datasink_handson/2ndLevel/con_0005/SPM.mat


180514-10:22:26,184 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0003/spmT_0001.nii -> /output/datasink_handson/2ndLevel/con_0003/spmT_0001.nii180514-10:22:26,183 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0005/spmT_0001.nii -> /output/datasink_handson/2ndLevel/con_0005/spmT_0001.nii180514-10:22:26,185 workflow INFO:
	 [Node] Finished "work_2nd.datasink".

180514-10:22:26,188 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0005/con_0001.nii -> /output/datasink_handson/2ndLevel/con_0005/con_0001.nii
180514-10:22:26,191 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0005/spmT_0001_thr.nii -> /output/datasink_handson/2ndLevel/con_0005/spmT_0001_thr.nii

180514-10:22:26,194 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0003/con_0001.nii -> /output/datasink_handson/2ndLevel/con_0003/con_0001.nii
180514-10:22:26,197 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0003/spmT_0001_thr.nii -> /output/datasink_handson/2ndLevel/con_0003/spmT_0001_thr.nii
180514-10:22:26,198 workflow INFO:
	 [Node] Finished "work_2nd.datasink".
180514-10:22:26,205 workflow INFO:
	 [Node] Finished "work_2nd.datasink".
180514-10:22:28,42 workflow INFO:
	 [Job 5] Completed (work_2nd.datasink).
180514-10:22:28,48 workflow INFO:
	 [Job 23] Completed (work_2nd.datasink).
180514-10:22:28,54 workflow INFO:
	 [Job 29] Completed (work_2nd.datasink).
180514-10:22:28,61 workflow INFO:
	 [Job 41] Completed (work_2nd.datasink).
180514-10:22:28,67 workflow INFO:
	 [Job 48] Completed (work_2nd.selectfiles).
180514-10:22:28,74 workflow INFO:
	 [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:22:28,140 workflow INFO:
	 [Node] Setting-up "work_2nd.onesampttestdes" in "/output/work_2nd/_cont_id_0001/onesampttestdes".
180514-10:22:28,146 workflow INFO:
	 [Node] Running "onesampttestdes" ("nipype.interfaces.spm.model.OneSampleTTestDesign")
180514-10:22:30,43 workflow INFO:
	 [MultiProc] Running 1 tasks, and 0 jobs ready. Free memory (GB): 53.74/53.94, Free processors: 7/8.
                     Currently running:
                       * work_2nd.onesampttestdes
180514-10:22:40,305 workflow INFO:
	 [Node] Finished "work_2nd.onesampttestdes".
180514-10:22:42,55 workflow INFO:
	 [Job 49] Completed (work_2nd.onesampttestdes).
180514-10:22:42,64 workflow INFO:
	 [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:22:42,133 workflow INFO:
	 [Node] Setting-up "work_2nd.level2estimate" in "/output/work_2nd/_cont_id_0001/level2estimate".
180514-10:22:42,138 workflow INFO:
	 [Node] Running "level2estimate" ("nipype.interfaces.spm.model.EstimateModel")
180514-10:22:44,54 workflow INFO:
	 [MultiProc] Running 1 tasks, and 0 jobs ready. Free memory (GB): 53.74/53.94, Free processors: 7/8.
                     Currently running:
                       * work_2nd.level2estimate
180514-10:22:56,401 workflow INFO:
	 [Node] Finished "work_2nd.level2estimate".
180514-10:22:58,70 workflow INFO:
	 [Job 50] Completed (work_2nd.level2estimate).
180514-10:22:58,79 workflow INFO:
	 [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:22:58,157 workflow INFO:
	 [Node] Setting-up "work_2nd.level2conestimate" in "/output/work_2nd/_cont_id_0001/level2conestimate".
180514-10:22:58,166 workflow INFO:
	 [Node] Running "level2conestimate" ("nipype.interfaces.spm.model.EstimateContrast")
180514-10:23:00,70 workflow INFO:
	 [MultiProc] Running 1 tasks, and 0 jobs ready. Free memory (GB): 53.74/53.94, Free processors: 7/8.
                     Currently running:
                       * work_2nd.level2conestimate
180514-10:23:11,851 workflow INFO:
	 [Node] Finished "work_2nd.level2conestimate".
180514-10:23:12,84 workflow INFO:
	 [Job 51] Completed (work_2nd.level2conestimate).
180514-10:23:12,91 workflow INFO:
	 [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:23:12,172 workflow INFO:
	 [Node] Setting-up "work_2nd.level2thresh" in "/output/work_2nd/_cont_id_0001/level2thresh".
180514-10:23:12,178 workflow INFO:
	 [Node] Running "level2thresh" ("nipype.interfaces.spm.model.Threshold")
180514-10:23:14,84 workflow INFO:
	 [MultiProc] Running 1 tasks, and 0 jobs ready. Free memory (GB): 53.74/53.94, Free processors: 7/8.
                     Currently running:
                       * work_2nd.level2thresh
180514-10:23:20,157 workflow INFO:
	 [Node] Finished "work_2nd.level2thresh".
180514-10:23:22,89 workflow INFO:
	 [Job 52] Completed (work_2nd.level2thresh).
180514-10:23:22,96 workflow INFO:
	 [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
180514-10:23:22,179 workflow INFO:
	 [Node] Setting-up "work_2nd.datasink" in "/output/work_2nd/_cont_id_0001/datasink".
180514-10:23:22,189 workflow INFO:
	 [Node] Running "datasink" ("nipype.interfaces.io.DataSink")
180514-10:23:22,193 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0001/SPM.mat -> /output/datasink_handson/2ndLevel/con_0001/SPM.mat
180514-10:23:22,196 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0001/spmT_0001.nii -> /output/datasink_handson/2ndLevel/con_0001/spmT_0001.nii
180514-10:23:22,200 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0001/con_0001.nii -> /output/datasink_handson/2ndLevel/con_0001/con_0001.nii
180514-10:23:22,204 interface INFO:
	 sub: /output/datasink_handson/2ndLevel/_cont_id_0001/spmT_0001_thr.nii -> /output/datasink_handson/2ndLevel/con_0001/spmT_0001_thr.nii
180514-10:23:22,210 workflow INFO:
	 [Node] Finished "work_2nd.datasink".
180514-10:23:24,90 workflow INFO:
	 [Job 53] Completed (work_2nd.datasink).
180514-10:23:24,98 workflow INFO:
	 [MultiProc] Running 0 tasks, and 0 jobs ready. Free memory (GB): 53.94/53.94, Free processors: 8/8.
Out[ ]:
<networkx.classes.digraph.DiGraph at 0x7ff53777beb8>

Visualize results

Let's take a look at the results. Keep in mind that we only have N=6 subjects and that we set the voxel threshold to a very liberal p<0.01. Interpretation of the results should, therefore, be taken with a lot of caution.

In [ ]:
%matplotlib inline
from nilearn.plotting import plot_glass_brain
out_path = '/output/datasink_handson/2ndLevel/'
In [ ]:
plot_glass_brain(out_path + 'con_0001/spmT_0001_thr.nii', display_mode='lyrz',
                 black_bg=True, colorbar=True, title='average (FDR corrected)');
In [ ]:
plot_glass_brain(out_path + 'con_0002/spmT_0001_thr.nii', display_mode='lyrz',
                 black_bg=True, colorbar=True, title='Finger (FDR corrected)');
In [ ]:
plot_glass_brain(out_path + 'con_0003/spmT_0001_thr.nii', display_mode='lyrz',
                 black_bg=True, colorbar=True, title='Foot (FDR corrected)');
In [ ]:
plot_glass_brain(out_path + 'con_0004/spmT_0001_thr.nii', display_mode='lyrz',
                 black_bg=True, colorbar=True, title='Lips (FDR corrected)');
In [ ]:
plot_glass_brain(out_path + 'con_0005/spmT_0001_thr.nii', display_mode='lyrz',
                 black_bg=True, colorbar=True, title='Finger < others (FDR corrected)');
In [ ]:
plot_glass_brain(out_path + 'con_0006/spmT_0001_thr.nii', display_mode='lyrz',
                 black_bg=True, colorbar=True, title='Foot < others (FDR corrected)');
In [ ]:
plot_glass_brain(out_path + 'con_0007/spmT_0001_thr.nii', display_mode='lyrz',
                 black_bg=True, colorbar=True, title='Lips > others (FDR corrected)');

Home | github | Nipype