PaIRS-UniNa 0.2.9__cp312-cp312-macosx_11_0_universal2.whl → 0.2.10__cp312-cp312-macosx_11_0_universal2.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- PaIRS_UniNa/Calibration_Tab.py +4 -3
- PaIRS_UniNa/Changes.txt +12 -0
- PaIRS_UniNa/Explorer.py +222 -68
- PaIRS_UniNa/Input_Tab.py +2 -4
- PaIRS_UniNa/Input_Tab_CalVi.py +1 -0
- PaIRS_UniNa/Input_Tab_tools.py +14 -10
- PaIRS_UniNa/PaIRS_pypacks.py +18 -65
- PaIRS_UniNa/Process_Tab.py +19 -15
- PaIRS_UniNa/Process_Tab_Disp.py +8 -1
- PaIRS_UniNa/Saving_tools.py +2 -0
- PaIRS_UniNa/TabTools.py +165 -6
- PaIRS_UniNa/Vis_Tab.py +11 -4
- PaIRS_UniNa/Vis_Tab_CalVi.py +1 -2
- PaIRS_UniNa/_PaIRS_PIV.so +0 -0
- PaIRS_UniNa/__init__.py +3 -3
- PaIRS_UniNa/addwidgets_ps.py +570 -70
- PaIRS_UniNa/gPaIRS.py +60 -17
- PaIRS_UniNa/rqrdpckgs.txt +7 -7
- PaIRS_UniNa/ui_Calibration_Tab.py +3 -3
- PaIRS_UniNa/ui_gPairs.py +8 -8
- PaIRS_UniNa/whatsnew.txt +2 -4
- {pairs_unina-0.2.9.dist-info → pairs_unina-0.2.10.dist-info}/METADATA +7 -14
- {pairs_unina-0.2.9.dist-info → pairs_unina-0.2.10.dist-info}/RECORD +25 -25
- {pairs_unina-0.2.9.dist-info → pairs_unina-0.2.10.dist-info}/WHEEL +0 -0
- {pairs_unina-0.2.9.dist-info → pairs_unina-0.2.10.dist-info}/top_level.txt +0 -0
PaIRS_UniNa/gPaIRS.py
CHANGED
|
@@ -574,17 +574,19 @@ class gPaIRS(QMainWindow):
|
|
|
574
574
|
|
|
575
575
|
self.ui.workspace_icon.setCursor(QCursor(Qt.CursorShape.PointingHandCursor))
|
|
576
576
|
self.ui.workspace_icon.pressed.connect(lambda btn=self.ui.workspace_icon: btn.setStyleSheet("border: none; background: #dcdcdc;"))
|
|
577
|
-
self.ui.workspace_icon.released.connect(lambda btn=self.ui.workspace_icon: btn.setStyleSheet(
|
|
577
|
+
self.ui.workspace_icon.released.connect(lambda btn=self.ui.workspace_icon: btn.setStyleSheet(btn.default_stylesheet))
|
|
578
578
|
pixmap_workspace=QPixmap(icons_path+'workspace.png')
|
|
579
579
|
self.ui.workspace_icon.clicked.connect(lambda: self.warningDialog(self.GPApar.InfoMessage(),pixmap=pixmap_workspace,title='Workspace information'))
|
|
580
580
|
|
|
581
581
|
self.currITEpar=self.TREpar
|
|
582
582
|
self.ui.title_icon.setCursor(QCursor(Qt.CursorShape.PointingHandCursor))
|
|
583
583
|
self.ui.title_icon.pressed.connect(lambda btn=self.ui.title_icon: btn.setStyleSheet("border: none; background: #dcdcdc;"))
|
|
584
|
-
self.ui.title_icon.released.connect(lambda btn=self.ui.title_icon: btn.setStyleSheet(
|
|
584
|
+
self.ui.title_icon.released.connect(lambda btn=self.ui.title_icon: btn.setStyleSheet(btn.default_stylesheet))
|
|
585
585
|
pixmap_workspace=QPixmap(icons_path+'workspace.png')
|
|
586
586
|
self.ui.title_icon.clicked.connect(lambda: self.warningDialog(self.currITEpar.InfoMessage(),pixmap=TreeIcons.pixmaps[self.currITEpar.icon],title=f"{self.currITEpar.basename} information"))
|
|
587
587
|
|
|
588
|
+
setButtonHoverStyle(self.ui.logo,FlagBorder=False,borderRadius=int(self.ui.logo.height()/2))
|
|
589
|
+
|
|
588
590
|
class RCLbar:
|
|
589
591
|
buttons={0: self.ui.button_reset_step,
|
|
590
592
|
1: self.ui.button_step_inherit,
|
|
@@ -606,6 +608,7 @@ class gPaIRS(QMainWindow):
|
|
|
606
608
|
|
|
607
609
|
#------------------------------------- Debug
|
|
608
610
|
self.addDebugMenu()
|
|
611
|
+
self.setMenuStyle()
|
|
609
612
|
self.menuDebug.setFont(self.ui.menuFile.font())
|
|
610
613
|
self.menuDebug.menuAction().setVisible(Flag_DEBUG)
|
|
611
614
|
self.userDebugShortcut = QShortcut(QKeySequence('Shift+Alt+D'), self)
|
|
@@ -854,7 +857,7 @@ class gPaIRS(QMainWindow):
|
|
|
854
857
|
self.ui.Explorer.inheritance=self.inheritance
|
|
855
858
|
|
|
856
859
|
self.brush_icon=QIcon(icons_path+"brush_cursor.png")
|
|
857
|
-
self.w_Vis.ui.icon.addfuncclick['copy_VIS']=lambda: self.copy_link_action(self.w_Vis.ui.name_tab,lambda isl,ima: self.copy_VIS(isl,ima),menuTitle='Copy graphical settings from...',icon=self.brush_icon)
|
|
860
|
+
self.w_Vis.ui.icon.addfuncclick['copy_VIS']=lambda: self.copy_link_action(self.w_Vis.ui.name_tab,lambda isl,ima: self.copy_VIS(isl,ima),menuTitle='Copy graphical settings from...',message='No other process of the same type is available!',icon=self.brush_icon)
|
|
858
861
|
self.w_Vis.ui.icon.setCustomCursor()
|
|
859
862
|
|
|
860
863
|
self.defineTABbridges()
|
|
@@ -876,6 +879,14 @@ class gPaIRS(QMainWindow):
|
|
|
876
879
|
ind[-1]=-1
|
|
877
880
|
self.setTABpars_at(ind)
|
|
878
881
|
|
|
882
|
+
def setMenuStyle(self):
|
|
883
|
+
menu_style = gPaIRS_QMenu_style
|
|
884
|
+
self.ui.menu.setStyleSheet(menu_style)
|
|
885
|
+
self.ui.menuFile.setStyleSheet(menu_style)
|
|
886
|
+
self.ui.menuHelp.setStyleSheet(menu_style)
|
|
887
|
+
self.menuDebug.setStyleSheet(menu_style)
|
|
888
|
+
self.ui.menubar.setStyleSheet(menu_style.replace("QMenu","QMenuBar"))
|
|
889
|
+
|
|
879
890
|
def defineMenuActions(self):
|
|
880
891
|
self.projectTree.button_open_action=self.open_project
|
|
881
892
|
self.projectTree.button_save_action=self.save_project
|
|
@@ -1035,7 +1046,7 @@ class gPaIRS(QMainWindow):
|
|
|
1035
1046
|
ITE:ITEpar=self.ui.Explorer.ITEfromInd(ind)
|
|
1036
1047
|
ITE.ind[-1]=ind_new[-1]
|
|
1037
1048
|
self.ui.Explorer.ITEpar.ind[-1]=ind_new[-1]
|
|
1038
|
-
ITEs:ITEpar=self.ui.Explorer.ITEsfromInd(
|
|
1049
|
+
ITEs:ITEpar=self.ui.Explorer.ITEsfromInd(ind_new)
|
|
1039
1050
|
ITEs[0].modifiedDate=currentTimeString()
|
|
1040
1051
|
ITEs[0].date=f'Modified: {ITE.modifiedDate}'
|
|
1041
1052
|
|
|
@@ -1052,9 +1063,15 @@ class gPaIRS(QMainWindow):
|
|
|
1052
1063
|
self.TREpar.copyfrom(TRE)
|
|
1053
1064
|
self.adjustItemWidgets(ind)
|
|
1054
1065
|
|
|
1055
|
-
self.inheritance(
|
|
1056
|
-
self.IOVinheritance(
|
|
1066
|
+
self.inheritance(ind_new)
|
|
1067
|
+
self.IOVinheritance(ind_new)
|
|
1057
1068
|
self.adjustDependencies(ITE)
|
|
1069
|
+
|
|
1070
|
+
for w in self.tabWidgets[:-1]:
|
|
1071
|
+
w:gPaIRS_Tab
|
|
1072
|
+
w.adjustFromTABparInd(ind_new)
|
|
1073
|
+
w.setTABWarnLabel()
|
|
1074
|
+
self.w_Log.setLogText()
|
|
1058
1075
|
#self.checkFutureProc()
|
|
1059
1076
|
tab.add_TABpar_bridge=add_TABpar_bridge
|
|
1060
1077
|
|
|
@@ -1110,19 +1127,30 @@ class gPaIRS(QMainWindow):
|
|
|
1110
1127
|
focusWidget.setFocus()
|
|
1111
1128
|
tab.setTABpar_bridge=setTABpar_bridge
|
|
1112
1129
|
|
|
1113
|
-
def logBridge(self):
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1130
|
+
def logBridge(self,ind=None):
|
|
1131
|
+
if ind is None:
|
|
1132
|
+
OUT:OUTpar = self.w_Output.TABpar
|
|
1133
|
+
LOG:LOGpar = self.w_Log.TABpar
|
|
1134
|
+
VIS:VISpar = self.w_Vis.TABpar
|
|
1135
|
+
ITE:ITEpar = self.ui.Explorer.ITEpar #self.ui.Explorer.ITEfromTRE(self.TREpar)
|
|
1136
|
+
else:
|
|
1137
|
+
OUT:OUTpar = self.w_Output.TABpar_at(ind)
|
|
1138
|
+
LOG:LOGpar = self.w_Log.TABpar_at(ind)
|
|
1139
|
+
VIS:VISpar = self.w_Vis.TABpar_at(ind)
|
|
1140
|
+
ITE:ITEpar = self.ui.Explorer.ITEfromInd(ind) #self.ui.Explorer.ITEfromTRE(self.TREpar)
|
|
1141
|
+
|
|
1142
|
+
if LOG is None or LOG.FlagNone: return
|
|
1118
1143
|
|
|
1119
1144
|
if ITE.flagRun==0:
|
|
1120
1145
|
warningMessages=[]
|
|
1121
1146
|
errorMessages=[]
|
|
1122
1147
|
for w in self.tabWidgets[:-1]:
|
|
1123
1148
|
w:gPaIRS_Tab
|
|
1124
|
-
|
|
1125
|
-
|
|
1149
|
+
if ind is None:
|
|
1150
|
+
par:TABpar= w.TABpar
|
|
1151
|
+
else:
|
|
1152
|
+
par:TABpar= w.TABpar_at(ind)
|
|
1153
|
+
if w!=self.w_Log and par is not None and not par.FlagNone:
|
|
1126
1154
|
if par.OptionDone==0: errorMessages.append('--- '+w.TABname+' ---\n'+par.warningMessage)
|
|
1127
1155
|
elif par.OptionDone!=1: warningMessages.append('--- '+w.TABname+' ---\n'+par.warningMessage)
|
|
1128
1156
|
|
|
@@ -1791,8 +1819,11 @@ class gPaIRS(QMainWindow):
|
|
|
1791
1819
|
stepList=self.linkableSteps(FlagExcludeLinked=FlagExcludeLinked)
|
|
1792
1820
|
ITE=self.ui.Explorer.ITEpar
|
|
1793
1821
|
if len(stepList)==0:
|
|
1794
|
-
|
|
1822
|
+
show_mouse_tooltip(self,message)
|
|
1795
1823
|
return None
|
|
1824
|
+
|
|
1825
|
+
style=button.styleSheet()
|
|
1826
|
+
button.setStyleSheet("")
|
|
1796
1827
|
menu = QMenu(self)
|
|
1797
1828
|
title_action = QAction(menuTitle, self)
|
|
1798
1829
|
if icon: title_action.setIcon(icon)
|
|
@@ -1804,7 +1835,9 @@ class gPaIRS(QMainWindow):
|
|
|
1804
1835
|
nameItem=' '+key
|
|
1805
1836
|
action:QAction = menu.addAction(TreeIcons.icons[item['icon']], nameItem)
|
|
1806
1837
|
action.triggered.connect(lambda _, name=key: fun(ITE.ind,stepList[name]['ind']))
|
|
1807
|
-
|
|
1838
|
+
menu.exec(QCursor.pos()) #menu.exec(button.mapToGlobal(button.rect().bottomLeft()))
|
|
1839
|
+
button.setStyleSheet(style)
|
|
1840
|
+
return
|
|
1808
1841
|
|
|
1809
1842
|
def button_step_inherit_action(self):
|
|
1810
1843
|
self.copy_link_action(self.ui.button_step_inherit,lambda isl,ima: self.IOVcopy(isl,ima),menuTitle='Copy input/output data from...', message='No process step available!', stepListType=1)
|
|
@@ -2658,8 +2691,8 @@ class gPaIRS(QMainWindow):
|
|
|
2658
2691
|
self.saveCal('_Mod')
|
|
2659
2692
|
if self.w_Vis_CalVi.calibView.calib.FlagCalibration:
|
|
2660
2693
|
self.appendCalibration()
|
|
2661
|
-
#indTree,indItem,ind=self.
|
|
2662
|
-
#self.actualBridge('
|
|
2694
|
+
#indTree,indItem,ind=self.w_Input_CalVi.INPpar.indexes()
|
|
2695
|
+
#self.actualBridge('Input_CalVi',indTree,indItem,ind)
|
|
2663
2696
|
self.initDataAndSetImgFromGui(self.w_Input_CalVi.INPpar,self.w_Process_CalVi.PROpar)
|
|
2664
2697
|
self.w_Vis_CalVi.stopCalVi()
|
|
2665
2698
|
|
|
@@ -2952,6 +2985,7 @@ class gPaIRS(QMainWindow):
|
|
|
2952
2985
|
TABpar_ind.FlagInit=True
|
|
2953
2986
|
else:
|
|
2954
2987
|
TABpar_ind.FlagInit=False
|
|
2988
|
+
self.logBridge(indITE)
|
|
2955
2989
|
return FlagCheck
|
|
2956
2990
|
|
|
2957
2991
|
#*************************************************** Projects
|
|
@@ -3106,6 +3140,9 @@ class gPaIRS(QMainWindow):
|
|
|
3106
3140
|
pri.Coding.blue(f'scrollArea: {a.objectName()}')
|
|
3107
3141
|
scrollAreaValues[a.objectName()]=[a.horizontalScrollBar().value(),a.verticalScrollBar().value()]
|
|
3108
3142
|
self.GPApar.ScrollAreaValues=scrollAreaValues
|
|
3143
|
+
for w in self.tabWidgets[:-1]:
|
|
3144
|
+
w:gPaIRS_Tab
|
|
3145
|
+
self.GPApar.globalVals[w.TABname]=w.syncPrevGlobalFields(FlagSync=False)
|
|
3109
3146
|
return
|
|
3110
3147
|
|
|
3111
3148
|
def setFontPixelSize(self):
|
|
@@ -3241,6 +3278,11 @@ class gPaIRS(QMainWindow):
|
|
|
3241
3278
|
a.horizontalScrollBar().setValue(scrollAreaValues[0])
|
|
3242
3279
|
a.verticalScrollBar().setValue(scrollAreaValues[1])
|
|
3243
3280
|
self.setNumCores()
|
|
3281
|
+
for w in self.tabWidgets[:-1]:
|
|
3282
|
+
w:gPaIRS_Tab
|
|
3283
|
+
if w.TABname in self.GPApar.globalVals:
|
|
3284
|
+
exceptions=self.GPApar.globalExceptions[w.TABname] if w.TABname in self.GPApar.globalExceptions else []
|
|
3285
|
+
w.syncPrevGlobalFields(ref_vals=self.GPApar.globalVals[w.TABname],exceptions=exceptions)
|
|
3244
3286
|
|
|
3245
3287
|
def setNumCores(self):
|
|
3246
3288
|
if self.GPApar.NumCores >NUMTHREADS_MAX:
|
|
@@ -3800,6 +3842,7 @@ class gPaIRS(QMainWindow):
|
|
|
3800
3842
|
|
|
3801
3843
|
def launchPaIRS(flagDebug=False,flagInputDebug=False):
|
|
3802
3844
|
print('\n'+PaIRS_Header+'Starting the interface...')
|
|
3845
|
+
#QApplication.setAttribute(Qt.AA_DontUseNativeMenuBar, True)
|
|
3803
3846
|
app=PaIRSApp.instance()
|
|
3804
3847
|
if not app:app = QApplication(sys.argv)
|
|
3805
3848
|
app.setStyle('Fusion')
|
PaIRS_UniNa/rqrdpckgs.txt
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
scipy 1.14.0 1.16.
|
|
2
|
-
matplotlib 3.9.0 3.10.
|
|
3
|
-
pillow 10.4.0
|
|
4
|
-
numpy 2.0.0 2.
|
|
5
|
-
pyside6 6.7.0 6.
|
|
1
|
+
scipy 1.14.0 1.16.3 0
|
|
2
|
+
matplotlib 3.9.0 3.10.8 0
|
|
3
|
+
pillow 10.4.0 12.1.0 0
|
|
4
|
+
numpy 2.0.0 2.4.0 0
|
|
5
|
+
pyside6 6.7.0 6.10.1 0
|
|
6
6
|
unidecode 1.3.0 1.4.0 0
|
|
7
|
-
psutil 6.0.0 7.
|
|
7
|
+
psutil 6.0.0 7.2.1 0
|
|
8
8
|
debugpy 1.6.6 1.8.16 0
|
|
9
|
-
certifi 2025.7.14
|
|
9
|
+
certifi 2025.7.14 2026.1.4 0
|
|
@@ -2,7 +2,7 @@ from .addwidgets_ps import icons_path
|
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
|
|
4
4
|
################################################################################
|
|
5
|
-
## Form generated from reading UI file '
|
|
5
|
+
## Form generated from reading UI file 'Calibration_TabkogRuY.ui'
|
|
6
6
|
##
|
|
7
7
|
## Created by: Qt User Interface Compiler version 6.9.1
|
|
8
8
|
##
|
|
@@ -22,7 +22,7 @@ from PySide6.QtWidgets import (QAbstractSpinBox, QApplication, QFrame, QHBoxLayo
|
|
|
22
22
|
QVBoxLayout, QWidget)
|
|
23
23
|
|
|
24
24
|
from .Input_Tab_tools import CalibrationTree
|
|
25
|
-
from .addwidgets_ps import (ClickableLabel, MyQSpin)
|
|
25
|
+
from .addwidgets_ps import (ClickableLabel, MyQSpin, MyTabLabel)
|
|
26
26
|
|
|
27
27
|
class Ui_CalibrationTab(object):
|
|
28
28
|
def setupUi(self, CalibrationTab):
|
|
@@ -65,7 +65,7 @@ class Ui_CalibrationTab(object):
|
|
|
65
65
|
|
|
66
66
|
self.horizontalLayout_2.addWidget(self.icon)
|
|
67
67
|
|
|
68
|
-
self.name_tab =
|
|
68
|
+
self.name_tab = MyTabLabel(self.w_Mode)
|
|
69
69
|
self.name_tab.setObjectName(u"name_tab")
|
|
70
70
|
self.name_tab.setMinimumSize(QSize(100, 35))
|
|
71
71
|
self.name_tab.setMaximumSize(QSize(16777215, 35))
|
PaIRS_UniNa/ui_gPairs.py
CHANGED
|
@@ -2,9 +2,9 @@ from .addwidgets_ps import icons_path
|
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
|
|
4
4
|
################################################################################
|
|
5
|
-
## Form generated from reading UI file '
|
|
5
|
+
## Form generated from reading UI file 'gPairsiFCFJV.ui'
|
|
6
6
|
##
|
|
7
|
-
## Created by: Qt User Interface Compiler version 6.
|
|
7
|
+
## Created by: Qt User Interface Compiler version 6.9.1
|
|
8
8
|
##
|
|
9
9
|
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
|
10
10
|
################################################################################
|
|
@@ -166,7 +166,7 @@ class Ui_gPairs(object):
|
|
|
166
166
|
self.w_Buttons_Run.setMinimumSize(QSize(0, 60))
|
|
167
167
|
self.w_Buttons_Run.setMaximumSize(QSize(16777215, 60))
|
|
168
168
|
self.horizontalLayout_10 = QHBoxLayout(self.w_Buttons_Run)
|
|
169
|
-
self.horizontalLayout_10.setSpacing(
|
|
169
|
+
self.horizontalLayout_10.setSpacing(8)
|
|
170
170
|
self.horizontalLayout_10.setObjectName(u"horizontalLayout_10")
|
|
171
171
|
self.horizontalLayout_10.setContentsMargins(0, 0, 0, 0)
|
|
172
172
|
self.logo = QLabel(self.w_Buttons_Run)
|
|
@@ -185,7 +185,7 @@ class Ui_gPairs(object):
|
|
|
185
185
|
font1 = QFont()
|
|
186
186
|
font1.setPointSize(16)
|
|
187
187
|
self.button_PaIRS_download.setFont(font1)
|
|
188
|
-
self.button_PaIRS_download.setStyleSheet(u"QToolButton
|
|
188
|
+
self.button_PaIRS_download.setStyleSheet(u"QToolButton{border: none}")
|
|
189
189
|
self.button_PaIRS_download.setIcon(icon13)
|
|
190
190
|
self.button_PaIRS_download.setIconSize(QSize(24, 24))
|
|
191
191
|
self.button_PaIRS_download.setCheckable(False)
|
|
@@ -390,7 +390,7 @@ class Ui_gPairs(object):
|
|
|
390
390
|
self.spin_nworkers.setFont(font)
|
|
391
391
|
self.spin_nworkers.setStyleSheet(u"padding-bottom: 2px;")
|
|
392
392
|
self.spin_nworkers.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons)
|
|
393
|
-
self.spin_nworkers.setProperty("showGroupSeparator", True)
|
|
393
|
+
self.spin_nworkers.setProperty(u"showGroupSeparator", True)
|
|
394
394
|
|
|
395
395
|
self.horizontalLayout_4.addWidget(self.spin_nworkers)
|
|
396
396
|
|
|
@@ -563,7 +563,7 @@ class Ui_gPairs(object):
|
|
|
563
563
|
icon24 = QIcon()
|
|
564
564
|
icon24.addFile(u""+ icons_path +"workspace.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
|
|
565
565
|
self.workspace_icon.setIcon(icon24)
|
|
566
|
-
self.workspace_icon.setIconSize(QSize(
|
|
566
|
+
self.workspace_icon.setIconSize(QSize(57, 57))
|
|
567
567
|
|
|
568
568
|
self.horizontalLayout_2.addWidget(self.workspace_icon)
|
|
569
569
|
|
|
@@ -634,7 +634,7 @@ class Ui_gPairs(object):
|
|
|
634
634
|
icon25 = QIcon()
|
|
635
635
|
icon25.addFile(u""+ icons_path +"project.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
|
|
636
636
|
self.title_icon.setIcon(icon25)
|
|
637
|
-
self.title_icon.setIconSize(QSize(
|
|
637
|
+
self.title_icon.setIconSize(QSize(57, 57))
|
|
638
638
|
|
|
639
639
|
self.horizontalLayout_2.addWidget(self.title_icon)
|
|
640
640
|
|
|
@@ -692,7 +692,7 @@ class Ui_gPairs(object):
|
|
|
692
692
|
gPairs.setStatusBar(self.statusbar)
|
|
693
693
|
self.menubar = QMenuBar(gPairs)
|
|
694
694
|
self.menubar.setObjectName(u"menubar")
|
|
695
|
-
self.menubar.setGeometry(QRect(0, 0, 1800,
|
|
695
|
+
self.menubar.setGeometry(QRect(0, 0, 1800, 33))
|
|
696
696
|
self.menubar.setFont(font)
|
|
697
697
|
self.menubar.setNativeMenuBar(False)
|
|
698
698
|
self.menuFile = QMenu(self.menubar)
|
PaIRS_UniNa/whatsnew.txt
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
%
|
|
2
|
-
|
|
3
|
-
* Improved naming of duplicated processes with consistent incremental suffixes.<br><br>Enhanced the Image Import Tool in the Input tab.<br><br>Refined path completers' behaviour.<br><br>Resizing and level-reset settings in Vis now apply per step instead of globally.<br><br>Added a dedicated calibration guidance dialog, providing users with the correct coordinate conventions for stereoscopic setups and illustrating proper and improper configurations.<br><br>
|
|
4
|
-
§ PaIRS now ships with executables! Download them from the <a href="https://www.pairs.unina.it/#download">PaIRS website</a>.<br>
|
|
1
|
+
% Fixed an issue in the "Edit list" functionality of the image-tree in the Input tab.<br><br>Improved reliability in the assessment of the PIV process stability.<br><br>
|
|
2
|
+
* Minor UI refinements for clearer visual feedback during user interactions.<br><br>Improved visualization of contextual help messages across the interface.<br><br>More robust management and restoration of global settings when loading previously saved workspaces.<br>
|
|
5
3
|
|
|
6
4
|
# !=critical issue, %=bugfix, &=announcement, *=improvement, £=bold font without icon, §=python distribution
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PaIRS_UniNa
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.10
|
|
4
4
|
Summary: PaIRS - Particle Image Reconstruction Software
|
|
5
5
|
Home-page: https://pairs.unina.it/
|
|
6
6
|
Author: Gerardo Paolillo and Tommaso Astarita
|
|
@@ -48,23 +48,16 @@ PaIRS-UniNa is supported by Python 3.10+ and is compatible with all the operatin
|
|
|
48
48
|
|
|
49
49
|
For further information, please visit the [PaIRS website](https://www.pairs.unina.it/).
|
|
50
50
|
|
|
51
|
-
## What's new in PaIRS-UniNa 0.2.
|
|
51
|
+
## What's new in PaIRS-UniNa 0.2.10
|
|
52
52
|
|
|
53
53
|
### Bug fixes:
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
- Fixed inconsistent path handling in the batch-folder copy and other modules by removing path relativization.
|
|
57
|
-
|
|
58
|
-
### New features:
|
|
59
|
-
- Sdded new options in the batch folder-copy tool to automatically skip image pairs with missing files and to re-scan destination folders, useful when image-set mismatches may be present.
|
|
60
|
-
- Vis now automatically loads and displays the saved log file when opening past results under the specified output path and name root.
|
|
54
|
+
- Fixed an issue affecting the *Edit list* functionality of the image-tree in the Input tab.
|
|
55
|
+
- Improved the reliability of the assessment of the PIV process stability.
|
|
61
56
|
|
|
62
57
|
### User-interface enhancements:
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
- In Vis, resizing and automatic level-reset settings are now applied individually per step rather than globally.
|
|
67
|
-
- Added a calibration guidance dialog outlining the correct coordinate conventions for stereoscopic PIV and illustrating proper and improper setups.
|
|
58
|
+
- Applied minor UI refinements to provide clearer visual feedback during user interactions.
|
|
59
|
+
- Improved visualization of contextual help messages across the interface.
|
|
60
|
+
- Enhanced management and restoration of global settings when loading previously saved workspaces.
|
|
68
61
|
|
|
69
62
|
### Distribution:
|
|
70
63
|
- ready-to-use executables of PaIRS are now available!
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
PaIRS_UniNa/Calibration_Tab.py,sha256=
|
|
2
|
-
PaIRS_UniNa/Changes.txt,sha256=
|
|
1
|
+
PaIRS_UniNa/Calibration_Tab.py,sha256=29NVTZ8zCjpa5j8TTUUpFngZC9JQkCtl22BeY61bWo4,13850
|
|
2
|
+
PaIRS_UniNa/Changes.txt,sha256=rTBicRmt7BZu-uwkmhZMNmVrscL6G3lSthy_Wv4L5oc,13492
|
|
3
3
|
PaIRS_UniNa/Custom_Top.py,sha256=lBF8_GmJYauWSuhOUH0R-kllv7_gBLIcVZruarVe6kg,11943
|
|
4
|
-
PaIRS_UniNa/Explorer.py,sha256=
|
|
4
|
+
PaIRS_UniNa/Explorer.py,sha256=RDZwdDxY34KfloFIjNrE3q7etFjWV8kHCLIMe4P1ipU,147630
|
|
5
5
|
PaIRS_UniNa/FolderLoop.py,sha256=V1OKKf_iscHtNFI3ilOsx7sLZ1oKlKaUa1Lcz-zYk3U,25244
|
|
6
|
-
PaIRS_UniNa/Input_Tab.py,sha256=
|
|
7
|
-
PaIRS_UniNa/Input_Tab_CalVi.py,sha256=
|
|
8
|
-
PaIRS_UniNa/Input_Tab_tools.py,sha256=
|
|
6
|
+
PaIRS_UniNa/Input_Tab.py,sha256=9-ugZ2ZI1BtFN_HZJvJR_lniBf7CzY8xeaNg1UCjQeE,37850
|
|
7
|
+
PaIRS_UniNa/Input_Tab_CalVi.py,sha256=wZFzdkRjGPsi5Zgky6TQ0KH3W9tjY-tRQN-2ENW9yas,34358
|
|
8
|
+
PaIRS_UniNa/Input_Tab_tools.py,sha256=9GgRiXE1u8QpWEgPuQw8P99VDPMt2HPHP9FzoV76-L4,124014
|
|
9
9
|
PaIRS_UniNa/Log_Tab.py,sha256=beiXlmPlIpt1VMl10ZxFGK6mTpWmm8Jy4d2ckNsQigs,3603
|
|
10
10
|
PaIRS_UniNa/Output_Tab.py,sha256=oUwP0WhrOLcV_g3jKgKfGHdqPs5ydtQNknwgbYIZxR0,41024
|
|
11
11
|
PaIRS_UniNa/PaIRS.py,sha256=paXrJMdEqwjH18suV1GREZi5VNo1x--Bam2JT1kpoBs,347
|
|
12
12
|
PaIRS_UniNa/PaIRS_PIV.py,sha256=GpDEj0L7ZSDyjurCBSFMIW1Zs339UxnLeI98cGUlRyI,46204
|
|
13
|
-
PaIRS_UniNa/PaIRS_pypacks.py,sha256=
|
|
14
|
-
PaIRS_UniNa/Process_Tab.py,sha256=
|
|
13
|
+
PaIRS_UniNa/PaIRS_pypacks.py,sha256=VijnrGtZkHpy7qmnso4Xn-tx9sGLSDi0pyotC9EjQhs,58158
|
|
14
|
+
PaIRS_UniNa/Process_Tab.py,sha256=2cq3GyO7Lnn2k8oHByyWKVih2tyGlxFYUoUFkhK4O6I,77336
|
|
15
15
|
PaIRS_UniNa/Process_Tab_CalVi.py,sha256=wpYzuI4a-mb5kowxDywA93k3AJHQAA4wZ6LwZsjArpo,12756
|
|
16
|
-
PaIRS_UniNa/Process_Tab_Disp.py,sha256=
|
|
16
|
+
PaIRS_UniNa/Process_Tab_Disp.py,sha256=JJnhSz55gq2BsIQRJWL7j1HzgSTlow6MqYKjmt0-JmE,6186
|
|
17
17
|
PaIRS_UniNa/Process_Tab_Min.py,sha256=RCP11E7aKoP_wU6yhktUN6N9rD5SwYZhfCGGldq7tYs,4085
|
|
18
18
|
PaIRS_UniNa/ResizePopup.py,sha256=XvS5VFDE_s3sNv6pcWIt4rodSk5I_oFl3S9tRK90evg,1804
|
|
19
19
|
PaIRS_UniNa/SPIVCalHelp.py,sha256=kQu9xKJAdzDezb2OEWkDfB1ME52xrZONtjDTp8Sjj3A,5796
|
|
20
|
-
PaIRS_UniNa/Saving_tools.py,sha256=
|
|
21
|
-
PaIRS_UniNa/TabTools.py,sha256=
|
|
22
|
-
PaIRS_UniNa/Vis_Tab.py,sha256=
|
|
23
|
-
PaIRS_UniNa/Vis_Tab_CalVi.py,sha256=
|
|
20
|
+
PaIRS_UniNa/Saving_tools.py,sha256=HUf9KD-I6HDXS8iuKR13rRhBfEn1oR8bKBOQd0zJ9AU,11256
|
|
21
|
+
PaIRS_UniNa/TabTools.py,sha256=AZ2dreseQulTqgtBhVc_SGg1SGQyJ1EvH-trFD-S6nI,61108
|
|
22
|
+
PaIRS_UniNa/Vis_Tab.py,sha256=9hjlTm4-dH1evej4132N6Z5LvFcQ37SXCnLYv7jm6mo,98179
|
|
23
|
+
PaIRS_UniNa/Vis_Tab_CalVi.py,sha256=6G0Ewbh7spRYSvGyftTgv4r6oYj39w5gBJCqTaXq_Wk,42872
|
|
24
24
|
PaIRS_UniNa/Whatsnew.py,sha256=fqpSBLU0uFap-ZlYQyOtE6kOwWyuXJPJz8LUHA4Zi58,5816
|
|
25
|
-
PaIRS_UniNa/_PaIRS_PIV.so,sha256
|
|
26
|
-
PaIRS_UniNa/__init__.py,sha256=
|
|
25
|
+
PaIRS_UniNa/_PaIRS_PIV.so,sha256=3CKDqpKEhKbKFtm0vdEJ7SjZZk6vfS9LeX7Z3fewvvQ,7829920
|
|
26
|
+
PaIRS_UniNa/__init__.py,sha256=WstLimEuja4NHLWpn_sljNaKCN0J1O00HssTpBMV21U,139
|
|
27
27
|
PaIRS_UniNa/__main__.py,sha256=639RU4DJEr8cAWbT8BOikjT_hd6Vxvo5xgWxyo54GAI,1369
|
|
28
|
-
PaIRS_UniNa/addwidgets_ps.py,sha256=
|
|
28
|
+
PaIRS_UniNa/addwidgets_ps.py,sha256=y74S3c9sJNG4wrs4DBnHLE1vopEzUjLs0lKyF3gZ-6o,60492
|
|
29
29
|
PaIRS_UniNa/calib.py,sha256=njCPx4qMcOrpJBLQjQXVKneqo-svl4gjGWoNIAB2jgk,66036
|
|
30
30
|
PaIRS_UniNa/calibView.py,sha256=jzOw-rHko87Cl11GnOH5zZzko3Ri86T9fIwgmU2JZig,34366
|
|
31
|
-
PaIRS_UniNa/gPaIRS.py,sha256=
|
|
31
|
+
PaIRS_UniNa/gPaIRS.py,sha256=COtvYtoweLk_zQMjHm4jjSCWwbZnogxlHaA4ugIzwSQ,187117
|
|
32
32
|
PaIRS_UniNa/gPalette.py,sha256=MdS8CNPL_6i16QxFgsls6QBvHs6mcmZXj4fy4gAKWss,17201
|
|
33
33
|
PaIRS_UniNa/listLib.py,sha256=eyWTLZiIG4B60L87tcTZtRfNwJOMTkd_3_d0gHvU20Q,12135
|
|
34
34
|
PaIRS_UniNa/mtfPIV.py,sha256=z8MrMUIEG934TM7O0MX1IYcT7dnW35NumVkthm7YUlI,8051
|
|
@@ -39,11 +39,11 @@ PaIRS_UniNa/plt_util.py,sha256=CZ1rjiv9lZQQc8k2pSKKdi8Epb93sMbIbd5JapzH2hM,3186
|
|
|
39
39
|
PaIRS_UniNa/preProcParFor.py,sha256=XqigjWdcTWtYlEcdINx6YY_jE9BE3gw5ET_hITAMxJc,7474
|
|
40
40
|
PaIRS_UniNa/procTools.py,sha256=qjamhgHfl8lLbuRAVBJW6zZ_dx8VkmnuzKxmnm5ae1g,67651
|
|
41
41
|
PaIRS_UniNa/readcfg.py,sha256=RBbQNVNfChA8O-ZEWJliuu7T4xOS7PRxFE08TlJKekc,2122
|
|
42
|
-
PaIRS_UniNa/rqrdpckgs.txt,sha256=
|
|
42
|
+
PaIRS_UniNa/rqrdpckgs.txt,sha256=pd9RJPN8C3FWdd3Egr36v_GY14mrpEmYM1UeOA-yVkk,211
|
|
43
43
|
PaIRS_UniNa/stereoPivParFor.py,sha256=_5_9_G2F52FLmYcX_UDLBj_CN-7r17vKUcZavAxB53c,11248
|
|
44
44
|
PaIRS_UniNa/tAVarie.py,sha256=e-WzvImsH86t3B1-b716iJTETHesrNsNEfgwcl4u6Vg,9185
|
|
45
45
|
PaIRS_UniNa/tabSplitter.py,sha256=MHN6QeIKJywmdEY69k5KzvPzFr8B1tS8sgzRjgmCoG8,26597
|
|
46
|
-
PaIRS_UniNa/ui_Calibration_Tab.py,sha256=
|
|
46
|
+
PaIRS_UniNa/ui_Calibration_Tab.py,sha256=vXL5hLgbwjsgAbtuchLlzMVWSxI43m51w4yi_6xMKig,27367
|
|
47
47
|
PaIRS_UniNa/ui_Custom_Top.py,sha256=eyJ39I2mVJCxkYUDZZNoGIzr5Ut19nB72F8ssllh2oo,13972
|
|
48
48
|
PaIRS_UniNa/ui_Input_Tab.py,sha256=wsDgtCsqgYw2gL8JAgiYp7m2i0rMiKRmZzXfSETk5II,54767
|
|
49
49
|
PaIRS_UniNa/ui_Input_Tab_CalVi.py,sha256=0VgKTX0NnFpla0U2TmsCCaZMjVhOHPvqChsshkVyWOI,63458
|
|
@@ -57,9 +57,9 @@ PaIRS_UniNa/ui_ResizePopup.py,sha256=QvHCYUn4gop6ad0FRQwk_Vwic-GDs352zgW4nOEwPOw
|
|
|
57
57
|
PaIRS_UniNa/ui_Vis_Tab.py,sha256=zqMSxbiZZELXaGkCK5f7yz5A6tbygtayNdg9LqdppWI,83577
|
|
58
58
|
PaIRS_UniNa/ui_Vis_Tab_CalVi.py,sha256=-YpyQgycMVP_AzLdreNshprk1n_lNDxCtoeVgwmBEL8,63205
|
|
59
59
|
PaIRS_UniNa/ui_Whatsnew.py,sha256=mQkGMzgHQeQqAftF3icu7GvczazFDLMX8BCTem_27ss,5776
|
|
60
|
-
PaIRS_UniNa/ui_gPairs.py,sha256=
|
|
60
|
+
PaIRS_UniNa/ui_gPairs.py,sha256=bKj2GG0ON5co9M5_R31bCWtfnPH3_lzLqL88nrWFUAM,46005
|
|
61
61
|
PaIRS_UniNa/ui_infoPaIRS.py,sha256=AhJ8YUfH9zj6OEIec351cSAUFhpkHdzLWPOG1V0yj4M,37835
|
|
62
|
-
PaIRS_UniNa/whatsnew.txt,sha256=
|
|
62
|
+
PaIRS_UniNa/whatsnew.txt,sha256=cLd3XWSbMsoDWNl_sGr67KOmXp3Sz5GZNUs9-M0q0qk,549
|
|
63
63
|
PaIRS_UniNa/icons/abort.png,sha256=gdSz0VMk5BgZRPthvUgH_ZE5MmyOdOrE3jf2FG5qe2U,79115
|
|
64
64
|
PaIRS_UniNa/icons/about.png,sha256=svhha0azUto_21uljl1BEdhtSfvm7AyOBcjGMvgms2o,15523
|
|
65
65
|
PaIRS_UniNa/icons/align_all.png,sha256=rAzKfmsg6zI3CGmvAj8A5XhFsltsofdK5zYWLFezkDc,20200
|
|
@@ -327,7 +327,7 @@ PaIRS_UniNa/icons/colormaps/viridis.png,sha256=AYaCSf5zUaSiyfuC1aGnMxawTUTqVl-81
|
|
|
327
327
|
PaIRS_UniNa/icons/colormaps/whiteVector.png,sha256=-TPqm1S9e4OQ4Ee-9piT3bFfXg6TWEw20lvrmeCrnKY,350
|
|
328
328
|
PaIRS_UniNa/icons/colormaps/winter.png,sha256=ANqoViwtVfvAULokJaAp21xx8sjQJ1jEzYjAVo5WPtM,250
|
|
329
329
|
PaIRS_UniNa/icons/colormaps/yellowVector.png,sha256=RQJhq_Ft9GxpiH5Mac0E0KXJlfGtPdP5M4kn0qsrFz4,353
|
|
330
|
-
pairs_unina-0.2.
|
|
331
|
-
pairs_unina-0.2.
|
|
332
|
-
pairs_unina-0.2.
|
|
333
|
-
pairs_unina-0.2.
|
|
330
|
+
pairs_unina-0.2.10.dist-info/METADATA,sha256=JC0RaJD9hdY_ZeuRu1XqewBo_7z_gZ7np9YBpSgpRRs,8347
|
|
331
|
+
pairs_unina-0.2.10.dist-info/WHEEL,sha256=o0zAoJUNILGJZxEeFPjb7OMHp_94eqIkZBeZ0gvgOpo,114
|
|
332
|
+
pairs_unina-0.2.10.dist-info/top_level.txt,sha256=zxMsZBZRcjIXsv4CLSJ6RV0GhzeX89lx-JMfCCMkkYE,23
|
|
333
|
+
pairs_unina-0.2.10.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|