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' ###############################################################################
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])
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
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:
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',
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,
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])