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("bvplComputeTaylorCoefficients");
            bvpl_octree_batch.set_input_string(0,job.taylor_path);
            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.set_input_int(5, job.dimension);
            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();
            
            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("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);
    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)
Beispiel #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("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)
    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)
Beispiel #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)
Beispiel #8
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)
    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);
    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);
    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()

            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);
Beispiel #14
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)
Beispiel #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")
            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)
   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);
    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);


  
    if not os.path.isdir(taylor_dir + "/"):
        print "Invalid Taylor 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 taylor scenes
    print("Loading Taylor Scenes")
    bvpl_octree_batch.init_process("bvplLoadTaylorScenesProcess")
    bvpl_octree_batch.set_input_string(0, taylor_dir)
    bvpl_octree_batch.set_input_int(1, -2)
    #min and max points of the kernel
    bvpl_octree_batch.set_input_int(2, -2)
    bvpl_octree_batch.set_input_int(3, -2)
    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.run_process()
    (id, type) = bvpl_octree_batch.commit_output(0)
    taylor_scenes = dbvalue(id, type)

    #Begin multiprocessing
    work_queue = multiprocessing.Queue()
    job_list = []

    blocks_x = [i for i in range(0, nblocks_x)]
Beispiel #19
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)
Beispiel #20
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)
#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();
 scene_blocks.append([2,1,1,1]);
 
 #Enqueue jobs
 i = 0;
 for s_idx in range (0, len(scene_blocks)):
     nblocks = scene_blocks[s_idx];
     for block_i in range (0, nblocks[1]):
         for block_j in range (0, nblocks[2]):
             for block_k in range (0, nblocks[3]):
 
                 file_out = temp_results_dir + "/stats_pass_0_" + str(i) + ".txt";
                 idx = scene_blocks[i];
                 
                 bvpl_octree_batch.init_process("bvplPCAGlobalStatisticsProcess");
                 bvpl_octree_batch.set_input_string(0,pca_dir);
                 bvpl_octree_batch.set_input_int(1,s_idx);
                 bvpl_octree_batch.set_input_int(2,block_i);
                 bvpl_octree_batch.set_input_int(3,block_j);
                 bvpl_octree_batch.set_input_int(4,block_k);
                 bvpl_octree_batch.set_input_string(5, file_out);
                 bvpl_octree_batch.run_process();
                 
                 i=i+1;
 
              
 nfiles_prev_pass = i;
 #Number of leyers in the binary (pairing) tree
 nlevels = int(ceil(log(nfiles_prev_pass)/log(2)))
   
 print (" Number of levels to process: " + str(nlevels))
    
  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 Taylor 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 taylor scenes
  print("Loading Taylor Scenes");
  bvpl_octree_batch.init_process("bvplLoadTaylorScenesProcess");
  bvpl_octree_batch.set_input_string(0, taylor_dir);
  bvpl_octree_batch.set_input_int(1, -2); #min and max points of the kernle
  bvpl_octree_batch.set_input_int(2, -2);
  bvpl_octree_batch.set_input_int(3, -2);
  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.run_process();
  (id, type) = bvpl_octree_batch.commit_output(0);
  taylor_scenes = dbvalue(id, type);

  #Begin multiprocessing
  work_queue=multiprocessing.Queue();
  job_list=[];


  blocks_x = [i for i in range(0,nblocks_x)];

  temp_results_dir = taylor_dir + "/temp";

  if not os.path.isdir(taylor_dir +"/"):
    print "Invalid taylor Dir"
    sys.exit(-1);
  
  start_time = time.time();
   
  scene_id = 9;
  component = 3;
   
  bvpl_octree_batch.init_process("bvplExploreCoefficientSceneProcess");
  bvpl_octree_batch.set_input_string(0,taylor_dir);
  bvpl_octree_batch.set_input_int(1,scene_id);  #scene id
  bvpl_octree_batch.set_input_int(2,component);  #component
  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, aux_scene_dir + "/scene" + str(scene_id) + "coeff" + str(component));
  bvpl_octree_batch.set_input_unsigned(2,0);
  bvpl_octree_batch.set_input_unsigned(3,1);
  bvpl_octree_batch.run_process();

  print ("Total running time: ");
  print(time.time() - start_time);
    if not os.path.isdir(taylor_dir + "/"):
        print "Invalid Taylor 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 taylor scenes
    print("Loading Taylor Scenes")
    batch.init_process("bvplLoadTaylorScenesProcess")
    batch.set_input_string(0, taylor_dir)
    batch.set_input_int(1, -2)  # min and max points of the kernel
    batch.set_input_int(2, -2)
    batch.set_input_int(3, -2)
    batch.set_input_int(4, 2)
    batch.set_input_int(5, 2)
    batch.set_input_int(6, 2)
    batch.run_process()
    (id, type) = batch.commit_output(0)
    taylor_scenes = dbvalue(id, type)

    # Begin multiprocessing
    work_queue = multiprocessing.Queue()
    job_list = []

    blocks_x = [i for i in range(0, nblocks_x)]
    blocks_y = [i for i in range(0, nblocks_y)]
  taylor_dir = options.taylor_dir;
  aux_scene_dir = options.aux_scene_dir;


  temp_results_dir = taylor_dir + "/temp";

  if not os.path.isdir(taylor_dir +"/"):
    print "Invalid taylor Dir"
    sys.exit(-1);
  
  start_time = time.time();
   
  bvpl_octree_batch.init_process("bvplExploreCoefficientSceneProcess");
  bvpl_octree_batch.set_input_string(0,taylor_dir);
  bvpl_octree_batch.set_input_int(1,13);
  bvpl_octree_batch.set_input_int(2,2);
  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, aux_scene_dir + "/site22/scene13coeff2");
  bvpl_octree_batch.set_input_unsigned(2,0);
  bvpl_octree_batch.set_input_unsigned(3,1);
  bvpl_octree_batch.run_process();

  print ("Total running time: ");
  print(time.time() - start_time);
Beispiel #28
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)
  print("**********Executing init_global_taylor.py **********")
  
  bvpl_octree_batch.register_processes();
  bvpl_octree_batch.register_datatypes();

  #Parse inputs
  parser = optparse.OptionParser(description='Init taylor');

  parser.add_option('--taylor_dir', action="store", dest="taylor_dir");
  parser.add_option('--dimension', action="store", dest="dimension", type ="int", default=10);

  options, args = parser.parse_args();

  taylor_dir = options.taylor_dir;
  dimension = options.dimension;

  temp_results_dir = taylor_dir + "/temp";

  if not os.path.isdir(taylor_dir +"/"):
    print "Invalid taylor Dir"
    sys.exit(-1);
  
  start_time = time.time();
   
  bvpl_octree_batch.init_process("bvplInitGlobalTaylorProcess");
  bvpl_octree_batch.set_input_string(0,taylor_dir);
  bvpl_octree_batch.set_input_int(1, dimension);
  bvpl_octree_batch.run_process();

  print ("Total running time: ");
  print(time.time() - start_time);
Beispiel #30
0
(scene_id, scene_type) = bvpl_octree_batch.commit_output(0);
scene= dbvalue(scene_id, scene_type);

for i in range(0,len(output_dirs)) :

  output_dir = output_dirs[i];
  axis_x = axes_x[i];
  axis_y = axes_y[i];
  axis_z = axes_z[i];
  
  if not os.path.isdir( output_dir + "/"):
    os.mkdir( output_dir + "/");

  print("Creating 3D edge kernel");
  bvpl_octree_batch.init_process("bvplCreateEdge3dKernelProcess");
  bvpl_octree_batch.set_input_int(0,min_x);
  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");