#!/usr/bin/env python


import argparse
import ca_tracker
from multiprocessing import Process




def compute_times_and_seg(exp_filename, conf_data):
    print 'starting compute absolute times for %s' % exp_filename
    ca_tracker.abs_time(exp_filename, conf_data)

    print 'starting cell segmentation for %s' % exp_filename
    ca_tracker.cell_detect_2(exp_filename, conf_data)



if __name__ == '__main__':


    parser = argparse.ArgumentParser(description='Compute absolute times and segment cells.')
    #parser.add_argument('-config', action="store_true", default=False)
    parser.add_argument('--config', dest='config_filename', help='path to config json file')
    args = parser.parse_args()
    config_filename = args.config_filename
    
    if config_filename is None:
        conf_data = ca_tracker.h.readConfig()
    else:
        conf_data = ca_tracker.h.readConfig(config_filename)
    
    exp_names = ca_tracker.h.getExpNames(conf_data)

    if exp_names is not None:
        print 'located following datasets:'
        print(exp_names)
        print 'start computing times and cell detection'
    for exp_name in exp_names:
        p = Process(target=compute_times_and_seg, args=(exp_name, conf_data))
        p.start()    