def compute_omp_descriptors(
    scene_root, descriptor_type, basename_in, radius, njobs, percentile, verbose=True, basename_out="descriptors"
):
    # figure out the resolution from the scene _info.xml
    resolution = parse_scene_resolution(scene_root + "/scene_info.xml")
    print "Resolution for site is : " + str(resolution)

    features_dir = scene_root + "/" + descriptor_type + "_" + str(radius)

    if not os.path.exists(features_dir + "/"):
        print features_dir + "/"
        os.makedirs(features_dir + "/")

    if not verbose:
        vpcl_batch.set_stdout("./logs/log_" + descriptor_type + "percetile" + str(percentile) + ".log")

    file_in = scene_root + "/" + basename_in + "_" + str(percentile) + ".ply"
    file_out = features_dir + "/" + basename_out + "_" + str(percentile) + ".pcd"

    if verbose:
        print "Processing: "
        print file_in
        print "Saving to:"
        print file_out

    vpcl.compute_descriptor(file_in, file_out, radius * resolution, descriptor_type, njobs)

    if not verbose:
        vpcl_batch.reset_stdout()

    print "Done"
    if not os.path.exists(features_dir + "/"):
      print features_dir + "/"
      os.makedirs(features_dir + "/");


    if not verbose:
      py_vpcl.set_stdout("./logs/log_" + descriptor_type + 'percetile' + str(percentile) +'.log')

    for file_in in objs:
        #features get written to a .txt file for now -- PCL reader/writter doesn't handle variable length descriptos
        file_out= features_dir + "/" + os.path.basename(file_in);
        file_out = file_out[:-len(".ply")]
        file_out = file_out  + ".txt";
        if verbose :
          print "Processing: "
          print file_in
          print "Saving to:"
          print file_out
        vpcl.compute_descriptor(file_in, file_out, radius*resolution, descriptor_type, njobs);


    if not verbose:
      py_vpcl.reset_stdout();


print "Done"

sys.exit(0)