Skip to content

Commit 40932e0

Browse files
author
Ben Murray
authored
Fix for non-trivial mappings between override_keys and _keys (#21)
Signed-off-by: Ben Murray <ben.murray@gmail.com>
1 parent 349dc09 commit 40932e0

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

monai/transforms/compose.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,14 @@ def _evaluate_with_overrides(
6767
_keys = [k if k in upcoming.keys and k in data else None for k in override_keys] # type: ignore
6868
else:
6969
_keys = [k if k in data else None for k in override_keys] # type: ignore
70+
7071
# generate a list of dictionaries with the appropriate override value per key
71-
dict_overrides = to_tuple_of_dictionaries(overrides, _keys)
72-
for k, ov in zip(_keys, dict_overrides):
72+
dict_overrides = to_tuple_of_dictionaries(overrides, override_keys)
73+
for k in _keys:
7374
if k is not None:
74-
data[k] = _evaluate_with_overrides(data[k], upcoming, lazy_evaluation, ov)
75-
return data
75+
dict_for_key = dict_overrides[override_keys.index(k)] if k in override_keys else None
76+
data[k] = _evaluate_with_overrides(data[k], upcoming, lazy_evaluation, dict_for_key)
77+
7678
if isinstance(data, (list, tuple)):
7779
return [_evaluate_with_overrides(v, upcoming, lazy_evaluation, overrides, override_keys) for v in data]
7880
return data

0 commit comments

Comments
 (0)