Exemple #1
0
def label_activity(label):
	"""
	Create a DataFrame containing the per-session per-subject mean values for an autogenerated ROI based on the given label.
	Other parameter customizations are hard-coded below.
	"""
	import pandas as pd
	from samri.plotting import summary
	from samri.report import roi
	from samri.utilities import bids_substitution_iterator
	from samri.fetch.local import roi_from_atlaslabel
	from os.path import basename, splitext

	mapping='/usr/share/mouse-brain-atlases/dsurqec_mapping.csv'
	atlas='/usr/share/mouse-brain-atlases/dsurqec_40micron_labels.nii'
	my_roi = roi_from_atlaslabel(atlas,
		mapping=mapping,
		label_names=[label],
		)

	workflow_name = 'generic'
	substitutions = bids_substitution_iterator(
		["ofM","ofMaF","ofMcF1","ofMcF2","ofMpF"],
		['5691',"5689","5690","5700","6451","6460","6456","6461","6462"],
                ["CogB",],
                "~/ni_data/ofM.dr/bids/",
                workflow_name,
                acquisitions=["EPI",],
                validate_for_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
		)
	df = roi.per_session(substitutions,
		filename_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
		roi_mask=my_roi,
		feature=[label],
		atlas=atlas,
		mapping=mapping,
		)
	df['treatment']='Fluoxetine'
	substitutions_ = bids_substitution_iterator(
		["ofM","ofMaF","ofMcF1","ofMcF2","ofMpF"],
		["6262","6255","5694","5706",'5704','6455','6459'],
                ["CogB",],
                "~/ni_data/ofM.dr/bids/",
                workflow_name,
                acquisitions=["EPI",],
		validate_for_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
		)
	df_ = roi.per_session(substitutions_,
		filename_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
		roi_mask=my_roi,
		feature=[label],
		atlas=atlas,
		mapping=mapping,
		)
	df_['treatment']='Vehicle'

	df=pd.concat([df_,df])
	df=df.rename(columns={'session': 'Session',})

	df.to_csv('~/ni_data/ofM.dr/bids/l1/{}/{}.csv'.format(workflow_name, label))
Exemple #2
0
def dr_activity():
    import pandas as pd
    from behaviopy.plotting import qualitative_times
    from samri.plotting import summary
    from samri.report import roi
    from samri.utilities import bids_substitution_iterator
    from samri.fetch.local import roi_from_atlaslabel

    workflow_name = 'composite'
    substitutions = bids_substitution_iterator(
        ["ofM", "ofMaF", "ofMcF1", "ofMcF2", "ofMpF"],
        ['5691', "5689", "5690", "5700"],
        [
            "CogB",
        ],
        "~/ni_data/ofM.dr/",
        workflow_name,
        acquisitions=[
            "EPI",
        ],
        check_file_format=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_trial-{trial}_cbv_tstat.nii.gz',
    )
    fit, anova, subjectdf, voxeldf = roi.per_session(
        substitutions,
        filename_template=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_trial-{trial}_cbv_tstat.nii.gz',
        roi_mask="~/ni_data/templates/roi/DSURQEc_dr.nii.gz",
    )
    subjectdf['treatment'] = 'Fluoxetine'
    substitutions_ = bids_substitution_iterator(
        ["ofM", "ofMaF", "ofMcF1", "ofMcF2", "ofMpF"],
        ["6262", "6255", "5694", "5706", '5704'],
        [
            "CogB",
        ],
        "~/ni_data/ofM.dr/",
        workflow_name,
        acquisitions=[
            "EPI",
        ],
        check_file_format=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_trial-{trial}_cbv_tstat.nii.gz',
    )
    fit_, anova_, subjectdf_, voxeldf_ = roi.per_session(
        substitutions_,
        filename_template=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_trial-{trial}_cbv_tstat.nii.gz',
        roi_mask="~/ni_data/templates/roi/DSURQEc_dr.nii.gz",
    )
    subjectdf_['treatment'] = 'Vehicle'

    subjectdf = pd.concat([subjectdf_, subjectdf])
    subjectdf = subjectdf.rename(columns={
        'session': 'Session',
    })

    subjectdf.to_csv(
        '~/ni_data/ofM.dr/l1/{}/dr_summary.csv'.format(workflow_name))
Exemple #3
0
def label_connectivity(workflow_name='DSURQEc_drp', labels=['cortex']):
	import pandas as pd
	from samri.plotting import summary
	from samri.report import roi
	from samri.utilities import bids_substitution_iterator
	from samri.fetch.local import roi_from_atlaslabel

	mapping='/usr/share/mouse-brain-atlases/dsurqec_mapping.csv'
	atlas='/usr/share/mouse-brain-atlases/dsurqec_40micron_labels.nii'
	my_roi = roi_from_atlaslabel(atlas,
		mapping=mapping,
		label_names=labels,
		)

	substitutions = bids_substitution_iterator(
                ["ofM","ofMaF","ofMcF1","ofMcF2","ofMpF"],
		['5691',"5689","5690","5700","6451","6460","6456","6461","6462"],
                ["CogB",],
                "~/ni_data/ofM.dr/bids",
                workflow_name,
                acquisitions=["EPI",],
		validate_for_template='{data_dir}/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_zstat.nii.gz',
		)
	df = roi.per_session(substitutions,
		filename_template='{data_dir}/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_zstat.nii.gz',
		roi_mask=my_roi,
		feature=labels,
		atlas=atlas,
		mapping=mapping,
		)
	df['treatment']='Fluoxetine'
	substitutions_ = bids_substitution_iterator(
                ["ofM","ofMaF","ofMcF1","ofMcF2","ofMpF"],
		["6262","6255","5694","5706",'5704','6455','6459'],
                ["CogB",],
                "~/ni_data/ofM.dr/bids",
		workflow_name,
                acquisitions=["EPI",],
		validate_for_template='{data_dir}/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_zstat.nii.gz',
		)
	df_ = roi.per_session(substitutions_,
		filename_template='{data_dir}/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_zstat.nii.gz',
		roi_mask=my_roi,
		feature=labels,
		atlas=atlas,
		mapping=mapping,
		)
	df_['treatment']='Vehicle'

	df = pd.concat([df_,df])
	df = df.rename(columns={'session': 'Session','t':'z'})

	df.to_csv('~/ni_data/ofM.dr/bids/fc/{}/{}_summary.csv'.format(workflow_name,'-'.join(labels)))
Exemple #4
0
def ctx_pattern_mask_drs_sfc():
	import pandas as pd
	from samri.plotting import summary
	from samri.report import roi
	from samri.utilities import bids_substitution_iterator
	from samri.fetch.local import roi_from_atlaslabel

	workflow_name = 'drs_seed'
	my_roi = '~/ni_data/ofM.dr/l2/anova_ctx/anova_fstat.nii.gz'

	my_roi = roi.from_img_threshold(my_roi, 2., save_as='~/ni_data/ofM.dr/fc/{}/ctx_pattern_mask.nii.gz'.format(workflow_name))

	substitutions = bids_substitution_iterator(
                ["ofM","ofMaF","ofMcF1","ofMcF2","ofMpF"],
		['5691',"5689","5690","5700"],
                ["CogB",],
                "~/ni_data/ofM.dr/",
                workflow_name,
                acquisitions=["EPI",],
                check_file_format='~/ni_data/ofM.dr/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_zstat.nii.gz',
		)
	subjectdf, voxeldf = roi.per_session(substitutions,
		filename_template='~/ni_data/ofM.dr/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_zstat.nii.gz',
		roi_mask=my_roi,
		)
	subjectdf['treatment']='Fluoxetine'
	substitutions_ = bids_substitution_iterator(
                ["ofM","ofMaF","ofMcF1","ofMcF2","ofMpF"],
		["6262","6255","5694","5706",'5704'],
                ["CogB",],
                "~/ni_data/ofM.dr/",
		workflow_name,
                acquisitions=["EPI",],
                check_file_format='~/ni_data/ofM.dr/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_zstat.nii.gz',
		)
	subjectdf_, voxeldf_ = roi.per_session(substitutions_,
		filename_template='~/ni_data/ofM.dr/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_zstat.nii.gz',
		roi_mask=my_roi,
		)
	subjectdf_['treatment']='Vehicle'

	subjectdf=pd.concat([subjectdf_,subjectdf])
	subjectdf=subjectdf.rename(columns={'session': 'Session','t':'z'})

	subjectdf.to_csv('~/ni_data/ofM.dr/fc/{}/ctx_pattern_mask_summary.csv'.format(workflow_name))
Exemple #5
0
def plot_roi_per_session(
    l1_dir,
    roi_mask,
    color,
    roi_mask_normalize="",
):
    from samri.plotting import summary
    from samri.report import roi

    substitutions = bids_substitution_iterator(
        ["ofM", "ofM_aF", "ofM_cF1", "ofM_cF2", "ofM_pF"],
        # ["5689","5690","5700"],
        ["6262", "6255", "5694", "5706", '5704'],
        # ["4007","4011","4012","5689","5690","5691"],
        # ["4009","4011","4012","5689","5690","5691"],
        # ["4008","4009","4011","4012",],
        ["EPI_CBV_chr_longSOA"],
        "~/ni_data/ofM.dr/",
        "",
        l1_dir=l1_dir,
    )

    if isinstance(roi, list) and not "/" in roi[0]:
        roi = roi_from_atlaslabel(
            "~/ni_data/templates/roi/DSURQEc_200micron_labels.nii",
            mapping="~/ni_data/templates/roi/DSURQE_mapping.csv",
            label_names=roi,
        )
    fit, anova, subjectdf, voxeldf = roi.per_session(
        substitutions,
        t_file_template=
        "{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_trial-{trial}_tstat.nii.gz",
        roi_mask=roi_mask,
        roi_mask_normalize=roi_mask_normalize,
    )
    summary.plot_roi_per_session(subjectdf,
                                 voxeldf,
                                 legend_loc=2,
                                 figure="per-participant",
                                 color=color,
                                 save_as="~/test.png")

    print(anova)
Exemple #6
0
def drs_activity(
    roi,
    atlas='/usr/share/mouse-brain-templates/dsurqec_40micron_labels.nii',
    mapping='/usr/share/mouse-brain-templates/dsurqe_labels.csv',
):
    """
	TODO : make more generalizable, too many hardcoded values
	TODO : Make more elegant, atlas/split could be (partly) relegated to masking function instead of being done here.
	Create a DataFrame containing the per-session per-subject mean values for an autogenerated ROI based on the given label.
	Other parameter customizations are hard-coded below.
	"""
    import pandas as pd
    from samri.report import roi
    from samri.utilities import bids_substitution_iterator
    from samri.fetch.local import roi_from_atlaslabel
    from os.path import basename, splitext

    if mapping and atlas:
        mapping = path.abspath(path.expanduser(mapping))
        atlas = path.abspath(path.expanduser(atlas))
        my_roi = roi_from_atlaslabel(
            atlas,
            mapping=mapping,
            label_names=[roi],
        )
        roi_name = roi
    else:
        roi = path.abspath(path.expanduser(roi))
        roi_name = splitext(basename(roi))[0]
        if roi_name[-4:] == '.nii':
            roi_name = roi_name[:-4]

    source_workflow = 'generic'
    substitutions = bids_substitution_iterator(
        ["ofM", "ofMaF", "ofMcF1", "ofMcF2", "ofMpF"],
        [
            '5691', "5689", "5690", "5700", "6451", "6460", "6456", "6461",
            "6462"
        ],
        [
            "CogB",
        ],
        "~/ni_data/ofM.dr",
        source_workflow,
        acquisitions=[
            "EPI",
        ],
        validate_for_template=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
    )
    if mapping and atlas:
        df = roi.per_session(
            substitutions,
            filename_template=
            '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
            roi_mask=my_roi,
            feature=[roi],
            atlas=atlas,
            mapping=mapping,
        )
    else:
        df = roi.per_session(
            substitutions,
            filename_template=
            '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
            roi_mask=roi,
        )
    df['treatment'] = 'Fluoxetine'
    substitutions_ = bids_substitution_iterator(
        ["ofM", "ofMaF", "ofMcF1", "ofMcF2", "ofMpF"],
        ["6262", "6255", "5694", "5706", '5704', '6455', '6459'],
        [
            "CogB",
        ],
        "~/ni_data/ofM.dr",
        source_workflow,
        acquisitions=[
            "EPI",
        ],
        validate_for_template=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
    )
    if mapping and atlas:
        df_ = roi.per_session(
            substitutions_,
            filename_template=
            '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
            roi_mask=my_roi,
            feature=[roi],
            atlas=atlas,
            mapping=mapping,
        )
    else:
        df_ = roi.per_session(
            substitutions_,
            filename_template=
            '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
            roi_mask=roi,
        )
    df_['treatment'] = 'Vehicle'

    df = pd.concat([df_, df])
    df = df.rename(columns={
        'session': 'Session',
    })

    df.to_csv('~/ni_data/ofM.dr/l1/{}/{}.csv'.format(source_workflow,
                                                     roi_name))
Exemple #7
0
def roi_activity(roi_mask="~/ni_data/templates/roi/DSURQEc_drp.nii.gz"):
    """
	Create a DataFrame containing the per-session per-subject mean values for the specified ROI.
	Other parameter customizations are hard-coded below.
	"""

    import pandas as pd
    from samri.plotting import summary
    from samri.report import roi
    from samri.utilities import bids_substitution_iterator
    from samri.fetch.local import roi_from_atlaslabel
    from os.path import basename, splitext

    workflow_name = 'generic'
    substitutions = bids_substitution_iterator(
        ["ofM", "ofMaF", "ofMcF1", "ofMcF2", "ofMpF"],
        #["5689","5690","6456","6461"],
        [
            '5691', "5689", "5690", "5700", "6451", "6460", "6456", "6461",
            "6462"
        ],
        #['5691',"5689","5690","5700",],
        [
            "CogB",
        ],
        "~/ni_data/ofM.dr/bids/",
        workflow_name,
        acquisitions=[
            "EPI",
        ],
        validate_for_template=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
    )
    df = roi.per_session(
        substitutions,
        filename_template=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
        roi_mask=roi_mask,
    )
    df['treatment'] = 'Fluoxetine'
    substitutions_ = bids_substitution_iterator(
        ["ofM", "ofMaF", "ofMcF1", "ofMcF2", "ofMpF"],
        #["5694","5706",'5704','6455','6459','5794'],
        ["6262", "6255", "5694", "5706", '5704', '6455', '6459'],
        #["6262","6255","5694","5706",'5704',],
        [
            "CogB",
        ],
        "~/ni_data/ofM.dr/bids/",
        workflow_name,
        acquisitions=[
            "EPI",
        ],
        validate_for_template=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
    )
    df_ = roi.per_session(
        substitutions_,
        filename_template=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
        roi_mask=roi_mask,
    )
    df_['treatment'] = 'Vehicle'
    substitutions__ = bids_substitution_iterator(
        ["ofM"],
        #["5694","5706",'5704','6455','6459','5794'],
        [
            "6530", "6532", "6542", "6548", '6549', '6552', '6553', '6556',
            '6557'
        ],
        #["6262","6255","56","5706",'5704',],
        [
            "CogB",
        ],
        "~/ni_data/ofM.dr/bids/",
        workflow_name,
        acquisitions=[
            "EPI",
        ],
        validate_for_template=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
    )
    df__ = roi.per_session(
        substitutions__,
        filename_template=
        '{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
        roi_mask=roi_mask,
    )
    df__['treatment'] = 'New'

    df = pd.concat([df__, df_, df])
    df = df.rename(columns={
        'session': 'Session',
    })

    roi_name = splitext(basename(roi_mask))[0]
    if roi_name[-4:] == '.nii':
        roi_name = roi_name[:-4]
    df.to_csv('~/ni_data/ofM.dr/bids/l1/{}/{}.csv'.format(
        workflow_name, roi_name))
Exemple #8
0
def ctx_drs_connectivity():
    import pandas as pd
    from behaviopy.plotting import qualitative_times
    from samri.plotting import summary
    from samri.report import roi
    from samri.utilities import bids_substitution_iterator
    from samri.fetch.local import roi_from_atlaslabel

    workflow_name = 'drs_seed'
    my_roi = roi_from_atlaslabel(
        "~/ni_data/templates/roi/DSURQEc_200micron_labels.nii",
        mapping="~/ni_data/templates/roi/DSURQE_mapping.csv",
        label_names=["cortex"],
    )

    substitutions = bids_substitution_iterator(
        ["ofM", "ofMaF", "ofMcF1", "ofMcF2", "ofMpF"],
        ['5691', "5689", "5690", "5700"],
        [
            "CogB",
        ],
        "~/ni_data/ofM.dr/",
        workflow_name,
        acquisitions=[
            "EPI",
        ],
        check_file_format=
        '~/ni_data/ofM.dr/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_trial-{trial}_cbv_zstat.nii.gz',
    )
    fit, anova, subjectdf, voxeldf = roi.per_session(
        substitutions,
        filename_template=
        '~/ni_data/ofM.dr/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_trial-{trial}_cbv_zstat.nii.gz',
        roi_mask=my_roi,
    )
    subjectdf['treatment'] = 'Fluoxetine'
    substitutions_ = bids_substitution_iterator(
        ["ofM", "ofMaF", "ofMcF1", "ofMcF2", "ofMpF"],
        ["6262", "6255", "5694", "5706", '5704'],
        [
            "CogB",
        ],
        "~/ni_data/ofM.dr/",
        workflow_name,
        acquisitions=[
            "EPI",
        ],
        check_file_format=
        '~/ni_data/ofM.dr/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_trial-{trial}_cbv_zstat.nii.gz',
    )
    fit_, anova_, subjectdf_, voxeldf_ = roi.per_session(
        substitutions_,
        filename_template=
        '~/ni_data/ofM.dr/fc/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_acq-{acquisition}_trial-{trial}_cbv_zstat.nii.gz',
        roi_mask=my_roi,
    )
    subjectdf_['treatment'] = 'Vehicle'

    subjectdf = pd.concat([subjectdf_, subjectdf])
    subjectdf = subjectdf.rename(columns={'session': 'Session', 't': 'z'})

    subjectdf.to_csv(
        '~/ni_data/ofM.dr/fc/{}/ctx_summary.csv'.format(workflow_name))
Exemple #9
0
def drs_activity(roi,
	atlas='/usr/share/mouse-brain-atlases/dsurqec_40micron_labels.nii',
	mapping='/usr/share/mouse-brain-atlases/dsurqe_labels.csv',
	):
	"""
	TODO : make more generalizable, too many hardcoded values
	TODO : Make more elegant, atlas/split could be (partly) relegated to masking function instead of being done here.
	Create a DataFrame containing the per-session per-subject mean values for an autogenerated ROI based on the given label.
	Other parameter customizations are hard-coded below.
	"""
	import pandas as pd
	from samri.plotting import summary
	from samri.report import roi
	from samri.utilities import bids_substitution_iterator
	from samri.fetch.local import roi_from_atlaslabel
	from os.path import basename, splitext

	if mapping and atlas:
		mapping = path.abspath(path.expanduser(mapping))
		atlas = path.abspath(path.expanduser(atlas))
		my_roi = roi_from_atlaslabel(atlas,
			mapping=mapping,
			label_names=[roi],
			)
		roi_name = roi
	else:
		roi = path.abspath(path.expanduser(roi))
		roi_name = splitext(basename(roi))[0]
		if roi_name[-4:] == '.nii':
			roi_name = roi_name[:-4]

	source_workflow = 'generic'
	substitutions = bids_substitution_iterator(
		["ofM","ofMaF","ofMcF1","ofMcF2","ofMpF"],
		['5691',"5689","5690","5700","6451","6460","6456","6461","6462"],
                ["CogB",],
                "~/ni_data/ofM.dr",
                source_workflow,
                acquisitions=["EPI",],
                validate_for_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
		)
	if mapping and atlas:
		df = roi.per_session(substitutions,
			filename_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
			roi_mask=my_roi,
			feature=[roi],
			atlas=atlas,
			mapping=mapping,
			)
	else:
		df = roi.per_session(substitutions,
			filename_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
			roi_mask=roi,
			)
	df['treatment']='Fluoxetine'
	substitutions_ = bids_substitution_iterator(
		["ofM","ofMaF","ofMcF1","ofMcF2","ofMpF"],
		["6262","6255","5694","5706",'5704','6455','6459'],
                ["CogB",],
                "~/ni_data/ofM.dr",
                source_workflow,
                acquisitions=["EPI",],
		validate_for_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
		)
	if mapping and atlas:
		df_ = roi.per_session(substitutions_,
			filename_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_acq-{acquisition}_task-{task}_cbv_tstat.nii.gz',
			roi_mask=my_roi,
			feature=[roi],
			atlas=atlas,
			mapping=mapping,
			)
	else:
		df_ = roi.per_session(substitutions_,
			filename_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
			roi_mask=roi,
			)
	df_['treatment']='Vehicle'

	df=pd.concat([df_,df])
	df=df.rename(columns={'session': 'Session',})

	df.to_csv('~/ni_data/ofM.dr/l1/{}/{}.csv'.format(source_workflow, roi_name))
Exemple #10
0
def roi_activity(roi_mask="~/ni_data/templates/roi/DSURQEc_drp.nii.gz"):
	"""
	Create a DataFrame containing the per-session per-subject mean values for the specified ROI.
	Other parameter customizations are hard-coded below.
	"""

	import pandas as pd
	from samri.plotting import summary
	from samri.report import roi
	from samri.utilities import bids_substitution_iterator
	from samri.fetch.local import roi_from_atlaslabel
	from os.path import basename, splitext

	workflow_name = 'generic'
	substitutions = bids_substitution_iterator(
		["ofM","ofMaF","ofMcF1","ofMcF2","ofMpF"],
		#["5689","5690","6456","6461"],
		['5691',"5689","5690","5700","6451","6460","6456","6461","6462"],
		#['5691',"5689","5690","5700",],
                ["CogB",],
                "~/ni_data/ofM.dr/bids/",
                workflow_name,
                acquisitions=["EPI",],
                validate_for_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
		)
	df = roi.per_session(substitutions,
		filename_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
		roi_mask=roi_mask,
		)
	df['treatment'] = 'Fluoxetine'
	substitutions_ = bids_substitution_iterator(
		["ofM","ofMaF","ofMcF1","ofMcF2","ofMpF"],
		#["5694","5706",'5704','6455','6459','5794'],
		["6262","6255","5694","5706",'5704','6455','6459'],
		#["6262","6255","5694","5706",'5704',],
                ["CogB",],
                "~/ni_data/ofM.dr/bids/",
                workflow_name,
                acquisitions=["EPI",],
		validate_for_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
		)
	df_ = roi.per_session(substitutions_,
		filename_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
		roi_mask=roi_mask,
		)
	df_['treatment'] = 'Vehicle'
	substitutions__ = bids_substitution_iterator(
		["ofM"],
		#["5694","5706",'5704','6455','6459','5794'],
		["6530","6532","6542","6548",'6549','6552','6553','6556','6557'],
		#["6262","6255","56","5706",'5704',],
                ["CogB",],
                "~/ni_data/ofM.dr/bids/",
                workflow_name,
                acquisitions=["EPI",],
		validate_for_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
		)
	df__ = roi.per_session(substitutions__,
		filename_template='{data_dir}/l1/{l1_dir}/sub-{subject}/ses-{session}/sub-{subject}_ses-{session}_task-{task}_acq-{acquisition}_cbv_tstat.nii.gz',
		roi_mask=roi_mask,
		)
	df__['treatment'] = 'New'

	df = pd.concat([df__,df_,df])
	df = df.rename(columns={'session': 'Session',})

	roi_name = splitext(basename(roi_mask))[0]
	if roi_name[-4:] == '.nii':
		roi_name = roi_name[:-4]
	df.to_csv('~/ni_data/ofM.dr/bids/l1/{}/{}.csv'.format(workflow_name, roi_name))