AI_MRI / scripts /data_utils /fill_missing_patient_ids.py
DeboraJ1's picture
init
a23d562
Raw History Blame Contribute Delete
1.63 kB
#!/usr/bin/env python3
"""Fill empty patient IDs of a metadata export by grouping on identifying columns."""
import argparse
from auto_detect_breast_mri.config import column
from auto_detect_breast_mri.data.metadata import fill_nan_id_values_by_group
def main():
"""
Fill missing patient IDs of a metadata export by grouping on identifying columns.
The file to work on must be given explicitly; there are no built in paths:
python scripts/data_utils/fill_missing_patient_ids.py <data_file.xlsx> <sheet> \
--id-column PNR --grouping Firstname Lastname Birthdate --backup-table <metadata.csv>
"""
parser = argparse.ArgumentParser(description="Fill empty patient IDs in a metadata export.")
parser.add_argument("data_file", help="metadata export (.xlsx) to fill in place")
parser.add_argument("sheet", help="name of the sheet holding the ID and grouping columns")
parser.add_argument("--id-column", default=None,
help="name of the patient ID column. Default: the configured patient_id column")
parser.add_argument("--grouping", nargs="+", required=True,
help="columns that identify a patient, e.g. Firstname Lastname Birthdate")
parser.add_argument("--backup-table", default=None,
help="optional second table to take IDs from")
args = parser.parse_args()
fill_nan_id_values_by_group(args.data_file, args.sheet,
args.id_column or column("patient_id"),
args.grouping, args.backup_table)
if __name__ == '__main__':
main()