in train.py [0:0]
def _get_multi_view_helper_mappings(num_images, datadir):
imgnames = range(num_images)
extras = {}
multi_view_mapping = os.path.join(datadir, "image_to_camera_id_and_timestep.json")
if os.path.exists(multi_view_mapping):
extras["is_multiview"] = True
import json
with open(multi_view_mapping, "r") as multi_view_mapping:
multi_view_mapping = json.load(multi_view_mapping)
else:
extras["is_multiview"] = False
multi_view_mapping = dict([ (name, [i, i]) for i, name in enumerate(imgnames) ])
sorted_multi_view_mapping = {}
raw_multi_view_list = []
for key in sorted(multi_view_mapping.keys()):
sorted_multi_view_mapping[key] = multi_view_mapping[key]
raw_multi_view_list.append(multi_view_mapping[key])
extras["raw_multi_view_mapping"] = sorted_multi_view_mapping
# convert to consecutive numerical ids
all_timesteps = sorted(
list(set([timestep for view, timestep in raw_multi_view_list]))
)
timestep_to_timestepid = dict(
[(timestep, i) for i, timestep in enumerate(all_timesteps)]
)
all_views = sorted(list(set([view for view, timestep in raw_multi_view_list])))
view_to_viewid = dict([(view, i) for i, view in enumerate(all_views)])
extras["raw_timesteps"] = all_timesteps
extras["rawtimestep_to_timestepid"] = timestep_to_timestepid
extras["raw_views"] = all_views
extras["rawview_to_viewid"] = view_to_viewid
extras["raw_multi_view_list"] = raw_multi_view_list
extras["imageid_to_viewid"] = [
view_to_viewid[view] for view, timestep in raw_multi_view_list
]
extras["imageid_to_timestepid"] = [
timestep_to_timestepid[timestep] for view, timestep in raw_multi_view_list
]
return extras