File size: 1,132 Bytes
78d2329
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from .initializer import Initializer
from .initializer_resplat import ResplatInitializer, ResplatInitializerCfg
from .initializer_colmap import InitializerColmap, InitializerColmapCfg
from .initializer_ply import InitializerPly, InitializerPlyCfg
from .initializer_edgs import InitializerEdgs, InitializerEdgsCfg
from .initializer_random import InitializerRandom, InitializerRandomCfg
from .initializer_pointcloud import InitializerPointcloud, InitializerPointcloudCfg

SCENE_INITIALIZERS = {
    "resplat_v1": ResplatInitializer,
    "resplat_v2": ResplatInitializer,
    "colmap": InitializerColmap,
    "ply": InitializerPly,
    "edgs": InitializerEdgs,
    "random": InitializerRandom,
    "pointcloud": InitializerPointcloud,
}

InitializerCfg = ResplatInitializerCfg | InitializerColmapCfg | InitializerPlyCfg | InitializerEdgsCfg | InitializerRandomCfg | InitializerPointcloudCfg


def get_scene_initializer(cfg: InitializerCfg) -> Initializer:
    print(f"Using scene initializer: {cfg.name}")
    scene_initializer = SCENE_INITIALIZERS[cfg.name]
    scene_initializer = scene_initializer(cfg)
    return scene_initializer