def slot1(self): file = open("file.txt", "w") directory = QFileDialog.getExistingDirectory( self, 'Select backup directory') win_directory = QtCore.QDir.toNativeSeparators(directory) wl = WinstonLutz(win_directory) d.getCountImages = len(wl.images) d.pathDir = win_directory wl.images[0].plot() self.ui.pushButton__ConeOpen.setEnabled(False) self.ui.pushButton__SummaryCone.setEnabled(False) self.ui.pushButton__ConeIzoSize.setEnabled(False) a = wl.results() file.write(str(a)) file.close()
def QA_Report(self): # app.config['MONGO_URI'] = "mongodb://localhost:27017/WinstonLutzTest" # mongo = PyMongo(app) client = MongoClient('localhost', 27017) db = client.QA fs = gridfs.GridFS(db) init_dir = os.getcwd() os.chdir(self.direct_name) fnames = glob.glob('*.dcm') position = [ 'Gantry270Couch0.dcm', 'Gantry0Couch0.dcm', 'Gantry90Couch0.dcm', 'Gantry180Couch0.dcm', 'Gantry0Couch90.dcm', 'Gantry0Couch45.dcm', 'Gantry0Couch315.dcm', 'Gantry0Couch270.dcm' ] for i, fname in enumerate(fnames): name = position[i] shutil.move(fname, name) wl = WinstonLutz(self.direct_name, use_filenames=True) # wl.plot_summary() wl.save_summary('summary.png') plt.close() r = wl.results() rr = r.split('\n') wltreportname = 'WLT' + datetime.now().strftime('%d%m%Y') + '.pdf' # c = canvas.Canvas('WLT'+ datetime.now().strftime('%d%m%Y') + '.pdf') c = canvas.Canvas(wltreportname) c.setLineWidth(0.3) c.drawImage(init_dir + "\\images\\qmh_logo.png", 50, 750, 90, 80) c.drawString(150, 780, 'Department of Clinical Oncology Medical Physics Unit') c.drawString(50, 700, 'Date: ' + datetime.now().strftime('%d-%m-%Y')) c.drawString(50, 685, 'LINAC: ' + self.LINAC) y = 670 for line in rr: c.drawString(50, y, line) y -= 15 c.drawImage('summary.png', 30, 20, 7 * inch, 5 * inch) c.save() fileID = fs.put(open(wltreportname, 'rb')) db.WLTest.insert_one({ 'LINAC': self.LINAC, 'QA Date': datetime.now().strftime('%d-%m-%Y'), 'Gantry Isocenter Size': str(('%.4f' % wl.gantry_iso_size)), 'Couch Isocenter Size': str(('%.4f' % wl.couch_iso_size)), 'PV Isocenter Size': str(('%.4f' % wl.collimator_iso_size)), 'reportpdf': wltreportname }) return wltreportname