PaIRS-UniNa 0.2.3__cp312-cp312-macosx_10_9_universal2.whl → 0.2.5__cp312-cp312-macosx_10_9_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.
Potentially problematic release.
This version of PaIRS-UniNa might be problematic. Click here for more details.
- PaIRS_UniNa/Changes.txt +50 -6
- PaIRS_UniNa/Custom_Top.py +1 -1
- PaIRS_UniNa/Explorer.py +70 -42
- PaIRS_UniNa/Input_Tab.py +17 -5
- PaIRS_UniNa/Input_Tab_CalVi.py +1 -0
- PaIRS_UniNa/Input_Tab_tools.py +85 -40
- PaIRS_UniNa/Output_Tab.py +110 -17
- PaIRS_UniNa/PaIRS_PIV.py +56 -1
- PaIRS_UniNa/PaIRS_pypacks.py +148 -9
- PaIRS_UniNa/Process_Tab.py +6 -11
- PaIRS_UniNa/Process_Tab_Disp.py +11 -4
- PaIRS_UniNa/TabTools.py +121 -42
- PaIRS_UniNa/Vis_Tab.py +423 -126
- PaIRS_UniNa/Vis_Tab_CalVi.py +23 -5
- PaIRS_UniNa/Whatsnew.py +15 -6
- PaIRS_UniNa/_PaIRS_PIV.so +0 -0
- PaIRS_UniNa/__init__.py +2 -2
- PaIRS_UniNa/addwidgets_ps.py +50 -39
- PaIRS_UniNa/gPaIRS.py +500 -148
- PaIRS_UniNa/icons/bugfix.png +0 -0
- PaIRS_UniNa/icons/pylog.png +0 -0
- PaIRS_UniNa/icons/python_warning.png +0 -0
- PaIRS_UniNa/icons/queue.png +0 -0
- PaIRS_UniNa/icons/save_and_stop.png +0 -0
- PaIRS_UniNa/icons/star.png +0 -0
- PaIRS_UniNa/icons/step_inheritance.png +0 -0
- PaIRS_UniNa/icons/uninitialized.png +0 -0
- PaIRS_UniNa/icons/window.png +0 -0
- PaIRS_UniNa/parForMulti.py +7 -5
- PaIRS_UniNa/parForWorkers.py +101 -124
- PaIRS_UniNa/pivParFor.py +2 -2
- PaIRS_UniNa/preProcParFor.py +4 -4
- PaIRS_UniNa/procTools.py +25 -13
- PaIRS_UniNa/rqrdpckgs.txt +8 -0
- PaIRS_UniNa/stereoPivParFor.py +2 -2
- PaIRS_UniNa/tabSplitter.py +4 -2
- PaIRS_UniNa/ui_Log_Tab.py +8 -6
- PaIRS_UniNa/ui_Output_Tab.py +6 -3
- PaIRS_UniNa/ui_Process_Tab.py +19 -19
- PaIRS_UniNa/ui_Process_Tab_Disp.py +173 -2
- PaIRS_UniNa/ui_Vis_Tab.py +331 -195
- PaIRS_UniNa/ui_gPairs.py +81 -39
- PaIRS_UniNa/ui_infoPaIRS.py +128 -6
- PaIRS_UniNa/whatsnew.txt +6 -7
- {PaIRS_UniNa-0.2.3.dist-info → pairs_unina-0.2.5.dist-info}/METADATA +39 -23
- {PaIRS_UniNa-0.2.3.dist-info → pairs_unina-0.2.5.dist-info}/RECORD +48 -44
- {PaIRS_UniNa-0.2.3.dist-info → pairs_unina-0.2.5.dist-info}/WHEEL +1 -1
- PaIRS_UniNa/icons/order.png +0 -0
- PaIRS_UniNa/icons/order_reverse.png +0 -0
- PaIRS_UniNa/icons/pencil_bw.png +0 -0
- PaIRS_UniNa/icons/run_piv.png +0 -0
- PaIRS_UniNa-0.2.3.dist-info/LICENSE +0 -19
- {PaIRS_UniNa-0.2.3.dist-info → pairs_unina-0.2.5.dist-info}/top_level.txt +0 -0
PaIRS_UniNa/Vis_Tab_CalVi.py
CHANGED
|
@@ -108,7 +108,10 @@ class Vis_Tab_CalVi(gPaIRS_Tab):
|
|
|
108
108
|
super().showEvent(event)
|
|
109
109
|
if not self.FlagInitVIS:
|
|
110
110
|
self.FlagInitVIS=True
|
|
111
|
-
self.
|
|
111
|
+
S=self.scrollArea.size()
|
|
112
|
+
s=self.calibView.pixmap().size()
|
|
113
|
+
self.VISpar.scaleFactor = self.calibView.scaleFactor =min([S.width()/s.width() if s.width() else S.width(), S.height()/s.height() if s.height() else S.height()])
|
|
114
|
+
self.calibView.resize(self.VISpar.scaleFactor * self.calibView.pixmap().size())
|
|
112
115
|
return
|
|
113
116
|
|
|
114
117
|
def closeEvent(self,event):
|
|
@@ -220,6 +223,7 @@ class Vis_Tab_CalVi(gPaIRS_Tab):
|
|
|
220
223
|
def stopCalVi(self):
|
|
221
224
|
self.calibView.executeCalibTask(CalibTasks.stop)
|
|
222
225
|
self.setTaskButtonsText()
|
|
226
|
+
self.gui.ui.button_Run_CalVi.setVisible(True)
|
|
223
227
|
self.setTABlayout()
|
|
224
228
|
self.FlagBridge=True
|
|
225
229
|
self.adjustTABparInd()
|
|
@@ -399,8 +403,11 @@ class Vis_Tab_CalVi(gPaIRS_Tab):
|
|
|
399
403
|
FlagNoImage=True
|
|
400
404
|
if self.VISpar.cam>0 and self.VISpar.plane>0:
|
|
401
405
|
if self.VISpar.nCam==len(self.VISpar.imEx):
|
|
402
|
-
|
|
403
|
-
|
|
406
|
+
TargetType=self.gui.w_Process_CalVi.PROpar.TargetType
|
|
407
|
+
nPlane=self.VISpar.nPlane/(1+TargetType)
|
|
408
|
+
if nPlane==len(self.VISpar.imEx[0]):
|
|
409
|
+
plane=int( (self.VISpar.plane+TargetType)/(1+TargetType) )
|
|
410
|
+
if self.VISpar.imEx[self.VISpar.cam-1][plane-1]:
|
|
404
411
|
FlagNoImage=False
|
|
405
412
|
if FlagNoImage:
|
|
406
413
|
self.ui.status_R.setText('')
|
|
@@ -618,6 +625,7 @@ class Vis_Tab_CalVi(gPaIRS_Tab):
|
|
|
618
625
|
b.setEnabled(flagEnab)
|
|
619
626
|
for b in self.buttonsToDisableNotCalibrated:
|
|
620
627
|
b.setEnabled(self.calibView.calib.cal.flagCalibrated)
|
|
628
|
+
self.setRunCalViButtonLayout()
|
|
621
629
|
#for b in self.functionButtons: b.setEnabled(flagEnab)
|
|
622
630
|
#pri.Callback.green('-----abcde----- TaskButtonsText -----abcde-----')
|
|
623
631
|
|
|
@@ -736,7 +744,7 @@ class Vis_Tab_CalVi(gPaIRS_Tab):
|
|
|
736
744
|
#-------------------------------------- %
|
|
737
745
|
# Not in cfg %
|
|
738
746
|
# --------------------------------------%
|
|
739
|
-
|
|
747
|
+
|
|
740
748
|
data=calib.cal.data
|
|
741
749
|
calVect=calib.cal.vect
|
|
742
750
|
data.PercErrMax = 0.1 # 0.10 Percentuale massima per errore in posizioneTom da modificare
|
|
@@ -747,7 +755,7 @@ class Vis_Tab_CalVi(gPaIRS_Tab):
|
|
|
747
755
|
# --------------------------------------%
|
|
748
756
|
data.percorso = INP.path #percorso file di input
|
|
749
757
|
data.EstensioneIn = INP.ext #estensione in (b16 o tif)
|
|
750
|
-
data.FlagCam=0 if
|
|
758
|
+
data.FlagCam=0 if INP.FlagCam else 1
|
|
751
759
|
data.percorsoOut = INP.path_out # percorso file di output
|
|
752
760
|
data.NomeFileOut = INP.root_out # nome file di output
|
|
753
761
|
|
|
@@ -952,6 +960,16 @@ class Vis_Tab_CalVi(gPaIRS_Tab):
|
|
|
952
960
|
self.FlagInitData=True
|
|
953
961
|
return
|
|
954
962
|
|
|
963
|
+
def setRunCalViButtonLayout(self):
|
|
964
|
+
if self.gui:
|
|
965
|
+
FlagVisible=True
|
|
966
|
+
calib=self.calibView.calib
|
|
967
|
+
calVect=calib.cal.vect
|
|
968
|
+
FlagVisible=all([not bool(p) for p in calVect.flagPlane[:-1]])
|
|
969
|
+
self.gui.ui.button_Run_CalVi.setVisible(FlagVisible)
|
|
970
|
+
|
|
971
|
+
|
|
972
|
+
|
|
955
973
|
|
|
956
974
|
if __name__ == "__main__":
|
|
957
975
|
import sys
|
PaIRS_UniNa/Whatsnew.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .PaIRS_pypacks import*
|
|
2
2
|
from .ui_Whatsnew import Ui_Whatsnew
|
|
3
3
|
from .__init__ import __version__
|
|
4
|
+
import unicodedata
|
|
4
5
|
|
|
5
6
|
#from TabTools import setupWid,setFontPixelSize,setFontSizeText
|
|
6
7
|
class Whatsnew(QMainWindow):
|
|
@@ -32,9 +33,9 @@ class Whatsnew(QMainWindow):
|
|
|
32
33
|
if hasattr(c,'setFont'):
|
|
33
34
|
c.setFont(font)
|
|
34
35
|
|
|
35
|
-
|
|
36
|
+
|
|
36
37
|
self.resize(QSize(w,self.gui.maximumGeometry.height()))
|
|
37
|
-
self.
|
|
38
|
+
self.show()
|
|
38
39
|
hinfo=self.ui.info.height()
|
|
39
40
|
h=hinfo+self.ui.w_Ok.height()+self.ui.mainLay.verticalSpacing()+self.ui.mainLay.contentsMargins().bottom()*2+self.ui.mainLay.contentsMargins().top()*2
|
|
40
41
|
self.setFixedSize(QSize(w,h))
|
|
@@ -74,10 +75,17 @@ def whatsNew(self):
|
|
|
74
75
|
splitted_news=content.splitlines()
|
|
75
76
|
for k, text in enumerate(splitted_news):
|
|
76
77
|
if not text: continue
|
|
77
|
-
if text[0]=='
|
|
78
|
-
|
|
79
|
-
elif text[0]=='$':
|
|
78
|
+
if text[0]=='#': splitted_news[k]=''
|
|
79
|
+
elif text[0]=='!':
|
|
80
80
|
splitted_news[k]=formatBullet(icons_path+"warning.png",text[1:])
|
|
81
|
+
elif text[0]=='%':
|
|
82
|
+
splitted_news[k]=formatBullet(icons_path+"bugfix.png",text[1:])
|
|
83
|
+
elif text[0]=='&':
|
|
84
|
+
splitted_news[k]=formatBullet(icons_path+"announcement.png",text[1:])
|
|
85
|
+
elif text[0]=='*':
|
|
86
|
+
splitted_news[k]=formatBullet(icons_path+"star.png",text[1:])
|
|
87
|
+
elif text[0]=='§':
|
|
88
|
+
splitted_news[k]=formatBullet(icons_path+"pylog.png",text[1:])
|
|
81
89
|
elif text[0]=='£':
|
|
82
90
|
splitted_news[k]= f'<br/><span style="font-weight: 600; font-size: {fontPixelSize}px;">{text[1:]}</span><br/>'
|
|
83
91
|
news="".join(splitted_news)
|
|
@@ -106,4 +114,5 @@ def formatBullet(icon_path,text):
|
|
|
106
114
|
</tr>
|
|
107
115
|
</table>
|
|
108
116
|
""" if text else ""
|
|
109
|
-
return html_text
|
|
117
|
+
return html_text
|
|
118
|
+
|
PaIRS_UniNa/_PaIRS_PIV.so
CHANGED
|
Binary file
|
PaIRS_UniNa/__init__.py
CHANGED
PaIRS_UniNa/addwidgets_ps.py
CHANGED
|
@@ -338,7 +338,9 @@ class CollapsibleBox(QtWidgets.QWidget):
|
|
|
338
338
|
self.dpix=5
|
|
339
339
|
self.toolMinimumWidth=400
|
|
340
340
|
self.toolHeight=20
|
|
341
|
+
self.content_area:QGroupBox=None
|
|
341
342
|
self.toggle_button:QPushButton=None
|
|
343
|
+
self.push_button:MyToolButton=None
|
|
342
344
|
|
|
343
345
|
def setup(self,*args):
|
|
344
346
|
if not self.initFlag:
|
|
@@ -350,15 +352,20 @@ class CollapsibleBox(QtWidgets.QWidget):
|
|
|
350
352
|
self.stretch=0
|
|
351
353
|
self.initFlag=True
|
|
352
354
|
|
|
355
|
+
if self.content_area is None:
|
|
356
|
+
self.content_area=self.findChild(QtWidgets.QGroupBox)
|
|
357
|
+
self.content_area.setStyleSheet("QGroupBox{border: 1px solid gray; border-radius: 6px;}")
|
|
358
|
+
|
|
353
359
|
if self.toggle_button is None:
|
|
354
360
|
self.toggle_button=self.findChild(QtWidgets.QToolButton)
|
|
355
|
-
self.content_area=self.findChild(QtWidgets.QGroupBox)
|
|
356
|
-
self.push_button=self.findChild(MyToolButton)
|
|
357
|
-
|
|
358
361
|
self.toggle_button.setChecked(InitCheck)
|
|
359
362
|
self.toggle_button.clicked.connect(self.on_click)
|
|
363
|
+
self.toggle_button.setCursor(QtCore.Qt.CursorShape.PointingHandCursor)
|
|
364
|
+
self.toggle_button.setMinimumWidth(self.toolMinimumWidth)
|
|
365
|
+
|
|
366
|
+
if self.push_button is None:
|
|
367
|
+
self.push_button=self.findChild(MyToolButton)
|
|
360
368
|
|
|
361
|
-
self.content_area.setStyleSheet("QGroupBox{border: 1px solid gray; border-radius: 6px;}")
|
|
362
369
|
self.OpenStyle=\
|
|
363
370
|
"QToolButton { border: none; }\n"+\
|
|
364
371
|
"QToolButton::hover{color: rgba(0,0,255,200);}"+\
|
|
@@ -368,8 +375,6 @@ class CollapsibleBox(QtWidgets.QWidget):
|
|
|
368
375
|
"QToolButton { border: 1px solid lightgray; border-radius: 6px }\n"+\
|
|
369
376
|
"QToolButton::hover{ border: 1px solid rgba(0,0,255,200); border-radius: 6px; color: rgba(0,0,255,200);}"+\
|
|
370
377
|
"QToolButton::focus{ border: 1px solid rgba(0,0,255,200); border-radius: 6px; color: rgba(0,0,255,200);}" #background-color: rgba(0, 0,128,32); }"
|
|
371
|
-
self.toggle_button.setCursor(QtCore.Qt.CursorShape.PointingHandCursor)
|
|
372
|
-
self.toggle_button.setMinimumWidth(self.toolMinimumWidth)
|
|
373
378
|
|
|
374
379
|
self.heightToogle=self.toggle_button.minimumHeight()
|
|
375
380
|
self.heightOpened=self.minimumHeight()
|
|
@@ -669,13 +674,14 @@ class ClickableLabel(QLabel):
|
|
|
669
674
|
def __init__(self, *args):
|
|
670
675
|
super().__init__(*args)
|
|
671
676
|
|
|
672
|
-
|
|
673
677
|
self.default_stylesheet = self.styleSheet()
|
|
674
678
|
self.highlight_stylesheet = "background-color: #dcdcdc; border-radius: 3px;"
|
|
675
679
|
|
|
676
680
|
self.timer = QTimer(self)
|
|
677
681
|
self.timer.timeout.connect(self.resetHighlight)
|
|
678
682
|
self.timer.setSingleShot(True)
|
|
683
|
+
|
|
684
|
+
self.moviePixmap=None
|
|
679
685
|
|
|
680
686
|
def mousePressEvent(self, event):
|
|
681
687
|
if event.button() == Qt.LeftButton and self.toolTip():
|
|
@@ -684,7 +690,9 @@ class ClickableLabel(QLabel):
|
|
|
684
690
|
self.resetHighlight()
|
|
685
691
|
|
|
686
692
|
def showMessageBox(self):
|
|
687
|
-
|
|
693
|
+
if self.moviePixmap: pixmap=self.moviePixmap
|
|
694
|
+
else: pixmap=self.pixmap()
|
|
695
|
+
warningDialog(self.window(),Message=self.toolTip(),pixmap=pixmap,title='Info')
|
|
688
696
|
|
|
689
697
|
def highlight(self):
|
|
690
698
|
self.setStyleSheet(self.highlight_stylesheet)
|
|
@@ -921,7 +929,7 @@ class MplCanvas(FigureCanvasQTAgg):
|
|
|
921
929
|
fig2.scaleFactor=min([fig2.scaleFactor,1.5])
|
|
922
930
|
fig2.scaleFactor=max([fig2.scaleFactor,0.5])
|
|
923
931
|
fig2.setFixedSize(s0*fig2.scaleFactor)
|
|
924
|
-
lbl.setPixmap(pixmap.scaled(pixmap.size()*fig2.scaleFactor))
|
|
932
|
+
lbl.setPixmap(pixmap.scaled(pixmap.size()*fig2.scaleFactor,mode=Qt.TransformationMode.SmoothTransformation))
|
|
925
933
|
return
|
|
926
934
|
fig2.resizeFig2=resizeFig2
|
|
927
935
|
|
|
@@ -1082,33 +1090,36 @@ def setAppGuiPalette(self:QWidget,palette:QPalette=None):
|
|
|
1082
1090
|
else:
|
|
1083
1091
|
applic.setPalette(palette)
|
|
1084
1092
|
|
|
1085
|
-
|
|
1086
|
-
self.focusWidget()
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
f
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
c
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
c:
|
|
1103
|
-
|
|
1104
|
-
c
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
c
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
if self
|
|
1113
|
-
self.ResizePopup
|
|
1114
|
-
|
|
1093
|
+
try:
|
|
1094
|
+
if self.focusWidget():
|
|
1095
|
+
self.focusWidget().clearFocus()
|
|
1096
|
+
widgets=[self]
|
|
1097
|
+
if hasattr(self,'FloatingTabs'): widgets+=self.FloatingTabs
|
|
1098
|
+
if hasattr(self,'FloatingWindows'): widgets+=self.FloatingWindows
|
|
1099
|
+
if hasattr(self,'aboutDialog'): widgets.append(self.aboutDialog)
|
|
1100
|
+
if hasattr(self,'logChanges'): widgets.append(self.logChanges)
|
|
1101
|
+
widgets+=self.findChildren(QDialog)
|
|
1102
|
+
for f in widgets:
|
|
1103
|
+
if f and isinstance(f, QWidget):
|
|
1104
|
+
f.setPalette(palette)
|
|
1105
|
+
for c in f.findChildren(QObject):
|
|
1106
|
+
if hasattr(c,'setPalette') and not isinstance(c, (MplCanvas, mplFigure, QStatusBar)):
|
|
1107
|
+
c.setPalette(palette)
|
|
1108
|
+
if hasattr(c,'initialStyle') and hasattr(c, 'setStyleSheet'):
|
|
1109
|
+
c.setStyleSheet(c.initialStyle)
|
|
1110
|
+
for c in f.findChildren(QObject):
|
|
1111
|
+
c:MyQLineEdit
|
|
1112
|
+
if isinstance(c, MyQLineEdit) and hasattr(c, 'setup'):
|
|
1113
|
+
c.initFlag=False
|
|
1114
|
+
c.styleFlag=False
|
|
1115
|
+
c.setup()
|
|
1116
|
+
for c in f.findChildren(QObject):
|
|
1117
|
+
if hasattr(c,'setup2'):
|
|
1118
|
+
c.initFlag2=False
|
|
1119
|
+
c.setup2()
|
|
1120
|
+
if hasattr(self,'ResizePopup'):
|
|
1121
|
+
if self.ResizePopup is not None:
|
|
1122
|
+
self.ResizePopup=type(self.ResizePopup)(self.buttonSizeCallbacks) #non riesco a farlo come gli altri
|
|
1123
|
+
if hasattr(self,'w_Vis'): self.w_Vis.addPlotToolBar()
|
|
1124
|
+
except:
|
|
1125
|
+
pri.Error.red("***** Error while setting the application palette! *****")
|