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);
예제 #2
0
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();