towards least_square_trf

This commit is contained in:
2022-08-29 17:38:40 +02:00
parent 9f32dd657c
commit 011eaa3e31
3 changed files with 144 additions and 20 deletions

View File

@@ -175,7 +175,7 @@ class WndFixTarget(QWidget):
self._cbType=cb=QComboBox()
#cb.addItem("C")
#cb.addItem("C++")
cb.addItems(["Fiducial", "FixTarget(12.5x12.5)", "FixTarget(23.0x23.0)", "FixTarget(<param>)", "Grid(<param>)"])
#cb.addItems(["Fiducial", "FixTarget(12.5x12.5)", "FixTarget(23.0x23.0)", "FixTarget(<param>)", "Grid(<param>)"])
#cb.currentIndexChanged.connect(self.selectionchange)
@@ -191,6 +191,9 @@ class WndFixTarget(QWidget):
self._btnDelAll=btnDelAll = QPushButton("del all")
#btnDelAll.clicked.connect(lambda x: _log.warning("TODO: IMPLEMENT") )
bl.addWidget(btnDelAll, 2, 2,1,1)
self._btnFit=btnFit = QPushButton("fit with fiducials")
#btnDelAll.clicked.connect(lambda x: _log.warning("TODO: IMPLEMENT") )
bl.addWidget(btnFit, 2, 1,1,1)
@@ -267,21 +270,25 @@ class WndFixTarget(QWidget):
data_folder=''
if filename is None:
filename, _ = QFileDialog.getOpenFileName(self,"Load data file",None,
"json files (*.json);;yaml files (*.yaml);;pickle files (*.pkl);;text files (*.txt);;all files (*)",)
"json files (*.json);;all files (*)",)
#"json files (*.json);;yaml files (*.yaml);;pickle files (*.pkl);;text files (*.txt);;all files (*)",)
if not filename: # cancelled dialog
return
ext=filename.rsplit('.',1)[1].lower()
if ext=='pkl':
with open(filename, 'rb') as f:
data=pickle.load(f)
if ext=='yaml':
with open(filename, 'r') as f:
data = yaml.load(f)
elif ext=='json':
if ext=='json':
with open(filename, 'r') as f:
data=json.load(f,object_hook=MyJsonDecoder)
print(data)
else:
raise(IOError('unsupported file type'))
#elif ext=='yaml':
# with open(filename, 'r') as f:
# data = yaml.load(f)
#elif ext=='pkl':
# with open(filename, 'rb') as f:
# data=pickle.load(f)
self._data=data
self._tree.setData(data)
try:
@@ -354,7 +361,8 @@ class WndFixTarget(QWidget):
data_folder=''
if filename is None:
filename, _ = QFileDialog.getSaveFileName(self,"Save data file",data_folder,
"json files (*.json);;yaml files (*.yaml);;pickle files (*.pkl);;text files (*.txt);;all files (*)",)
"json files (*.json);;all files (*)",)
#"json files (*.json);;yaml files (*.yaml);;pickle files (*.pkl);;text files (*.txt);;all files (*)",)
if not filename:
return
@@ -365,16 +373,18 @@ class WndFixTarget(QWidget):
#df.to_csv(filename, float_format="%.6f")
#import numpy as np
ext=filename.rsplit('.',1)[1].lower()
if ext=='pkl':
with open(filename, 'wb') as f:
pickle.dump(self._data, f)
elif ext=='yaml':
with open(filename, 'w') as f:
yaml.dump(self._data, f)
elif ext=='json':
if ext=='json':
with open(filename, 'w') as f:
json.dump(self._data, f,cls=MyJsonEncoder, indent=2)#separators=(',', ':')
print(self._data)
else:
raise(IOError('unsupported file type'))
#elif ext=='yaml':
# with open(filename, 'w') as f:
# yaml.dump(self._data, f)
#elif ext=='pkl':
# with open(filename, 'wb') as f:
# pickle.dump(self._data, f)
#print(self._data)
def delete_selected(self):
row = self._current_row
@@ -729,7 +739,7 @@ void itemSelectionChanged()
if __name__ == "__main__":
import sys
class Monster(yaml.YAMLObject):
class Monster:
yaml_tag = u'!Monster'
def __init__(self, name, hp, ac, attacks):
self.name = name