示例#1
0
def get_ras_using_sftp(args):
    for subject in args.subject:
        necessary_files = {'electrodes': ['{}_RAS.xlsx'.format(subject)]}
        utils.prepare_subject_folder(necessary_files, subject,
                                     args.remote_subject_dir, pu.SUBJECTS_DIR,
                                     True, args.sftp_username,
                                     args.sftp_domain)
示例#2
0
文件: cics.py 项目: bdthombre/mmvt
def get_labels_data(subject, atlas):
    necessary_files = {
        'label': ['{}.{}.annot'.format(hemi, atlas) for hemi in utils.HEMIS]
    }
    remote_subject_dir = op.join(FS_ROOT,
                                 '{0}_recon.long.{0}-base'.format(subject))
    utils.prepare_subject_folder(necessary_files, subject, remote_subject_dir,
                                 SUBJECTS_DIR)
示例#3
0
def prepare_files(subject, remote_subjects_dir):
    necessary_files = {
        'mri': ['wm.mgz'],
        'label': ['rh.cortex.label', 'lh.cortex.label'],
        'surf': ['lh.thickness', 'rh.thickness']
    }
    utils.prepare_subject_folder(necessary_files, subject,
                                 op.join(remote_subjects_dir, subject),
                                 SUBJECTS_DIR)
def get_output_using_sftp(subjects, subject_to):
    sftp_domain = 'door.nmr.mgh.harvard.edu'
    sftp_username = '******'
    remote_subject_dir = '/space/thibault/1/users/npeled/subjects/{subject}'
    necessary_files = {
        'mri_cvs_register_to_{}'.format(subject_to):
        ['combined_to{}_elreg_afteraseg-norm.tm3d'.format(subject_to)]
    }
    password = ''
    for subject in subjects:
        print('Getting tm3d file for {}'.format(subject))
        utils.make_dir(op.join(SUBJECTS_DIR, subject, 'electrodes'))
        ret, password_temp = utils.prepare_subject_folder(
            necessary_files,
            subject,
            remote_subject_dir.format(subject=subject.lower()),
            SUBJECTS_DIR,
            True,
            sftp_username,
            sftp_domain,
            sftp_password=password)
        if not ret:
            print('Error in copying the file!')
        if password_temp != '':
            password = password_temp
def prepare_files_for_subjects(subjects,
                               remote_subject_templates,
                               overwrite=False):
    necessary_files = {
        'surf': [
            'lh.inflated', 'rh.inflated', 'lh.pial', 'rh.pial', 'rh.white',
            'lh.white', 'lh.smoothwm', 'rh.smoothwm', 'rh.sulc', 'lh.sulc',
            'lh.sphere', 'rh.sphere', 'lh.inflated.K', 'rh.inflated.K',
            'lh.inflated.H', 'rh.inflated.H'
        ],
        'label': ['lh.aparc.annot', 'rh.aparc.annot']
    }

    # subjects = pu.decode_subjects(['MG*'], remote_subject_template)
    good_subjects = []
    for subject in subjects:
        for remote_subject_template in remote_subject_templates:
            remote_subject_dir = utils.build_remote_subject_dir(
                remote_subject_template, subject)
            all_files_exist = utils.prepare_subject_folder(
                necessary_files,
                subject,
                remote_subject_dir,
                SUBJECTS_DIR,
                overwrite_files=overwrite,
                print_missing_files=False)
            if all_files_exist:
                good_subjects.append(subject)
                break
    return good_subjects
def get_subject_files(subject, necessary_files, remote_subject_dir):
    if not op.isdir(remote_subject_dir):
        return False
    return utils.prepare_subject_folder(necessary_files,
                                        subject,
                                        remote_subject_dir,
                                        SUBJECTS_DIR,
                                        print_traceback=False)
def prepare_files_for_subjects(subjects,
                               remote_subject_templates,
                               sftp=False,
                               sftp_username='',
                               sftp_domain='',
                               overwrite=False):
    necessary_files = {
        'surf': [
            'lh.inflated', 'rh.inflated', 'lh.pial', 'rh.pial', 'rh.white',
            'lh.white', 'lh.smoothwm', 'rh.smoothwm', 'rh.sulc', 'lh.sulc',
            'lh.sphere', 'rh.sphere', 'lh.inflated.K', 'rh.inflated.K',
            'lh.inflated.H', 'rh.inflated.H'
        ],
        'mri': [
            'aseg.mgz', 'norm.mgz', 'ribbon.mgz', 'T1.mgz', 'orig.mgz',
            'brain.mgz'
        ],
        'label': ['lh.aparc.annot', 'rh.aparc.annot']
    }

    # subjects = pu.decode_subjects(['MG*'], remote_subject_template)
    good_subjects = []
    for subject in subjects:
        for remote_subject_template in remote_subject_templates:
            remote_subject_template = remote_subject_template.replace(
                '{hosp}', subject[:2])
            remote_subject_dir = utils.build_remote_subject_dir(
                remote_subject_template, subject)
            all_files_exist, _ = utils.prepare_subject_folder(
                necessary_files,
                subject,
                remote_subject_dir,
                SUBJECTS_DIR,
                overwrite_files=overwrite,
                sftp=sftp,
                sftp_username=sftp_username,
                sftp_domain=sftp_domain,
                print_missing_files=False)
            if all_files_exist:
                good_subjects.append(subject)
                break
    bad_subjects = list(set(subjects) - set(good_subjects))
    print('prepare_files: {}/{} good subjects'.format(len(good_subjects),
                                                      len(subjects)))
    print('Good: {}'.format(good_subjects))
    print('Bad: {}'.format(bad_subjects))
    # if len(bad_subjects) > 0:
    # from src.preproc import anatomy as anat
    # for subject in bad_subjects:
    #     args = anat.read_cmd_args(dict(
    #         subject=subject,
    #         remote_subject_dir='/mnt/cashlab/Original Data/MG/{subject}/{subject}_Notes_and_Images/{subject}_SurferOutput',
    #         function='prepare_subject_folder'
    #     ))
    #     args.necessary_files = necessary_files
    #     pu.run_on_subjects(args, anat.main)
    return good_subjects
示例#8
0
def prepare_subject_folder(subject,
                           remote_subject_dir,
                           args,
                           necessary_files=None):
    if necessary_files is None:
        necessary_files = args.necessary_files
    return utils.prepare_subject_folder(necessary_files, subject,
                                        remote_subject_dir, SUBJECTS_DIR,
                                        args.sftp, args.sftp_username,
                                        args.sftp_domain, args.sftp_password,
                                        args.overwrite_fs_files,
                                        args.print_traceback, args.sftp_port)
示例#9
0
文件: cics.py 项目: bdthombre/mmvt
def preproc_anat(subjects, overwrite_files=False):
    good_subjects = []
    for subject in subjects:
        # utils.make_dir(op.join(MMVT_DIR, subject, 'fmri'))
        # utils.make_dir(op.join(MMVT_DIR, '{}_rescan'.format(subject), 'fmri'))
        scan_ret = utils.prepare_subject_folder(
            anat.get_necessary_files(),
            subject,
            op.join(FS_ROOT, '{0}_recon.long.{0}-base'.format(subject)),
            SUBJECTS_DIR,
            overwrite_files=overwrite_files)[0]
        rescan_ret = utils.prepare_subject_folder(
            anat.get_necessary_files(),
            '{}_rescan'.format(subject),
            op.join(FS_ROOT, '{0}_B_recon.long.{0}-base'.format(subject)),
            SUBJECTS_DIR,
            overwrite_files=overwrite_files)[0]
        if scan_ret and rescan_ret:
            good_subjects.append(subject)
    print('{}/{} good subjects'.format(len(good_subjects), len(subjects)))
    return good_subjects