コード例 #1
0
def demo_spm_multimodal_fmri(data_dir="/tmp/spm_multimodal_fmri",
                             output_dir="/tmp/spm_multimodal_fmri_output",
                             ):
    """Demo for SPM multimodal fmri (faces vs scrambled)

    Parameters
    ----------
    data_dir: string, optional
        where the data is located on your disk, where it will be
        downloaded to
    output_dir: string, optional
        where output will be written to

    """

    # fetch data
    spm_multimodal_fmri_data = fetch_spm_multimodal_fmri_data(
        data_dir)

    # subject data factory
    def subject_factory():
            subject_id = "sub001"

            yield SubjectData(subject_id=subject_id,
                              func=[spm_multimodal_fmri_data.func1,
                                    spm_multimodal_fmri_data.func2],
                              output_dir=os.path.join(output_dir, subject_id))

    # invoke demon to run de demo
    _demo_runner(subject_factory(),
          "SPM Multimodal fMRI faces vs scrambled", n_sessions=2)
コード例 #2
0
def demo_spm_multimodal_fmri(data_dir="/tmp/spm_multimodal_fmri", output_dir="/tmp/spm_multimodal_fmri_output"):
    """Demo for SPM multimodal fmri (faces vs scrambled)

    Parameters
    ----------
    data_dir: string, optional
        where the data is located on your disk, where it will be
        downloaded to
    output_dir: string, optional
        where output will be written to

    """

    # fetch data
    spm_multimodal_fmri_data = fetch_spm_multimodal_fmri_data(data_dir)

    # subject data factory
    def subject_factory():
        subject_id = "sub001"

        yield SubjectData(
            subject_id=subject_id,
            func=[spm_multimodal_fmri_data.func1, spm_multimodal_fmri_data.func2],
            output_dir=os.path.join(output_dir, subject_id),
        )

    # invoke demon to run de demo
    _demo_runner(subject_factory(), "SPM Multimodal fMRI faces vs scrambled", n_sessions=2)
コード例 #3
0
                    )

if 0x0:
    for (with_anat, do_segment, do_normalize,
         fwhm, hard_link_output) in itertools.product(
        [False, True], [False, True], [False, True], [0, 8, [8, 8, 8]],
        [False, True]):
        # load spm auditory data

        sd = fetch_spm_auditory_data(os.path.join(
                os.environ['HOME'], 'CODE/datasets/spm_auditory'))
        subject_data1 = SubjectData(func=[sd.func],
                                    anat=sd.anat if with_anat else None)
        subject_data1.output_dir = "/tmp/kimbo/sub001/"

        # load spm multimodal fmri data
        sd = fetch_spm_multimodal_fmri_data(os.path.join(
                os.environ['HOME'], 'CODE/datasets/spm_multimodal_fmri'))
        subject_data2 = SubjectData(func=[sd.func1, sd.func2],
                                    anat=sd.anat if with_anat else None,
                                   session_id=['Session 1', "Session 2"])
        subject_data2.output_dir = "/tmp/kiki/sub001/"

        do_subjects_preproc([subject_data1, subject_data2],
                            do_dartel=True,
                            do_segment=do_segment,
                            do_normalize=do_normalize,
                            fwhm=fwhm,
                            hard_link_output=hard_link_output
                            )
コード例 #4
0
from pypreprocess.reporting.glm_reporter import generate_subject_stats_report
from pypreprocess.nipype_preproc_spm_utils import (do_subjects_preproc,
                                                   SubjectData)

# file containing configuration for preprocessing the data
this_dir = os.path.abspath(os.path.dirname(sys.argv[0]))
jobfile = os.path.join(this_dir, "multimodal_faces_preproc.ini")

# set dataset dir
if len(sys.argv) > 1:
    dataset_dir = sys.argv[1]
else:
    dataset_dir = os.path.join(this_dir, "spm_multimodal_faces")

# fetch spm multimodal_faces data
subject_data = fetch_spm_multimodal_fmri_data(dataset_dir)

# preprocess the data
subject_id = "sub001"
subject_data = SubjectData(output_dir=os.path.join(dataset_dir, "pypreprocess",
                                                   subject_id),
                           subject_id=subject_id,
                           func=[subject_data.func1, subject_data.func2],
                           anat=subject_data.anat,
                           trials_ses1=subject_data.trials_ses1,
                           trials_ses2=subject_data.trials_ses2)
subject_data = do_subjects_preproc([subject_data],
                                   realign=True,
                                   coregister=True,
                                   segment=True,
                                   normalize=True)[0]
コード例 #5
0
# set data and output paths (change as you will)
DATA_DIR = "spm_multimodal_fmri"
OUTPUT_DIR = "spm_multimodal_runs"
if len(sys.argv) > 1:
    DATA_DIR = sys.argv[1]
if len(sys.argv) > 2:
    OUTPUT_DIR = sys.argv[2]

print "\tDATA_DIR: %s" % DATA_DIR
print "\tOUTPUT_DIR: %s" % OUTPUT_DIR
print

if not os.path.exists(OUTPUT_DIR):
    os.makedirs(OUTPUT_DIR)
# fetch the data
sd = fetch_spm_multimodal_fmri_data(DATA_DIR)
subject_id = "sub001"
subject_data = SubjectData(subject_id=subject_id,
                           session_id=["Session1", "Session2"],
                           func=[sd.func1, sd.func2],
                           anat=sd.anat,
                           trials_ses1=sd.trials_ses1,
                           trials_ses2=sd.trials_ses2,
                           output_dir=os.path.join(OUTPUT_DIR, subject_id)
                           )

# preprocess the data
subject_data = do_subject_preproc(subject_data, do_normalize=False, fwhm=[8.])

# collect preprocessed data
anat_img = nibabel.load(subject_data.anat)
コード例 #6
0
ファイル: sprint.py プロジェクト: MartinPerez/pypreprocess
            line.append(1.)
        condition, onset, duration, amplitude = line
        conditions.append(condition)
        onsets.append(float(onset))
        durations.append(float(duration))
        amplitudes.append(float(amplitude))

    fd.close()
    if not line_cnt > 0:
        raise ValueError(
            "Couldn't read any data from onset file: %s" % onset_file)
    return map(np.array, [conditions, onsets, durations, amplitudes])

# fetch data
data_dir = "examples/spm_multimodal/"
subject_data = fetch_spm_multimodal_fmri_data(data_dir)

# XXX to be verified
tr = 2.
drift_model = 'Cosine'
hrf_model = 'Canonical With Derivative'
hfcut = 128.
time_units = "tr"  # default if 1
if time_units == "tr":
    time_units = tr

# re-write onset files into compatible format
for sess in xrange(2):
    trials = getattr(subject_data, "trials_ses%i" % (sess + 1))
    fd = open(trials.split(".")[0] + ".txt", 'w')
    timing = scipy.io.loadmat(trials, squeeze_me=True, struct_as_record=False)
コード例 #7
0
if 0x0:
    for (with_anat, do_segment, do_normalize, fwhm,
         hard_link_output) in itertools.product([False, True], [False, True],
                                                [False, True],
                                                [0, 8, [8, 8, 8]],
                                                [False, True]):
        # load spm auditory data

        sd = fetch_spm_auditory_data(
            os.path.join(os.environ['HOME'], 'CODE/datasets/spm_auditory'))
        subject_data1 = SubjectData(func=[sd.func],
                                    anat=sd.anat if with_anat else None)
        subject_data1.output_dir = "/tmp/kimbo/sub001/"

        # load spm multimodal fmri data
        sd = fetch_spm_multimodal_fmri_data(
            os.path.join(os.environ['HOME'],
                         'CODE/datasets/spm_multimodal_fmri'))
        subject_data2 = SubjectData(func=[sd.func1, sd.func2],
                                    anat=sd.anat if with_anat else None,
                                    session_id=['Session 1', "Session 2"])
        subject_data2.output_dir = "/tmp/kiki/sub001/"

        do_subjects_preproc([subject_data1, subject_data2],
                            do_dartel=True,
                            do_segment=do_segment,
                            do_normalize=do_normalize,
                            fwhm=fwhm,
                            hard_link_output=hard_link_output)