#!/Users/boydb1/anaconda/bin/python
# -*- coding: utf-8 -*-

import os
import sys

'''
Load freesurfer subject in freeview

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

def parse_args():
    from argparse import ArgumentParser
    ap = ArgumentParser(prog='fsview', description="Load FreeSurfer subject in freeview")
    ap.add_argument('session', help='Session Label')
    return ap.parse_args()
    
if __name__ == '__main__':    
    args = parse_args()
    sess = args.session
    
    try:
        # Environs
        subjects_dir = os.environ['SUBJECTS_DIR']

    except KeyError as e:
        print "You must set the environment variable %s" % str(e)
        sys.exit(1)
        
    local_subj_path = subjects_dir+'/'+sess
                      
    if not os.path.exists(local_subj_path):
        print 'ERROR:cannot load, '+sess+' not found in local FreeSurfer subjects directory.'
        sys.exit(1)
        
    cmd = 'freeview'
    cmd += ' -v '+local_subj_path+'/mri/T1.mgz'
    cmd += ' '+local_subj_path+'/mri/wm.mgz'
    cmd += ' '+local_subj_path+'/mri/brainmask.mgz'
    cmd += ' '+local_subj_path+'/mri/aparc+aseg.mgz:colormap=lut:opacity=1:visible=0'
    cmd += ' -f '+ local_subj_path+'/surf/lh.white:edgecolor=blue:edgethickness=1'
    cmd += ' '+local_subj_path+'/surf/lh.pial:edgecolor=red:edgethickness=1'
    cmd += ' '+local_subj_path+'/surf/rh.white:edgecolor=blue:edgethickness=1'
    cmd += ' '+local_subj_path+'/surf/rh.pial:edgecolor=red:edgethickness=1'

    print 'Launching freeview with command:'+cmd        
    os.system(cmd)

