def main(): conf = AnalysisConfiguration() data_dir = os.environ.get('DATA_DIR') or '/home/user/data' op = OpenFMRIData(data_dir, conf.study_name) analyzer = OpenFMRIAnalyzer(op, conf) all_subject_dirs = op.all_subjects_dirs_with_raw() for subject in all_subject_dirs: analyzer.extract_brain(subject) for subject in all_subject_dirs: analyzer.anatomical_registration(subject) for subject in all_subject_dirs: #for task in conf.mvpa_tasks: #subject.remove_volumes_from_model(1, "", task, conf.num_of_volumes_to_delete) analyzer.motion_correction(subject) analyzer.functional_registration(subject) if conf.func_seg: analyzer.functional_segmentation(subject) else: analyzer.segmentation(subject) analyzer.generate_functional_gm_masks(subject) #analyzer.warp_standard_mask(subject) for subject in all_subject_dirs: # DO SL out_dir = _opj(subject.path(),'results',conf.dir_name()) if not os.path.exists(out_dir): os.makedirs(out_dir) run_searchlight(op, subject, conf, out_dir) # run_searchlight(op.study_dir(), subject.subcode(), mask_name, k, [['G1','G4']], out_dir,flavor) #Group Level output_dir = _opj(op.study_dir(), 'results', "{}".format(conf.dir_name())) if not os.path.exists(output_dir): os.makedirs(output_dir) files = glob(_opj(op.study_dir(), "**", 'results', conf.dir_name(), '*acc_mni.nii.gz')) print files generate_group_level_map( files, output_dir)
def test(): fmri_data = OpenFMRIData( '/home/user/data', '/home/user/data/raw', '/home/user/data/behavioural', 'LP') analyzer = OpenFMRIAnalyzer(fmri_data, [1]) print "{:<40s}{}".format("subjects_list", analyzer._subjects_list) analyzer.analyze(mc_merge=True)
def main(): conf = AnalysisConfiguration() data_dir = os.environ.get('DATA_DIR') or '/home/daniel/fsl-analysis/data' op = OpenFMRIData(data_dir, conf.study_name) analyzer = OpenFMRIAnalyzer(op, conf) all_subject_dirs = op.all_subjects_dirs_with_raw() for subject in all_subject_dirs: analyzer.extract_brain(subject) for subject in all_subject_dirs: analyzer.anatomical_registration(subject) for subject in all_subject_dirs: #for task in conf.mvpa_tasks: #subject.remove_volumes_from_model(1, "", task, conf.num_of_volumes_to_delete) analyzer.motion_correction(subject) analyzer.functional_registration(subject) if conf.func_seg: analyzer.functional_segmentation(subject) else: analyzer.segmentation(subject) analyzer.generate_functional_gm_masks(subject) #analyzer.warp_standard_mask(subject) for subject in all_subject_dirs: # DO SL out_dir = _opj(subject.path(),'results',conf.dir_name()) if not os.path.exists(out_dir): os.makedirs(out_dir) run_searchlight(op, subject, conf, out_dir)
from OpenFMRIAnalyzer import OpenFMRIAnalyzer from OpenFMRIData import OpenFMRIData from create_events import create_events import os from glob import glob import pandas as pd data_dir = os.environ.get('DATA_DIR') or '/home/daniel/fsl-analysis/data' study_name = os.environ.get('STUDY_NAME') or 'AV' raw_dir = os.path.join(data_dir, 'raw') behav_dir = os.path.join(data_dir, 'behavioral') op = OpenFMRIData(data_dir, raw_dir, study_name) # subject_names = ['HiAn'] # Specific subject names subject_names = op.get_subject_names() # All subjects for name in subject_names: subject_dir = op.create_subject_dir(name, overwrite=True) # if we want to create new data for analysis # subject_dir = op.create_subject_dir(name) # if we want to load new data for analysis # subject_dir = op.load_subject_dir(subname=name) create_events(subject_dir, behav_dir) analyzer = OpenFMRIAnalyzer(op,[subject_dir]) brain_image = analyzer.extract_brain(subject_dir) analyzer.estimate_bias_field(subject_dir, brain_image, overwrite=True) analyzer.anatomical_registration(subject_dir) analyzer.anatomical_smoothing(subject_dir)
import sys import os import re from PreProcessing import PreProcessing from OpenFMRIData import OpenFMRIData from createFirstLevel import createFirstLevel # data_dir = os.environ.get('DATA_DIR') or '/home/rack-hezi-03/home/roigilro/fMRI/Data/' data_dir = '/media/roee/fMRI/Data/' # study_name = os.environ.get('STUDY_NAME') or 'Self-Other' study_name = 'Self-Other' raw_dir = os.path.join(data_dir,'raw') op = OpenFMRIData(data_dir, raw_dir,study_name) subject_names = op.get_subject_names() # All subjects # create open fMRI data structure and conver .dcms to .nii for name in subject_names: x=2 # subject_dir = op.create_subject_dir(name, overwrite=True) #TODO: agree on a standard to include open behvadata.txt files in raw directory structure # copy over the behavdata.txt files to correct place in open-fmri data struc created above: # you need to do this with a mat script of by hand for each run for eahc subject # ~/sub001/behav/tak00X_run00X/behavdata.txt for name in subject_names: subject = op.load_subject_dir(subname=name)
conds[key] = value #run_name = "{}_run{:0>3d}".format(task_sequence, run_number+1) condition_name = "cond{:0>3d}.txt".format(condition_number + 1) print ">>> condition mapping: {}->{}".format( key, condition_number) for onset_dir in onset_dirs: value.to_csv(os.path.join(subjectdir.model_dir(), onset_dir, task_sequence, condition_name), sep='\t', index=False, header=False) op = OpenFMRIData(data_dir, raw_dir, study_name) #subject_names = ['MoCa'] # Specific subject names subject_names = op.get_subject_names() # All subjects for name in subject_names: subject_dir = op.load_subject_dir(subname=name, create_behav_dict={ 'func': create_evs, 'behav': os.path.join(behavioural_dir, study_name, name) }) # if we want to create new data for analysis # subject_dir = op.create_subject_dir(name)
def test(): fmri_data = OpenFMRIData('/home/user/data', '/home/user/data/raw', '/home/user/data/behavioural', 'EPITest') qa = QualityAnalyzer(fmri_data) qa.analyze_runs(1) pass
#!/usr/bin/python import sys import os from OpenFMRIData import OpenFMRIData from OpenFMRIAnalyzer import OpenFMRIAnalyzer subnames = sys.argv[1:] data_dir = os.environ.get('DATA_DIR') or '/home/user/data' study_name = os.environ.get('STUDY_NAME') or 'LP' op = OpenFMRIData(data_dir, study_name) subcodes = [] for subname in subnames: subject_dir = op.subject_dir(subname=subname) subcodes.append(subject_dir.subcode()) analyzer = OpenFMRIAnalyzer(op,subcodes) analyzer.analyze(mc_align_task=True, func_seg=True)