# Copyright (C) 2024-present Naver Corporation. All rights reserved. # Licensed under CC BY-NC-SA 4.0 (non-commercial use only). # # -------------------------------------------------------- # AachenDayNight dataloader # -------------------------------------------------------- import os from dust3r_visloc.datasets.base_colmap import BaseVislocColmapDataset class VislocAachenDayNight(BaseVislocColmapDataset): def __init__(self, root, subscene, pairsfile, topk=1, cache_sfm=False): assert subscene in [None, '', 'day', 'night', 'all'] self.subscene = subscene image_path = os.path.join(root, 'images') map_path = os.path.join(root, 'mapping/colmap/reconstruction') query_path = os.path.join(root, 'kapture', 'query') pairsfile_path = os.path.join(root, 'pairsfile/query', pairsfile + '.txt') super().__init__(image_path=image_path, map_path=map_path, query_path=query_path, pairsfile_path=pairsfile_path, topk=topk, cache_sfm=cache_sfm) self.scenes = [filename for filename in self.scenes if filename in self.pairs] if self.subscene == 'day' or self.subscene == 'night': self.scenes = [filename for filename in self.scenes if self.subscene in filename]