#!/usr/bin/python26

import sys
import os
import csv
import pyxnat

csv_files = {'BPDwithPsy': 'SchizBull_2008/BPDwithPsy/BPDwithPsy_Basic_Demographics.csv', 
             'BPDwithoutPsy': 'SchizBull_2008/BPDwithoutPsy/BPDwithoutPsy_Basic_Demographics.csv', 
             'HC': 'SchizBull_2008/HC/HC_Basic_Demographics.csv', 
             'SS': 'SchizBull_2008/SS/SS_Basic_Dempgraphics.csv'}

seg_postfix = {'BPDwithPsy': '_seg.nii.gz', 
               'BPDwithoutPsy': '_seg.nii.gz', 
               'HC': '_seg.nii.gz', 
               'SS': '.seg.nii.gz'}

diagnoses = {'BPDwithoutPsy': 'Bipolar Disorder: Without Psychosis', 
             'BPDwithPsy': 'Bipolar Disorder: With Psychosis', 
             'HC': 'Normal', 
             'SS': 'Schizophrenia'}

interface = pyxnat.Interface(os.environ['XNAT_URL'].rstrip('/'), 
                             os.environ['XNAT_USER'], 
                             os.environ['XNAT_PASSWORD'])
 
project = interface.select.project('cs_schizbull08')
assert project.exists()

for diagnosis in ('BPDwithPsy', 'BPDwithoutPsy', 'HC', 'SS'):
    reader = csv.reader(open(csv_files[diagnosis]))
    headers = reader.next()
    for row in reader:
        row_dict = dict(zip(headers, row))
        old_age = int(round(float(row_dict['Age'])))
        new_age = int(float(row_dict['Age']))
        print row_dict['Subject'], row_dict['Age'], old_age, new_age
        subject = project.subject(row_dict['Subject'])
        assert subject.exists()
        print subject.attrs.set('age', str(new_age))

sys.exit(0)

# eof
