MCPcopy Index your code
hub / github.com/DNA-Rendering/DNA-Rendering / __init__

Method __init__

scripts/3DGS/__init__.py:25–86  ·  view source on GitHub ↗

b :param path: Path to colmap scene main folder.

(self, args : ModelParams, gaussians : GaussianModel, load_iteration=None, shuffle=True, resolution_scales=[1.0])

Source from the content-addressed store, hash-verified

23 gaussians : GaussianModel
24
25 def __init__(self, args : ModelParams, gaussians : GaussianModel, load_iteration=None, shuffle=True, resolution_scales=[1.0]):
26 """b
27 :param path: Path to colmap scene main folder.
28 """
29 self.model_path = args.model_path
30 self.loaded_iter = None
31 self.gaussians = gaussians
32
33 if load_iteration:
34 if load_iteration == -1:
35 self.loaded_iter = searchForMaxIteration(os.path.join(self.model_path, "point_cloud"))
36 else:
37 self.loaded_iter = load_iteration
38 print("Loading trained model at iteration {}".format(self.loaded_iter))
39
40 self.train_cameras = {}
41 self.test_cameras = {}
42
43 if os.path.exists(os.path.join(args.source_path, "sparse")):
44 scene_info = sceneLoadTypeCallbacks["Colmap"](args.source_path, args.images, args.eval)
45 elif os.path.exists(os.path.join(args.source_path, "transforms_train.json")):
46 print("Found transforms_train.json file, assuming Blender data set!")
47 scene_info = sceneLoadTypeCallbacks["Blender"](args.source_path, args.white_background, args.eval)
48 elif args.source_path.endswith(".smc"):
49 print("Found smc file, assuming DNA-Rendering data set!")
50 scene_info = sceneLoadTypeCallbacks["DNA-Rendeing"](args.source_path, args.white_background, args.eval)
51 else:
52 assert False, "Could not recognize scene type!"
53
54 if not self.loaded_iter:
55 with open(scene_info.ply_path, 'rb') as src_file, open(os.path.join(self.model_path, "input.ply") , 'wb') as dest_file:
56 dest_file.write(src_file.read())
57 json_cams = []
58 camlist = []
59 if scene_info.test_cameras:
60 camlist.extend(scene_info.test_cameras)
61 if scene_info.train_cameras:
62 camlist.extend(scene_info.train_cameras)
63 for id, cam in enumerate(camlist):
64 json_cams.append(camera_to_JSON(id, cam))
65 with open(os.path.join(self.model_path, "cameras.json"), 'w') as file:
66 json.dump(json_cams, file)
67
68 if shuffle:
69 random.shuffle(scene_info.train_cameras) # Multi-res consistent random shuffling
70 random.shuffle(scene_info.test_cameras) # Multi-res consistent random shuffling
71
72 self.cameras_extent = scene_info.nerf_normalization["radius"]
73
74 for resolution_scale in resolution_scales:
75 print("Loading Training Cameras")
76 self.train_cameras[resolution_scale] = cameraList_from_camInfos(scene_info.train_cameras, resolution_scale, args)
77 print("Loading Test Cameras")
78 self.test_cameras[resolution_scale] = cameraList_from_camInfos(scene_info.test_cameras, resolution_scale, args)
79
80 if self.loaded_iter:
81 self.gaussians.load_ply(os.path.join(self.model_path,
82 "point_cloud",

Callers

nothing calls this directly

Calls 2

camera_to_JSONFunction · 0.90
cameraList_from_camInfosFunction · 0.90

Tested by

no test coverage detected