in code/python/tools/dataset_generate_hdf5_from_vrimg.py [0:0]
def process_scene(s, args):
scene_name = s["name"]
tmp_dir = os.path.join(dataset_scenes_dir, scene_name, "_tmp")
detail_dir = os.path.join(dataset_scenes_dir, scene_name, "_detail")
images_dir = os.path.join(dataset_scenes_dir, scene_name, "images")
metadata_cameras_csv_file = os.path.join(detail_dir, "metadata_cameras.csv")
df = pd.read_csv(metadata_cameras_csv_file)
if args.camera_names is not None:
cameras = [ c for c in df.to_records() if fnmatch.fnmatch(c["camera_name"], args.camera_names) ]
else:
cameras = df.to_records()
for c in cameras:
camera_name = c["camera_name"]
print("[HYPERSIM: DATASET_GENERATE_HDF5_FROM_VRIMG] For scene " + scene_name + ", generating HDF5 files for camera " + camera_name + "...")
#
# generate HDF5 files for geometry render
#
if args.render_pass is None or args.render_pass == "geometry":
if args.frames is not None:
in_vrimg_files = '"' + os.path.abspath(os.path.join(images_dir, in_scene_fileroot + "_" + camera_name + "_geometry", "frame." + args.frames + ".vrimg")) + '"'
else:
in_vrimg_files = '"' + os.path.abspath(os.path.join(images_dir, in_scene_fileroot + "_" + camera_name + "_geometry", "frame.*.vrimg")) + '"'
in_camera_trajectory_dir = os.path.abspath(os.path.join(detail_dir, camera_name))
in_metadata_nodes_file = os.path.abspath(os.path.join(detail_dir, "metadata_nodes.csv"))
in_metadata_scene_file = os.path.abspath(os.path.join(detail_dir, "metadata_scene.csv"))
out_hdf5_dir = os.path.abspath(os.path.join(images_dir, in_scene_fileroot + "_" + camera_name + "_geometry_hdf5"))
out_preview_dir = os.path.abspath(os.path.join(images_dir, in_scene_fileroot + "_" + camera_name + "_geometry_preview"))
tmp_dir_ = os.path.abspath(tmp_dir)
current_source_file_path = path_utils.get_current_source_file_path(frame=inspect.currentframe())
cwd = os.getcwd()
os.chdir(current_source_file_path)
cmd = \
_system_config.python_bin + " generate_hdf5_from_vrimg.py" + \
" --in_vrimg_files " + in_vrimg_files + \
" --in_camera_trajectory_dir " + in_camera_trajectory_dir + \
" --in_metadata_nodes_file " + in_metadata_nodes_file + \
" --in_metadata_scene_file " + in_metadata_scene_file + \
" --out_hdf5_dir " + out_hdf5_dir + \
" --out_preview_dir " + out_preview_dir + \
" --tmp_dir " + tmp_dir_ + \
" --render_pass geometry"
print("")
print(cmd)
print("")
retval = os.system(cmd)
assert retval == 0
os.chdir(cwd)
#
# generate HDF5 files for final render
#
if args.render_pass is None or args.render_pass == "final":
if args.frames is not None:
in_vrimg_files = '"' + os.path.abspath(os.path.join(images_dir, in_scene_fileroot + "_" + camera_name + "_final", "frame." + args.frames + ".vrimg")) + '"'
else:
in_vrimg_files = '"' + os.path.abspath(os.path.join(images_dir, in_scene_fileroot + "_" + camera_name + "_final", "frame.*.vrimg")) + '"'
out_hdf5_dir = os.path.abspath(os.path.join(images_dir, in_scene_fileroot + "_" + camera_name + "_final_hdf5"))
out_preview_dir = os.path.abspath(os.path.join(images_dir, in_scene_fileroot + "_" + camera_name + "_final_preview"))
tmp_dir_ = os.path.abspath(tmp_dir)
if args.denoise:
denoise_arg = " --denoise"
else:
denoise_arg = ""
current_source_file_path = path_utils.get_current_source_file_path(frame=inspect.currentframe())
cwd = os.getcwd()
os.chdir(current_source_file_path)
cmd = \
_system_config.python_bin + " generate_hdf5_from_vrimg.py" + \
" --in_vrimg_files " + in_vrimg_files + \
" --out_hdf5_dir " + out_hdf5_dir + \
" --out_preview_dir " + out_preview_dir + \
" --tmp_dir " + tmp_dir_ + \
" --render_pass final" + \
denoise_arg
print("")
print(cmd)
print("")
retval = os.system(cmd)
assert retval == 0
os.chdir(cwd)