Source code for dataliver

import pandas as pd
import numpy as np

[docs]def oneshot_onescan(subj): const = pd.read_excel(subj, sheet_name='const') const.set_index('name', inplace=True) dyn1 = pd.read_excel(subj, sheet_name='dyn1') molli1 = pd.read_excel(subj, sheet_name='MOLLI1') molli2 = pd.read_excel(subj, sheet_name='MOLLI2') dyn1.sort_values('time', inplace=True) molli1.sort_values('time', inplace=True) molli2.sort_values('time', inplace=True) t0 = dyn1.time.values[0] return ( dyn1.time.values-t0, dyn1.fa.values, dyn1.aorta.values, dyn1.liver.values, molli1.time.values[0]-t0, molli1.aorta.values[0], molli1.liver.values[0], molli2.time.values[0]-t0, molli2.aorta.values[0], molli2.liver.values[0], const.at['weight', 'value'], const.at['dose1', 'value'], )
[docs]def twoshot_twoscan(subj): const = pd.read_excel(subj, sheet_name='const') const.set_index('name', inplace=True) dyn1 = pd.read_excel(subj, sheet_name='dyn1') dyn2 = pd.read_excel(subj, sheet_name='dyn2') molli1 = pd.read_excel(subj, sheet_name='MOLLI1') molli2 = pd.read_excel(subj, sheet_name='MOLLI2') molli3 = pd.read_excel(subj, sheet_name='MOLLI3') dyn1.sort_values('time', inplace=True) dyn2.sort_values('time', inplace=True) molli1.sort_values('time', inplace=True) molli2.sort_values('time', inplace=True) molli3.sort_values('time', inplace=True) t0 = dyn1.time.values[0] return ( dyn1.time.values-t0, dyn1.fa.values, dyn1.aorta.values, dyn1.liver.values, dyn2.time.values-t0, dyn2.fa.values, dyn2.aorta.values, dyn2.liver.values, molli1.time.values[0]-t0, molli1.aorta.values[0], molli1.liver.values[0], molli2.time.values[0]-t0, molli2.aorta.values[0], molli2.liver.values[0], molli3.time.values[0]-t0, molli3.aorta.values[0], molli3.liver.values[0], const.at['weight', 'value'], const.at['dose1', 'value'], const.at['dose2', 'value'], )
[docs]def oneshot_twoscan(subj): ( time1, fa1, aorta1, liver1, time2, fa2, aorta2, liver2, T1time1, T1aorta1, T1liver1, T1time2, T1aorta2, T1liver2, T1time3, T1aorta3, T1liver3, weight, dose1, dose2) = twoshot_twoscan(subj) i1 = np.nonzero(time2 < time2[0] + 10*60)[0] return ( time1, fa1, aorta1, liver1, time2[i1], fa2[i1], aorta2[i1], liver2[i1], T1time1, T1aorta1, T1liver1, T1time2, T1aorta2, T1liver2, T1time3, T1aorta3, T1liver3, weight, dose1, )
[docs]def twoshot_onescan(subj): ( time1, fa1, aorta1, liver1, time2, fa2, aorta2, liver2, T1time1, T1aorta1, T1liver1, T1time2, T1aorta2, T1liver2, T1time3, T1aorta3, T1liver3, weight, dose1, dose2) = twoshot_twoscan(subj) return ( time2, fa2, aorta2, liver2, T1time3, T1aorta3, T1liver3, weight, dose1, dose2, )