def __init__(self, **keywords): """ 2008-10-08 simplified further by moving db-common lines to ElixirDB 2008-07-09 """ from ProcessOptions import ProcessOptions ProcessOptions.process_function_arguments(keywords, self.option_default_dict, error_doc=self.__doc__, class_to_have_attr=self) self.setup_engine(metadata=__metadata__, session=__session__, entities=entities)
def __init__(self, parent=None, tiffSequence=None, cropL=None): PyQt4.QtGui.QMainWindow.__init__(self, parent=parent) self.setupUi(self) #l = dir(self.CurrentFrameSlider) #for i in l: # print(i) self.RoboMainWnd = parent hlay = PyQt4.QtGui.QHBoxLayout(self.ImageFrameWidget) imWidget = ImageDisplayWidget(self) self.imWidget = imWidget hlay.addWidget(imWidget) self.imWidget.createShaders() if tiffSequence is not None: self.tiffSequence = tiffSequence try: img2 = tiffSequence.getFramesInterval(1, 10) img = img2.mean(2) except: img = tiffSequence.getFrame(0) else: self.close() self.connect(self.imWidget, SIGNAL("roiAdded(long)"), self.roiAdded) self.connect(self.imWidget, SIGNAL("roiRecomputeNeeded(bool)"), self.roiAdded) self.imWidget.computeRoiPointMaps = False self.frameHeight = img.shape[ 0] # int(ceil(sqrt(img.shape[0]**2 + img.shape[1]**2))) self.frameWidth = img.shape[1] #self.frameHeight self.optionsDlg = ProcessOptions(self) self.roiMonitor = False self.imWidget.ImageZoom = 0.3 self.imWidget.ImageZoomSteps = -5.4 if cropL is not None: a, b, c, d = cropL roi = Roi() roi.addPoint(a, c) roi.addPoint(b, c) roi.addPoint(b, d) roi.addPoint(a, d) self.imWidget.addRoi(roi, False) self.FrameImage, self.FrameData = self.loadImageGray(img) self.updateDisplay() self.show()
def __init__(self, **keywords): """ 2008-07-29 """ from ProcessOptions import ProcessOptions self.ad = ProcessOptions.process_function_arguments(keywords, self.option_default_dict, error_doc=self.__doc__, \ class_to_have_attr=self)
def __init__(self, **keywords): """ 2008-08-29 """ from ProcessOptions import ProcessOptions self.ad = ProcessOptions.process_function_arguments( keywords, self.option_default_dict, error_doc=self.__doc__, class_to_have_attr=self )
class PreviewDisplay(Ui_PreviewDisplayWnd, PyQt4.QtGui.QMainWindow): def __init__(self, parent=None, tiffSequence=None, cropL=None): PyQt4.QtGui.QMainWindow.__init__(self, parent=parent) self.setupUi(self) #l = dir(self.CurrentFrameSlider) #for i in l: # print(i) self.RoboMainWnd = parent hlay = PyQt4.QtGui.QHBoxLayout(self.ImageFrameWidget) imWidget = ImageDisplayWidget(self) self.imWidget = imWidget hlay.addWidget(imWidget) self.imWidget.createShaders() if tiffSequence is not None: self.tiffSequence = tiffSequence try: img2 = tiffSequence.getFramesInterval(1, 10) img = img2.mean(2) except: img = tiffSequence.getFrame(0) else: self.close() self.connect(self.imWidget, SIGNAL("roiAdded(long)"), self.roiAdded) self.connect(self.imWidget, SIGNAL("roiRecomputeNeeded(bool)"), self.roiAdded) self.imWidget.computeRoiPointMaps = False self.frameHeight = img.shape[ 0] # int(ceil(sqrt(img.shape[0]**2 + img.shape[1]**2))) self.frameWidth = img.shape[1] #self.frameHeight self.optionsDlg = ProcessOptions(self) self.roiMonitor = False self.imWidget.ImageZoom = 0.3 self.imWidget.ImageZoomSteps = -5.4 if cropL is not None: a, b, c, d = cropL roi = Roi() roi.addPoint(a, c) roi.addPoint(b, c) roi.addPoint(b, d) roi.addPoint(a, d) self.imWidget.addRoi(roi, False) self.FrameImage, self.FrameData = self.loadImageGray(img) self.updateDisplay() self.show() def loadImageGray(self, im, needQImage=True): if im is None: return None # if self.displayParameters.autoAdjust: # self.changeDisplayGrayMin(im.min()) # self.changeDisplayGrayMax(im.max()) #if viewType == 0: tex = self.imWidget.processData(list([im]), list([0]), list([list([im.min(), im.max()])])) return tex, im #else: # return None, None def updateDisplay(self): if self.FrameImage == None: return h, w = self.frameHeight, self.frameWidth self.imWidget.currentDrawData["tex"] = self.FrameImage self.imWidget.currentDrawData["width"] = w self.imWidget.currentDrawData["height"] = h self.imWidget.updateGL() def roiAdded(self): if len(self.imWidget.rois) > 1: self.imWidget.deleteRoi(0) rf = self.imWidget.rois[0].boundingRect() [a, b, c, d] = [ rf.left(), rf.left() + rf.width(), rf.top(), rf.top() + rf.height() ] # print [a,b,c,d] self.emit(SIGNAL("roiChanged(int, int, int, int)"), a, b, c, d) def closeEvent(self, event): # do stuff self.optionsDlg.close() event.accept() # let the window close
def closeLogF(self): """ 2012.11.18 """ if getattr(self, 'logF', None): self.logF.close() def sessionRollback(self, session=None): """ 2013.04.05 wrap try...except around it because sometimes db connection is gone halfway through and it causes program to exit without proper cleanup """ try: session.rollback() except: sys.stderr.write('Except type: %s\n' % repr(sys.exc_info())) import traceback traceback.print_exc() def run(self): pass if __name__ == '__main__': main_class = AbstractDBInteractingClass po = ProcessOptions(sys.argv, main_class.option_default_dict, error_doc=main_class.__doc__) instance = main_class(**po.long_option2value) instance.run()