File size: 1,157 Bytes
7382c66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
28
29
30
31
32
33
34
35
36
# Authors: Bingxin Ke, Haodong Li
# Last modified: 2025-05-25
# Note: Add PanoSUNCGDataset, Matterport3DDataset, Stanford2D3DSDataset for 360° depth (or distance) evaluation.

import os

from .base_depth_dataset import BaseDepthDataset, get_pred_name, DatasetMode
from .stanford2d3ds_dataset import Stanford2D3DSDataset
from .matterport3d_dataset import Matterport3DDataset
from .panosuncg_dataset import PanoSUNCGDataset

dataset_name_class_dict = {
    "2d3ds": Stanford2D3DSDataset,
    "matterport3d": Matterport3DDataset,
    "panosuncg": PanoSUNCGDataset
}


def get_dataset(
    cfg_data_split, dataset_name, base_data_dir: str, mode: DatasetMode, **kwargs
) -> BaseDepthDataset:
    if dataset_name in dataset_name_class_dict.keys():
        dataset_class = dataset_name_class_dict[dataset_name]
        dataset = dataset_class(
            mode=mode,
            filename_ls_path=cfg_data_split['filenames'],
            dataset_dir=os.path.join(base_data_dir, cfg_data_split['dir']),
            disp_name=dataset_name,
            **cfg_data_split,
            **kwargs,
        )
    else:
        raise NotImplementedError

    return dataset