# Copyright (c) OpenMMLab. All rights reserved. import os.path as osp import numpy as np import pytest from mmengine import FileClient from mmseg.utils import datafrombytes @pytest.mark.parametrize( ['backend', 'suffix'], [['nifti', '.nii.gz'], ['numpy', '.npy'], ['pickle', '.pkl']]) def test_datafrombytes(backend, suffix): file_client = FileClient('disk') file_path = osp.join(osp.dirname(__file__), '../data/biomedical' + suffix) bytes = file_client.get(file_path) data = datafrombytes(bytes, backend) if backend == 'pickle': # test pickle loading assert isinstance(data, dict) else: assert isinstance(data, np.ndarray) if backend == 'nifti': # test nifti file loading assert len(data.shape) == 3 else: # test npy file loading # testing data biomedical.npy includes data and label assert len(data.shape) == 4 assert data.shape[0] == 2