os.makedirs(pth)                                                         
    except OSError as exc:                                                       
        if exc.errno == errno.EEXIST and os.path.isdir(pth):                     
            pass                                                                 
        else:                                                                    
            raise                                                                

###############################################################################
# Setup paths and prepare raw data

proj_code = 'MINDLAB2013_01-MEG-AttentionEmotionVisualTracking'

VERBOSE=True
SAVE=False # NB

db = Query(proj_code=proj_code,verbose=True)
subjects = db.get_subjects()
example_subject = subjects[1][1:] #007
print "Using {:s} as example".format(example_subject)

proj_folder = '/projects/' + proj_code
misc_folder = proj_folder + '/misc'
scratch_folder = proj_folder + '/scratch'
raw_data_folder = scratch_folder + '/tsss_initial/' + \
        example_subject
img_folder = raw_data_folder + '/img'
mkdir_p(img_folder)

raw_fname = raw_data_folder + '/VS_1a_1_tsss_mc.fif'

###############################################################################
예제 #2
0
def test_get_studies():
    studies = Query(proj_name).get_studies(test_subject_name)
    assert_equal(len(studies), len(study_modalities))
    assert_equal(studies[study_name_tuple[0]], study_name_tuple[1])
예제 #3
0
def test_filter_series():
    series = Query(proj_name).filter_series(series_name,
                                            subjects=test_subject_name)
    assert_equal(len(series), 1)
    assert_equal(int(series[0]['serieno']), series_number)
CLOBBER = False
FAKE = False
VERBOSE = True

# ENH: install "official" version of stormdb on isis/hyades
path_to_stormdb = "/usr/local/common/meeg-cfin/stormdb"
# path_to_stormdb = "/volatile/mje/meeg-cfin/stormdb"
sys.path.append(path_to_stormdb)

from stormdb.access import Query

# path to submit_to_isis
cmd = "/usr/local/common/meeg-cfin/configurations/bin/submit_to_isis"
proj_code = "MINDLAB2015_MEG-CorticalAlphaAttention"

db = Query(proj_code)
proj_folder = os.path.join("/projects", proj_code)
scratch_folder = os.path.join(proj_folder, "scratch/")
fs_subjects_dir = os.path.join(scratch_folder, "fs_subjects_dir/")

subjects_dir = os.path.join(scratch_folder, "fs_subjects_dir")
script_dir = proj_folder + "/scripts/"

included_subjects = db.get_subjects()
# just test with first one!

sub_new = []
#
for sub in [included_subjects[5]]:
    if not os.path.isfile(fs_subjects_dir + "%s/%s_t1.nii.gz" % (sub[:4], sub[:4])):
        # this is an example of getting the DICOM files as a list
예제 #5
0
def test_get_subjects():
    subs = Query(proj_name).get_subjects()
    assert_true(isinstance(subs, list))
    assert_equal(subs[0], test_subject_name)  # 0001 is excluded in DB!
                 st_buflen=30,
                 st_corr=0.95,
                 movecomp=True,
                 # cal=cal,
                 # ctc=ctc,
                 mx_args='',
                 maxfilter_bin='maxfilter',
                 force=True
                 )


# path to submit_to_isis
cmd = "/usr/local/common/meeg-cfin/configurations/bin/submit_to_isis"
proj_code = "MINDLAB2015_MEG-CorticalAlphaAttention"

db = Query(proj_code)
proj_folder = os.path.join('/projects', proj_code)
scratch_folder = os.path.join(proj_folder, 'scratch/maxfiltered_data/')

subjects_dir = os.path.join(scratch_folder, 'fs_subjects_dir')
script_dir = proj_folder + '/scripts/'

included_subjects = db.get_subjects()
# just test with first one!
included_subjects = included_subjects[-3:]

for sub in included_subjects:
    # this is an example of getting the DICOM files as a list
    # sequence_name='t1_mprage_3D_sag'
    MEG_study = db.get_studies(sub, modality='MEG')
    if len(MEG_study) > 0:
예제 #7
0
        if crop_plot_time is not None:
            epochs.crop(*crop_plot_time)
        epochs.plot_image(pick, fig=imgfig)
        # mnefig[0].get_axes()[1].set_title('')

    stats = dict()
    stats['mean'] = np.mean(delays)
    stats['std'] = np.std(delays)
    stats['median'] = np.median(delays)
    stats['q10'] = np.percentile(delays, 10.)
    stats['q90'] = np.percentile(delays, 90.)
    stats['max_amp'] = np.max(epochs._data[:, pick, :])  # ovr epochs & times
    stats['min_amp'] = np.min(epochs._data[:, pick, :])  # ovr epochs & times
    return (delays, stats)


if __name__ == '__main__':
    from stormdb.access import Query
    proj_name = 'MEG_service'
    subj_id = '0032'
    qy = Query(proj_name)

    series = qy.filter_series('audvis*', subjects=subj_id)
    cur_series = series[0]

    delays = extract_delays(cur_series,
                            stim_chan='STI101',
                            misc_chan='MISC001',
                            trig_codes=[2],
                            plot_figures=True)
    autobad='off',  # or use xscan first
    st=True,  # use tSSS
    st_buflen=30,  # parameter set in beg. of notebook
    st_corr=95,  # parameter set in beg. of notebook
    movecomp=True,
    trans=None,  # compensate to mean initial head position (saved to file),
    # or use None for initial head position
    logfile=None,  # we replace this in each loop
    hp=None,  # head positions, replace in each loop
    n_threads=4  # number of parallel threads to run on
)

# path to submit_to_isis
proj_code = "MINDLAB2011_24-MEG-readiness"

db = Query(proj_code)
proj_folder = os.path.join('/projects', proj_code)

script_dir = proj_folder + '/scripts/RP_scripts'

conditions = {"classic": "2", "plan": "4", "interupt": "3"}

included_subjects = db.get_subjects()
# just test with first one!
included_subjects = included_subjects[7]

for sub in [included_subjects]:
    MEG_study = db.get_studies(sub, modality='MEG')

    for condition in conditions:
        in_name = db.get_files(sub, MEG_study[0], 'MEG',
예제 #9
0
from stormdb.access import Query
from stormdb.process import Maxfilter
from os.path import join
from os import makedirs

proj_name = 'MINDLAB2018_MEG-SF-Integration-Images'
mf_out_path = join('/projects', proj_name, 'scratch', 'maxfiltered')
log_out_path = join('/projects', proj_name, 'scratch', 'maxfiltered', 'logs')
makedirs(log_out_path, exist_ok=True)

qy = Query(proj_name)
mf = Maxfilter(proj_name)

# Get all series (regardless of subject) named '*SFtuned*' (note wildcards)
series = qy.filter_series(description='*SFtuned*')
# Restrict to specific subjects
# series = qy.filter_series(description='*SFtuned*', subjects=['0007', '0012'])
# Restrict to specific modality
# series = qy.filter_series(description='*mprage*', modalities='MR')

for ses in series:
    # MEG acquistions will be split into 2GB chunks if long
    for fifname in ses['files']:
        in_fname = join(ses['path'], fifname)

        outbase = splitext(fifname)[0]
        out_fname = join(mf_out_path, outbase + '_tsss.fif')
        log_fname = join(log_out_path, outbase + '_tsss.log')

        # see maxfilter manual for options
        mf.build_cmd(in_fname, out_fname, logfile=log_fname,
예제 #10
0
                 autobad="on",
                 st=True,
                 st_buflen=30,
                 st_corr=0.95,
                 movecomp=True,
                 cal=cal,
                 ctc=ctc,
                 mx_args='',
                 maxfilter_bin='maxfilter',
                 force=True)

# path to submit_to_isis
cmd = "/usr/local/common/meeg-cfin/configurations/bin/submit_to_isis"
proj_code = "MINDLAB2011_24-MEG-readiness"

db = Query(proj_code)
proj_folder = os.path.join('/projects', proj_code)

script_dir = proj_folder + '/scripts/'

conditions = {"classic": "2", "plan": "4", "interupt": "3"}

included_subjects = db.get_subjects()
# just test with first one!
included_subjects = included_subjects[6:]

for sub in included_subjects:
    MEG_study = db.get_studies(sub, modality='MEG')

    for condition in conditions:
        in_name = db.get_files(sub, MEG_study[0], 'MEG', conditions[condition])