#!/usr/bin/env python
# -*- coding: utf-8 -*-

'''
Load TRACULA subject in freeview

@author: Brian D. Boyd, Psychiatry, Vanderbilt University
'''

from __future__ import print_function

import glob
import os
import sys


__copyright__ = 'Copyright 2013 Vanderbilt University. All Rights Reserved'
__exe__ = os.path.basename(__file__)
__author__ = 'Brian Boyd'
__purpose__ = "Load TRACULA subject in freeview"
CPTS_LIST = [
    'fmajor_PP_avg33_mni_bbr_cpts_7.txt',
    'fminor_PP_avg33_mni_bbr_cpts_5.txt',
    'lh.atr_PP_avg33_mni_bbr_cpts_5.txt',
    'lh.cab_PP_avg33_mni_bbr_cpts_4.txt',
    'lh.ccg_PP_avg33_mni_bbr_cpts_5.txt',
    'lh.cst_AS_avg33_mni_bbr_cpts_6.txt',
    'lh.ilf_AS_avg33_mni_bbr_cpts_5.txt',
    'lh.slfp_PP_avg33_mni_bbr_cpts_5.txt',
    'lh.slft_PP_avg33_mni_bbr_cpts_5.txt',
    'lh.unc_AS_avg33_mni_bbr_cpts_5.txt',
    'rh.atr_PP_avg33_mni_bbr_cpts_5.txt',
    'rh.cab_PP_avg33_mni_bbr_cpts_4.txt',
    'rh.ccg_PP_avg33_mni_bbr_cpts_5.txt',
    'rh.cst_AS_avg33_mni_bbr_cpts_6.txt',
    'rh.ilf_AS_avg33_mni_bbr_cpts_5.txt',
    'rh.slfp_PP_avg33_mni_bbr_cpts_5.txt',
    'rh.slft_PP_avg33_mni_bbr_cpts_5.txt',
    'rh.unc_AS_avg33_mni_bbr_cpts_5.txt'
]


def parse_args():
    """
    Method to parse arguments base on ArgumentParser

    :return: parser object parsed
    """
    from argparse import ArgumentParser
    ap = ArgumentParser(prog=__exe__, description=__purpose__)
    ap.add_argument('session', help='Session Label')
    ap.add_argument('-sd', '--subjects_dir', help='Subjects Dir',
                    default='/tmp')
    return ap.parse_args()


if __name__ == '__main__':
    args = parse_args()
    sess_label = args.session
    subjects_dir = args.subjects_dir

    local_subj_path = glob.glob(os.path.join(
        subjects_dir, '*TRACULA_v*', 'TRACULA', sess_label))[0]

    if not os.path.exists(local_subj_path):
        print('ERROR:cannot load, %s not found in local TRACULA subjects \
directory.' % (sess_label))
        sys.exit(1)

    cmd = 'freeview'
    cmd += ' -v {}/dmri/dtifit_FA.nii.gz:visible=1'.format(local_subj_path)
    cmd += ' -tv {}/dpath/merged_avg33_mni_bbr.mgz'.format(local_subj_path)

    for cpts in CPTS_LIST:
        _tmp = '{}/dlabel/diff/{}.nii.gz'
        cp_file_path = _tmp.format(local_subj_path, cpts[:-4])
        cmd += ' -v {}:visible=0:colormap=jet'.format(cp_file_path)

    print('Launching freeview with command: {}'.format(cmd))
    os.system(cmd)
