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)
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,