Basic Tracking done

This commit is contained in:
2025-05-05 17:52:45 +02:00
parent 93527fc7e5
commit b4c25511d1
10 changed files with 100017 additions and 278 deletions

View File

@@ -1,27 +1,20 @@
import sys
#import re
#import numpy as np
#import copy
#import os
#import json
import json
from datetime import datetime
import time
#from shutil import copyfile
#from os.path import isfile, join
from PyQt5 import QtWidgets,QtGui
from PyQt5.uic import loadUiType
#from PyQt5.QtGui import QPixmap, QTransform
#from PyQt5.QtWidgets import QMessageBox
from ui.OpticsToolsGui import Ui_OpticsGUI
from OpticsPlot import OpticsPlot
from OpticsModel import Model
from OpticsMachine import Machine
from reference import ReferenceManager
from sandbox import Sandbox
class OpticsTools(QtWidgets.QMainWindow, Ui_OpticsGUI):
def __init__(self,phase=0):
def __init__(self,phase=0, office = False):
super(OpticsTools, self).__init__()
self.setupUi(self)
@@ -34,16 +27,51 @@ class OpticsTools(QtWidgets.QMainWindow, Ui_OpticsGUI):
# initialize online model
self.model = Model(phase=phase,parent=self)
# if phase == 0:
# self.machine = Machine()
# else:
# self.machine = None
if phase == 0 and office == False:
self.machine = Machine()
else:
self.machine = None
self.reference = ReferenceManager(parent = self)
self.sandbox = Sandbox(parent = self, machine = self.machine)
self.loadSettingsdirect("/sf/data/applications/BD-OpticsTools/reference/settings/ReferenceSetting.json")
# events handling
self.actionOpen_2.triggered.connect(self.loadSettings)
self.actionSave.triggered.connect(self.saveSettings)
def closeEvent(self, event):
self.plot.close()
event.accept()
def saveSettings(self):
options = QtWidgets.QFileDialog.Options()
options |= QtWidgets.QFileDialog.DontUseNativeDialog
fileName, _ = QtWidgets.QFileDialog.getSaveFileName(self, "Save Settings",
"/sf/data/applications/BD-OpticsTools/saved_settings/newSetting.json",
"Json Files (*.json)", options=options)
if not fileName:
return
settings=self.model.getSettings()
with open(fileName, 'w', encoding='utf-8') as f:
json.dump(settings, f, ensure_ascii=False, indent=4)
def loadSettings(self):
options = QtWidgets.QFileDialog.Options()
options |= QtWidgets.QFileDialog.DontUseNativeDialog
fileName, _ = QtWidgets.QFileDialog.getOpenFileName(self, "Open Settings",
"/sf/data/applications/BD-OpticsTools/saved_settings/newSetting.json",
"Json Files (*.json)", options=options)
if not fileName:
return
self.loadSettingsdirect(fileName)
def loadSettingsdirect(self,fileName):
with open(fileName, 'r', encoding='utf-8') as f:
settings = json.load(f)
self.model.loadSettings(settings)
# --------------------------------
# Main routine
@@ -55,6 +83,6 @@ if __name__ == '__main__':
arg=int(sys.argv[1])
else:
arg=0
main = OpticsTools()
main = OpticsTools(phase = 0 , office = True)
main.show()
sys.exit(app.exec_())