예제 #1
0
def demo_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 = fetch_spm_multimodal_fmri()

    # subject data factory
    def subject_factory():
        subject_id = "sub001"
        yield SubjectData(subject_id=subject_id,
                          func=spm_multimodal_fmri.func1,
                          output_dir=os.path.join(output_dir, subject_id))

    # invoke demon to run de demo
    _fmri_demo_runner(subject_factory(),
                      "SPM Multimodal fMRI faces vs scrambled session 1")
예제 #2
0
def demo_spm_multimodal_fmri(output_dir):
    """Demo for SPM multimodal fmri (faces vs scrambled)

    Parameters
    ----------
    output_dir: string
        where output will be written to

    """
    output_dir = os.path.join(output_dir, "spm_multimodal_fmri_output")
    spm_multimodal_fmri = fetch_spm_multimodal_fmri()
    subject_id = "sub001"
    subjects = [SubjectData(subject_id=subject_id,
                            func=[spm_multimodal_fmri.func1,
                                  spm_multimodal_fmri.func2],
                            output_dir=os.path.join(output_dir, subject_id))]
    _demo_runner(subjects, "SPM Multimodal fMRI faces vs scrambled",
                 n_sessions=2)
예제 #3
0
def demo_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

    """
    spm_multimodal_fmri = fetch_spm_multimodal_fmri()
    subject_id = "sub001"
    subjects = [SubjectData(subject_id=subject_id,
                            func=[spm_multimodal_fmri.func1,
                                  spm_multimodal_fmri.func2],
                            output_dir=os.path.join(output_dir, subject_id))]
    _demo_runner(subjects, "SPM Multimodal fMRI faces vs scrambled",
                 n_sessions=2)
예제 #4
0
def demo_spm_multimodal_fmri(output_dir):
    """Demo for SPM multimodal fmri (faces vs scrambled)

    Parameters
    ----------
    output_dir: string
        where output will be written to

    """
    output_dir = os.path.join(output_dir, "spm_multimodal_fmri_output")
    spm_multimodal_fmri = fetch_spm_multimodal_fmri()
    subject_id = "sub001"
    subjects = [
        SubjectData(
            subject_id=subject_id,
            func=[spm_multimodal_fmri.func1, spm_multimodal_fmri.func2],
            output_dir=os.path.join(output_dir, subject_id))
    ]
    _demo_runner(subjects,
                 "SPM Multimodal fMRI faces vs scrambled",
                 n_sessions=2)
예제 #5
0
def demo_spm_multimodal_fmri(output_dir):
    """Demo for SPM multimodal fmri (faces vs scrambled)

    Parameters
    ----------
    output_dir: string
        where output will be written to

    """
    output_dir = os.path.join(output_dir, "spm_multimodal_fmri_output")
    # fetch data
    spm_multimodal_fmri = fetch_spm_multimodal_fmri()

    # subject data factory
    def subject_factory():
        subject_id = "sub001"
        yield SubjectData(subject_id=subject_id,
                          func=spm_multimodal_fmri.func1,
                          output_dir=os.path.join(output_dir, subject_id))

    # invoke demon to run de demo
    _fmri_demo_runner(output_dir, subject_factory(),
                      "SPM Multimodal fMRI faces vs scrambled session 1")
예제 #6
0
def demo_spm_multimodal_fmri(output_dir):
    """Demo for SPM multimodal fmri (faces vs scrambled)

    Parameters
    ----------
    output_dir: string
        where output will be written to

    """
    output_dir = os.path.join(output_dir, "spm_multimodal_fmri_output")
    # fetch data
    spm_multimodal_fmri = fetch_spm_multimodal_fmri()

    # subject data factory
    def subject_factory():
        subject_id = "sub001"
        yield SubjectData(subject_id=subject_id,
                          func=spm_multimodal_fmri.func1,
                          output_dir=os.path.join(output_dir, subject_id))

    # invoke demon to run de demo
    _fmri_demo_runner(output_dir, subject_factory(),
                      "SPM Multimodal fMRI faces vs scrambled session 1")
예제 #7
0
def demo_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

    """
    spm_multimodal_fmri = fetch_spm_multimodal_fmri()
    subject_id = "sub001"
    subjects = [
        SubjectData(
            subject_id=subject_id,
            func=[spm_multimodal_fmri.func1, spm_multimodal_fmri.func2],
            output_dir=os.path.join(output_dir, subject_id))
    ]
    _demo_runner(subjects,
                 "SPM Multimodal fMRI faces vs scrambled",
                 n_sessions=2)
from pypreprocess.reporting.glm_reporter import generate_subject_stats_report
from pypreprocess.nipype_preproc_spm_utils import do_subject_preproc
from pypreprocess.subject_data import 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()
dataset_dir = os.path.dirname(os.path.dirname(os.path.dirname(
    subject_data.anat)))

# preprocess the data
subject_id = "sub001"
subject_data = SubjectData(
    output_dir=os.path.join(dataset_dir, "pypreprocess_output", 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, session_ids=["Session1", "Session2"])
subject_data = do_subject_preproc(subject_data, realign=True, coregister=True,
                                  segment=True, normalize=True)

# experimental paradigm meta-params
stats_start_time = time.ctime()
"""
Author: DOHMATOB Elvis Dopgima elvis[dot]dohmatob[at]inria[dot]fr
Synopsis: single_subject_pipeline.py demo
"""

from pypreprocess.datasets import fetch_spm_multimodal_fmri
from pypreprocess.purepython_preproc_utils import do_subject_preproc

# fetch data
sd = fetch_spm_multimodal_fmri()
sd.output_dir = "/tmp/sub001"
sd.func = [sd.func1, sd.func2]

# preproc data
do_subject_preproc(sd.__dict__,
                   concat=False,
                   coregister=True,
                   stc=True,
                   tsdiffana=True,
                   realign=True,
                   report=True,
                   reslice=True)
"""
Author: DOHMATOB Elvis Dopgima elvis[dot]dohmatob[at]inria[dot]fr
Synopsis: single_subject_pipeline.py demo
"""

from pypreprocess.datasets import fetch_spm_multimodal_fmri
from pypreprocess.purepython_preproc_utils import do_subject_preproc

# fetch data
sd = fetch_spm_multimodal_fmri()
sd.output_dir = "/tmp/sub001"
sd.func = [sd.func1, sd.func2]

# preproc data
do_subject_preproc(sd.__dict__, concat=False, coregister=True, stc=True,
                   tsdiffana=True, realign=True, report=True, reslice=True)
예제 #11
0
            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_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)