def __init__(self,cam=None,confpath=None,**kwds): self.isConnected=False super(ROPPER, self).__init__() p = pathlib.Path(__file__) sepa=os.sep self.conf=QtCore.QSettings(confpath, QtCore.QSettings.IniFormat) self.icon=str(p.parent) + sepa+'icons' +sepa self.configMotorPath="./fichiersConfig/" self.configMotName='configMoteurRSAI.ini' self.confMotorPath=self.configMotorPath+self.configMotName self.confMot=QtCore.QSettings(str(p.parent / self.confMotorPath), QtCore.QSettings.IniFormat) self.confpath=confpath self.kwds=kwds self.kwds["conf"]=self.conf self.kwds["confMot"]=self.confMot self.setWindowIcon(QIcon(self.icon+'LOA.png')) self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) self.iconPlay=pathlib.Path(self.icon+'Play.svg') self.iconPlay=pathlib.PurePosixPath(self.iconPlay) self.iconStop=pathlib.Path(self.icon+'Stop.svg') self.iconStop=pathlib.PurePosixPath(self.iconStop) self.rot=0 # if camID==None: # si None on prend la première... # camID=0 # if camID==0: # self.cam="cam0" # if camID==1: # self.cam="cam1" # if camID==2: # self.cam="cam1" # self.camID=int(camID) # print(self.camID) self.cam=cam if self.cam==None: self.cam="camDefault" self.nbcam=self.cam self.ccdName=self.conf.value(self.nbcam+"/nameCDD") self.kwds["name"]=self.nbcam self.initCam() self.setup() self.itrig=0 self.actionButton() self.camIsRunnig=False
def __init__(self, cam='choose', confFile='confCamera.ini', motLat='camLat', motorTypeName0='RSAI', motVert='camVert', motorTypeName1='RSAI', configMotorPath="./fichiersConfig/", **kwds): super(CAMERAMOTOR, self).__init__() self.cam = cam p = pathlib.Path(__file__) self.nbcam = cam self.kwds = kwds if "affLight" in kwds: self.light = kwds["affLight"] else: self.light = True if "multi" in kwds: self.multi = kwds["multi"] else: self.multi = False # self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) # qdarkstyle : black windows style if "confPath" in kwds: self.conf = QtCore.QSettings(kwds["confPath"], QtCore.QSettings.IniFormat) else: self.conf = QtCore.QSettings(str( p.parent / confFile), QtCore.QSettings.IniFormat) # ini file # self.confPath=str(p.parent / confFile) # ini file path if "conf" in kwds: self.conf = kwds["conf"] self.kwds["conf"] = self.conf sepa = os.sep self.configPathMotor = configMotorPath #str(p.parent)+"/fichiersConfig/" self.configMotName = 'configMoteurRSAI.ini' self.confMotorPath = self.configPathMotor + self.configMotName self.confMot = QtCore.QSettings(str(p.parent / self.confMotorPath), QtCore.QSettings.IniFormat) self.icon = str(p.parent) + sepa + 'icons' + sepa self.setWindowIcon(QIcon(self.icon + 'LOA.png')) self.setup() self.actionButton()
def __init__(self,conf=None,name='VISU'): super().__init__() p = pathlib.Path(__file__) if conf==None: self.conf=QtCore.QSettings(str(p.parent / 'confVisu.ini'), QtCore.QSettings.IniFormat) print(str(p.parent)) else : self.conf=conf self.name=name sepa=os.sep self.icon=str(p.parent) + sepa+'icons' +sepa self.isWinOpen=False self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) self.setWindowTitle('Preferences visualisation') self.setWindowIcon(QIcon(self.icon+'LOA.png')) self.stepX=float(self.conf.value(self.name+"/stepX")) self.stepY=float(self.conf.value(self.name+"/stepY")) self.server=str(self.conf.value(self.name+"/server")) self.serverPort=str(self.conf.value(self.name+"/serverPort")) self.rotateValue=int(self.conf.value(self.name+"/rotation")) self.setup() self.actionButton()
def __init__(self, symbol=True, title='Plot3D', conf=None, name='VISU'): super(GRAPH3D, self).__init__() p = pathlib.Path(__file__) sepa = os.sep self.title = title self.icon = str(p.parent) + sepa + 'icons' + sepa self.left = 100 self.top = 30 self.width = 800 self.height = 800 self.setGeometry(self.left, self.top, self.width, self.height) self.isWinOpen = False self.symbol = symbol self.path = None self.axisOn = False if conf == None: self.conf = QtCore.QSettings(str(p.parent / 'confVisu.ini'), QtCore.QSettings.IniFormat) else: self.conf = conf self.name = name self.setup() self.setWindowTitle(self.title) self.setWindowIcon(QIcon(self.icon + 'LOA.png')) self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())
def __init__(self, conf=None, name='VISU'): super().__init__() p = pathlib.Path(__file__) self.data1 = [] self.data2 = [] if conf == None: self.conf = QtCore.QSettings(str(p.parent / 'confVisu.ini'), QtCore.QSettings.IniFormat) else: self.conf = conf self.name = name sepa = os.sep self.icon = str(p.parent) + sepa + 'icons' + sepa self.isWinOpen = False self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) self.setWindowTitle('Math operations') self.setWindowIcon(QIcon(self.icon + 'LOA.png')) self.path = self.conf.value(self.name + "/path") self.setup() self.actionButton()
def read_settings(self): """Read settings using QSettings. This method has to be called after all signals are connected to gurantee accordance among the values.""" settings = QtCore.QSettings() settings.beginGroup("processingconfig") triggers_processed = settings.value("triggers_processed", 1, type=int) self.triggers_processed.setValue(triggers_processed) min_samples = settings.value("min_samples", 3, type=int) self.min_samples.setValue(min_samples) epsilon = settings.value("epsilon", 2.0, type=float) self.epsilon.setValue(epsilon) tot_threshold = settings.value("tot_threshold", 0, type=int) self.tot_threshold.setValue(tot_threshold) number_processes = settings.value("number_processes", 4, type=str) self.number_processes.setText(number_processes) self.number_processes.returnPressed.emit() event_window = settings.value("mineventwindow", 0.0, type=float), settings.value( "maxeventwindow", 10_000 / EVENT_WINDOW_FACTOR, type=float) self.init_event_window(event_window) settings.endGroup()
def __init__(self,title='Full Screen',conf=None,nbcam='cam1'): super(FULLSCREEN, self).__init__() p = pathlib.Path(__file__) sepa=os.sep self.nbcam=nbcam self.title=title self.icon=str(p.parent) + sepa+'icons' +sepa self.isWinOpen=False self.setWindowTitle(self.title) self.setWindowIcon(QIcon(self.icon+'LOA.png')) self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) self.vLine = pg.InfiniteLine(angle=90, movable=False,pen='y') self.hLine = pg.InfiniteLine(angle=0, movable=False,pen='y') self.cutData=[] self.bloqq=1 if conf==None: self.confCCD=QtCore.QSettings(str(p.parent / 'confImgSource.ini'), QtCore.QSettings.IniFormat) else : self.confCCD=conf self.setup()
def __init__(self, conf=None, name='VISU'): super().__init__() p = pathlib.Path(__file__) if conf == None: self.conf = QtCore.QSettings(str(p.parent / 'confVisu.ini'), QtCore.QSettings.IniFormat) else: self.conf = conf self.name = name sepa = os.sep self.icon = str(p.parent) + sepa + 'icons' + sepa self.isWinOpen = False self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) self.setWindowTitle('Options Auto Save & visualisation') self.setWindowIcon(QIcon(self.icon + 'LOA.png')) # self.stepX=float(self.conf.value(self.name+"/stepX")) # self.stepY=float(self.conf.value(self.name+"/stepY")) self.shoot = int(self.conf.value(self.name + "/tirNumber")) self.setup() self.pathAutoSave = self.conf.value(self.name + "/path") self.pathBg = self.conf.value(self.name + "/pathBg") self.actionButton() self.dataBgExist = False self.rotateValue = 0
def __init__(self, parent=None, conf=None, name='VISU', confMot=None, **kwds): super().__init__() self.parent = parent self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) p = pathlib.Path(__file__) sepa = os.sep if conf == None: self.conf = QtCore.QSettings(str(p.parent / 'confVisu.ini'), QtCore.QSettings.IniFormat) else: self.conf = conf self.confMot = confMot self.name = name self.shoot = 0 self.nbHistory = 20 # maximum file to be displayed in history log self.icon = str(p.parent) + sepa + 'icons' + sepa self.isWinOpen = False self.setup() self.setWindowTitle('History') self.nomFichier = '' self.path = self.conf.value(self.name + "/path") self.labelsVert = [] self.setWindowIcon(QIcon(self.icon + 'LOA.png'))
def closeEvent(self,event): print("closing") settings = QtCore.QSettings("foo","foo") if self.timetrace_filename: settings.setValue("filename", self.timetrace_filename) if self.parameters: self.save_state(self.params_filename, self.parameters.saveState())
def __init__(self, parent=None): super(ThreadRunAuto, self).__init__(parent) self.stopRunAcq = False self.config = QtCore.QSettings('confSave.ini', QtCore.QSettings.IniFormat) self.nbShoot = 0 self.parent = parent self.sepa = os.sep
def __init__(self,conf=None,name='VISU'): super().__init__() self.name=name p = pathlib.Path(__file__) if conf==None: self.conf=QtCore.QSettings(str(p.parent / 'confVisu.ini'), QtCore.QSettings.IniFormat) else : self.conf=conf sepa=os.sep self.icon=str(p.parent) + sepa+'icons' +sepa self.isWinOpen=False self.setWindowTitle('Encercled') self.setWindowIcon(QIcon(self.icon+'LOA.png')) self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) self.left=100 self.top=30 self.width=800 self.height=800 self.setGeometry(self.left,self.top,self.width,self.height) self.dimx=1200 self.dimy=900 self.bloqq=1 self.xec=int(self.conf.value(self.name+"/xec")) self.yec=int(self.conf.value(self.name+"/yec")) self.r1x=int(self.conf.value(self.name+"/r1x")) self.r1y=int(self.conf.value(self.name+"/r1y")) self.r2=int(self.conf.value(self.name+"/r2x")) self.r2=int(self.conf.value(self.name+"/r2y")) self.kE=0 # variable pour la courbe E fct du nb shoot self.Xec=[] self.Yec=[] self.fwhmX=100 self.fwhmY=100 self.setWindowIcon(QIcon('./icons/LOA.png')) self.E = [] #self.E=np.array([2,3,5]) self.Xec=[] self.Yec=[] # Create x and y indices x = np.arange(0,self.dimx) y = np.arange(0,self.dimy) y,x = np.meshgrid(y, x) self.data=(40*np.random.rand(self.dimx,self.dimy)).round() self.setup() self.ActionButton() self.Display(self.data)
def __read_settings(self): settings = QtCore.QSettings() settings.beginGroup("acqconfig") path = settings.value("path") self.path_name.setText(path) prefix = settings.value("prefix") self.file_prefix.setText(prefix) config_file = settings.value("sophyconfig") self.sophy_config.setText(config_file) settings.endGroup()
def __init__(self, parent = None): super().__init__() self.params_filename = "params.dat" self.loaded_data = None self.parameters = None self.setupUi() self.setupParameterTree() #self.timetrace_filename = "" settings = QtCore.QSettings("foo","foo") self.timetrace_filename = settings.value('filename', type=str)#.toString() if self.timetrace_filename: self.load_data(self.timetrace_filename)
def __init__(self, file=None, path=None, conf=None, name='VISU'): super(SEEFFT, self).__init__() p = pathlib.Path(__file__) self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) if conf == None: conf = QtCore.QSettings(str(p.parent / 'confVisu.ini'), QtCore.QSettings.IniFormat) else: self.conf = conf self.name = name sepa = os.sep self.icon = str(p.parent) + sepa + 'icons' + sepa self.conf = conf self.winEncercled = WINENCERCLED(conf=self.conf, name=self.name) self.winCoupe = GRAPHCUT(symbol=False, conf=self.conf, name=self.name) self.winM = MEAS(conf=self.conf, name=self.name) self.winOpt = OPTION(conf=self.conf, name=self.name) self.nomFichier = '' self.path = path self.setWindowTitle('FTT') self.setup() self.shortcut() self.actionButton() self.activateWindow() self.raise_() self.showNormal() self.filter = 'origin' self.ite = None self.setWindowIcon(QIcon(self.icon + 'LOA.png')) if file == None: self.dimy = 960 self.dimx = 1240 # Create x and y index self.x = np.arange(0, self.dimx) self.y = np.arange(0, self.dimy) self.y, self.x = np.meshgrid(self.y, self.x) self.data = (50 * np.random.rand(self.dimx, self.dimy)).round() + 150 else: if path == None: self.path = self.conf.value(self.name + "/path") self.OpenF(fileOpen=self.path + '/' + file) self.bloqq = 1
def __init__(self, parent=None): super(MyWindow, self).__init__(parent) # load GUI from .ui file (created in QtDesigner) self.ui = uic.loadUi('GUI\\Beamstabilization_V2.ui', self) # Variables used for Tracking Initialization Status and GUI Choices self.status = "StandBy" self.ui.setWindowTitle("Beamstabilization") self.log = None self.config = False self.mirror = None self.b_align = False self.newStart = 0 self.blog = 0 self.b_centerLine = 1 # read last reference position self.Save = saveClass(config) if self.Save.readLastConfig(calcDict): self.config = True self.correct = Correction() # Initialize GUI plots and images self.init_ui() self.Setting = GUISettings() self.Setting.guirestore( self.ui, QtCore.QSettings('./GUI/saved.ini', QtCore.QSettings.IniFormat)) # Connect Buttons with Function calls self.readLastReferencePosition() self.btn_Exit.clicked.connect(self.close) self.btn_Start.clicked.connect(self.startAligning) self.btn_setCenter.clicked.connect(self.newCenter) self.btn_showCenter.clicked.connect(self.displayCenterLine) self.line_thresholdPercentage.returnPressed.connect( self.getThresholdPercentage) self.btn_moveMirror.clicked.connect(self.moveSingleMirror) self.btn_FitValue.toggled.connect(self.fitCenter) # show GUI self.show() # start Main function self.Main()
def __init__(self, cam='camDefault', **kwds): super(GUPPY, self).__init__() self.nbcam = cam self.itrig = 'off' if "conf" in kwds: self.conf = kwds["conf"] else: self.conf = QtCore.QSettings('confCamera.ini', QtCore.QSettings.IniFormat) self.camParameter = dict() self.camIsRunnig = False self.nbShot = 1 self.items = cameraIds
def __init__(self,symbol=None,title='Plot',conf=None,name='VISU',meas=False,pen='w',symbolPen='w',label=None,labelY=None,clearPlot=True): super().__init__() p = pathlib.Path(__file__) sepa=os.sep self.title=title self.icon=str(p.parent) + sepa+'icons' +sepa self.isWinOpen=False self.dimx=10 self.bloqq=0 self.xc=0 self.measWidget=WINDOWMEAS() self.meas=meas self.cutData=np.zeros(self.dimx) self.path=None self.axisOn=False if conf==None: self.conf=QtCore.QSettings(str(p.parent / 'confVisu.ini'), QtCore.QSettings.IniFormat) else : self.conf=conf self.name=name self.setWindowTitle(self.title) self.setWindowIcon(QIcon(self.icon+'LOA.png')) self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) self.symbol=symbol self.axis=None self.label=label self.labelY=labelY self.symbolPen=symbolPen self.symbolBrush='w' self.ligneWidth=1 self.color='w' self.plotRectZoomEtat="Zoom" self.pen=pen self.clearPlot=clearPlot self.xLog=False self.yLog=False self.fitA="" self.fitMu="" self.fitSigma="" self.widgetRange=WINDOWRANGE() self.setup() self.actionButton()
def __init__(self, conf=None, name='VISU'): super().__init__() self.name = name p = pathlib.Path(__file__) if conf == None: self.conf = QtCore.QSettings(str(p.parent / 'confVisu.ini'), QtCore.QSettings.IniFormat) else: self.conf = conf sepa = os.sep self.icon = str(p.parent) + sepa + 'icons' + sepa self.confCCD = conf self.isWinOpen = False self.setWindowTitle('FFT') self.setWindowIcon(QIcon(self.icon + 'LOA.png')) self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) self.setup()
def closeEvent(self, event): """ Function for exiting the application - GUI settings are stored - open files are closed """ reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes, QMessageBox.No) if reply == QMessageBox.Yes: self.timer.stop() if self.log: self.log.closeFile() self.Setting.guisave(self.ui, QtCore.QSettings('./GUI/saved.ini', QtCore.QSettings.IniFormat)) sys.exit() event.accept() else: event.ignore()
def __init__(self,cam='camDefault',**kwds): super(PIXELINK,self).__init__() self.nbcam=cam self.itrig='off' if "conf" in kwds : self.conf=kwds["conf"] else : self.conf=QtCore.QSettings('confCamera.ini', QtCore.QSettings.IniFormat) if "multi"in kwds : self.multi=kwds["multi"] else: self.multi=False self.camParameter=dict() self.camIsRunnig=False self.nbShot=1 self.isConnected=False
def __init__(self, cam='camDefault', conf=None, **kwds): ''' Parameters ---------- cam : TYPE, optional DESCRIPTION. cam='None' : Choose a camera in a list cam='camDefault : the first camera is chossen cam='cam1'"' : Take the camId in the confCamera.ini file The default is 'camDefault'. conf : TYPE, optional DESCRIPTION.a QtCore.QSettings objet : conf=QtCore.QSettings('file.ini', QtCore.QSettings.IniFormat) where file is the ini file where camera parameters are saved usefull to set init parameters (expTime and gain) The default is None. Returns ------- None. ''' super(IMGSOURCE, self).__init__() p = pathlib.Path(__file__) self.nbcam = cam self.itrig = 'off' print('imgsource') if conf == None: self.conf = QtCore.QSettings('confCamera.ini', QtCore.QSettings.IniFormat) else: self.conf = conf if "multi" in kwds: self.multi = kwds["multi"] else: self.multi = False self.camParameter = dict() self.camIsRunnig = False self.nbShot = 1 self.cam0 = Camera
def closeEvent(self, event): """ Function executed at exiting the application: - stop the measurement timer - close the logFile if one was produced - save the state of the GUI entries """ reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes, QMessageBox.No) if reply == QMessageBox.Yes: self.timer.stop() if self.log: self.log.closeFile() self.Setting.guisave( self.ui, QtCore.QSettings('./GUI/saved.ini', QtCore.QSettings.IniFormat)) sys.exit() event.accept() else: event.ignore()
def __init__(self,camID=None,confpath=None): self.isConnected=False super(ROPPER, self).__init__() p = pathlib.Path(__file__) self.conf=QtCore.QSettings(str(p.parent / 'confCCD.ini'), QtCore.QSettings.IniFormat) sepa=os.sep self.icon=str(p.parent) + sepa+'icons' +sepa self.confpath=confpath self.setWindowIcon(QIcon(self.icon+'LOA.png')) self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) self.iconPlay=pathlib.Path(self.icon+'Play.svg') self.iconPlay=pathlib.PurePosixPath(self.iconPlay) self.iconStop=pathlib.Path(self.icon+'Stop.svg') self.iconStop=pathlib.PurePosixPath(self.iconStop) self.rot=0 if camID==None: # si None on prend la première... camID=0 if camID==0: self.cam="cam0" if camID==1: self.cam="cam1" if camID==2: self.cam="cam1" self.camID=int(camID) # print(self.camID) self.nbcam=self.cam self.ccdName=self.conf.value(self.nbcam+"/nameCDD") self.initCam() self.setup() self.itrig=0 self.actionButton() self.camIsRunnig=False self.setWindowTitle('Princeton CCD ' +str(self.ccdName)+' v.'+ version)
class Settings: settings = QtCore.QSettings() @classmethod def addRecentFile(cls, filePath): files = cls.settings.value('RecentFiles') if type(files) is not list: files = [] absolutePath = os.path.join(os.getcwd(), filePath) files = [f for f in files if f['path'] != absolutePath] files.append({ 'time': datetime.datetime.now(), 'path': absolutePath }) cls.settings.setValue('RecentFiles', files) @classmethod def getRecentFiles(cls): files = cls.settings.value('RecentFiles') if type(files) is not list: return [] else: try: files = sorted(files, key=lambda f: f['time'], reverse=True) return [f['path'] for f in files] except TypeError as e: # In case memory on disk got corrupted, reset memory print('Unexpected error on parsing RecentFiles', file=sys.stderr) print(e, file=sys.stderr) cls.clearRecentFiles() return [] @classmethod def clearRecentFiles(cls): cls.settings.setValue('RecentFiles', [])
def __init__(self, cam='camDefault', confVisu=None): super(GUPPY, self).__init__() p = pathlib.Path(__file__) #print (p) self.conf = QtCore.QSettings(str(p.parent / 'confCCD.ini'), QtCore.QSettings.IniFormat) sepa = os.sep self.icon = str(p.parent) + sepa + 'icons' + sepa self.setWindowIcon(QIcon(self.icon + 'LOA.png')) self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) self.iconPlay = self.icon + 'Play.svg' self.iconStop = self.icon + 'Stop.svg' self.iconPlay = pathlib.Path(self.iconPlay) self.iconPlay = pathlib.PurePosixPath(self.iconPlay) self.iconStop = pathlib.Path(self.iconStop) self.iconStop = pathlib.PurePosixPath(self.iconStop) self.confVisu = confVisu self.nbcam = cam self.initCam() self.setup() self.itrig = 0 self.actionButton() self.camIsRunnig = False
def __init__(self, **kwds): super().__init__() p = pathlib.Path(__file__) sepa = os.sep self.icon = str(p.parent) + sepa + 'icons' + sepa self.setWindowIcon(QIcon(self.icon + 'LOA.png')) self.setWindowTitle("Save All Files") self.config = QtCore.QSettings('confSave.ini', QtCore.QSettings.IniFormat) self.waitValue = float(self.config.value("Dossier1" + "/wait")) self.path1 = self.config.value("Dossier1" + "/path") self.pathSave1 = self.config.value("Dossier1" + "/pathSave") self.path2 = self.config.value("Dossier2" + "/path") self.pathSave2 = self.config.value("Dossier2" + "/pathSave") self.path3 = self.config.value("Dossier3" + "/path") self.pathSave3 = self.config.value("Dossier3" + "/pathSave") self.threadSave = ThreadRunAuto(self) self.setup() self.actionButton() self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())
def __init__(self,parent=None,file=None,path=None,**kwds): print('LightThread') super(SEELIGHTTHREAD, self).__init__() self.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) # dark style self.parent=parent version=__version__ p = pathlib.Path(__file__) sepa=os.sep self.icon=str(p.parent) + sepa+'icons' +sepa ## kwds definition: if "confpath"in kwds : self.confpath=kwds["confpath"] self.conf=QtCore.QSettings(self.confpath, QtCore.QSettings.IniFormat) else: self.conf=QtCore.QSettings(str(p.parent / 'confVisu.ini'), QtCore.QSettings.IniFormat) if "name" in kwds: self.name=kwds["name"] else: self.name="VISU" if "meas" in kwds: self.meas=kwds["meas"] else: self.meas="on" if "confMot" in kwds: print('motor accepted') if self.meas=="on": self.confMot=kwds["confoMot"] self.winM=MEAS(confMot=self.confMot,conf=self.conf,name=self.name) else : if self.meas=="on": self.winM=MEAS(self,conf=self.conf,name=self.name) if "aff" in kwds: self.aff=kwds["aff"] else: self.aff="left" if "saveTiff" in kwds: self.tiff=kwds["saveTiff"] else: self.tiff=True self.nomFichier='' self.ite=None self.path=path self.setWindowTitle('Visualization'+' v.'+ version) self.bloqKeyboard=bool((self.conf.value(self.name+"/bloqKeyboard")) ) # block cross by keyboard self.bloqq=1 # block the cross by click on mouse self.setup() self.shortcut() self.actionButton() self.activateWindow() self.raise_() self.showNormal() self.setWindowIcon(QIcon(self.icon+'LOA.png')) def twoD_Gaussian(x,y, amplitude, xo, yo, sigma_x, sigma_y, theta, offset): xo = float(xo) yo = float(yo) a = (np.cos(theta)**2)/(2*sigma_x**2) + (np.sin(theta)**2)/(2*sigma_y**2) b = -(np.sin(2*theta))/(4*sigma_x**2) + (np.sin(2*theta))/(4*sigma_y**2) c = (np.sin(theta)**2)/(2*sigma_x**2) + (np.cos(theta)**2)/(2*sigma_y**2) return offset + amplitude*np.exp( - (a*((x-xo)**2) + 2*b*(x-xo)*(y-yo) + c*((y-yo)**2))) if file==None: # to have a gaussian picture when we start self.dimy=960 self.dimx=1240 # Create x and y index self.x = np.arange(0,self.dimx) self.y = np.arange(0,self.dimy) self.y,self.x = np.meshgrid(self.y, self.x) self.data=twoD_Gaussian(self.x, self.y,450, 800, 600, 40, 40, 0, 10)+(50*np.random.rand(self.dimx,self.dimy)).round() #self.data=(50*np.random.rand(self.dimx,self.dimy)).round() + 150 else: if path==None: self.path=self.conf.value(self.name+"/path") self.data=self.OpenF(fileOpen=self.path+'/'+file) self.Display(self.data)
def __init__(self,parent=None): super().__init__(parent) self.confFrog=QtCore.QSettings('confFrog.ini', QtCore.QSettings.IniFormat) p = pathlib.Path(__file__) sepa=os.sep self.icon=str(p.parent) + sepa+'icons'+sepa self.setWindowIcon(QIcon(self.icon+'LOA.png')) self.left=30 self.top=30 self.width=1200 self.height=750 self.setGeometry(self.left,self.top,self.width,self.height) self.iconPlay=self.icon+'Play.png' self.iconSnap=self.icon+'Snap.png' self.iconStop=self.icon+'Stop.png' self.iconBg=self.icon+'coin.png' self.iconPlay=pathlib.Path(self.iconPlay) self.iconPlay=pathlib.PurePosixPath(self.iconPlay) self.iconStop=pathlib.Path(self.iconStop) self.iconStop=pathlib.PurePosixPath(self.iconStop) self.iconSnap=pathlib.Path(self.iconSnap) self.iconSnap=pathlib.PurePosixPath(self.iconSnap) self.iconBg=pathlib.Path(self.iconBg) self.iconBg=pathlib.PurePosixPath(self.iconBg) self.setWindowIcon(QIcon(self.icon+'LOA.png')) self.setWindowTitle('FROG ') self.motorName="moteurTest"#"Moteur0A" self.motorType='MotorTest'#"A2V" self.configPath="./fichiersConfig/" self.configMotName='configMoteurTest.ini'#'configMoteurA2V.ini' self.confpath=str(p.parent) + sepa # print('confpath',self.confpath) self.bg=0 self.motor=ONEMOTOR(mot0=self.motorName,motorTypeName0=self.motorType,unit=3,jogValue=1) self.motor.startThread2() MOT=self.motor.MOT self.scanWidget=SCAN(MOT=MOT,motor=self.motorName,configMotName=self.configPath+self.configMotName) # for the scan) listdevice=list_devices() ## open device flame spectrometer try : self.spectrometer=Spectrometer(listdevice[0]) sh=int(self.confFrog.value('VISU'+'/shutter')) try: self.spectrometer.integration_time_micros(sh*1000) # en micro except: self.spectrometer.integration_time_micros(100*1000) except : self.spectrometer=[] msg = QMessageBox() msg.setIcon(QMessageBox.Critical) msg.setText("Error connexion Spectrometer") msg.setInformativeText("Try to reconnect the USB or resart the program") msg.setWindowTitle("Spectrometer not connected...") msg.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) msg.exec_() pass print('__________ F R O G __________') print('') print(' Version : ',version) print(" Spectrometer connected @ ",self.spectrometer) self.wavelengths=self.spectrometer.wavelengths() # array Wavelengths of the spectrometer print(" Wavelength : " ,self.wavelengths.min(),self.wavelengths.max()) print(' Motor name: ',self.motorName,' Type: ',self.motorType) print('') self.MatData=[] self.MatFs=[] self.position=0 self.moyenne=1 self.nbShot=1 self.row=0 self.setup() self.actionButton()
def __save_setting(self, key, value): settings = QtCore.QSettings() settings.beginGroup("processingconfig") settings.setValue(key, value) settings.endGroup()