def file_list(expression = None, file_list = None, sort = True, verbose = False): """Returns the list of files that match the tag expression. Arguments --------- expression :str The regular expression the file names should match. sort : bool If True, sort files naturally. verbose : bool If True, print warning if no files exists. Returns ------- file_list : list of str The list of files that matched the expression. """ return fl._file_list(expression=expression, file_list=file_list, sort=sort, verbose=verbose)
def _test(): from importlib import reload import ClearMap.Tests.Files as tf import ClearMap.IO.FileList as fl reload(fl) expression = tf.io.join(tf.tif_sequence, 'sequence<Z,I,4>.tif') f = fl.Source(expression=expression) print(f) print(f.expression.string({'Z': 10})) d = f.__getitem__((slice(None), slice(None), 1), processes='serial') d = f[:, :, 1] import numpy as np import ClearMap.IO.IO as io np.all(d == io.read(f.file_list[1])) # genreate some files data = np.asarray(20 * np.random.rand(4, 5, 2, 3), dtype='int32') data[5:15, 20:45, 2:9] = 0 f = fl.Source('./test_file_list/test<I,3>_<I,2>.npy', shape=(4, 5, 2, 3), dtype='int32') f.__setitem__(slice(None, ), data, processes='serial') reload(fl) f2 = fl.Source('./test_file_list') print(f2) data2 = f2.__getitem__(slice(None), processes='serial') s = io.as_source(data) s2 = io.as_source(data2) print(s) print(s2) np.all(data2 == data) data3 = f2[:] np.all(data3 == data) np.all(f2[:, :, 1, :] == data[:, :, 1, :]) fl.fu.delete_directory('./test_file_list') import ClearMap.Tests.Files as tf name = tf.tif_sequence fl1 = fl._file_list(name) name = fl.fu.join(tf.tif_sequence, 'sequence<I,4>.tif') fl2 = fl._file_list(name) print(fl1 == fl2) f = fl.Source(name) print(f) f.shape f.dtype