| from .metadata_schema import PAD_SCHEMA |
| from .metadata_groups import METADATA_GROUPS |
|
|
|
|
| def bool_to_str(v): |
| if v is None: |
| return "" |
| return "True" if v else "False" |
|
|
|
|
| def build_metadata_csv(values_dict, enabled_groups): |
|
|
| |
| data = {k: "" for k in PAD_SCHEMA} |
|
|
| |
| data["patient_id"] = "PAT_DEMO" |
| data["lesion_id"] = "000" |
| data["img_id"] = "demo.png" |
|
|
| |
| enabled_columns = set() |
|
|
| for group in enabled_groups: |
| enabled_columns.update(METADATA_GROUPS[group]) |
|
|
| |
| for key, value in values_dict.items(): |
|
|
| if key not in enabled_columns: |
| continue |
|
|
| if isinstance(value, bool): |
| data[key] = bool_to_str(value) |
| else: |
| data[key] = "" if value is None else str(value) |
|
|
| return ",".join(str(data[col]) for col in PAD_SCHEMA) |
|
|