示例#1
0
    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()

            print("Adding Errors")
            bvpl_octree_batch.init_process("bvplAddTaylorErrorsProcess")
            bvpl_octree_batch.set_input_from_db(0, job.error_scene)
            bvpl_octree_batch.set_input_double(1, job.fraction)
            bvpl_octree_batch.set_input_int(2, job.block_i)
            bvpl_octree_batch.set_input_int(3, job.block_j)
            bvpl_octree_batch.set_input_int(4, job.block_k)
            bvpl_octree_batch.run_process()
            (id, type) = bvpl_octree_batch.commit_output(0)
            error_val = dbvalue(id, type)
            error = bvpl_octree_batch.get_output_double(id)

            self.result_queue.put(error)

            print("error")
            print(error)

            print("Runing time for worker:", self.name)
            print(time.time() - start_time)
示例#2
0
    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();

            print("Adding Errors");
            bvpl_octree_batch.init_process("bvplAddPCAErrorsProcess");
            bvpl_octree_batch.set_input_from_db(0,job.pca_scenes);
            bvpl_octree_batch.set_input_unsigned(1, job.dim);
            bvpl_octree_batch.set_input_double(2,job.fraction);
            bvpl_octree_batch.set_input_int(3, job.block_i);
            bvpl_octree_batch.set_input_int(4, job.block_j)
            bvpl_octree_batch.set_input_int(5, job.block_k)
            bvpl_octree_batch.run_process();
            (id, type) = bvpl_octree_batch.commit_output(0);
            error_val = dbvalue(id, type);
            error = bvpl_octree_batch.get_output_double(id);

            self.result_queue.put(error);

            print("Runing time for worker:", self.name);
            print(time.time() - start_time);
示例#3
0
    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()

            print("Adding Errors")
            bvpl_octree_batch.init_process("bvplAddTaylorErrorsProcess")
            bvpl_octree_batch.set_input_from_db(0, job.error_scene)
            bvpl_octree_batch.set_input_double(1, job.fraction)
            bvpl_octree_batch.set_input_int(2, job.block_i)
            bvpl_octree_batch.set_input_int(3, job.block_j)
            bvpl_octree_batch.set_input_int(4, job.block_k)
            bvpl_octree_batch.run_process()
            (id, type) = bvpl_octree_batch.commit_output(0)
            error_val = dbvalue(id, type)
            error = bvpl_octree_batch.get_output_double(id)

            self.result_queue.put(error)

            print("error")
            print(error)

            print("Runing time for worker:", self.name)
            print(time.time() - start_time)
示例#4
0
    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()

            print("Creating a Scene")
            bvpl_octree_batch.init_process("boxmCreateSceneProcess")
            bvpl_octree_batch.set_input_string(0, job.input_scene_path)
            bvpl_octree_batch.run_process()
            (scene_id, scene_type) = bvpl_octree_batch.commit_output(0)
            scene = dbvalue(scene_id, scene_type)

            print("Save Scene")
            bvpl_octree_batch.init_process("boxmSaveSceneRawProcess")
            bvpl_octree_batch.set_input_from_db(0, scene)
            bvpl_octree_batch.set_input_string(1, job.output_scene_path)
            bvpl_octree_batch.set_input_unsigned(2, 0)
            bvpl_octree_batch.set_input_unsigned(3, 1)
            bvpl_octree_batch.run_process()

            print ("Runing time for worker:", self.name)
            print(time.time() - start_time)
示例#5
0
    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()

            print("Creating a Scene")
            bvpl_octree_batch.init_process("boxmCreateSceneProcess")
            bvpl_octree_batch.set_input_string(0, job.input_scene_path)
            bvpl_octree_batch.run_process()
            (scene_id, scene_type) = bvpl_octree_batch.commit_output(0)
            scene = dbvalue(scene_id, scene_type)

            print("Save Scene")
            bvpl_octree_batch.init_process("boxmSaveSceneRawProcess")
            bvpl_octree_batch.set_input_from_db(0, scene)
            bvpl_octree_batch.set_input_string(1, job.output_scene_path)
            bvpl_octree_batch.set_input_unsigned(2, 0)
            bvpl_octree_batch.set_input_unsigned(3, 1)
            bvpl_octree_batch.run_process()

            print("Runing time for worker:", self.name)
            print(time.time() - start_time)
示例#6
0
    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()

            print("Creating taylor kernel")
            bvpl_octree_batch.init_process("bvplLoadTaylorKernelProcess")
            bvpl_octree_batch.set_input_string(0, job.kernel_path)
            bvpl_octree_batch.run_process()
            (kernel_id, kernel_type) = bvpl_octree_batch.commit_output(0)
            kernel = dbvalue(kernel_id, kernel_type)

            print("Running Kernel")
            bvpl_octree_batch.init_process("bvplBlockKernelOperatorProcess")
            bvpl_octree_batch.set_input_from_db(0, job.scene)
            bvpl_octree_batch.set_input_from_db(1, kernel)
            bvpl_octree_batch.set_input_int(2, job.block_i)
            bvpl_octree_batch.set_input_int(3, job.block_j)
            bvpl_octree_batch.set_input_int(4, job.block_k)
            bvpl_octree_batch.set_input_string(5, "algebraic")
            bvpl_octree_batch.set_input_string(6, job.output_path)
            bvpl_octree_batch.run_process()

            print("Runing time for worker:", self.name)
            print(time.time() - start_time)
示例#7
0
    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()

            print("Creating taylor kernel")
            batch.init_process("bvplLoadTaylorKernelProcess")
            batch.set_input_string(0, job.kernel_path)
            batch.run_process()
            (kernel_id, kernel_type) = batch.commit_output(0)
            kernel = dbvalue(kernel_id, kernel_type)

            print("Running Kernel")
            batch.init_process("bvplBlockKernelOperatorProcess")
            batch.set_input_from_db(0, job.scene)
            batch.set_input_from_db(1, kernel)
            batch.set_input_int(2, job.block_i)
            batch.set_input_int(3, job.block_j)
            batch.set_input_int(4, job.block_k)
            batch.set_input_string(5, "algebraic")
            batch.set_input_string(6, job.output_path)
            batch.run_process()

            print ("Runing time for worker:", self.name)
            print(time.time() - start_time)
    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();
            
            bvpl_octree_batch.init_process("bvpl_taylor_global_add_error_process");
            bvpl_octree_batch.set_input_from_db(0,job.global_taylor);
            bvpl_octree_batch.set_input_int(1, job.scene_id);
            bvpl_octree_batch.set_input_int(2, job.block_i);
            bvpl_octree_batch.set_input_int(3, job.block_j);
            bvpl_octree_batch.set_input_int(4, job.block_k);
            bvpl_octree_batch.run_process();
            (id, type) = bvpl_octree_batch.commit_output(0);
            error_val = dbvalue(id, type);
            error = bvpl_octree_batch.get_output_double(id);
            self.result_queue.put(error);
            
            bvpl_octree_batch.clear();
 
            print ("Runing time for worker:", self.name)
            print(time.time() - start_time);
    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();
            
            bvpl_octree_batch.init_process("bvpl_pca_global_proj_error_process");
            bvpl_octree_batch.set_input_from_db(0,job.global_pca);
            bvpl_octree_batch.set_input_int(1, job.scene_id);
            bvpl_octree_batch.set_input_int(2, job.block_i);
            bvpl_octree_batch.set_input_int(3, job.block_j);
            bvpl_octree_batch.set_input_int(4, job.block_k);
            bvpl_octree_batch.run_process();
            
            bvpl_octree_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);
    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();    
            
            print("Creating a Scene");
            bvpl_octree_batch.init_process("boxmCreateSceneProcess");
            bvpl_octree_batch.set_input_string(0, job.input_scene_path);
            bvpl_octree_batch.run_process();
            (scene_id, scene_type) = bvpl_octree_batch.commit_output(0);
            scene= dbvalue(scene_id, scene_type);
            
            #Use the save scene in bvxm because boxm rounds to bytes and doesn't work for negative values
#
#            print("Save Scene");
#            bvpl_octree_batch.init_process("boxmSaveOccupancyRawProcess");
#            bvpl_octree_batch.set_input_from_db(0,scene);
#            bvpl_octree_batch.set_input_string(1, job.output_scene_path);
#            bvpl_octree_batch.set_input_unsigned(2,0);
#            bvpl_octree_batch.set_input_unsigned(3,1);
#            bvpl_octree_batch.run_process();
            
            resolution = 0;
            enforce_level = 1;

            print("Convert to regular grid");
            bvpl_octree_batch.init_process("boxmSceneToBvxmGridProcess");
            bvpl_octree_batch.set_input_from_db(0,scene);
            bvpl_octree_batch.set_input_string(1, job.output_scene_path + ".vox");
            bvpl_octree_batch.set_input_unsigned(2, resolution);
            bvpl_octree_batch.set_input_bool(3, enforce_level);
            bvpl_octree_batch.run_process();
            (grid_id, grid_type) = bvpl_octree_batch.commit_output(0);
            grid = dbvalue(grid_id, grid_type);

            print("Save Grid");
            bvpl_octree_batch.init_process("bvxmSaveGridRawProcess");
            bvpl_octree_batch.set_input_from_db(0,grid);
            bvpl_octree_batch.set_input_string(1,job.output_scene_path);
            bvpl_octree_batch.run_process();
            
            print ("Runing time for worker:", self.name)
            print(time.time() - start_time);
示例#11
0
    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()

            print("Creating a Scene")
            batch.init_process("boxmCreateSceneProcess")
            batch.set_input_string(0, job.input_scene_path)
            batch.run_process()
            (scene_id, scene_type) = batch.commit_output(0)
            scene = dbvalue(scene_id, scene_type)

            print("Save Scene")
            batch.init_process("boxmSaveSceneRawProcess")
            batch.set_input_from_db(0, scene)
            batch.set_input_string(
                1, job.output_scene_path + "_float")
            batch.set_input_unsigned(2, 0)
            batch.set_input_unsigned(3, 1)
            batch.run_process()

#            resolution = 0;
#            enforce_level = 1;

#            print("Convert to regular grid");
#            batch.init_process("boxmSceneToBvxmGridProcess");
#            batch.set_input_from_db(0,scene);
#            batch.set_input_string(1, job.output_scene_path + ".vox");
#            batch.set_input_unsigned(2, resolution);
#            batch.set_input_bool(3, enforce_level);
#            batch.run_process();
#            (grid_id, grid_type) = batch.commit_output(0);
#            grid = dbvalue(grid_id, grid_type);
#
#            print("Save Grid");
#            batch.init_process("bvxmSaveGridRawProcess");
#            batch.set_input_from_db(0,grid);
#            batch.set_input_string(1,job.output_scene_path + ".raw");
#            batch.run_process();

            print ("Runing time for worker:", self.name)
            print(time.time() - start_time)
示例#12
0
    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()

            print("Creating a Scene")
            bvpl_octree_batch.init_process("boxmCreateSceneProcess")
            bvpl_octree_batch.set_input_string(0, job.input_scene_path)
            bvpl_octree_batch.run_process()
            (scene_id, scene_type) = bvpl_octree_batch.commit_output(0)
            scene = dbvalue(scene_id, scene_type)

            print("Save Scene")
            bvpl_octree_batch.init_process("boxmSaveSceneRawProcess")
            bvpl_octree_batch.set_input_from_db(0, scene)
            bvpl_octree_batch.set_input_string(
                1, job.output_scene_path + "_float")
            bvpl_octree_batch.set_input_unsigned(2, 0)
            bvpl_octree_batch.set_input_unsigned(3, 1)
            bvpl_octree_batch.run_process()

            #            resolution = 0;
            #            enforce_level = 1;

            #            print("Convert to regular grid");
            #            bvpl_octree_batch.init_process("boxmSceneToBvxmGridProcess");
            #            bvpl_octree_batch.set_input_from_db(0,scene);
            #            bvpl_octree_batch.set_input_string(1, job.output_scene_path + ".vox");
            #            bvpl_octree_batch.set_input_unsigned(2, resolution);
            #            bvpl_octree_batch.set_input_bool(3, enforce_level);
            #            bvpl_octree_batch.run_process();
            #            (grid_id, grid_type) = bvpl_octree_batch.commit_output(0);
            #            grid = dbvalue(grid_id, grid_type);
            #
            #            print("Save Grid");
            #            bvpl_octree_batch.init_process("bvxmSaveGridRawProcess");
            #            bvpl_octree_batch.set_input_from_db(0,grid);
            #            bvpl_octree_batch.set_input_string(1,job.output_scene_path + ".raw");
            #            bvpl_octree_batch.run_process();

            print("Runing time for worker:", self.name)
            print(time.time() - start_time)
    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();
            
            print("Creating Gauss kernel");
            bvpl_octree_batch.init_process("bvpl_create_gauss3d_kernel_process");
            bvpl_octree_batch.set_input_float(0,job.sigma);
            bvpl_octree_batch.set_input_float(1,job.sigma);
            bvpl_octree_batch.set_input_float(2,job.sigma);
            bvpl_octree_batch.set_input_float(3,1.0);
            bvpl_octree_batch.set_input_float(4,0.0);
            bvpl_octree_batch.set_input_float(5,0.0);
            bvpl_octree_batch.set_input_float(6,0.0);
            bvpl_octree_batch.run_process();
            (kernel_id,kernel_type)= bvpl_octree_batch.commit_output(0);
            kernel = dbvalue(kernel_id,kernel_type);


            print("Running Kernel");
            bvpl_octree_batch.init_process("bvplBlockKernelOperatorProcess");
            bvpl_octree_batch.set_input_from_db(0,job.scene);
            bvpl_octree_batch.set_input_from_db(1,kernel);
            bvpl_octree_batch.set_input_int(2, job.block_i);
            bvpl_octree_batch.set_input_int(3, job.block_j)
            bvpl_octree_batch.set_input_int(4, job.block_k)
            bvpl_octree_batch.set_input_string(5,"algebraic");
            bvpl_octree_batch.set_input_string(6, job.output_path);
            bvpl_octree_batch.set_input_double(7, job.cell_length);
            bvpl_octree_batch.run_process();
            
            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);
    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()

            bvpl_octree_batch.init_process("bvplCornerStatisticsProcess")
            bvpl_octree_batch.set_input_from_db(0, job.global_taylor)
            bvpl_octree_batch.set_input_from_db(1, job.global_corners)
            bvpl_octree_batch.set_input_int(2, job.scene_id)
            bvpl_octree_batch.run_process()

            bvpl_octree_batch.clear()

            print ("Runing time for worker:", self.name)
            print (time.time() - start_time)
示例#15
0
    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()

            print("Computing Error Scene")
            batch.init_process("bvplComputeTaylorErrorProcess")
            batch.set_input_from_db(0, job.data_scene)
            batch.set_input_from_db(1, job.taylor_scenes)
            batch.set_input_int(2, job.block_i)
            batch.set_input_int(3, job.block_j)
            batch.set_input_int(4, job.block_k)
            batch.run_process()

            print("Runing time for worker:", self.name)
            print(time.time() - start_time)
    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();
            
            print("Computing Error Scene");
            bvpl_octree_batch.init_process("bvplComputeTaylorErrorProcess");
            bvpl_octree_batch.set_input_from_db(0,job.data_scene);
            bvpl_octree_batch.set_input_from_db(1,job.taylor_scenes);
            bvpl_octree_batch.set_input_int(2, job.block_i);
            bvpl_octree_batch.set_input_int(3, job.block_j)
            bvpl_octree_batch.set_input_int(4, job.block_k)
            bvpl_octree_batch.run_process();
 
            print ("Runing time for worker:", self.name)
            print(time.time() - start_time);
示例#17
0
    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();
            
            bvpl_octree_batch.init_process("bvplPCAProjectProcess");
            bvpl_octree_batch.set_input_from_db(0,job.global_pca);
            bvpl_octree_batch.set_input_int(1, job.scene_id);
            bvpl_octree_batch.set_input_int(2, job.block_i);
            bvpl_octree_batch.set_input_int(3, job.block_j);
            bvpl_octree_batch.set_input_int(4, job.block_k);
            bvpl_octree_batch.run_process();
            
            bvpl_octree_batch.clear();
 
            print ("Runing time for worker:", self.name)
            print(time.time() - start_time);
示例#18
0
    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()

            print("Computing Error Scene")
            bvpl_octree_batch.init_process("bvplComputePCAErrorBlockProcess")
            bvpl_octree_batch.set_input_from_db(0, job.pca_info)
            bvpl_octree_batch.set_input_from_db(1, job.pca_error_scenes)
            bvpl_octree_batch.set_input_int(2, job.block_i)
            bvpl_octree_batch.set_input_int(3, job.block_j)
            bvpl_octree_batch.set_input_int(4, job.block_k)
            bvpl_octree_batch.set_input_unsigned(5, job.dim)
            bvpl_octree_batch.run_process()

            print("Runing time for worker:", self.name)
            print(time.time() - start_time)
示例#19
0
    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()

            print("Computing Error Scene")
            batch.init_process("bvplComputePCAErrorBlockProcess")
            batch.set_input_from_db(0, job.pca_info)
            batch.set_input_from_db(1, job.pca_error_scenes)
            batch.set_input_int(2, job.block_i)
            batch.set_input_int(3, job.block_j)
            batch.set_input_int(4, job.block_k)
            batch.set_input_unsigned(5, job.dim)
            batch.run_process()

            print("Runing time for worker:", self.name)
            print(time.time() - start_time)
示例#20
0
    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()

            print("Creating a Scene")
            batch.init_process("boxmCreateSceneProcess")
            batch.set_input_string(0, job.scene_path)
            batch.run_process()
            (scene_id, scene_type) = batch.commit_output(0)
            scene = dbvalue(scene_id, scene_type)

            print("Explore Histogram")
            batch.init_process("bvplSceneHistorgramProcess")
            batch.set_input_from_db(0, scene)
            batch.run_process()

            print("Runing time for worker:", self.name)
            print(time.time() - start_time)
    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();
            
            print("Creating a Scene");
            bvpl_octree_batch.init_process("boxmCreateSceneProcess");
            bvpl_octree_batch.set_input_string(0,  job.scene_path );
            bvpl_octree_batch.run_process();
            (scene_id, scene_type) = bvpl_octree_batch.commit_output(0);
            scene= dbvalue(scene_id, scene_type);
  
            print("Explore Histogram");
            bvpl_octree_batch.init_process("bvplSceneHistorgramProcess");
            bvpl_octree_batch.set_input_from_db(0,scene);
            bvpl_octree_batch.run_process();
 
            print ("Runing time for worker:", self.name)
            print(time.time() - start_time);
   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();    
         
           
           bvpl_octree_batch.set_stdout('logs/log_' + str(os.getpid())+ ".txt");
 
             
           print("Running Kernel");
           bvpl_octree_batch.init_process("bvplBlockKernelOperatorProcess");
           bvpl_octree_batch.set_input_from_db(0,job.scene);
           bvpl_octree_batch.set_input_from_db(1,job.kernel);
           bvpl_octree_batch.set_input_int(2, job.block_i);
           bvpl_octree_batch.set_input_int(3, job.block_j)
           bvpl_octree_batch.set_input_int(4, job.block_k)
           bvpl_octree_batch.set_input_string(5,"algebraic");
           bvpl_octree_batch.set_input_string(6, job.output_path);
           bvpl_octree_batch.set_input_double(7, job.cell_length);
           bvpl_octree_batch.run_process();
                               
           print ("Runing time for worker:", self.name)
           print(time.time() - start_time);
           
           #free memory
           bvpl_octree_batch.reset_stdout();
           bvpl_octree_batch.clear();
           
           #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);
    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();
            
            bvpl_octree_batch.init_process("bvplThresholdCornersProcess");
            bvpl_octree_batch.set_input_from_db(0,job.global_taylor);
            bvpl_octree_batch.set_input_from_db(1,job.global_corners);
            bvpl_octree_batch.set_input_int(2, job.scene_id);
            bvpl_octree_batch.set_input_float(3, job.harris_threshold);
            bvpl_octree_batch.set_input_string(4, job.output_path);
            bvpl_octree_batch.run_process();
            
            #Save dristhi raw scene
            drishti_dir = job.output_path + "/drishti";
            if not os.path.isdir(drishti_dir +"/"):
              os.mkdir(drishti_dir +"/");
            path_scene_out = drishti_dir + "/valid_scene";
            
            print("Creating a Scene");
            bvpl_octree_batch.init_process("boxmCreateSceneProcess");
            bvpl_octree_batch.set_input_string(0, job.output_path + "/valid_scene_" + str(job.scene_id) + ".xml");
            bvpl_octree_batch.run_process();
            (id, type) = bvpl_octree_batch.commit_output(0);
            scene= dbvalue(id, type);
             
            
            print("Save Scene");
            bvpl_octree_batch.init_process("boxmSaveSceneRawProcess");
            bvpl_octree_batch.set_input_from_db(0,scene);
            bvpl_octree_batch.set_input_string(1, path_scene_out);
            bvpl_octree_batch.set_input_unsigned(2,0);
            bvpl_octree_batch.set_input_unsigned(3,1);
            bvpl_octree_batch.run_process(); 
            
            
            bvpl_octree_batch.clear();
 
            print ("Runing time for worker:", self.name)
            print(time.time() - start_time);
    for i in range(0, blocks_x):
        for j in range(0, blocks_y):
            for k in range(0, blocks_z):
                curr_kernel_path = kernel_path + "/" + kernel_list[curr_kernel]+ ".txt";
                output_path = output_dir + "/" + kernel_list[curr_kernel];
                if not os.path.isdir( output_path + "/"):
                    os.mkdir( output_path + "/");
                    
                print("Creating taylor kernel");
                bvpl_octree_batch.init_process("bvplLoadTaylorKernelProcess");
                bvpl_octree_batch.set_input_string(0, curr_kernel_path);
                bvpl_octree_batch.run_process();
                (kernel_id,kernel_type)= bvpl_octree_batch.commit_output(0);
                kernel = dbvalue(kernel_id,kernel_type);

                print("Running Kernel");
                bvpl_octree_batch.init_process("bvplBlockKernelOperatorProcess");
                bvpl_octree_batch.set_input_from_db(0,scene);
                bvpl_octree_batch.set_input_from_db(1,kernel);
                bvpl_octree_batch.set_input_int(2, i);
                bvpl_octree_batch.set_input_int(3, j)
                bvpl_octree_batch.set_input_int(4, k)
                bvpl_octree_batch.set_input_string(5,"algebraic");
                bvpl_octree_batch.set_input_string(6, output_path);
                bvpl_octree_batch.run_process();
                
                elapsed = (time.time() - start)
                print(elapsed);


  
示例#25
0
    if not os.path.isdir(pca_dir + "/"):
        print "Invalid PCA Dir"
        sys.exit(-1)

    print("Loading Data Scene")
    batch.init_process("boxmCreateSceneProcess")
    batch.set_input_string(0,  model_dir + "/mean_color_scene.xml")
    batch.run_process()
    (scene_id, scene_type) = batch.commit_output(0)
    data_scene = dbvalue(scene_id, scene_type)

    # Load pca scenes
    pca_feature_dim = 125
    print("Loading PCA Error Scenes")
    batch.init_process("bvplLoadPCAErrorSceneProcess")
    batch.set_input_from_db(0, data_scene)
    batch.set_input_string(1, pca_dir)
    batch.set_input_unsigned(
        2, pca_feature_dim)  # dimension pca feature
    batch.run_process()
    (id, type) = batch.commit_output(0)
    pca_scenes = dbvalue(id, type)

    print("Loading PCA Info")
    batch.init_process("bvplLoadPCAInfoProcess")
    batch.set_input_string(0, pca_dir)
    batch.run_process()
    (id, type) = batch.commit_output(0)
    pca_info = dbvalue(id, type)

    # Begin multiprocessing
#model_dir = "/Users/isa/Experiments/boxm_cit_only_filtered"
#output_dir = "/Users/isa/Experiments/boxm_cit_only_filtered/steerable_filters_alpha";

if not os.path.isdir( output_dir + "/"):
    os.mkdir( output_dir + "/");

print("Creating a Scene");
bvpl_octree_batch.init_process("boxmCreateSceneProcess");
bvpl_octree_batch.set_input_string(0,  model_dir +"/alpha_scene.xml");
bvpl_octree_batch.run_process();
(scene_id, scene_type) = bvpl_octree_batch.commit_output(0);
scene= dbvalue(scene_id, scene_type);

print("Init responses scene");
bvpl_octree_batch.init_process("bvplInitSFResponseSceneProcess");
bvpl_octree_batch.set_input_from_db(0, scene);
bvpl_octree_batch.set_input_string(1,  output_dir);
bvpl_octree_batch.run_process();
(scene_id, scene_type) = bvpl_octree_batch.commit_output(0);
response_scene= dbvalue(scene_id, scene_type);
(scene_id, scene_type) = bvpl_octree_batch.commit_output(1);
valid_scene= dbvalue(scene_id, scene_type);

print("Compute responses scene");
bvpl_octree_batch.init_process("bvplComputeSFRawResponseProcess");
bvpl_octree_batch.set_input_from_db(0, response_scene);
bvpl_octree_batch.set_input_from_db(1, valid_scene);
bvpl_octree_batch.set_input_int(2, 0);
bvpl_octree_batch.set_input_int(3, 0);
bvpl_octree_batch.set_input_int(4, 0);
bvpl_octree_batch.run_process();
示例#27
0
    if not os.path.isdir(pca_dir + "/"):
        os.makedirs(pca_dir + "/")

    print("Extracting Principal Components patches")

    print("Creating a Scene")
    batch.init_process("boxmCreateSceneProcess")
    batch.set_input_string(0, model_dir + "/mean_color_scene.xml")
    batch.run_process()
    (scene_id, scene_type) = batch.commit_output(0)
    scene = dbvalue(scene_id, scene_type)

    start_time = time.time()

    print("Extract PC")
    batch.init_process("bvplDiscoverPCAFeaturesProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_string(1, pca_dir)
    batch.set_input_double(2, train_fraction)
    batch.set_input_int(3, -2)  # min and max points of the kernel
    batch.set_input_int(4, -2)
    batch.set_input_int(5, -2)
    batch.set_input_int(6, 2)
    batch.set_input_int(7, 2)
    batch.set_input_int(8, 2)
    batch.run_process()

    print("Runing time forbvplDiscoverPCAFeaturesProcess:")
    print(time.time() - start_time)
示例#28
0
    if not os.path.isdir(pca_dir + "/"):
        os.makedirs(pca_dir + "/")

    print("Extracting Principal Components patches")

    print("Creating a Scene")
    batch.init_process("boxmCreateSceneProcess")
    batch.set_input_string(0,  model_dir + "/mean_color_scene.xml")
    batch.run_process()
    (scene_id, scene_type) = batch.commit_output(0)
    scene = dbvalue(scene_id, scene_type)

    start_time = time.time()

    print("Extract PC")
    batch.init_process("bvplDiscoverPCAFeaturesProcess")
    batch.set_input_from_db(0, scene)
    batch.set_input_string(1,  pca_dir)
    batch.set_input_double(2,  train_fraction)
    batch.set_input_int(3, -2)  # min and max points of the kernel
    batch.set_input_int(4, -2)
    batch.set_input_int(5, -2)
    batch.set_input_int(6, 2)
    batch.set_input_int(7, 2)
    batch.set_input_int(8, 2)
    batch.run_process()

    print("Runing time forbvplDiscoverPCAFeaturesProcess:")
    print(time.time() - start_time)
示例#29
0
    pca_dir = pca_dir + "/" + str(int(train_fraction * 100))
    if not os.path.isdir(pca_dir + "/"):
        os.makedirs(pca_dir + "/")

    print("Extracting Principal Components patches")

    print("Creating a Scene")
    bvpl_octree_batch.init_process("boxmCreateSceneProcess")
    bvpl_octree_batch.set_input_string(0,  model_dir + "/mean_color_scene.xml")
    bvpl_octree_batch.run_process()
    (scene_id, scene_type) = bvpl_octree_batch.commit_output(0)
    scene = dbvalue(scene_id, scene_type)

    start_time = time.time()

    print("Extract PC")
    bvpl_octree_batch.init_process("bvplDiscoverPCAFeaturesProcess")
    bvpl_octree_batch.set_input_from_db(0, scene)
    bvpl_octree_batch.set_input_string(1,  pca_dir)
    bvpl_octree_batch.set_input_double(2,  train_fraction)
    bvpl_octree_batch.set_input_int(3, -2)  # min and max points of the kernel
    bvpl_octree_batch.set_input_int(4, -2)
    bvpl_octree_batch.set_input_int(5, -2)
    bvpl_octree_batch.set_input_int(6, 2)
    bvpl_octree_batch.set_input_int(7, 2)
    bvpl_octree_batch.set_input_int(8, 2)
    bvpl_octree_batch.run_process()

    print ("Runing time for bvplDiscoverPCAFeaturesProcess:")
    print(time.time() - start_time)
      print "Invalid PCA Dir";
      sys.exit(-1);


  print("Loading Data Scene");
  bvpl_octree_batch.init_process("boxmCreateSceneProcess");
  bvpl_octree_batch.set_input_string(0,  model_dir +"/mean_color_scene.xml");
  bvpl_octree_batch.run_process();
  (scene_id, scene_type) = bvpl_octree_batch.commit_output(0);
  data_scene= dbvalue(scene_id, scene_type);

  #Load pca scenes
  pca_feature_dim = 125;
  print("Loading PCA Error Scenes");
  bvpl_octree_batch.init_process("bvplLoadPCAErrorSceneProcess");
  bvpl_octree_batch.set_input_from_db(0, data_scene);
  bvpl_octree_batch.set_input_string(1, pca_dir);
  bvpl_octree_batch.set_input_unsigned(2, pca_feature_dim); #dimension pca feature
  bvpl_octree_batch.run_process();
  (id, type) = bvpl_octree_batch.commit_output(0);
  pca_scenes = dbvalue(id, type);


  print("Loading PCA Info");
  bvpl_octree_batch.init_process("bvplLoadPCAInfoProcess");
  bvpl_octree_batch.set_input_string(0, pca_dir);
  bvpl_octree_batch.run_process();
  (id, type) = bvpl_octree_batch.commit_output(0);
  pca_info = dbvalue(id, type);

  #Begin multiprocessing
示例#31
0
    if not os.path.isdir(pca_dir + "/"):
        os.makedirs(pca_dir + "/")

    print("Extracting Principal Components patches")

    print("Creating a Scene")
    bvpl_octree_batch.init_process("boxmCreateSceneProcess")
    bvpl_octree_batch.set_input_string(0, model_dir + "/mean_color_scene.xml")
    bvpl_octree_batch.run_process()
    (scene_id, scene_type) = bvpl_octree_batch.commit_output(0)
    scene = dbvalue(scene_id, scene_type)

    start_time = time.time()

    print("Extract PC")
    bvpl_octree_batch.init_process("bvplDiscoverPCAFeaturesProcess")
    bvpl_octree_batch.set_input_from_db(0, scene)
    bvpl_octree_batch.set_input_string(1, pca_dir)
    bvpl_octree_batch.set_input_double(2, train_fraction)
    bvpl_octree_batch.set_input_int(3, -2)
    #min and max points of the kernel
    bvpl_octree_batch.set_input_int(4, -2)
    bvpl_octree_batch.set_input_int(5, -2)
    bvpl_octree_batch.set_input_int(6, 2)
    bvpl_octree_batch.set_input_int(7, 2)
    bvpl_octree_batch.set_input_int(8, 2)
    bvpl_octree_batch.run_process()

    print("Runing time forbvplDiscoverPCAFeaturesProcess:")
    print(time.time() - start_time)
示例#32
0
  bvpl_octree_batch.set_input_int(1,max_x);
  bvpl_octree_batch.set_input_int(2,min_y);
  bvpl_octree_batch.set_input_int(3,max_y);
  bvpl_octree_batch.set_input_int(4,min_z);
  bvpl_octree_batch.set_input_int(5,max_z);
  bvpl_octree_batch.set_input_float(6,axis_x);
  bvpl_octree_batch.set_input_float(7,axis_y);
  bvpl_octree_batch.set_input_float(8,axis_z);
  bvpl_octree_batch.set_input_float(9,angle);
  bvpl_octree_batch.run_process();
  (kernel_id,kernel_type)= bvpl_octree_batch.commit_output(0);
  kernel = dbvalue(kernel_id,kernel_type);

  print("Running Operator");
  bvpl_octree_batch.init_process("bvplSceneKernelOperatorProcess");
  bvpl_octree_batch.set_input_from_db(0,scene);
  bvpl_octree_batch.set_input_from_db(1,kernel);
  bvpl_octree_batch.set_input_string(2,"bsta_gauss_f1");
  bvpl_octree_batch.set_input_string(3,"positive_gauss_convolution");
  bvpl_octree_batch.set_input_string(4, output_dir);
  bvpl_octree_batch.run_process();
  (out_scene_id,out_scene_type)= bvpl_octree_batch.commit_output(0);
  result_scene = dbvalue(out_scene_id,out_scene_type);

  resolution = 0;
  enforce_level = 1;

  print("Convert to regular grid");
  bvpl_octree_batch.init_process("boxmSceneToBvxmGridProcess");
  bvpl_octree_batch.set_input_from_db(0,result_scene);
  bvpl_octree_batch.set_input_string(1, output_dir + "/response.vox");