|
from typing import Optional, Union |
|
|
|
from .encoder import Encoder |
|
from .visualization.encoder_visualizer import EncoderVisualizer |
|
from .anysplat import EncoderAnySplat, EncoderAnySplatCfg |
|
|
|
ENCODERS = { |
|
"anysplat": (EncoderAnySplat, None), |
|
} |
|
|
|
EncoderCfg = Union[EncoderAnySplatCfg] |
|
|
|
|
|
def get_encoder(cfg: EncoderCfg) -> tuple[Encoder, Optional[EncoderVisualizer]]: |
|
encoder, visualizer = ENCODERS[cfg.name] |
|
encoder = encoder(cfg) |
|
if visualizer is not None: |
|
visualizer = visualizer(cfg.visualizer, encoder) |
|
return encoder, visualizer |
|
|