MCPcopy
hub / github.com/nitrain/nitrain / infer_reader

Function infer_reader

nitrain/readers/utils.py:14–43  ·  view source on GitHub ↗

Infer reader from user-supplied values

(x)

Source from the content-addressed store, hash-verified

12
13
14def infer_reader(x):
15 """
16 Infer reader from user-supplied values
17 """
18 if isinstance(x, list):
19 if ants.is_image(x[0]):
20 return readers.MemoryReader(x)
21 elif np.isscalar(x[0]):
22 return readers.MemoryReader(x)
23 else:
24 return readers.ComposeReader([infer_reader(xx) for xx in x])
25
26 elif isinstance(x, dict):
27 new_readers = []
28 for key, value in x.items():
29 value = infer_reader(value)
30 value.label = key
31 new_readers.append(value)
32 if len(new_readers) > 1:
33 return readers.ComposeReader(new_readers)
34 else:
35 return new_readers[0]
36
37 elif isinstance(x, np.ndarray):
38 return readers.MemoryReader(x)
39
40 elif is_reader(x):
41 return x
42
43 raise Exception(f'Could not infer a configuration from given value: {x}')
44
45
46def flatten_readers(readers):

Callers 12

test_nested_2d_arraysMethod · 0.90
test_nested_mixedMethod · 0.90
test_nested_listsMethod · 0.90
test_nested_2d_arraysMethod · 0.90
test_nested_mixedMethod · 0.90
test_nested_listsMethod · 0.90
__init__Method · 0.85
__init__Method · 0.85

Calls 1

is_readerFunction · 0.85

Tested by 10

test_nested_2d_arraysMethod · 0.72
test_nested_mixedMethod · 0.72
test_nested_listsMethod · 0.72
test_nested_2d_arraysMethod · 0.72
test_nested_mixedMethod · 0.72
test_nested_listsMethod · 0.72