def __init__(self): self.app = QApplication(sys.argv) self.window = QDialog() self.ui = Ui_Dialog() self.ui.setupUi(self.window) self.status = self.ui.status self.status.setText('Status:'+'\t Select Input Images to Proceed.') self.app.connect( self.ui.imgbtn1, SIGNAL("clicked()"), lambda: self.selectFile(1) ) self.app.connect( self.ui.imgbtn2, SIGNAL("clicked()"), lambda: self.selectFile(2) ) self.app.connect( self.ui.btnoutput, SIGNAL("clicked()"), lambda: self.selectFile(3) ) self.app.connect( self.ui.merge, SIGNAL("clicked()"), self.merge ) self.app.connect( self.ui.remerge, SIGNAL("clicked()"), self.remerge ) self.app.connect( self.ui.translate, SIGNAL("clicked()"), self.translate ) self.app.connect( self.ui.cancel, SIGNAL("clicked()"), sys.exit ) self.merged = False self.translated = False self.remerged = False self.translateOne = False
class UIResponse(): def __init__(self): self.app = QApplication(sys.argv) self.window = QDialog() self.ui = Ui_Dialog() self.ui.setupUi(self.window) self.status = self.ui.status self.status.setText('Status:'+'\t Select Input Images to Proceed.') self.app.connect( self.ui.imgbtn1, SIGNAL("clicked()"), lambda: self.selectFile(1) ) self.app.connect( self.ui.imgbtn2, SIGNAL("clicked()"), lambda: self.selectFile(2) ) self.app.connect( self.ui.btnoutput, SIGNAL("clicked()"), lambda: self.selectFile(3) ) self.app.connect( self.ui.merge, SIGNAL("clicked()"), self.merge ) self.app.connect( self.ui.remerge, SIGNAL("clicked()"), self.remerge ) self.app.connect( self.ui.translate, SIGNAL("clicked()"), self.translate ) self.app.connect( self.ui.cancel, SIGNAL("clicked()"), sys.exit ) self.merged = False self.translated = False self.remerged = False self.translateOne = False def selectFile(self, n): if n==1 or n==2: path = QFileDialog.getOpenFileName(self.window, 'Select Image', '/home/', selectedFilter='*.tif') else: path = QFileDialog.getSaveFileName(self.window, 'Select Image', '/home/', selectedFilter='*.tif') if path is not None: if n==1: self.ui.img1.setText(path) self.image1 = str(path) self.status.setText('Status:'+'\t Image1 Selected.') elif n==2: self.ui.img2.setText(path) self.image2 = str(path) self.status.setText('Status:'+'\t Image2 Selected.') else: self.ui.output.setText(path) self.output = str(path) self.status.setText('Status:'+'\t Output Image Selected.') def merge(self): t = mergeImages( self.image1, self.image2, self.output ) self.status.setText('Status:'+'\t Merging Completed in '+str(t)+' seconds.') self.merged = True def remerge(self): if self.merged is not True: self.status.setText('Status:'+'\t Merge and translate before remerging the image.') if self.translateOne is True: t = mergeImages( 'temp.tif', self.image2, self.output ) else: t = mergeImages( self.image1, 'temp.tif' , self.output ) self.status.setText('Status:'+'\t Re-Merging Completed in '+str(t)+' seconds.') os.remove('temp.tif') def translate(self): if self.merged is not True: self.status.setText('Status:'+'\t Merge before translating the image.') os.remove(self.output) option = self.selectImage.isChecked() t_X = self.translateX.value() t_Y = self.translateY.value() if option is True: t = translateImage( self.image1, t_X, t_Y ) self.translateOne = True else: t = translateImage( self.image2, t_X, t_Y ) self.status.setText('Status:'+'\t Translation Completed in '+str(t)+' seconds.') self.translated = True def display(self): self.window.show() sys.exit(self.app.exec_())