File size: 561 Bytes
41ff959
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from src.model.encoder.encoder import Encoder
from src.model.encoder.encoder_infinidepth_query import (
    EncoderInfiniDepthQuery,
    EncoderInfiniDepthQueryCfg,
)
from src.model.encoder.encoder_infinisplat import EncoderInfiniSplat, EncoderInfiniSplatCfg

ENCODERS = {
    "infinisplat": EncoderInfiniSplat,
    "infinisplat_infinidepth": EncoderInfiniDepthQuery,
}

EncoderCfg = EncoderInfiniSplatCfg | EncoderInfiniDepthQueryCfg


def get_encoder(cfg: EncoderCfg) -> Encoder:
    encoder = ENCODERS[cfg.name]
    encoder = encoder(cfg)
    return encoder