def run(self): while not self.kill_received: # get a task try: job = self.work_queue.get_nowait() except Queue.Empty: break start_time = time.time(); #dbrec3d_batch.set_stdout('logs/log_' + str(os.getpid())+ ".txt"); # file_in = str(job.pcl_dir) + "/object_" + str(job.object_id) + ".pcd"; # file_out = str(job.pcl_dir) + "/fpfh_object_" + str(job.object_id) + ".pcd"; # file_in = str(job.pcl_dir) + "/boxm_scili.pcd"; # file_out = str(job.pcl_dir) + "/fpfh_boxm_scili.pcd"; # file_in="/Projects/pcl_dev/pcl/trunk/test/bun0.pcd" file_in = str(job.pcl_dir) + "/mesh_0.ply"; file_out = str(job.pcl_dir) + "/spin_mesh_0.pcd"; dbrec3d_batch.init_process("pcl_compute_spin_image_process"); dbrec3d_batch.set_input_string(0, file_in); dbrec3d_batch.set_input_double(1, job.radius); dbrec3d_batch.set_input_int(2, job.width); dbrec3d_batch.set_input_double(3, job.sup_angle); dbrec3d_batch.set_input_int(4, job.num_neighbors); dbrec3d_batch.set_input_bool(5, job.radial); dbrec3d_batch.set_input_bool(6, job.angular); dbrec3d_batch.set_input_string(7, file_out); dbrec3d_batch.run_process(); dbrec3d_batch.clear(); #dbrec3d_batch.reset_stdout(); print ("Runing time for worker:", self.name) print(time.time() - start_time);
dbrec3d_batch.print_db(); print("Get the response") dbrec3d_batch.init_process("dbrec3dGetResponseProcess"); dbrec3d_batch.set_input_int(0, 0); dbrec3d_batch.run_process(); (scene_id, scene_type) = dbrec3d_batch.commit_output(0); response_scene= dbvalue(scene_id, scene_type); resolution = 0; enforce_level = 1; print("Convert to regular grid"); dbrec3d_batch.init_process("boxmSceneToBvxmGridProcess"); dbrec3d_batch.set_input_from_db(0,response_scene); dbrec3d_batch.set_input_string(1, model_dir + "/dbrec3d_response.vox"); dbrec3d_batch.set_input_unsigned(2, resolution); dbrec3d_batch.set_input_bool(3, enforce_level); dbrec3d_batch.run_process(); (grid_id, grid_type) = dbrec3d_batch.commit_output(0); grid = dbvalue(grid_id, grid_type); print("Save Grid"); dbrec3d_batch.init_process("bvxmSaveGridRawProcess"); dbrec3d_batch.set_input_from_db(0,grid); dbrec3d_batch.set_input_string(1,model_dir + "/dbrec3d_response.raw"); dbrec3d_batch.run_process();