2022-10-16 17:16:25 +08:00
|
|
|
import os
|
|
|
|
import pandas as pd
|
|
|
|
|
|
|
|
|
|
|
|
organs = ['logicalHead', 'logicalSkull', 'logicalBrain', 'logicalTrunk', 'logicalLeftLeg', 'logicalRightLeg', 'logicalLeftArmBone', 'logicalRightArmBone', 'logicalLeftLegBone', 'logicalRightLegBone', 'logicalUpperSpine', 'logicalLeftScapula', 'logicalRightScapula', 'logicalLeftAdrenal', 'logicalRightAdrenal', 'logicalThymus', 'logicalLeftClavicle', 'logicalRightClavicle', 'logicalSmallIntestine', 'logicalRibCage', 'logicalMiddleLowerSpine', 'logicalPelvis', 'logicalStomach', 'logicalUpperLargeIntestine', 'logicalLowerLargeIntestine', 'logicalSpleen', 'logicalPancreas', 'logicalLiver', 'logicalLeftKidney', 'logicalRightKidney', 'logicalUrinaryBladder', 'logicalLeftLung', 'logicalRightLung', 'logicalThyroid', 'logicalLeftOvary', 'logicalRightOvary', 'logicalUterus', 'logicalLeftBreast', 'logicalRightBreast', 'logicalMaleGenitalia', 'logicalLeftTeste', 'logicalRightTeste']
|
|
|
|
particles = ['TE', 'TP', 'GCR_H', 'GCR_He', 'GCR_Li', 'GCR_Be', 'GCR_B', 'GCR_C', 'GCR_N', 'GCR_O', 'GCR_F', 'GCR_Ne', 'GCR_Na', 'GCR_Mg', 'GCR_Al', 'GCR_Si', 'GCR_P', 'GCR_S', 'GCR_Cl', 'GCR_Ar', 'GCR_K', 'GCR_Ca', 'GCR_Sc', 'GCR_Ti', 'GCR_V', 'GCR_Cr', 'GCR_Mn', 'GCR_Fe', 'GCR_Co', 'GCR_Ni']
|
|
|
|
|
|
|
|
edepRes = {}
|
|
|
|
edep2Res = {}
|
|
|
|
rmsRes = {}
|
|
|
|
|
|
|
|
files = os.listdir('result')
|
|
|
|
for file in files:
|
|
|
|
f = open('result/' + file, 'r', encoding='utf-8')
|
|
|
|
data = f.readlines()
|
|
|
|
data = [[s.split(': ')[1].strip().replace('\n', '').replace(' MeV', '') for s in row.split(' | ')] for row in data]
|
|
|
|
|
|
|
|
edep = {}
|
|
|
|
edep2 = {}
|
|
|
|
rms = {}
|
|
|
|
for row in data:
|
|
|
|
organ = row[0]
|
|
|
|
edep[organ] = float(row[1])
|
|
|
|
edep2[organ] = float(row[2])
|
|
|
|
rms[organ] = float(row[3])
|
|
|
|
|
|
|
|
particle = file.replace('edep_', '').replace('.txt', '')
|
|
|
|
edepRes[particle] = pd.Series(edep, index=organs)
|
|
|
|
edep2Res[particle] = pd.Series(edep2, index=organs)
|
|
|
|
rmsRes[particle] = pd.Series(rms, index=organs)
|
|
|
|
|
|
|
|
edepRes = pd.DataFrame(edepRes)
|
|
|
|
edep2Res = pd.DataFrame(edep2Res)
|
|
|
|
rmsRes = pd.DataFrame(rmsRes)
|
|
|
|
|
|
|
|
edepRes['Organ Sum'] = edepRes.apply(lambda x: x.sum(), axis=1)
|
|
|
|
edepRes.loc['Particle Sum'] = edepRes.apply(lambda x: x.sum())
|
|
|
|
|
|
|
|
edep2Res['Organ Sum'] = edep2Res.apply(lambda x: x.sum(), axis=1)
|
|
|
|
edep2Res.loc['Particle Sum'] = edep2Res.apply(lambda x: x.sum())
|
|
|
|
|
|
|
|
rmsRes['Organ Sum'] = rmsRes.apply(lambda x: x.sum(), axis=1)
|
|
|
|
rmsRes.loc['Particle Sum'] = rmsRes.apply(lambda x: x.sum())
|
|
|
|
|
|
|
|
edepRes.to_csv('result/eDep.csv')
|
|
|
|
edepRes.to_csv('result/eDep2.csv')
|
|
|
|
edepRes.to_csv('result/rsm.csv')
|