def get_trimmed_dataset()

in anticipation/anticipation/datasets/epic_utils.py [0:0]


def get_trimmed_dataset(data_cfg):
    if 'ann_file' not in data_cfg:
        ann_files = [None]
        num_dset = 1
    elif isinstance(data_cfg['ann_file'], (list, tuple)):
        ann_files = data_cfg['ann_file']
        num_dset = len(ann_files)
    else:
        ann_files = [data_cfg['ann_file']]
        num_dset = 1

    if 'img_prefix' not in data_cfg:
        img_prefixes = [None]
    elif isinstance(data_cfg['img_prefix'], (list, tuple)):
        img_prefixes = data_cfg['img_prefix']
    else:
        img_prefixes = [data_cfg['img_prefix']]
    assert len(img_prefixes) == num_dset

    dsets = []
    for i in range(num_dset):
        data_info = copy.deepcopy(data_cfg)
        if ann_files[i] is not None:
            data_info['ann_file'] = ann_files[i]
        if img_prefixes[i] is not None:
            data_info['img_prefix'] = img_prefixes[i]
        dset = obj_from_dict(data_info, datasets)
        dsets.append(dset)

    if len(dsets) > 1:
        raise ValueError("Not implemented yet")
    else:
        dset = dsets[0]

    return dset