def readImageSetHeader(pfpath, imgsetid=0): fname = '%s/ImageSet_%s.header' % (pfpath, imgsetid) pdict = readPFile(fname, 'ImageSet.header', 'dict') pfObj = PFImgSetHeader(**pdict) return pfObj if __name__ == '__main__': prjpath = os.path.dirname(os.path.abspath(__file__)) + '/../' FORMAT = "[%(asctime)s %(levelname)s - %(funcName)s] %(message)s" logging.basicConfig(format=FORMAT, filename=prjpath + 'logs/test.log', level=logging.INFO) logging.info('Project foler is %s' % os.path.abspath(prjpath)) # Patient Pdict = readPFile(prjpath + 'examples/Patient_6204/ImageSet_0.header', 'ImageSet.header', 'dict') pfImgSetHeader = PFImgSetHeader(**Pdict) #print(Pdict) print(pfImgSetHeader.z_dim) print(pfImgSetHeader.z_pixdim) print(pfImgSetHeader.patient_id) print(pfImgSetHeader.modality)
def readPlanTrial(pfpath, planid=0): fname = '%s/Plan_%s/plan.Trial' % (pfpath, planid) pdict = readPFile(fname, 'plan.Trial', 'dict') pfObj = PFPlanTrial(**pdict) return pfObj
from logging import lastResort import os import pytest from pftools.readPFile import readPFile import logging prjpath = os.path.dirname(os.path.abspath(__file__)) + '/../' FORMAT = "[%(asctime)s %(levelname)s - %(funcName)s] %(message)s" logging.basicConfig(format=FORMAT, filename=prjpath + 'logs/pytest.log', level=logging.WARNING) Patient = readPFile(prjpath + 'examples/Patient_6204/Patient', 'Patient') Header = readPFile(prjpath + 'examples/Patient_6204/ImageSet_0.header', 'ImageSet.header') ImgSetInfo = readPFile(prjpath + 'examples/Patient_6204/ImageSet_0.ImageInfo', 'ImageSet.ImageInfo') ImageSet = readPFile(prjpath + 'examples/Patient_6204/ImageSet_0.ImageSet', 'ImageSet.ImageSet') PlanLaser = readPFile(prjpath + 'examples/Patient_6204/Plan_0/plan.Laser', 'plan.Laser') PatientSetup = readPFile( prjpath + 'examples/Patient_6204/Plan_0/plan.PatientSetup', 'plan.PatientSetup') PlanInfo = readPFile(prjpath + 'examples/Patient_6204/Plan_0/plan.PlanInfo', 'plan.PlanInfo') PlanPoints = readPFile(prjpath + 'examples/Patient_6204/Plan_0/plan.Points', 'plan.Points') ROIList = readPFile(prjpath + 'examples/Patient_6204/Plan_0/plan.roi', 'plan.roi') PlanTrial0 = readPFile(prjpath + 'examples/Patient_6204/Plan_0/plan.Trial',
def readPlanInfo(pfpath, planid=0): fname = '%s/Plan_%s/plan.PlanInfo' % (pfpath, planid) pdict = readPFile(fname, 'plan.PlanInfo', 'dict') pfObj = PFPlanInfo(**pdict) return pfObj
pfObj = PFPlanTrial(**pdict) return pfObj if __name__ == '__main__': prjpath = os.path.dirname(os.path.abspath(__file__)) + '/../' FORMAT = "[%(asctime)s %(levelname)s - %(funcName)s] %(message)s" logging.basicConfig(format=FORMAT, filename=prjpath + 'logs/test.log', level=logging.INFO) logging.info('Project foler is %s' % os.path.abspath(prjpath)) # Patient Pdict = readPFile(prjpath + 'examples/Patient_6204/Plan_0/plan.Trial', 'plan.Trial', 'dict') #print(Pdict) #print(len(Pdict)) pfPlanTrial = PFPlanTrial(**Pdict) ntrial = len(pfPlanTrial.Trial) print('Number of Trials: %s' % ntrial) for i in range(ntrial): print(pfPlanTrial.Trial[i].Name) print(pfPlanTrial.Trial[i].PrescriptionList.Prescription[0]. PrescriptionDose) print(pfPlanTrial.Trial[i].BeamList.Beam[0].Name) cpmgr0 = pfPlanTrial.Trial[i].BeamList.Beam[ 0].CPManager.CPManagerObject[0] print(cpmgr0.NumberOfControlPoints)
def readPatient(pfpath): fname = '%s/Patient' % pfpath pdict = readPFile(fname, 'Patient', 'dict') pfObj = PFPatient(**pdict) return pfObj
def readImageInfo(pfpath, imgsetid=0): fname = '%s/ImageSet_%s.ImageInfo' % (pfpath, imgsetid) pdict = readPFile(fname, 'ImageSet.ImageInfo', 'dict') pfObj = PFImgInfo(**pdict) return pfObj
def readPlanPatientSetup(pfpath, planid=0): fname = '%s/Plan_%s/plan.PatientSetup' % (pfpath, planid) pdict = readPFile(fname, 'plan.PatientSetup', 'dict') pfObj = PFPlanPatientSetup(**pdict) return pfObj
def readImageSetInfo(pfpath, imgsetid): fname = '%s/ImageSet_%s.ImageSet' % (pfpath, imgsetid) pdict = readPFile(fname, 'plan.ImageSet', 'dict') pfObj = PFImageSetInfo(**pdict) return pfObj
def readMachine(pfpath, planid=0): fname = '%s/Plan_%s/plan.Pinnacle.Machines' % (pfpath, planid) pdict = readPFile(fname, 'plan.Machine', 'dict') pfObj = PFMachine(**pdict) return pfObj
TableMotion = '' ProductionLevel: Optional[int] ObjectVersion: Optional[_ObjectVersion] = None def readPlanPatientSetup(pfpath, planid=0): fname = '%s/Plan_%s/plan.PatientSetup' % (pfpath, planid) pdict = readPFile(fname, 'plan.PatientSetup', 'dict') pfObj = PFPlanPatientSetup(**pdict) return pfObj if __name__ == '__main__': prjpath = os.path.dirname(os.path.abspath(__file__)) + '/../' FORMAT = "[%(asctime)s %(levelname)s - %(funcName)s] %(message)s" logging.basicConfig(format=FORMAT, filename=prjpath + 'logs/test.log', level=logging.INFO) logging.info('Project foler is %s' % os.path.abspath(prjpath)) # Patient Pdict = readPFile( prjpath + 'examples/Patient_6204/Plan_0/plan.PatientSetup', 'plan.PatientSetup', 'dict') #print(Pdict) #print(len(Pdict)) pfPlanPtSetup = PFPlanPatientSetup(**Pdict) print(pfPlanPtSetup.Orientation)
pfObj = PFMachine(**pdict) return pfObj if __name__ == '__main__': prjpath = os.path.dirname(os.path.abspath(__file__)) + '/../' FORMAT = "[%(asctime)s %(levelname)s - %(funcName)s] %(message)s" logging.basicConfig(format=FORMAT, filename=prjpath + 'logs/test.log', level=logging.INFO) logging.info('Project foler is %s' % os.path.abspath(prjpath)) # Patient Pdict = readPFile( prjpath + 'examples/Patient_6204/Plan_0/plan.Pinnacle.Machines', 'plan.Machine', 'dict') # print(Pdict['Machine'][0]['PhotonEnergyList'] ) #['MachineEnergy']) pfMachine = PFMachine(**Pdict) print(pfMachine.Machine[0].MachineType) xenergy = pfMachine.Machine[0].PhotonEnergyList.MachineEnergy for xe in xenergy: print('Photon Energy: ', xe.Name) xenergy = pfMachine.Machine[0].ElectronEnergyList.MachineEnergy for xe in xenergy: print('Electron Energy: ', xe.Name)
def readPlanPoints(pfpath, planid=0): fname = '%s/Plan_%s/plan.Points' % (pfpath, planid) pdict = readPFile(fname, 'plan.Points', 'dict') pfObj = PFPlanPoints(**pdict) return pfObj
def readPlanROI(pfpath, planid=0): fname = '%s/Plan_%s/plan.roi' % (pfpath, planid) pdict = readPFile(fname, 'plan.roi', 'dict') if pdict is None: return None pfObj = PFPlanROI(**pdict) return pfObj
def readImageSetHeader(pfpath, imgsetid=0): fname = '%s/ImageSet_%s.header' % (pfpath, imgsetid) pdict = readPFile(fname, 'ImageSet.header', 'dict') pfObj = PFImgSetHeader(**pdict) return pfObj
class PFImgInfo(BaseModel): ImageInfo: List[_ImageInfo] = None def readImageInfo(pfpath, imgsetid=0): fname = '%s/ImageSet_%s.ImageInfo' % (pfpath, imgsetid) pdict = readPFile(fname, 'ImageSet.ImageInfo', 'dict') pfObj = PFImgInfo(**pdict) return pfObj if __name__ == '__main__': prjpath = os.path.dirname(os.path.abspath(__file__)) + '/../' FORMAT = "[%(asctime)s %(levelname)s - %(funcName)s] %(message)s" logging.basicConfig(format=FORMAT, filename=prjpath + 'logs/test.log', level=logging.INFO) logging.info('Project foler is %s' % os.path.abspath(prjpath)) # Patient Pdict = readPFile(prjpath + 'examples/Patient_6204/ImageSet_0.ImageInfo', 'ImageSet.ImageInfo', 'dict') #print(Pdict) pfImgInfo = PFImgInfo(**Pdict) print(pfImgInfo.ImageInfo[0].TablePosition) print(pfImgInfo.ImageInfo[1].SliceNumber) print(pfImgInfo.ImageInfo[97].InstanceUID)
def __init__(self, ptpath) -> None: fname = '%s/Patient' % ptpath logging.info('Reading file: %s' % fname) pfdict = readPFile(fname, 'Patient', 'dict') self.Patient = PFPatient(**pfdict) self.NumberOfImageSets = len(self.Patient.ImageSetList.ImageSet) self.NumberOfPlans = len(self.Patient.PlanList.Plan) imgsetID = [] for iset in self.Patient.ImageSetList.ImageSet: imgsetID.append(iset.ImageSetID) planID = [] for plan in self.Patient.PlanList.Plan: planID.append(plan.PlanID) self.ImageSet: List[_ImageSet] = [] for id in imgsetID: imgset = _ImageSet() imgset.ImageSetID = id # obtain header fname = '%s/ImageSet_%s.header' % (ptpath, id) logging.info('Reading file: %s' % fname) pfdict = readPFile(fname, 'ImageSet.header', 'dict') imgset.Header = PFImgSetHeader(**pfdict) # obtain info for all slices fname = '%s/ImageSet_%s.ImageInfo' % (ptpath, id) logging.info('Reading file: %s' % fname) pfdict = readPFile(fname, 'ImageSet.ImageInfo', 'dict') imgset.ImageInfoList = PFImgInfo(**pfdict) self.ImageSet.append(imgset) print('Reading ImageSet_%s done.' % id) self.Plan: List[_PPlan] = [] for id in planID: pplan = _PPlan() pplan.PlanID = id # PlanPatientSetup fname = '%s/Plan_%s/plan.PatientSetup' % (ptpath, id) logging.info('Reading file: %s' % fname) pfdict = readPFile(fname, 'plan.PatientSetup', 'dict') pplan.PlanPatientSetup = PFPlanPatientSetup(**pfdict) # PlanInfo fname = '%s/Plan_%s/plan.PlanInfo' % (ptpath, id) logging.info('Reading file: %s' % fname) pfdict = readPFile(fname, 'plan.PlanInfo', 'dict') pplan.PlanInfo = PFPlanInfo(**pfdict) # PlanPoints fname = '%s/Plan_%s/plan.Points' % (ptpath, id) logging.info('Reading file: %s' % fname) pfdict = readPFile(fname, 'plan.Points', 'dict') pplan.PlanPoints = PFPlanPoints(**pfdict) # PlanROI fname = '%s/Plan_%s/plan.roi' % (ptpath, id) logging.info('Reading file: %s' % fname) pfdict = readPFile(fname, 'plan.roi', 'dict') pplan.PlanROI = PFPlanROI(**pfdict) # PlanTrial fname = '%s/Plan_%s/plan.Trial' % (ptpath, id) logging.info('Reading file: %s' % fname) pfdict = readPFile(fname, 'plan.Trial', 'dict') pplan.PlanTrial = PFPlanTrial(**pfdict) self.Plan.append(pplan) print('Reading Plan_%s done.' % id)
PlanList: Optional[_PlanList] = None ObjectVersion: Optional[_ObjectVersion] = None def readPatient(pfpath): fname = '%s/Patient' % pfpath pdict = readPFile(fname, 'Patient', 'dict') pfObj = PFPatient(**pdict) return pfObj if __name__ == '__main__': prjpath = os.path.dirname(os.path.abspath(__file__))+'/../' FORMAT = "[%(asctime)s %(levelname)s - %(funcName)s] %(message)s" logging.basicConfig(format=FORMAT, filename=prjpath+'logs/test.log', level=logging.INFO) logging.info('Project foler is %s' % os.path.abspath(prjpath)) # Patient Pdict = readPFile(prjpath+'examples/Patient_6204/Patient', 'Patient', 'dict') #print(Pdict) #print(len(Pdict)) pfPatient = PFPatient(**Pdict) print(pfPatient.MedicalRecordNumber) print(pfPatient.ImageSetList.ImageSet[0].NumberOfImages) print(pfPatient.ImageSetList.ImageSet[0].ScanTimeFromScanner) print(pfPatient.PlanList.Plan[1].PlanName) print(pfPatient.PlanList.Plan[0].ObjectVersion.WriteTimeStamp) print(pfPatient.ObjectVersion.CreateTimeStamp)