--- a +++ b/code/add_AcquisitionDuration_T2star.py @@ -0,0 +1,30 @@ +import json +import pandas as pd +import argparse +import os +import glob + +def get_parser(): + parser = argparse.ArgumentParser(description='Add AcquisitionDuration in the JSON metadata for *_T2star.json from CSV file') + parser.add_argument('--input', help='Path to data-multi-subject') + parser.add_argument('--input-csv', help='Path to CSV file') + return parser + +def main(argv=None): + parser = get_parser() + args = parser.parse_args(argv) + os.chdir(args.input) + df = pd.read_csv(args.input_csv) + rows=[] + for file in glob.glob(os.path.join(args.input,"*/*/*_T2star.json")): + subject_name = (os.path.split(file)[1].split('_')[0]) + value_AcquisitionDuration = df[df['Subject'].str.contains(subject_name) == True]['AcquisitionDurationManual'].values[0] + file_json = open(os.path.join(args.input,file)) + data = json.load(file_json) + data_to_add = {"AcquisitionDuration": value_AcquisitionDuration} + data.update(data_to_add) + with open(os.path.join(args.input,file), 'w') as outfile: + json.dump(data, outfile, indent=4) + +if __name__ == "__main__": + main() \ No newline at end of file