def main(sys_argv, repetitions=1):
    """ runs the batch 
    Usage: 
        main([software_path, exp_dir, first, last], [repetitions])
        
    Parameters:
        list of 4 parameters in this order:
        software_path : directory of pyptv_batch.py    
        exp_dir : directory with the experiment data
        first, last : integer, number of a first and last frame
        repetitions : int, default = 1, optional
    """
    software_path = os.path.split(os.path.abspath(sys_argv[0]))[0]
    print 'software_path=', software_path
    
    try:
        os.chdir(software_path)
    except:
        raise ValueError("Error in instalation or software path")
    
    import string
    src_path = string.replace(software_path,'pyptv_gui','src_c')
    print('Source path for ptv1.so is %s' % src_path)
    sys.path.append(src_path)
    import ptv1 as ptv
    
    start = time.time()
    
    try:
        exp_path = os.path.abspath(sys_argv[1])
        print('exp_path= %s' % exp_path)
        os.chdir(exp_path)
        print(os.getcwd())
    except:
        raise ValueError('Wrong experimental directory %s' % exp_path)
        

# RON - make a res dir if it not found

    if 'res' not in os.listdir(sys_argv[1]):
        print " 'res' folder not found. creating one"
        os.makedirs(os.path.join(sys_argv[1],'res'))
    
    
    for i in range(repetitions):
        try: # strings       
            seq_first = eval(sys_argv[2])
            seq_last = eval(sys_argv[3])
        except: # integers
            seq_first = sys_argv[2]
            seq_last = sys_argv[3]
       
        try:
            run_batch(seq_first, seq_last)
        except:
            print("something wrong with the software or folder")
            general.printException()

    end = time.time()
    print 'time lapsed %f sec' % (end - start)
def error(owner, msg):
    print "Exception caught, message: %s" % (msg)
    general.printException()
    pyfaceapi.error(owner, msg)
	ptv.py_init_proc_c()
	ptv.py_start_proc_c() # or ptv.py_init_proc_c()?
	ptvParams = par.PtvParams(path = par.temp_path)
	ptvParams.read()
	(n_img, img_name, img_cal, hp_flag, allCam_flag, tiff_flag, imx, imy, pix_x, pix_y, chfield, mmp_n1, mmp_n2, mmp_n3, mmp_d) = \
		(ptvParams.n_img, ptvParams.img_name, ptvParams.img_cal, ptvParams.hp_flag, ptvParams.allCam_flag, ptvParams.tiff_flag, \
		ptvParams.imx, ptvParams.imy, ptvParams.pix_x, ptvParams.pix_y, ptvParams.chfield, ptvParams.mmp_n1, ptvParams.mmp_n2, ptvParams.mmp_n3, ptvParams.mmp_d)
# read the sequence parameters
	sequenceParams = par.SequenceParams(n_img, path = par.temp_path)
	sequenceParams.read()
	(base_name, seq_first, seq_last) = (sequenceParams.base_name, sequenceParams.first, sequenceParams.last)
# write the new sequence parameters
	par.SequenceParams(n_img, base_name,\
									   new_seq_first, new_seq_last, path = par.temp_path).write()
	# if you need sequence and tracking:
	sequence_tracking(n_img)
	
	# if you need sequence only:
	# sequence(n_img)


if __name__ == '__main__':

	try:
		seq_first = sys.argv[2]
		seq_last = sys.argv[3]
		run_batch(eval(seq_first),eval(seq_last))
	except:
		print("something wrong with the software or folder")
		general.printException()
Exemple #4
0
def error(owner, msg):
    print "Exception caught, message: %s" % (msg)
    general.printException()
    pyfaceapi.error(owner, msg)
Exemple #5
0
            self.load_disp_image(img_name, j, display_only)
        else:
            for j in range(n_camera):
                img_name = self.base_name[j] + seq_ch
                self.load_disp_image(img_name, j, display_only)

    def load_disp_image(self, img_name, j, display_only=False):
        print("Setting image: " + str(img_name))
        temp_img = np.array([], dtype=np.ubyte)
        try:
            temp_img = imread(img_name).astype(np.ubyte)
            if not display_only:
                ptv.py_set_img(temp_img, j)
            if len(temp_img) > 0:
                self.camera_list[j].update_image(temp_img, is_float=1)
        except:
            print "Error reading file"


# -------------------------------------------------------------
if __name__ == '__main__':
    try:
        main_gui = MainGUI()
        #gui1.exp1.populate_runs(exp_path)
        main_gui.configure_traits()
    except:
        print("something wrong with the software or folder")
        general.printException()

    os.chdir(cwd)  #get back to the original workdir