def change_btw_frames(scene, cpu_cache, time0, time1): bstm_batch.init_process("bstmCppChangeBtwFramesProcess") bstm_batch.set_input_from_db(0, scene) bstm_batch.set_input_from_db(1, cpu_cache) bstm_batch.set_input_float(2, time0) bstm_batch.set_input_float(3, time1) bstm_batch.run_process()
def refine(scene, cpu_cache, p_threshold, time): bstm_batch.init_process("bstmCppRefineSpacetimeProcess"); bstm_batch.set_input_from_db(0,scene); bstm_batch.set_input_from_db(1,cpu_cache); bstm_batch.set_input_float(2,p_threshold); bstm_batch.set_input_float(3,time); bstm_batch.run_process();
def refine_time(scene, cpu_cache, change_prob_t, time): bstm_batch.init_process("bstmCppRefineTTProcess"); bstm_batch.set_input_from_db(0,scene); bstm_batch.set_input_from_db(1,cpu_cache); bstm_batch.set_input_float(2,change_prob_t); bstm_batch.set_input_float(3,time); bstm_batch.run_process();
def refine_time(scene, cpu_cache, change_prob_t, time): bstm_batch.init_process("bstmCppRefineTTProcess") bstm_batch.set_input_from_db(0, scene) bstm_batch.set_input_from_db(1, cpu_cache) bstm_batch.set_input_float(2, change_prob_t) bstm_batch.set_input_float(3, time) bstm_batch.run_process()
def merge(scene, cpu_cache, p_threshold, time): bstm_batch.init_process("bstmCppMergeTTProcess"); bstm_batch.set_input_from_db(0,scene); bstm_batch.set_input_from_db(1,cpu_cache); bstm_batch.set_input_float(2,p_threshold); bstm_batch.set_input_float(3,time); bstm_batch.run_process();
def refine(scene, cpu_cache, p_threshold, time): bstm_batch.init_process("bstmCppRefineSpacetimeProcess") bstm_batch.set_input_from_db(0, scene) bstm_batch.set_input_from_db(1, cpu_cache) bstm_batch.set_input_float(2, p_threshold) bstm_batch.set_input_float(3, time) bstm_batch.run_process()
def rgb2gray(img): bstm_batch.init_process("vilRGBToGreyProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) outimg = dbvalue(id, type) return outimg
def scale_and_offset_values(img, scale, offset): bstm_batch.init_process("vilScaleAndOffsetValuesProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.set_input_float(1, scale) bstm_batch.set_input_float(2, offset) bstm_batch.run_process() return
def trajectory_next(trajectory): bstm_batch.init_process("bstmViewTrajectoryNextProcess") bstm_batch.set_input_from_db(0, trajectory) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) cam = dbvalue(id, type) return cam
def change_btw_frames(scene, cpu_cache, time0, time1): bstm_batch.init_process("bstmCppChangeBtwFramesProcess"); bstm_batch.set_input_from_db(0,scene); bstm_batch.set_input_from_db(1,cpu_cache); bstm_batch.set_input_float(2,time0); bstm_batch.set_input_float(3,time1); bstm_batch.run_process();
def trajectory_next(trajectory) : bstm_batch.init_process("bstmViewTrajectoryNextProcess"); bstm_batch.set_input_from_db(0, trajectory); bstm_batch.run_process(); (id,type) = bstm_batch.commit_output(0); cam = dbvalue(id,type); return cam;
def merge(scene, cpu_cache, p_threshold, time): bstm_batch.init_process("bstmCppMergeTTProcess") bstm_batch.set_input_from_db(0, scene) bstm_batch.set_input_from_db(1, cpu_cache) bstm_batch.set_input_float(2, p_threshold) bstm_batch.set_input_float(3, time) bstm_batch.run_process()
def img_sum(img, plane_index=0): bstm_batch.init_process("vilImageSumProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.set_input_unsigned(1, plane_index) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) value = bstm_batch.get_output_double(id) return value
def convert_image(img, type="byte"): bstm_batch.init_process("vilConvertPixelTypeProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.set_input_string(1, type) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) cimg = dbvalue(id, type) return cimg
def close_image(img, disk_radius): bstm_batch.init_process("vilImageClosingDiskProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.set_input_float(1, disk_radius) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) cimg = dbvalue(id, type) return cimg
def image_mean(img): bstm_batch.init_process("vilImageMeanProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) mean_val = bstm_batch.get_output_float(id) bstm_batch.remove_data(id) return mean_val
def trajectory_size(trajectory): bstm_batch.init_process("bstmViewTrajectorySizeProcess") bstm_batch.set_input_from_db(0, trajectory) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) size = bstm_batch.get_output_unsigned(id) bstm_batch.remove_data(id) return size
def write_cache(cache, do_clear=0): if cache.type == "bstm_cache_sptr": bstm_batch.init_process("bstmWriteCacheProcess") bstm_batch.set_input_from_db(0, cache) bstm_batch.set_input_bool(1, do_clear) bstm_batch.run_process() else: print "ERROR: Cache type needs to be bstm_cache_sptr, not ", cache.type
def write_cache(cache, do_clear = 0) : if cache.type == "bstm_cache_sptr" : bstm_batch.init_process("bstmWriteCacheProcess"); bstm_batch.set_input_from_db(0,cache); bstm_batch.set_input_bool(1,do_clear); bstm_batch.run_process(); else : print "ERROR: Cache type needs to be bstm_cache_sptr, not ", cache.type;
def trajectory_size(trajectory): bstm_batch.init_process("bstmViewTrajectorySizeProcess") bstm_batch.set_input_from_db(0, trajectory) bstm_batch.run_process() (id,type) = bstm_batch.commit_output(0) size = bstm_batch.get_output_unsigned(id) bstm_batch.remove_data(id) return size
def binary_img_op(img1, img2, operation="sum"): bstm_batch.init_process("vilBinaryImageOpProcess") bstm_batch.set_input_from_db(0, img1) bstm_batch.set_input_from_db(1, img2) bstm_batch.set_input_string(2, operation) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) out = dbvalue(id, type) return out
def pixel(img, point): bstm_batch.init_process("vilPixelValueProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.set_input_int(1, int(point[0])) bstm_batch.set_input_int(2, int(point[1])) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) val = bstm_batch.get_output_float(id) return val
def image_range(img): bstm_batch.init_process("vilImageRangeProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) minVal = bstm_batch.get_output_float(id) (id, type) = bstm_batch.commit_output(1) maxVal = bstm_batch.get_output_float(id) return minVal, maxVal
def image_size(img): bstm_batch.init_process("vilImageSizeProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) ni = bstm_batch.get_output_unsigned(id) (id, type) = bstm_batch.commit_output(1) nj = bstm_batch.get_output_unsigned(id) return ni, nj
def image_size(img): bstm_batch.init_process('vilImageSizeProcess') bstm_batch.set_input_from_db(0, img) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) ni = bstm_batch.get_output_unsigned(id) (id, type) = bstm_batch.commit_output(1) nj = bstm_batch.get_output_unsigned(id) return ni, nj
def threshold_image(img, value, threshold_above=True): bstm_batch.init_process("vilThresholdImageProcess") bstm_batch.set_input_from_db(0,img) bstm_batch.set_input_float(1,value) bstm_batch.set_input_bool(2,threshold_above) bstm_batch.run_process() (id,type) = bstm_batch.commit_output(0) mask = dbvalue(id,type) return mask
def gradient_angle(Ix, Iy): bstm_batch.init_process("vilGradientAngleProcess") bstm_batch.set_input_from_db(0, Ix) bstm_batch.set_input_from_db(1, Iy) bstm_batch.run_process() # x image (id, type) = bstm_batch.commit_output(0) angleImg = dbvalue(id, type) return angleImg
def gradient_angle(Ix, Iy): bstm_batch.init_process('vilGradientAngleProcess') bstm_batch.set_input_from_db(0, Ix) bstm_batch.set_input_from_db(1, Iy) bstm_batch.run_process() # x image (id, type) = bstm_batch.commit_output(0) angleImg = dbvalue(id, type) return angleImg
def image_range(img): bstm_batch.init_process('vilImageRangeProcess') bstm_batch.set_input_from_db(0, img) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) minVal = bstm_batch.get_output_float(id) (id, type) = bstm_batch.commit_output(1) maxVal = bstm_batch.get_output_float(id) return minVal, maxVal
def resize(img, ni, nj, pixel="float"): bstm_batch.init_process("vilResampleProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.set_input_int(1, ni) bstm_batch.set_input_int(2, nj) bstm_batch.set_input_string(3, pixel) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) img = dbvalue(id, type) return img
def convert_to_generic_camera(cam_in, ni, nj, level=0): bstm_batch.init_process('vpglConvertToGenericCameraProcess') bstm_batch.set_input_from_db(0, cam_in) bstm_batch.set_input_unsigned(1, ni) bstm_batch.set_input_unsigned(2, nj) bstm_batch.set_input_unsigned(3, level) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) generic_cam = dbvalue(id, type) return generic_cam
def persp2gen(pcam, ni, nj, level=0): bstm_batch.init_process("vpglConvertToGenericCameraProcess") bstm_batch.set_input_from_db(0, pcam) bstm_batch.set_input_unsigned(1, ni) bstm_batch.set_input_unsigned(2, nj) bstm_batch.set_input_unsigned(3, level) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) gcam = dbvalue(id, type) return gcam
def clear_cache(cache): if cache.type == "bstm_cache_sptr": bstm_batch.init_process("bstmClearCacheProcess") bstm_batch.set_input_from_db(0, cache) bstm_batch.run_process() elif cache.type == "bstm_opencl_cache_sptr": bstm_batch.init_process("bstmOclClearCacheProcess") bstm_batch.set_input_from_db(0, cache) bstm_batch.run_process() else: print "ERROR: Cache type needs to be bstm_cache_sptr, not ", cache.type
def label_change(scene, device, cache, cam, change_img, change_t, label, time) : bstm_batch.init_process("bstmOclLabelRayProcess"); bstm_batch.set_input_from_db(0,device); bstm_batch.set_input_from_db(1,scene); bstm_batch.set_input_from_db(2,cache); bstm_batch.set_input_from_db(3,cam); bstm_batch.set_input_from_db(4,change_img); bstm_batch.set_input_float(5, change_t); bstm_batch.set_input_float(6, time); bstm_batch.set_input_int(7, label); bstm_batch.run_process();
def ocl_info(): #print("Init Manager"); bstm_batch.init_process("boclInitManagerProcess") bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) mgr = dbvalue(id, type) print("Get OCL info") bstm_batch.init_process("bocl_info_process") bstm_batch.set_input_from_db(0, mgr) bstm_batch.run_process()
def label_change(scene, device, cache, cam, change_img, change_t, label, time): bstm_batch.init_process("bstmOclLabelRayProcess") bstm_batch.set_input_from_db(0, device) bstm_batch.set_input_from_db(1, scene) bstm_batch.set_input_from_db(2, cache) bstm_batch.set_input_from_db(3, cam) bstm_batch.set_input_from_db(4, change_img) bstm_batch.set_input_float(5, change_t) bstm_batch.set_input_float(6, time) bstm_batch.set_input_int(7, label) bstm_batch.run_process()
def crop_image(img, i0, j0, ni, nj): bstm_batch.init_process("vilCropImageProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.set_input_unsigned(1, i0) bstm_batch.set_input_unsigned(2, j0) bstm_batch.set_input_unsigned(3, ni) bstm_batch.set_input_unsigned(4, nj) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) img_out = dbvalue(id, type) return img_out
def ocl_info(): #print("Init Manager"); bstm_batch.init_process("boclInitManagerProcess"); bstm_batch.run_process(); (id, type) = bstm_batch.commit_output(0); mgr = dbvalue(id, type); print("Get OCL info"); bstm_batch.init_process("bocl_info_process"); bstm_batch.set_input_from_db(0,mgr) bstm_batch.run_process();
def clear_cache(cache) : if cache.type == "bstm_cache_sptr" : bstm_batch.init_process("bstmClearCacheProcess"); bstm_batch.set_input_from_db(0,cache); bstm_batch.run_process(); elif cache.type == "bstm_opencl_cache_sptr" : bstm_batch.init_process("bstmOclClearCacheProcess"); bstm_batch.set_input_from_db(0,cache); bstm_batch.run_process(); else : print "ERROR: Cache type needs to be bstm_cache_sptr, not ", cache.type;
def scene_statistics(scene, cache): bstm_batch.init_process("bstmSceneStatisticsProcess"); bstm_batch.set_input_from_db(0, scene ); bstm_batch.set_input_from_db(1, cache ); bstm_batch.run_process(); (s1_id, s1_type) = bstm_batch.commit_output(0); (s2_id, s2_type) = bstm_batch.commit_output(1); (s3_id, s3_type) = bstm_batch.commit_output(2); s1 = bstm_batch.get_output_float(s1_id); s2 = bstm_batch.get_output_float(s2_id); s3 = bstm_batch.get_output_unsigned(s3_id); return [s1,s2,s3]
def project_point(camera, x, y, z): bstm_batch.init_process('vpglProjectProcess') bstm_batch.set_input_from_db(0, camera) bstm_batch.set_input_float(1, x) bstm_batch.set_input_float(2, y) bstm_batch.set_input_float(3, z) bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) u = bstm_batch.get_output_float(id) (id, type) = bstm_batch.commit_output(1) v = bstm_batch.get_output_float(id) return (u, v)
def init_trajectory(scene, startInc, endInc, radius, ni=1280, nj=720): bstm_batch.init_process("bstmViewInitTrajectoryProcess") bstm_batch.set_input_from_db(0, scene) bstm_batch.set_input_double(1, float(startInc)) # incline0 bstm_batch.set_input_double(2, float(endInc)) # incline1 bstm_batch.set_input_double(3, float(radius)) # radius bstm_batch.set_input_unsigned(4, ni) # ni bstm_batch.set_input_unsigned(5, nj) # nj bstm_batch.run_process() (id, type) = bstm_batch.commit_output(0) trajectory = dbvalue(id, type) return trajectory
def scene_statistics(scene, cache): bstm_batch.init_process("bstmSceneStatisticsProcess") bstm_batch.set_input_from_db(0, scene) bstm_batch.set_input_from_db(1, cache) bstm_batch.run_process() (s1_id, s1_type) = bstm_batch.commit_output(0) (s2_id, s2_type) = bstm_batch.commit_output(1) (s3_id, s3_type) = bstm_batch.commit_output(2) s1 = bstm_batch.get_output_float(s1_id) s2 = bstm_batch.get_output_float(s2_id) s3 = bstm_batch.get_output_unsigned(s3_id) return [s1, s2, s3]
def init_trajectory(scene, startInc, endInc, radius, ni=1280, nj=720) : bstm_batch.init_process("bstmViewInitTrajectoryProcess"); bstm_batch.set_input_from_db(0, scene); bstm_batch.set_input_double(1, float(startInc) ); #incline0 bstm_batch.set_input_double(2, float(endInc) ); #incline1 bstm_batch.set_input_double(3, float(radius) ); #radius bstm_batch.set_input_unsigned(4, ni); #ni bstm_batch.set_input_unsigned(5, nj); #nj bstm_batch.run_process(); (id,type) = bstm_batch.commit_output(0); trajectory = dbvalue(id,type); return trajectory;
def gradient(img): bstm_batch.init_process('vilGradientProcess') bstm_batch.set_input_from_db(0, img) bstm_batch.run_process() # x image (id, type) = bstm_batch.commit_output(0) dIdx = dbvalue(id, type) # y image (id, type) = bstm_batch.commit_output(1) dIdy = dbvalue(id, type) # mag image (id, type) = bstm_batch.commit_output(2) magImg = dbvalue(id, type) return dIdx, dIdy, magImg
def gradient(img): bstm_batch.init_process("vilGradientProcess") bstm_batch.set_input_from_db(0, img) bstm_batch.run_process() # x image (id, type) = bstm_batch.commit_output(0) dIdx = dbvalue(id, type) # y image (id, type) = bstm_batch.commit_output(1) dIdy = dbvalue(id, type) # mag image (id, type) = bstm_batch.commit_output(2) magImg = dbvalue(id, type) return dIdx, dIdy, magImg