| # 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 | |