MCPcopy Create free account
hub / github.com/MAC-VO/MAC-VO / smart_transform

Function smart_transform

DataLoader/SequenceBase.py:120–141  ·  view source on GitHub ↗
(seq: SequenceBase[T_Data], trans_cfg: SimpleNamespace | dict[str, Any] | list)

Source from the content-addressed store, hash-verified

118
119
120def smart_transform(seq: SequenceBase[T_Data], trans_cfg: SimpleNamespace | dict[str, Any] | list) -> SequenceBase[T_Data]:
121 if isinstance(trans_cfg, dict):
122 trans_cfg = build_dynamic_config(trans_cfg)[0]
123 elif isinstance(trans_cfg, list):
124 trans_cfg = [
125 tcfg if isinstance(tcfg, SimpleNamespace) else build_dynamic_config(tcfg)[0]
126 for tcfg in trans_cfg
127 ]
128
129 if isinstance(trans_cfg, list):
130 transform_cfg = trans_cfg
131 else:
132 seq_type = seq.name()
133 if not hasattr(trans_cfg, seq_type): return seq
134 transform_cfg = getattr(trans_cfg, seq_type)
135
136 Logger.write("info", "Using data transformation:\n- " + '\n- '.join([str(x) for x in transform_cfg]))
137 trans_fn = [
138 IDataTransform.instantiate(tcfg.type, tcfg.args)
139 for tcfg in transform_cfg
140 ]
141 return seq.transform(trans_fn)

Callers 4

MACVO.pyFile · 0.90
execute_experimentFunction · 0.90
execute_experimentFunction · 0.90
execute_experimentFunction · 0.90

Calls 5

build_dynamic_configFunction · 0.90
writeMethod · 0.80
instantiateMethod · 0.80
transformMethod · 0.80
nameMethod · 0.45

Tested by

no test coverage detected