Running NiBetaSeries

This example runs through a basic call of NiBetaSeries using the commandline entry point nibs. While this example is using python, typically nibs will be called directly on the commandline.

Import all the necessary packages

import tempfile  # make a temporary directory for files
import os  # interact with the filesystem
import urllib.request  # grad data from internet
import tarfile  # extract files from tar
from subprocess import Popen, PIPE, STDOUT  # enable calling commandline

import matplotlib.pyplot as plt  # manipulate figures
import seaborn as sns  # display results
import pandas as pd   # manipulate tabular data
import nibabel as nib  # load the beta maps in python
from nilearn import plotting  # plot nifti images

Download relevant data from ds000164 (and Atlas Files)

The subject data came from openneuro [notebook-1]. The atlas data came from a recently published parcellation in a publically accessible github repository.

# atlas github repo for reference:
"""https://github.com/ThomasYeoLab/CBIG/raw/master/stable_projects/\
brain_parcellation/Schaefer2018_LocalGlobal/Parcellations/MNI/"""
data_dir = tempfile.mkdtemp()
print('Our working directory: {}'.format(data_dir))

# download the tar data
url = "https://www.dropbox.com/s/fvtyld08srwl3x9/ds000164-test_v2.tar.gz?dl=1"
tar_file = os.path.join(data_dir, "ds000164.tar.gz")
u = urllib.request.urlopen(url)
data = u.read()
u.close()

# write tar data to file
with open(tar_file, "wb") as f:
    f.write(data)

# extract the data
tar = tarfile.open(tar_file, mode='r|gz')
tar.extractall(path=data_dir)

os.remove(tar_file)

Out:

Our working directory: /tmp/tmpjogdr81i

Display the minimal dataset necessary to run nibs

# https://stackoverflow.com/questions/9727673/list-directory-tree-structure-in-python
def list_files(startpath):
    for root, dirs, files in os.walk(startpath):
        level = root.replace(startpath, '').count(os.sep)
        indent = ' ' * 4 * (level)
        print('{}{}/'.format(indent, os.path.basename(root)))
        subindent = ' ' * 4 * (level + 1)
        for f in files:
            print('{}{}'.format(subindent, f))


list_files(data_dir)

Out:

tmpjogdr81i/
    ds000164/
        T1w.json
        README
        task-stroop_bold.json
        dataset_description.json
        task-stroop_events.json
        CHANGES
        derivatives/
            data/
                Schaefer2018_100Parcels_7Networks_order.txt
                Schaefer2018_100Parcels_7Networks_order_FSLMNI152_2mm.nii.gz
            fmriprep/
                dataset_description.json
                sub-001/
                    func/
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz
                        sub-001_task-stroop_desc-confounds_regressors.tsv
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz
        sub-001/
            anat/
                sub-001_T1w.nii.gz
            func/
                sub-001_task-stroop_bold.nii.gz
                sub-001_task-stroop_events.tsv

Manipulate events file so it satifies assumptions

1. the correct column has 1’s and 0’s corresponding to correct and incorrect, respectively. 2. the condition column is renamed to trial_type nibs currently depends on the “correct” column being binary and the “trial_type” column to contain the trial types of interest.

read the file

events_file = os.path.join(data_dir,
                           "ds000164",
                           "sub-001",
                           "func",
                           "sub-001_task-stroop_events.tsv")
events_df = pd.read_csv(events_file, sep='\t', na_values="n/a")
print(events_df.head())

Out:

    onset  duration correct  condition  response_time
0   0.342         1       Y    neutral          1.186
1   3.345         1       Y  congruent          0.667
2  12.346         1       Y  congruent          0.614
3  15.349         1       Y    neutral          0.696
4  18.350         1       Y    neutral          0.752

replace condition with trial_type

events_df.rename({"condition": "trial_type"}, axis='columns', inplace=True)
print(events_df.head())

Out:

    onset  duration correct trial_type  response_time
0   0.342         1       Y    neutral          1.186
1   3.345         1       Y  congruent          0.667
2  12.346         1       Y  congruent          0.614
3  15.349         1       Y    neutral          0.696
4  18.350         1       Y    neutral          0.752

save the file

events_df.to_csv(events_file, sep="\t", na_rep="n/a", index=False)

Manipulate the region order file

There are several adjustments to the atlas file that need to be completed before we can pass it into nibs. Importantly, the relevant column names MUST be named “index” and “regions”. “index” refers to which integer within the file corresponds to which region in the atlas nifti file. “regions” refers the name of each region in the atlas nifti file.

read the atlas file

atlas_txt = os.path.join(data_dir,
                         "ds000164",
                         "derivatives",
                         "data",
                         "Schaefer2018_100Parcels_7Networks_order.txt")
atlas_df = pd.read_csv(atlas_txt, sep="\t", header=None)
print(atlas_df.head())

Out:

   0                   1    2   3    4  5
0  1  7Networks_LH_Vis_1  120  18  131  0
1  2  7Networks_LH_Vis_2  120  18  132  0
2  3  7Networks_LH_Vis_3  120  18  133  0
3  4  7Networks_LH_Vis_4  120  18  135  0
4  5  7Networks_LH_Vis_5  120  18  136  0

drop color coding columns

atlas_df.drop([2, 3, 4, 5], axis='columns', inplace=True)
print(atlas_df.head())

Out:

   0                   1
0  1  7Networks_LH_Vis_1
1  2  7Networks_LH_Vis_2
2  3  7Networks_LH_Vis_3
3  4  7Networks_LH_Vis_4
4  5  7Networks_LH_Vis_5

rename columns with the approved headings: “index” and “regions”

atlas_df.rename({0: 'index', 1: 'regions'}, axis='columns', inplace=True)
print(atlas_df.head())

Out:

   index             regions
0      1  7Networks_LH_Vis_1
1      2  7Networks_LH_Vis_2
2      3  7Networks_LH_Vis_3
3      4  7Networks_LH_Vis_4
4      5  7Networks_LH_Vis_5

remove prefix “7Networks”

atlas_df.replace(regex={'7Networks_(.*)': '\\1'}, inplace=True)
print(atlas_df.head())

Out:

   index   regions
0      1  LH_Vis_1
1      2  LH_Vis_2
2      3  LH_Vis_3
3      4  LH_Vis_4
4      5  LH_Vis_5

write out the file as .tsv

atlas_tsv = atlas_txt.replace(".txt", ".tsv")
atlas_df.to_csv(atlas_tsv, sep="\t", index=False)

Run nibs

This demonstration mimics how you would use nibs on the command line If you only wanted the beta maps and not the correlation matrices, do not include the atlas (-a) and lookup table options (-l)

out_dir = os.path.join(data_dir, "ds000164", "derivatives")
work_dir = os.path.join(out_dir, "work")
atlas_mni_file = os.path.join(data_dir,
                              "ds000164",
                              "derivatives",
                              "data",
                              "Schaefer2018_100Parcels_7Networks_order_FSLMNI152_2mm.nii.gz")
cmd = """\
nibs -c WhiteMatter CSF \
--participant-label 001 \
--estimator lsa \
--hrf-model glover \
-w {work_dir} \
-a {atlas_mni_file} \
-l {atlas_tsv} \
{bids_dir} \
fmriprep \
{out_dir} \
participant
""".format(atlas_mni_file=atlas_mni_file,
           atlas_tsv=atlas_tsv,
           bids_dir=os.path.join(data_dir, "ds000164"),
           out_dir=out_dir,
           work_dir=work_dir)

# Since we cannot run bash commands inside this tutorial
# we are printing the actual bash command so you can see it
# in the output
print("The Example Command:\n", cmd)

# call nibs
p = Popen(cmd, shell=True, stdout=PIPE, stderr=STDOUT)

while True:
    line = p.stdout.readline()
    if not line:
        break
    print(line)

Out:

The Example Command:
 nibs -c WhiteMatter CSF --participant-label 001 --estimator lsa --hrf-model glover -w /tmp/tmpjogdr81i/ds000164/derivatives/work -a /tmp/tmpjogdr81i/ds000164/derivatives/data/Schaefer2018_100Parcels_7Networks_order_FSLMNI152_2mm.nii.gz -l /tmp/tmpjogdr81i/ds000164/derivatives/data/Schaefer2018_100Parcels_7Networks_order.tsv /tmp/tmpjogdr81i/ds000164 fmriprep /tmp/tmpjogdr81i/ds000164/derivatives participant

b'200223-05:47:57,245 nipype.utils INFO:\n'
b'\t No new version available.\n'
b'200223-05:47:57,292 nipype.workflow INFO:\n'
b"\t Workflow nibetaseries_participant_wf settings: ['check', 'execution', 'logging', 'monitoring']\n"
b'200223-05:47:57,301 nipype.workflow INFO:\n'
b'\t Running in parallel.\n'
b'200223-05:47:57,304 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b"/home/docs/checkouts/readthedocs.org/user_builds/nibetaseries/envs/v0.4.3/lib/python3.7/site-packages/bids/layout/models.py:157: UserWarning: Accessing entities as attributes is deprecated as of 0.7. Please use the .entities dictionary instead (i.e., .entities['task'] instead of .task.\n"
b'  % (attr, attr))\n'
b"/home/docs/checkouts/readthedocs.org/user_builds/nibetaseries/envs/v0.4.3/lib/python3.7/site-packages/bids/layout/models.py:157: UserWarning: Accessing entities as attributes is deprecated as of 0.7. Please use the .entities dictionary instead (i.e., .entities['space'] instead of .space.\n"
b'  % (attr, attr))\n'
b'200223-05:47:57,351 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "nibetaseries_participant_wf.single_subject001_wf.betaseries_wf.betaseries_node" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/betaseries_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/betaseries_node".\n'
b'200223-05:47:57,355 nipype.workflow INFO:\n'
b'\t [Node] Running "betaseries_node" ("nibetaseries.interfaces.nistats.LSABetaSeries")\n'
b'200223-05:47:59,307 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 1 tasks, and 0 jobs ready. Free memory (GB): 6.81/7.01, Free processors: 3/4.\n'
b'                     Currently running:\n'
b'                       * nibetaseries_participant_wf.single_subject001_wf.betaseries_wf.betaseries_node\n'
b'200223-05:48:02,376 nipype.workflow INFO:\n'
b'\t [Node] Finished "nibetaseries_participant_wf.single_subject001_wf.betaseries_wf.betaseries_node".\n'
b'200223-05:48:03,310 nipype.workflow INFO:\n'
b'\t [Job 0] Completed (nibetaseries_participant_wf.single_subject001_wf.betaseries_wf.betaseries_node).\n'
b'200223-05:48:03,313 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 2 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:05,312 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 6 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:05,346 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_betaseries_file0" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_betaseries_file/mapflow/_ds_betaseries_file0".\n'
b'200223-05:48:05,347 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_betaseries_file1" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_betaseries_file/mapflow/_ds_betaseries_file1".\n'
b'200223-05:48:05,347 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_betaseries_file2" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_betaseries_file/mapflow/_ds_betaseries_file2".\n'
b'200223-05:48:05,351 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_betaseries_file2" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:05,351 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_betaseries_file0" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:05,351 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_betaseries_file1" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:05,353 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_censor_volumes0" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/censor_volumes/mapflow/_censor_volumes0".\n'
b'200223-05:48:05,355 nipype.workflow INFO:\n'
b'\t [Node] Running "_censor_volumes0" ("nibetaseries.interfaces.nilearn.CensorVolumes")\n'
b'200223-05:48:05,365 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_betaseries_file0".\n'
b'200223-05:48:05,365 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_betaseries_file1".\n'
b'200223-05:48:05,365 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_betaseries_file2".\n'
b'200223-05:48:05,407 nipype.workflow INFO:\n'
b'\t [Node] Finished "_censor_volumes0".\n'
b'200223-05:48:07,313 nipype.workflow INFO:\n'
b'\t [Job 7] Completed (_ds_betaseries_file0).\n'
b'200223-05:48:07,314 nipype.workflow INFO:\n'
b'\t [Job 8] Completed (_ds_betaseries_file1).\n'
b'200223-05:48:07,314 nipype.workflow INFO:\n'
b'\t [Job 9] Completed (_ds_betaseries_file2).\n'
b'200223-05:48:07,315 nipype.workflow INFO:\n'
b'\t [Job 10] Completed (_censor_volumes0).\n'
b'200223-05:48:07,316 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 3 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:07,350 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "nibetaseries_participant_wf.single_subject001_wf.ds_betaseries_file" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_betaseries_file".\n'
b'200223-05:48:07,351 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_censor_volumes1" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/censor_volumes/mapflow/_censor_volumes1".\n'
b'200223-05:48:07,353 nipype.workflow INFO:\n'
b'\t [Node] Running "_censor_volumes1" ("nibetaseries.interfaces.nilearn.CensorVolumes")\n'
b'200223-05:48:07,354 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_betaseries_file0" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_betaseries_file/mapflow/_ds_betaseries_file0".\n'
b'200223-05:48:07,356 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_betaseries_file0" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:07,357 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_censor_volumes2" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/censor_volumes/mapflow/_censor_volumes2".\n'
b'200223-05:48:07,359 nipype.workflow INFO:\n'
b'\t [Node] Running "_censor_volumes2" ("nibetaseries.interfaces.nilearn.CensorVolumes")\n'
b'200223-05:48:07,364 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_betaseries_file0".\n'
b'200223-05:48:07,365 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_betaseries_file1" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_betaseries_file/mapflow/_ds_betaseries_file1".\n'
b'200223-05:48:07,367 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_betaseries_file1" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:07,374 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_betaseries_file1".\n'
b'200223-05:48:07,375 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_betaseries_file2" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_betaseries_file/mapflow/_ds_betaseries_file2".\n'
b'200223-05:48:07,377 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_betaseries_file2" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:07,384 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_betaseries_file2".\n'
b'200223-05:48:07,386 nipype.workflow INFO:\n'
b'\t [Node] Finished "nibetaseries_participant_wf.single_subject001_wf.ds_betaseries_file".\n'
b'200223-05:48:07,408 nipype.workflow INFO:\n'
b'\t [Node] Finished "_censor_volumes2".\n'
b'200223-05:48:07,408 nipype.workflow INFO:\n'
b'\t [Node] Finished "_censor_volumes1".\n'
b'200223-05:48:09,315 nipype.workflow INFO:\n'
b'\t [Job 1] Completed (nibetaseries_participant_wf.single_subject001_wf.ds_betaseries_file).\n'
b'200223-05:48:09,317 nipype.workflow INFO:\n'
b'\t [Job 11] Completed (_censor_volumes1).\n'
b'200223-05:48:09,317 nipype.workflow INFO:\n'
b'\t [Job 12] Completed (_censor_volumes2).\n'
b'200223-05:48:09,318 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:09,357 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "nibetaseries_participant_wf.single_subject001_wf.censor_volumes" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/censor_volumes".\n'
b'200223-05:48:09,361 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_censor_volumes0" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/censor_volumes/mapflow/_censor_volumes0".\n'
b'200223-05:48:09,363 nipype.workflow INFO:\n'
b'\t [Node] Cached "_censor_volumes0" - collecting precomputed outputs\n'
b'200223-05:48:09,363 nipype.workflow INFO:\n'
b'\t [Node] "_censor_volumes0" found cached.\n'
b'200223-05:48:09,364 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_censor_volumes1" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/censor_volumes/mapflow/_censor_volumes1".\n'
b'200223-05:48:09,365 nipype.workflow INFO:\n'
b'\t [Node] Cached "_censor_volumes1" - collecting precomputed outputs\n'
b'200223-05:48:09,365 nipype.workflow INFO:\n'
b'\t [Node] "_censor_volumes1" found cached.\n'
b'200223-05:48:09,366 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_censor_volumes2" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/censor_volumes/mapflow/_censor_volumes2".\n'
b'200223-05:48:09,367 nipype.workflow INFO:\n'
b'\t [Node] Cached "_censor_volumes2" - collecting precomputed outputs\n'
b'200223-05:48:09,367 nipype.workflow INFO:\n'
b'\t [Node] "_censor_volumes2" found cached.\n'
b'200223-05:48:09,369 nipype.workflow INFO:\n'
b'\t [Node] Finished "nibetaseries_participant_wf.single_subject001_wf.censor_volumes".\n'
b'200223-05:48:11,317 nipype.workflow INFO:\n'
b'\t [Job 2] Completed (nibetaseries_participant_wf.single_subject001_wf.censor_volumes).\n'
b'200223-05:48:11,319 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:11,356 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "nibetaseries_participant_wf.single_subject001_wf.check_beta_series_list" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/check_beta_series_list".\n'
b'200223-05:48:11,359 nipype.workflow INFO:\n'
b'\t [Node] Running "check_beta_series_list" ("nipype.interfaces.utility.wrappers.Function")\n'
b'200223-05:48:11,365 nipype.workflow INFO:\n'
b'\t [Node] Finished "nibetaseries_participant_wf.single_subject001_wf.check_beta_series_list".\n'
b'200223-05:48:13,319 nipype.workflow INFO:\n'
b'\t [Job 3] Completed (nibetaseries_participant_wf.single_subject001_wf.check_beta_series_list).\n'
b'200223-05:48:13,321 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:15,322 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 3 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:15,368 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_atlas_corr_node0" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/correlation_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/atlas_corr_node/mapflow/_atlas_corr_node0".\n'
b'200223-05:48:15,370 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_atlas_corr_node1" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/correlation_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/atlas_corr_node/mapflow/_atlas_corr_node1".\n'
b'200223-05:48:15,371 nipype.workflow INFO:\n'
b'\t [Node] Running "_atlas_corr_node0" ("nibetaseries.interfaces.nilearn.AtlasConnectivity")\n'
b'200223-05:48:15,372 nipype.workflow INFO:\n'
b'\t [Node] Running "_atlas_corr_node1" ("nibetaseries.interfaces.nilearn.AtlasConnectivity")\n'
b'200223-05:48:15,373 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_atlas_corr_node2" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/correlation_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/atlas_corr_node/mapflow/_atlas_corr_node2".\n'
b'200223-05:48:15,375 nipype.workflow INFO:\n'
b'\t [Node] Running "_atlas_corr_node2" ("nibetaseries.interfaces.nilearn.AtlasConnectivity")\n'
b'200223-05:48:17,324 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 3 tasks, and 0 jobs ready. Free memory (GB): 6.41/7.01, Free processors: 1/4.\n'
b'                     Currently running:\n'
b'                       * _atlas_corr_node2\n'
b'                       * _atlas_corr_node1\n'
b'                       * _atlas_corr_node0\n'
b'[NiftiLabelsMasker.fit_transform] loading data from /tmp/tmpjogdr81i/ds000164/derivatives/data/Schaefer2018_100Parcels_7Networks_order_FSLMNI152_2mm.nii.gz\n'
b'Resampling labels\n'
b'[NiftiLabelsMasker.transform_single_imgs] Loading data from /tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/betaseries_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/betaseries_node/desc-neutral_betase\n'
b'[NiftiLabelsMasker.transform_single_imgs] Extracting region signals\n'
b'[NiftiLabelsMasker.transform_single_imgs] Cleaning extracted signals\n'
b'200223-05:48:22,913 nipype.workflow INFO:\n'
b'\t [Node] Finished "_atlas_corr_node0".\n'
b'200223-05:48:23,329 nipype.workflow INFO:\n'
b'\t [Job 13] Completed (_atlas_corr_node0).\n'
b'200223-05:48:23,330 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 2 tasks, and 0 jobs ready. Free memory (GB): 6.61/7.01, Free processors: 2/4.\n'
b'                     Currently running:\n'
b'                       * _atlas_corr_node2\n'
b'                       * _atlas_corr_node1\n'
b'[NiftiLabelsMasker.fit_transform] loading data from /tmp/tmpjogdr81i/ds000164/derivatives/data/Schaefer2018_100Parcels_7Networks_order_FSLMNI152_2mm.nii.gz\n'
b'Resampling labels\n'
b'[NiftiLabelsMasker.transform_single_imgs] Loading data from /tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/betaseries_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/betaseries_node/desc-incongruent_be\n'
b'[NiftiLabelsMasker.transform_single_imgs] Extracting region signals\n'
b'[NiftiLabelsMasker.transform_single_imgs] Cleaning extracted signals\n'
b'200223-05:48:23,446 nipype.workflow INFO:\n'
b'\t [Node] Finished "_atlas_corr_node2".\n'
b'[NiftiLabelsMasker.fit_transform] loading data from /tmp/tmpjogdr81i/ds000164/derivatives/data/Schaefer2018_100Parcels_7Networks_order_FSLMNI152_2mm.nii.gz\n'
b'Resampling labels\n'
b'[NiftiLabelsMasker.transform_single_imgs] Loading data from /tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/betaseries_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/betaseries_node/desc-congruent_beta\n'
b'[NiftiLabelsMasker.transform_single_imgs] Extracting region signals\n'
b'[NiftiLabelsMasker.transform_single_imgs] Cleaning extracted signals\n'
b'200223-05:48:23,920 nipype.workflow INFO:\n'
b'\t [Node] Finished "_atlas_corr_node1".\n'
b'200223-05:48:25,331 nipype.workflow INFO:\n'
b'\t [Job 14] Completed (_atlas_corr_node1).\n'
b'200223-05:48:25,331 nipype.workflow INFO:\n'
b'\t [Job 15] Completed (_atlas_corr_node2).\n'
b'200223-05:48:25,333 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:25,367 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "nibetaseries_participant_wf.single_subject001_wf.correlation_wf.atlas_corr_node" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/correlation_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/atlas_corr_node".\n'
b'200223-05:48:25,370 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_atlas_corr_node0" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/correlation_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/atlas_corr_node/mapflow/_atlas_corr_node0".\n'
b'200223-05:48:25,371 nipype.workflow INFO:\n'
b'\t [Node] Cached "_atlas_corr_node0" - collecting precomputed outputs\n'
b'200223-05:48:25,371 nipype.workflow INFO:\n'
b'\t [Node] "_atlas_corr_node0" found cached.\n'
b'200223-05:48:25,372 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_atlas_corr_node1" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/correlation_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/atlas_corr_node/mapflow/_atlas_corr_node1".\n'
b'200223-05:48:25,373 nipype.workflow INFO:\n'
b'\t [Node] Cached "_atlas_corr_node1" - collecting precomputed outputs\n'
b'200223-05:48:25,373 nipype.workflow INFO:\n'
b'\t [Node] "_atlas_corr_node1" found cached.\n'
b'200223-05:48:25,374 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_atlas_corr_node2" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/correlation_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/atlas_corr_node/mapflow/_atlas_corr_node2".\n'
b'200223-05:48:25,375 nipype.workflow INFO:\n'
b'\t [Node] Cached "_atlas_corr_node2" - collecting precomputed outputs\n'
b'200223-05:48:25,375 nipype.workflow INFO:\n'
b'\t [Node] "_atlas_corr_node2" found cached.\n'
b'200223-05:48:25,377 nipype.workflow INFO:\n'
b'\t [Node] Finished "nibetaseries_participant_wf.single_subject001_wf.correlation_wf.atlas_corr_node".\n'
b'200223-05:48:27,333 nipype.workflow INFO:\n'
b'\t [Job 4] Completed (nibetaseries_participant_wf.single_subject001_wf.correlation_wf.atlas_corr_node).\n'
b'200223-05:48:27,335 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 2 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:29,336 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 6 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:29,373 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_fig0" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_fig/mapflow/_ds_correlation_fig0".\n'
b'200223-05:48:29,374 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_fig1" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_fig/mapflow/_ds_correlation_fig1".\n'
b'200223-05:48:29,375 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_fig2" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_fig/mapflow/_ds_correlation_fig2".\n'
b'200223-05:48:29,375 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_fig0" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:29,376 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_fig1" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:29,376 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_matrix0" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_matrix/mapflow/_ds_correlation_matrix0".\n'
b'200223-05:48:29,378 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_matrix0" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:29,385 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_fig2" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:29,386 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_matrix0".\n'
b'200223-05:48:29,387 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_fig0".\n'
b'200223-05:48:29,387 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_fig1".\n'
b'200223-05:48:29,395 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_fig2".\n'
b'200223-05:48:31,337 nipype.workflow INFO:\n'
b'\t [Job 16] Completed (_ds_correlation_fig0).\n'
b'200223-05:48:31,338 nipype.workflow INFO:\n'
b'\t [Job 17] Completed (_ds_correlation_fig1).\n'
b'200223-05:48:31,338 nipype.workflow INFO:\n'
b'\t [Job 18] Completed (_ds_correlation_fig2).\n'
b'200223-05:48:31,339 nipype.workflow INFO:\n'
b'\t [Job 19] Completed (_ds_correlation_matrix0).\n'
b'200223-05:48:31,340 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 3 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:31,377 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "nibetaseries_participant_wf.single_subject001_wf.ds_correlation_fig" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_fig".\n'
b'200223-05:48:31,377 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_matrix1" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_matrix/mapflow/_ds_correlation_matrix1".\n'
b'200223-05:48:31,378 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_matrix2" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_matrix/mapflow/_ds_correlation_matrix2".\n'
b'200223-05:48:31,379 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_matrix1" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:31,380 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_fig0" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_fig/mapflow/_ds_correlation_fig0".\n'
b'200223-05:48:31,380 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_matrix2" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:31,382 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_fig0" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:31,386 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_matrix1".\n'
b'200223-05:48:31,387 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_matrix2".\n'
b'200223-05:48:31,391 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_fig0".\n'
b'200223-05:48:31,392 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_fig1" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_fig/mapflow/_ds_correlation_fig1".\n'
b'200223-05:48:31,394 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_fig1" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:31,403 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_fig1".\n'
b'200223-05:48:31,403 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_fig2" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_fig/mapflow/_ds_correlation_fig2".\n'
b'200223-05:48:31,405 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_fig2" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:31,414 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_fig2".\n'
b'200223-05:48:31,415 nipype.workflow INFO:\n'
b'\t [Node] Finished "nibetaseries_participant_wf.single_subject001_wf.ds_correlation_fig".\n'
b'200223-05:48:33,340 nipype.workflow INFO:\n'
b'\t [Job 5] Completed (nibetaseries_participant_wf.single_subject001_wf.ds_correlation_fig).\n'
b'200223-05:48:33,341 nipype.workflow INFO:\n'
b'\t [Job 20] Completed (_ds_correlation_matrix1).\n'
b'200223-05:48:33,341 nipype.workflow INFO:\n'
b'\t [Job 21] Completed (_ds_correlation_matrix2).\n'
b'200223-05:48:33,343 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 1 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b'200223-05:48:33,380 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "nibetaseries_participant_wf.single_subject001_wf.ds_correlation_matrix" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_matrix".\n'
b'200223-05:48:33,383 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_matrix0" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_matrix/mapflow/_ds_correlation_matrix0".\n'
b'200223-05:48:33,385 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_matrix0" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:33,391 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_matrix0".\n'
b'200223-05:48:33,392 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_matrix1" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_matrix/mapflow/_ds_correlation_matrix1".\n'
b'200223-05:48:33,394 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_matrix1" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:33,400 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_matrix1".\n'
b'200223-05:48:33,401 nipype.workflow INFO:\n'
b'\t [Node] Setting-up "_ds_correlation_matrix2" in "/tmp/tmpjogdr81i/ds000164/derivatives/work/NiBetaSeries_work/nibetaseries_participant_wf/single_subject001_wf/130df4f9431c4d57f442c7d8a0b205d2fe524c40/ds_correlation_matrix/mapflow/_ds_correlation_matrix2".\n'
b'200223-05:48:33,402 nipype.workflow INFO:\n'
b'\t [Node] Running "_ds_correlation_matrix2" ("nibetaseries.interfaces.bids.DerivativesDataSink")\n'
b'200223-05:48:33,408 nipype.workflow INFO:\n'
b'\t [Node] Finished "_ds_correlation_matrix2".\n'
b'200223-05:48:33,410 nipype.workflow INFO:\n'
b'\t [Node] Finished "nibetaseries_participant_wf.single_subject001_wf.ds_correlation_matrix".\n'
b'200223-05:48:35,342 nipype.workflow INFO:\n'
b'\t [Job 6] Completed (nibetaseries_participant_wf.single_subject001_wf.ds_correlation_matrix).\n'
b'200223-05:48:35,344 nipype.workflow INFO:\n'
b'\t [MultiProc] Running 0 tasks, and 0 jobs ready. Free memory (GB): 7.01/7.01, Free processors: 4/4.\n'
b"/home/docs/checkouts/readthedocs.org/user_builds/nibetaseries/envs/v0.4.3/lib/python3.7/site-packages/sklearn/feature_extraction/text.py:17: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working\n"
b'  from collections import Mapping, defaultdict\n'
b'/home/docs/checkouts/readthedocs.org/user_builds/nibetaseries/envs/v0.4.3/lib/python3.7/site-packages/nibetaseries/interfaces/nilearn.py:130: RuntimeWarning: invalid value encountered in greater\n'
b'  n_lines = int(np.sum(connmat > 0) / 2)\n'
b'/home/docs/checkouts/readthedocs.org/user_builds/nibetaseries/envs/v0.4.3/lib/python3.7/site-packages/nibetaseries/interfaces/nistats.py:180: DeprecationWarning: The parameter "mask" will be removed in next release of Nistats. Please use the parameter "mask_img" instead.\n'
b'  verbose=1\n'
b'Computing run 1 out of 1 runs (go take a coffee, a big one)\n'
b'\n'
b'Computation of 1 runs done in 3 seconds\n'
b'\n'
b"/home/docs/checkouts/readthedocs.org/user_builds/nibetaseries/envs/v0.4.3/lib/python3.7/site-packages/sklearn/feature_extraction/text.py:17: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working\n"
b'  from collections import Mapping, defaultdict\n'
b'/home/docs/checkouts/readthedocs.org/user_builds/nibetaseries/envs/v0.4.3/lib/python3.7/site-packages/nibetaseries/interfaces/nilearn.py:130: RuntimeWarning: invalid value encountered in greater\n'
b'  n_lines = int(np.sum(connmat > 0) / 2)\n'
b"/home/docs/checkouts/readthedocs.org/user_builds/nibetaseries/envs/v0.4.3/lib/python3.7/site-packages/sklearn/feature_extraction/text.py:17: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working\n"
b'  from collections import Mapping, defaultdict\n'
b'/home/docs/checkouts/readthedocs.org/user_builds/nibetaseries/envs/v0.4.3/lib/python3.7/site-packages/nibetaseries/interfaces/nilearn.py:130: RuntimeWarning: invalid value encountered in greater\n'
b'  n_lines = int(np.sum(connmat > 0) / 2)\n'
b'pandoc: Error running filter pandoc-citeproc:\n'
b"Could not find executable 'pandoc-citeproc'.\n"
b'Could not generate CITATION.html file:\n'
b'pandoc -s --bibliography /home/docs/checkouts/readthedocs.org/user_builds/nibetaseries/envs/v0.4.3/lib/python3.7/site-packages/nibetaseries/data/references.bib --filter pandoc-citeproc --metadata pagetitle="NiBetaSeries citation boilerplate" /tmp/tmpjogdr81i/ds000164/derivatives/nibetaseries/logs/CITATION.md -o /tmp/tmpjogdr81i/ds000164/derivatives/nibetaseries/logs/CITATION.html\n'

Observe generated outputs

list_files(data_dir)

Out:

tmpjogdr81i/
    ds000164/
        T1w.json
        README
        task-stroop_bold.json
        dataset_description.json
        task-stroop_events.json
        CHANGES
        derivatives/
            nibetaseries/
                sub-001/
                    func/
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-neutral_betaseries.nii.gz
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-congruent_correlation.tsv
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-neutral_correlation.tsv
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-incongruent_betaseries.nii.gz
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-incongruent_correlation.tsv
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-neutral_correlation.svg
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-congruent_betaseries.nii.gz
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-congruent_correlation.svg
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-incongruent_correlation.svg
                logs/
                    CITATION.tex
                    CITATION.md
                    CITATION.bib
            data/
                Schaefer2018_100Parcels_7Networks_order.tsv
                Schaefer2018_100Parcels_7Networks_order.txt
                Schaefer2018_100Parcels_7Networks_order_FSLMNI152_2mm.nii.gz
            work/
                dbcache
                NiBetaSeries_work/
                    nibetaseries_participant_wf/
                        graph1.json
                        d3.js
                        index.html
                        graph.json
                        single_subject001_wf/
                            130df4f9431c4d57f442c7d8a0b205d2fe524c40/
                                check_beta_series_list/
                                    _node.pklz
                                    _inputs.pklz
                                    result_check_beta_series_list.pklz
                                    _0xd8d183007b90fefdcaaf1ca25fa42fa5.json
                                    _report/
                                        report.rst
                                censor_volumes/
                                    _node.pklz
                                    _inputs.pklz
                                    result_censor_volumes.pklz
                                    _0x64321c8c86864c20e8cedcf577795b90.json
                                    _report/
                                        report.rst
                                    mapflow/
                                        _censor_volumes1/
                                            result__censor_volumes1.pklz
                                            _node.pklz
                                            _0xaaa2b7a28382e50db9b477397526d5c4.json
                                            _inputs.pklz
                                            _report/
                                                report.rst
                                        _censor_volumes2/
                                            _node.pklz
                                            _inputs.pklz
                                            result__censor_volumes2.pklz
                                            _0x3d8642489475096d389d5670f304f585.json
                                            _report/
                                                report.rst
                                        _censor_volumes0/
                                            _node.pklz
                                            _inputs.pklz
                                            result__censor_volumes0.pklz
                                            _0x70104f9ed79d9594fad31d6a3e250c42.json
                                            _report/
                                                report.rst
                                ds_correlation_matrix/
                                    _node.pklz
                                    result_ds_correlation_matrix.pklz
                                    _inputs.pklz
                                    _0xcf2c896aa340c3e40372ad4a50e3ab5b.json
                                    _report/
                                        report.rst
                                    mapflow/
                                        _ds_correlation_matrix0/
                                            _node.pklz
                                            result__ds_correlation_matrix0.pklz
                                            _inputs.pklz
                                            _0xa6eaca2632d88009db6ec3a458193346.json
                                            _report/
                                                report.rst
                                        _ds_correlation_matrix1/
                                            _node.pklz
                                            _inputs.pklz
                                            _0x84dda06289f39d3134beecb7a85d4d6a.json
                                            result__ds_correlation_matrix1.pklz
                                            _report/
                                                report.rst
                                        _ds_correlation_matrix2/
                                            _node.pklz
                                            _inputs.pklz
                                            _0x8ce2080187fb52805204e347ad9232cc.json
                                            result__ds_correlation_matrix2.pklz
                                            _report/
                                                report.rst
                                ds_correlation_fig/
                                    _node.pklz
                                    _0xab8df38e17491e62d6ae8b06a3207737.json
                                    _inputs.pklz
                                    result_ds_correlation_fig.pklz
                                    _report/
                                        report.rst
                                    mapflow/
                                        _ds_correlation_fig0/
                                            _node.pklz
                                            _inputs.pklz
                                            result__ds_correlation_fig0.pklz
                                            _0x32b1a51ca89be3dd2e6edc61a81a6e57.json
                                            _report/
                                                report.rst
                                        _ds_correlation_fig2/
                                            _node.pklz
                                            _inputs.pklz
                                            result__ds_correlation_fig2.pklz
                                            _0x08203360eb4953cf4a0310c7f9313c33.json
                                            _report/
                                                report.rst
                                        _ds_correlation_fig1/
                                            _node.pklz
                                            _inputs.pklz
                                            result__ds_correlation_fig1.pklz
                                            _0xc06bc13b9ddbcc3e41f39a0110c1eb8a.json
                                            _report/
                                                report.rst
                                ds_betaseries_file/
                                    _node.pklz
                                    _inputs.pklz
                                    _0xa5bd1a62afcf7fcfbe764f684fb29326.json
                                    result_ds_betaseries_file.pklz
                                    _report/
                                        report.rst
                                    mapflow/
                                        _ds_betaseries_file1/
                                            _node.pklz
                                            _inputs.pklz
                                            _0x9781c25557d80145197c8aab3a437d2f.json
                                            result__ds_betaseries_file1.pklz
                                            _report/
                                                report.rst
                                        _ds_betaseries_file0/
                                            _node.pklz
                                            _inputs.pklz
                                            _0xcd7e00a94a79e93b6cb5c2a6255bd6cf.json
                                            result__ds_betaseries_file0.pklz
                                            _report/
                                                report.rst
                                        _ds_betaseries_file2/
                                            _node.pklz
                                            _inputs.pklz
                                            result__ds_betaseries_file2.pklz
                                            _0xeccdbc328399eb63223a902caf1d88a5.json
                                            _report/
                                                report.rst
                            correlation_wf/
                                130df4f9431c4d57f442c7d8a0b205d2fe524c40/
                                    atlas_corr_node/
                                        _node.pklz
                                        result_atlas_corr_node.pklz
                                        _inputs.pklz
                                        _0x2bd766b6bf8f1175f593bd87b3826a44.json
                                        _report/
                                            report.rst
                                        mapflow/
                                            _atlas_corr_node2/
                                                _node.pklz
                                                _inputs.pklz
                                                desc-incongruent_correlation.tsv
                                                desc-incongruent_correlation.svg
                                                result__atlas_corr_node2.pklz
                                                _0x003864f753ff3aaa16e400f15a0afee6.json
                                                _report/
                                                    report.rst
                                            _atlas_corr_node0/
                                                _node.pklz
                                                _inputs.pklz
                                                desc-neutral_correlation.svg
                                                _0x9386d2496c1b688dc13be4bcd374a969.json
                                                result__atlas_corr_node0.pklz
                                                desc-neutral_correlation.tsv
                                                _report/
                                                    report.rst
                                            _atlas_corr_node1/
                                                _node.pklz
                                                _inputs.pklz
                                                desc-congruent_correlation.svg
                                                desc-congruent_correlation.tsv
                                                _0xdf729451a65e1867a4cc5b16be7770c7.json
                                                result__atlas_corr_node1.pklz
                                                _report/
                                                    report.rst
                            betaseries_wf/
                                130df4f9431c4d57f442c7d8a0b205d2fe524c40/
                                    betaseries_node/
                                        desc-incongruent_betaseries_censored.nii.gz
                                        desc-neutral_betaseries.nii.gz
                                        _node.pklz
                                        _0xd33f5baa7d80a027ebdb7e6d233cca32.json
                                        _inputs.pklz
                                        desc-neutral_betaseries_censored.nii.gz
                                        result_betaseries_node.pklz
                                        desc-congruent_betaseries.nii.gz
                                        desc-incongruent_betaseries.nii.gz
                                        desc-congruent_betaseries_censored.nii.gz
                                        _report/
                                            report.rst
            fmriprep/
                fMRIPrep.sqlite
                dataset_description.json
                sub-001/
                    func/
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz
                        sub-001_task-stroop_desc-confounds_regressors.tsv
                        sub-001_task-stroop_space-MNI152NLin2009cAsym_desc-brain_mask.nii.gz
        sub-001/
            anat/
                sub-001_T1w.nii.gz
            func/
                sub-001_task-stroop_bold.nii.gz
                sub-001_task-stroop_events.tsv

Collect correlation results

output_path = os.path.join(out_dir, "nibetaseries", "sub-001", "func")
trial_types = ['congruent', 'incongruent', 'neutral']
filename_template = ('sub-001_task-stroop_space-MNI152NLin2009cAsym_'
                     'desc-{trial_type}_{suffix}.{ext}')

pd_dict = {}
for trial_type in trial_types:
    fname = filename_template.format(trial_type=trial_type, suffix='correlation', ext='tsv')
    file_path = os.path.join(output_path, fname)
    pd_dict[trial_type] = pd.read_csv(file_path, sep='\t', na_values="n/a", index_col=0)
# display example matrix
print(pd_dict[trial_type].head())

Out:

          LH_Vis_1  LH_Vis_2  ...  RH_Default_PCC_1  RH_Default_PCC_2
LH_Vis_1       NaN  0.218441  ...         -0.229994          0.030440
LH_Vis_2  0.218441       NaN  ...         -0.272071          0.051983
LH_Vis_3 -0.193264  0.448418  ...          0.087879          0.083368
LH_Vis_4  0.122960  0.526585  ...         -0.185481          0.188477
LH_Vis_5  0.284347  0.534536  ...         -0.393536         -0.288098

[5 rows x 100 columns]

Graph the correlation results

fig, axes = plt.subplots(nrows=3, ncols=1, sharex=True, sharey=True, figsize=(10, 30),
                         gridspec_kw={'wspace': 0.025, 'hspace': 0.075})

cbar_ax = fig.add_axes([.91, .3, .03, .4])
r = 0
for trial_type, df in pd_dict.items():
    g = sns.heatmap(df, ax=axes[r], vmin=-.5, vmax=1., square=True,
                    cbar=True, cbar_ax=cbar_ax)
    axes[r].set_title(trial_type)
    # iterate over rows
    r += 1
plt.tight_layout()
../_images/sphx_glr_plot_run_nibetaseries_001.png

Out:

/home/docs/checkouts/readthedocs.org/user_builds/nibetaseries/envs/v0.4.3/lib/python3.7/site-packages/matplotlib/figure.py:2299: UserWarning: This figure includes Axes that are not compatible with tight_layout, so results might be incorrect.
  warnings.warn("This figure includes Axes that are not compatible "

Collect beta map results

nii_dict = {}
for trial_type in trial_types:
    fname = filename_template.format(trial_type=trial_type, suffix='betaseries', ext='nii.gz')
    file_path = os.path.join(output_path, fname)
    nii_dict[trial_type] = nib.load(file_path)

# view incongruent beta_maps
nib.viewers.OrthoSlicer3D(nii_dict['incongruent'].get_fdata(),
                          title="Incongruent Betas").set_position(10, 13, 10)
../_images/sphx_glr_plot_run_nibetaseries_002.png

Graph beta map standard deviation

We can find where the betas have the highest standard deviation for each trial type. Unsuprisingly, the largest deviations are near the edge of the brain mask and the subcortical regions.

# standard deviations for each trial type
std_dict = {tt: nib.Nifti1Image(img.get_fdata().std(axis=-1), img.affine, img.header)
            for tt, img in nii_dict.items()}

fig, axes = plt.subplots(nrows=3, ncols=1, figsize=(10, 20))

for idx, (trial_type, nii) in enumerate(std_dict.items()):
    plotting.plot_stat_map(nii, title=trial_type, cut_coords=(0, 0, 0),
                           threshold=5, vmax=20, axes=axes[idx])
../_images/sphx_glr_plot_run_nibetaseries_003.png

References

notebook-1

Timothy D Verstynen. The organization and dynamics of corticostriatal pathways link the medial orbitofrontal cortex to future behavioral responses. Journal of Neurophysiology, 112(10):2457–2469, 2014. URL: https://doi.org/10.1152/jn.00221.2014, doi:10.1152/jn.00221.2014.

Total running time of the script: ( 0 minutes 53.586 seconds)

Gallery generated by Sphinx-Gallery