Esempio n. 1
0
def runprobe(event):
    posx = event.x
    posy = event.y
    array2d = list()

    plt.figure(1)
    plt.clf()
    print ("Run ray tracing")
    boxm_batch.init_process("boxmOclRunRenderProbeProcess")
    boxm_batch.set_input_from_db(0, scene_mgr)
    boxm_batch.set_input_from_db(1, cam)
    boxm_batch.set_input_unsigned(2, posx)
    boxm_batch.set_input_unsigned(3, posy)
    boxm_batch.set_input_float(4, (image2.getpixel((posx, posy))) / 255.0)
    boxm_batch.run_process()

    for i in range(0, 10):
        (scene_id, scene_type) = boxm_batch.commit_output(i)
        array_1d = dbvalue(scene_id, scene_type)
        vallist = boxm_batch.get_bbas_1d_array_float(scene_id)
        array2d.append(vallist)

    for i in [1, 2, 3, 5]:
        plt.plot(array2d[0], array2d[i])
    # plt.plot(array2d[0],array2d[7]);
    plt.legend(("Omega", "Mean0", "Alpha", "Mean1"), loc="upper left")
    print (image2.getpixel((posx, posy))) / 255.0
    plt.show()
   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();    
           
           model_dir=job.model_dir;
           ply_file =job.ply_file;
           grey_offset = job.grey_offset;
           
           boxm_batch.set_stdout('logs/log_' + str(os.getpid())+ ".txt");
 
             
           boxm_batch.init_process("boxmCreateSceneProcess");
           boxm_batch.set_input_string(0, model_dir +"/pmvs_scene.xml");
           boxm_batch.run_process();
           (scene_id, scene_type) = boxm_batch.commit_output(0);
           scene= dbvalue(scene_id, scene_type);
           
           boxm_batch.init_process("boxm_create_scene_from_ply_process");
           boxm_batch.set_input_string(0,ply_file);
           boxm_batch.set_input_from_db(1,scene);
           boxm_batch.set_input_float(2,grey_offset);
           boxm_batch.run_process();
           (scene_id, scene_type) = boxm_batch.commit_output(0);
           scene = dbvalue(scene_id, scene_type);
           
           
           print("Save Scene");
           boxm_batch.init_process("boxmSaveSceneRawProcess");
           boxm_batch.set_input_from_db(0,scene);
           boxm_batch.set_input_string(1,model_dir + "/drishti/ply_scene");
           boxm_batch.set_input_unsigned(2,0);
           boxm_batch.set_input_unsigned(3,1);
           boxm_batch.run_process();
           
           #free memory
           boxm_batch.reset_stdout();
           boxm_batch.clear();
        
           print ("Runing time for worker:", self.name)
           print(time.time() - start_time);
           
           #output exit code in this case
           #important: having a result queue makes the execute_jobs wait for all jobs in the queue before exiting
           self.result_queue.put(0);
Esempio n. 3
0
def neighborchange(event):
    posx = event.x
    posy = event.y
    array2d = list()

    vallist = list()
    plt.figure(1)
    plt.clf()
    for i in (-1, 0):
        for j in (-1, 0):
            print ("Run ray tracing")
            boxm_batch.init_process("boxmOclRunRenderProbeProcess")
            boxm_batch.set_input_from_db(0, scene_mgr)
            boxm_batch.set_input_from_db(1, cam)
            boxm_batch.set_input_unsigned(2, posx + i)
            boxm_batch.set_input_unsigned(3, posy + j)
            boxm_batch.set_input_float(4, (image2.getpixel((posx, posy))) / 255.0)
            boxm_batch.run_process()
            (scene_id, scene_type) = boxm_batch.commit_output(10)
            x = boxm_batch.get_input_float(scene_id)
            vallist.append(x)
    print vallist
    def __init__(self, index, type):
        self.id = index  # unsigned integer
        self.type = type  # string


dir = "/Users/isa/Experiments/super3d/scene/expectedImgs_2"
test_frames = [8, 112, 96, 208]

for frame in test_frames:
    boxm_batch.init_process("vilLoadImageViewProcess")
    boxm_batch.set_input_string(0, dir + "/predicted_img_mask_%(#)05d.tiff" % {"#": frame})
    boxm_batch.run_process()
    (id, type) = boxm_batch.commit_output(0)
    vis_img = dbvalue(id, type)

    boxm_batch.init_process("vilThresholdImageProcess")
    boxm_batch.set_input_from_db(0, vis_img)
    boxm_batch.set_input_float(1, 0.99)
    boxm_batch.set_input_bool(2, True)
    boxm_batch.run_process()
    (id, type) = boxm_batch.commit_output(0)
    mask_img = dbvalue(id, type)

    boxm_batch.init_process("vilSaveImageViewProcess")
    boxm_batch.set_input_from_db(0, mask_img)
    boxm_batch.set_input_string(1, dir + "/binary_mask_%(#)05d.tiff" % {"#": frame})
    boxm_batch.run_process()

    boxm_batch.remove_data(vis_img.id)
    boxm_batch.remove_data(mask_img.id)
  (scene_id, scene_type) = boxm_batch.commit_output(0);
  scene= dbvalue(scene_id, scene_type);

  #print("*************************************");
  #print("Save Scene");
  #boxm_batch.init_process("boxmSaveOccupancyRawProcess");
  #boxm_batch.set_input_from_db(0,scene);
  #boxm_batch.set_input_string(1,model_dir + "/" + model_name);
  #boxm_batch.set_input_unsigned(2,0);
  #boxm_batch.set_input_unsigned(3,1);
  #boxm_batch.run_process();

  print("*************************************");
  print("Computing Excpected Color Scene");
  boxm_batch.init_process("boxmComputeExpectedColorSceneProcess");
  boxm_batch.set_input_from_db(0, scene);
  boxm_batch.set_input_float(1, grey_offset);
  boxm_batch.run_process();
  (scene_id, scene_type) = boxm_batch.commit_output(0);
  expected_color_scene = dbvalue(scene_id, scene_type);

  print("*************************************");
  print("Save Scene");
  boxm_batch.init_process("boxmSaveOccupancyRawProcess");
  boxm_batch.set_input_from_db(0,expected_color_scene);
  boxm_batch.set_input_string(1, model_dir + "/mean_color_scene");
  boxm_batch.set_input_unsigned(2,0);
  boxm_batch.set_input_unsigned(3,1);
  boxm_batch.run_process();

Esempio n. 6
0
    (id, type) = boxm_batch.commit_output(1)
    out_img2 = dbvalue(id, type)

    boxm_batch.init_process("vilSaveImageViewProcess")
    boxm_batch.set_input_from_db(0, out_img1)
    boxm_batch.set_input_string(1, out_match_img_name % (i, j))
    boxm_batch.run_process()

    boxm_batch.init_process("vilSaveImageViewProcess")
    boxm_batch.set_input_from_db(0, out_img2)
    boxm_batch.set_input_string(1, out_match_img_name % (j, i))
    boxm_batch.run_process()

    boxm_batch.init_process("baplRefineMatchProcess")
    boxm_batch.set_input_from_db(0, match_set)
    boxm_batch.set_input_float(1, outlier_thresholds[ii])
    boxm_batch.set_input_int(2, min_number_of_matches)
    boxm_batch.run_process()
    (id, type) = boxm_batch.commit_output(0)
    refined_match_set = dbvalue(id, type)

    boxm_batch.init_process("baplMatchDisplayProcess")
    boxm_batch.set_input_from_db(0, imgs[i])
    boxm_batch.set_input_from_db(1, imgs[j])
    boxm_batch.set_input_from_db(2, refined_match_set)
    boxm_batch.run_process()
    (id, type) = boxm_batch.commit_output(0)
    out_img1 = dbvalue(id, type)
    (id, type) = boxm_batch.commit_output(1)
    out_img2 = dbvalue(id, type)
Esempio n. 7
0
    (id, type) = boxm_batch.commit_output(1)
    out_img2 = dbvalue(id, type)

    boxm_batch.init_process("vilSaveImageViewProcess")
    boxm_batch.set_input_from_db(0, out_img1)
    boxm_batch.set_input_string(1, out_match_img_name % (i, j))
    boxm_batch.run_process()

    boxm_batch.init_process("vilSaveImageViewProcess")
    boxm_batch.set_input_from_db(0, out_img2)
    boxm_batch.set_input_string(1, out_match_img_name % (j, i))
    boxm_batch.run_process()

    boxm_batch.init_process("baplRefineMatchProcess")
    boxm_batch.set_input_from_db(0, match_set)
    boxm_batch.set_input_float(1, outlier_thresholds[ii])
    boxm_batch.set_input_int(2, min_number_of_matches)
    boxm_batch.run_process()
    (id, type) = boxm_batch.commit_output(0)
    refined_match_set = dbvalue(id, type)

    boxm_batch.init_process("baplMatchDisplayProcess")
    boxm_batch.set_input_from_db(0, imgs[i])
    boxm_batch.set_input_from_db(1, imgs[j])
    boxm_batch.set_input_from_db(2, refined_match_set)
    boxm_batch.run_process()
    (id, type) = boxm_batch.commit_output(0)
    out_img1 = dbvalue(id, type)
    (id, type) = boxm_batch.commit_output(1)
    out_img2 = dbvalue(id, type)
  image = dbvalue(id,type);

  if(status):
    print("Updating Scene");
    boxm_batch.init_process("boxmUpdateRTProcess");
    boxm_batch.set_input_from_db(0,image);
    boxm_batch.set_input_from_db(1,cam);
    boxm_batch.set_input_from_db(2,scene);
    boxm_batch.set_input_unsigned(3,0);
    boxm_batch.set_input_bool(4, 0);
    boxm_batch.run_process();

    print("Refine Scene");
    boxm_batch.init_process("boxmRefineSceneProcess");
    boxm_batch.set_input_from_db(0,scene);
    boxm_batch.set_input_float(1,0.2);
    boxm_batch.set_input_bool(2,1);
    boxm_batch.run_process();

    # Generate Expected Image 
    print("Generating Expected Image");
    boxm_batch.init_process("boxmRenderExpectedRTProcess");
    boxm_batch.set_input_from_db(0,scene);
    boxm_batch.set_input_from_db(1,vcam); 
    boxm_batch.set_input_unsigned(2,1280);
    boxm_batch.set_input_unsigned(3,720);
    boxm_batch.set_input_bool(4,0);
    boxm_batch.run_process();
    (id,type) = boxm_batch.commit_output(0);
    expected = dbvalue(id,type);
    (id,type) = boxm_batch.commit_output(1);
Esempio n. 9
0
  
  print("Loading Camera");
  boxm_batch.init_process("vpglLoadPerspectiveCameraProcess");
  boxm_batch.set_input_string(0,camera_fnames % i);
  boxm_batch.run_process();
  (id,type) = boxm_batch.commit_output(0);
  cam = dbvalue(id,type);
  
  print("Loading Image");
  boxm_batch.init_process("vilLoadImageViewProcess");
  boxm_batch.set_input_string(0,image_fnames % i);
  boxm_batch.run_process();
  (id,type) = boxm_batch.commit_output(0);
  image = dbvalue(id,type);
  
  print("Updating Scene");
  boxm_batch.init_process("boxmUpdateProcess");
  boxm_batch.set_input_from_db(0,image);
  boxm_batch.set_input_from_db(1,cam);
  boxm_batch.set_input_from_db(2,scene);
  boxm_batch.set_input_unsigned(3,0);
  boxm_batch.run_process();

  print("Refine Scene");
  boxm_batch.init_process("boxmRefineSceneProcess");
  boxm_batch.set_input_from_db(0,scene);
  boxm_batch.set_input_float(1,0.2);
  boxm_batch.set_input_bool(2,1);
  boxm_batch.run_process();

Esempio n. 10
0
    (id,type) = boxm_batch.commit_output(0);
    image = dbvalue(id,type);
    
    print "Generating opt_samples for camera ", camera_idx[c];
    boxm_batch.init_process("boxmGenerateOptSamplesProcess");
    boxm_batch.set_input_from_db(0,image);
    boxm_batch.set_input_from_db(1,cam);
    boxm_batch.set_input_from_db(2,scene);
    boxm_batch.set_input_string(3,image_ids[c]);
    boxm_batch.set_input_bool(4,0);
    boxm_batch.run_process();

  # Do the optimization
  boxm_batch.init_process("boxmOptBayesianUpdateProcess");
  boxm_batch.set_input_from_db(0,scene);
  boxm_batch.set_input_float(1,damping_factor);
  boxm_batch.set_input_string(2,image_id_fname);
  boxm_batch.run_process();
  
  # Generate Expected Image 
  print("Generating Expected Image");
  boxm_batch.init_process("boxmRenderExpectedRTProcess");
  boxm_batch.set_input_from_db(0,scene);
  boxm_batch.set_input_from_db(1,vcam); 
  boxm_batch.set_input_unsigned(2,1280);
  boxm_batch.set_input_unsigned(3,720);
  boxm_batch.set_input_bool(4,0);
  boxm_batch.run_process();
  (id,type) = boxm_batch.commit_output(0);
  expected = dbvalue(id,type);
  (id,type) = boxm_batch.commit_output(1);
    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();    
            
            model_dir=job.model_dir;
            model_name =job.model_name;
            grey_offset = job.grey_offset;
            
            print("Model dir:")
            print model_dir
            print("Model Name:")
            print model_name
            
            
            print("Creating a Scene");
            boxm_batch.init_process("boxmCreateSceneProcess");
            boxm_batch.set_input_string(0,  model_dir + "/" + model_name + ".xml");
            boxm_batch.run_process();
            (scene_id, scene_type) = boxm_batch.commit_output(0);
            scene= dbvalue(scene_id, scene_type);
            
            print("*************************************");
            print("Save Occupancy Scene");
            boxm_batch.init_process("boxmSaveOccupancyRawProcess");
            boxm_batch.set_input_from_db(0,scene);
            boxm_batch.set_input_string(1, model_dir + "/drishti/occupancy");
            boxm_batch.set_input_unsigned(2,0);
            boxm_batch.set_input_unsigned(3,1);
            boxm_batch.run_process();

            print("*************************************");
            print("Computing Excpected Color Scene");
            boxm_batch.init_process("boxmComputeExpectedColorSceneProcess");
            boxm_batch.set_input_from_db(0, scene);
            boxm_batch.set_input_float(1, grey_offset);
            boxm_batch.run_process();
            (scene_id, scene_type) = boxm_batch.commit_output(0);
            expected_color_scene = dbvalue(scene_id, scene_type);

            print("*************************************");
            print("Save Mean Scene");
            boxm_batch.init_process("boxmSaveSceneRawProcess");
            boxm_batch.set_input_from_db(0,expected_color_scene);
            boxm_batch.set_input_string(1, model_dir + "/drishti/mean_color_scene");
            boxm_batch.set_input_unsigned(2,0);
            boxm_batch.set_input_unsigned(3,1);
            boxm_batch.run_process();
            
            #free memory
            boxm_batch.clear();
         
            print ("Runing time for worker:", self.name)
            print(time.time() - start_time);
            
            #output exit code in this case
            #important: having a result queue makes the execute_jobs wait for all jobs in the queue before exiting
            self.result_queue.put(0);