PaIRS-UniNa 0.2.4__cp311-cp311-win_amd64.whl → 0.2.11__cp311-cp311-win_amd64.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 +40 -24
- PaIRS_UniNa/Changes.txt +98 -0
- PaIRS_UniNa/Custom_Top.py +1 -1
- PaIRS_UniNa/Explorer.py +3256 -3049
- PaIRS_UniNa/FolderLoop.py +561 -371
- PaIRS_UniNa/Input_Tab.py +824 -709
- PaIRS_UniNa/Input_Tab_CalVi.py +16 -17
- PaIRS_UniNa/Input_Tab_tools.py +3020 -3009
- PaIRS_UniNa/Output_Tab.py +4 -6
- PaIRS_UniNa/PaIRS.py +17 -17
- PaIRS_UniNa/PaIRS_PIV.py +56 -1
- PaIRS_UniNa/PaIRS_pypacks.py +486 -119
- PaIRS_UniNa/Process_Tab.py +25 -26
- PaIRS_UniNa/Process_Tab_Disp.py +17 -5
- PaIRS_UniNa/SPIVCalHelp.py +155 -0
- PaIRS_UniNa/Saving_tools.py +280 -277
- PaIRS_UniNa/TabTools.py +263 -29
- PaIRS_UniNa/Vis_Tab.py +543 -180
- PaIRS_UniNa/Vis_Tab_CalVi.py +139 -12
- PaIRS_UniNa/Whatsnew.py +17 -3
- PaIRS_UniNa/_PaIRS_PIV.pyd +0 -0
- PaIRS_UniNa/__init__.py +4 -4
- PaIRS_UniNa/addwidgets_ps.py +784 -100
- PaIRS_UniNa/calibView.py +12 -2
- PaIRS_UniNa/gPaIRS.py +4091 -3600
- PaIRS_UniNa/icons/closeAllFloat.png +0 -0
- PaIRS_UniNa/icons/defaultWinSize.png +0 -0
- PaIRS_UniNa/icons/dockVis.png +0 -0
- PaIRS_UniNa/icons/dockVis_disable.png +0 -0
- PaIRS_UniNa/icons/flaticon_PaIRS_download_warning.png +0 -0
- PaIRS_UniNa/icons/floatingVisSize.png +0 -0
- PaIRS_UniNa/icons/folder_loop_cleanup.png +0 -0
- PaIRS_UniNa/icons/folder_loop_cleanup_off.png +0 -0
- PaIRS_UniNa/icons/fullWinsize.png +0 -0
- PaIRS_UniNa/icons/icon_PaIRS.ico +0 -0
- PaIRS_UniNa/icons/information.png +0 -0
- PaIRS_UniNa/icons/information2.png +0 -0
- PaIRS_UniNa/icons/pencil_bw.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/scan_path_loop.png +0 -0
- PaIRS_UniNa/icons/scan_path_loop_off.png +0 -0
- PaIRS_UniNa/icons/smallWinSize.png +0 -0
- PaIRS_UniNa/icons/spiv_setup_no.png +0 -0
- PaIRS_UniNa/icons/spiv_setup_ok.png +0 -0
- PaIRS_UniNa/icons/undockVis.png +0 -0
- PaIRS_UniNa/icons/uninitialized.png +0 -0
- PaIRS_UniNa/icons/window.png +0 -0
- PaIRS_UniNa/listLib.py +301 -301
- PaIRS_UniNa/parForMulti.py +433 -433
- PaIRS_UniNa/parForWorkers.py +46 -1
- PaIRS_UniNa/pivParFor.py +1 -1
- PaIRS_UniNa/procTools.py +68 -10
- PaIRS_UniNa/rqrdpckgs.txt +9 -0
- PaIRS_UniNa/stereoPivParFor.py +1 -1
- PaIRS_UniNa/tabSplitter.py +611 -606
- PaIRS_UniNa/ui_Calibration_Tab.py +576 -543
- PaIRS_UniNa/ui_Custom_Top.py +294 -294
- PaIRS_UniNa/ui_Input_Tab.py +1098 -1098
- PaIRS_UniNa/ui_Input_Tab_CalVi.py +1280 -1280
- PaIRS_UniNa/ui_Log_Tab.py +261 -261
- PaIRS_UniNa/ui_Output_Tab.py +2360 -2360
- PaIRS_UniNa/ui_Process_Tab.py +3808 -3808
- PaIRS_UniNa/ui_Process_Tab_CalVi.py +1547 -1547
- PaIRS_UniNa/ui_Process_Tab_Disp.py +1139 -968
- PaIRS_UniNa/ui_Process_Tab_Min.py +435 -435
- PaIRS_UniNa/ui_ResizePopup.py +203 -203
- PaIRS_UniNa/ui_Vis_Tab.py +1626 -1533
- PaIRS_UniNa/ui_Vis_Tab_CalVi.py +1249 -1249
- PaIRS_UniNa/ui_Whatsnew.py +131 -131
- PaIRS_UniNa/ui_gPairs.py +915 -849
- PaIRS_UniNa/ui_infoPaIRS.py +550 -428
- PaIRS_UniNa/whatsnew.txt +3 -4
- {PaIRS_UniNa-0.2.4.dist-info → pairs_unina-0.2.11.dist-info}/METADATA +49 -30
- {PaIRS_UniNa-0.2.4.dist-info → pairs_unina-0.2.11.dist-info}/RECORD +78 -56
- {PaIRS_UniNa-0.2.4.dist-info → pairs_unina-0.2.11.dist-info}/WHEEL +1 -1
- PaIRS_UniNa/stereo.py +0 -685
- PaIRS_UniNa-0.2.4.dist-info/LICENSE +0 -19
- {PaIRS_UniNa-0.2.4.dist-info → pairs_unina-0.2.11.dist-info}/top_level.txt +0 -0
PaIRS_UniNa/Calibration_Tab.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from .ui_Calibration_Tab import*
|
|
2
2
|
from .TabTools import*
|
|
3
3
|
from .listLib import*
|
|
4
|
+
from .SPIVCalHelp import showSPIVCalHelp
|
|
4
5
|
|
|
5
6
|
spin_tips={
|
|
6
7
|
'ncam' : 'Number of cameras',
|
|
@@ -21,6 +22,7 @@ button_tips={
|
|
|
21
22
|
combo_tips={}
|
|
22
23
|
|
|
23
24
|
class CALpar(TABpar):
|
|
25
|
+
FlagSPIVCal = True
|
|
24
26
|
def __init__(self,Process=ProcessTypes.null,Step=StepTypes.null):
|
|
25
27
|
self.setup(Process,Step)
|
|
26
28
|
super().__init__('CALpar','Calibration')
|
|
@@ -61,6 +63,8 @@ class Calibration_Tab(gPaIRS_Tab):
|
|
|
61
63
|
self.app=app
|
|
62
64
|
setAppGuiPalette(self)
|
|
63
65
|
|
|
66
|
+
self.ui.button_info.setStyleSheet("border: none;")
|
|
67
|
+
self.ui.calTree.contextMenuEvent=lambda ev: calTreeContextMenuEvent(self.ui.calTree,self,ev)
|
|
64
68
|
#------------------------------------- Declaration of parameters
|
|
65
69
|
self.CALpar_base=CALpar()
|
|
66
70
|
self.CALpar:CALpar=self.TABpar
|
|
@@ -133,6 +137,7 @@ class Calibration_Tab(gPaIRS_Tab):
|
|
|
133
137
|
self.ui.button_paste_below.setEnabled(FlagNCal and FlagCuttedItems)
|
|
134
138
|
self.ui.button_paste_above.setEnabled(FlagNCal and FlagCuttedItems)
|
|
135
139
|
self.ui.button_clean.setEnabled(FlagFiles)
|
|
140
|
+
self.ui.button_info.setVisible(self.CALpar.Process==ProcessTypes.spiv)
|
|
136
141
|
|
|
137
142
|
self.ui.button_CalVi.setVisible(self.CALpar.flagRun==0)
|
|
138
143
|
|
|
@@ -166,13 +171,23 @@ class Calibration_Tab(gPaIRS_Tab):
|
|
|
166
171
|
#*************************************************** Buttons
|
|
167
172
|
#******************** Actions
|
|
168
173
|
def button_CalVi_action(self):
|
|
174
|
+
if CALpar.FlagSPIVCal and self.ui.button_info.isVisible() and self.ui.button_CalVi.isChecked():
|
|
175
|
+
showSPIVCalHelp(self,self.dontShowAgainSPIVCalHelp)
|
|
169
176
|
self.CALpar.FlagCalVi=self.ui.button_CalVi.isChecked()
|
|
170
177
|
|
|
178
|
+
def dontShowAgainSPIVCalHelp(self):
|
|
179
|
+
CALpar.FlagSPIVCal = False
|
|
180
|
+
|
|
181
|
+
def button_info_action(self):
|
|
182
|
+
showSPIVCalHelp(self)
|
|
183
|
+
|
|
171
184
|
def button_scan_list_action(self):
|
|
172
185
|
self.ui.calTree.setLists()
|
|
173
186
|
self.CALpar.calEx=deep_duplicate(self.ui.calTree.calEx)
|
|
174
187
|
|
|
175
188
|
def button_import_action(self):
|
|
189
|
+
if CALpar.FlagSPIVCal and self.ui.button_info.isVisible():
|
|
190
|
+
showSPIVCalHelp(self,self.dontShowAgainSPIVCalHelp)
|
|
176
191
|
filenames, _ = QFileDialog.getOpenFileNames(self,\
|
|
177
192
|
"Select calibration files from the current directory", filter='*.cal',\
|
|
178
193
|
options=optionNativeDialog)
|
|
@@ -294,30 +309,31 @@ class Calibration_Tab(gPaIRS_Tab):
|
|
|
294
309
|
self.ui.calTree.topLevelItem(self.CALpar.row).setSelected(True)
|
|
295
310
|
|
|
296
311
|
#*************************************************** Context Menu
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
312
|
+
def calTreeContextMenuEvent(obj, self, event):
|
|
313
|
+
menu=QMenu(obj)
|
|
314
|
+
menu.setStyleSheet(gPaIRS_QMenu_style)
|
|
315
|
+
name=[]
|
|
316
|
+
act=[]
|
|
317
|
+
fun=[]
|
|
318
|
+
for nb in self.calibrationTreeButtons:
|
|
319
|
+
if '-' not in nb and '|' not in nb:
|
|
320
|
+
b:QPushButton=getattr(self.ui,'button_'+nb)
|
|
321
|
+
if b.isVisible() and b.isEnabled():
|
|
322
|
+
if hasattr(self,'button_'+nb+'_callback'):
|
|
323
|
+
name.append(nb)
|
|
324
|
+
act.append(QAction(b.icon(),toPlainText(b.toolTip().split('.')[0]),self))
|
|
325
|
+
menu.addAction(act[-1])
|
|
326
|
+
callback=getattr(self,'button_'+nb+'_callback')
|
|
327
|
+
fun.append(callback)
|
|
328
|
+
elif '|' in nb:
|
|
329
|
+
if len(act): menu.addSeparator()
|
|
330
|
+
|
|
331
|
+
if len(act):
|
|
332
|
+
action = menu.exec(obj.mapToGlobal(event.pos()))
|
|
333
|
+
for nb,a,f in zip(name,act,fun):
|
|
334
|
+
if a==action:
|
|
335
|
+
TABpar.FlagSettingPar=False
|
|
336
|
+
f()
|
|
321
337
|
|
|
322
338
|
if __name__ == "__main__":
|
|
323
339
|
import sys
|
PaIRS_UniNa/Changes.txt
CHANGED
|
@@ -1,3 +1,101 @@
|
|
|
1
|
+
********* Changes in version 0.2.11 (2026.02.02) **********
|
|
2
|
+
Bug fixes:
|
|
3
|
+
- fixed an issue preventing correct restoration of reshape/resize settings in the Output tab at startup of the interface.
|
|
4
|
+
|
|
5
|
+
User-interface enhancements:
|
|
6
|
+
- minor UI restyling aimed at improving visual feedback, with clearer highlighting of widgets involved in user interactions;
|
|
7
|
+
- introduced the functionality to detach the Vis plot area from the main window, enabling users to visualize images and results more comfortably and effectively in a separate floating window;
|
|
8
|
+
- added a dedicated Window menu, allowing users to quickly apply convenient interface layouts and better manage detached windows.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
********* Changes in version 0.2.10 (2026.01.05) **********
|
|
13
|
+
Bug fixes:
|
|
14
|
+
- fixed a bug affecting the "Edit list" functionality of the image-tree in the Input tab; the feature is now fully operational and behaves as expected;
|
|
15
|
+
- fixed a minor issue that could affect the correct assessment of the PIV process stability.
|
|
16
|
+
|
|
17
|
+
User-interface enhancements:
|
|
18
|
+
- minor UI restyling aimed at improving visual feedback, with clearer highlighting of widgets involved in user interactions;
|
|
19
|
+
- improved the visualization of contextual help messages, providing clearer and more consistent tooltip-like feedback within the interface;
|
|
20
|
+
- enhanced the management and restoration of global tab settings to ensure better consistency when loading previously saved workspaces.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
********* Changes in version 0.2.9 (2025.12.12) **********
|
|
25
|
+
Bug fixes:
|
|
26
|
+
- fixed a bug in the batch folder-copy tool enabling automatic removal of incomplete image pairs and a full re-scan of destination folders to detect and resolve any image-set mismatches.
|
|
27
|
+
|
|
28
|
+
New features:
|
|
29
|
+
- a new help dialog has been introduced to assist users during the stereoscopic PIV calibration process. The dialog provides a detailed explanation of the required coordinate convention (plate defining the x–y plane, z-axis normal to the plate and x-axis aligned with the stereoscopic baseline) and displays example images illustrating correct and incorrect configurations.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
********* Changes in version 0.2.8 (2025.11.14) **********
|
|
34
|
+
Bug fixes:
|
|
35
|
+
- corrected a bug in the z-vorticity computation: velocity gradients were not properly converted to physical units, causing an error in the magnitude scales though not in the qualitative distributions;
|
|
36
|
+
- corrected the display of maps of output variables and vector fields in Vis to ensure proper alignment across option changes;
|
|
37
|
+
- fixed issues related to path handling in the batch-folder copy and other modules: paths are no longer relativized, avoiding inconsistent behavior across different operating systems or different.
|
|
38
|
+
|
|
39
|
+
New features:
|
|
40
|
+
- added new options in the batch folder-copy tool to automatically remove image pairs where one or more files are missing in the destination folders and to fully re-scan the destination folders for cases in which mismatches in the image sets may occur;
|
|
41
|
+
- extended the existing functionality in Vis for loading and visualizing past results located under the specified output path and name root: when available, the corresponding saved log file is now automatically loaded and displayed in the Log tab.
|
|
42
|
+
|
|
43
|
+
User-interface enhancements:
|
|
44
|
+
- improved the naming logic for duplicated processes: copied processes are now assigned consistent incremental suffixes;
|
|
45
|
+
- improved the example-image tree and the behavior of the step spin box in the Image Import Tool (minimum step is now 1);
|
|
46
|
+
- refined the behavior of the import button: it is now always enabled, and when no changes in the image list are detected upon importing, the user simply receives a warning message;
|
|
47
|
+
- improved the behaviour of the list of path completers in the Input tabs;
|
|
48
|
+
- in Vis, resizing settings and automatic level-reset options are no longer global but apply individually per each step.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
********* Changes in version 0.2.7 (2025.10.13) **********
|
|
52
|
+
Bug fixes:
|
|
53
|
+
- resolved an issue related to visulazion of streamlines when the image is shown in pixel units and a custom resolution is specified (in previous versions, streamlines were always represented in physical units);
|
|
54
|
+
- corrected the update of reprojection errors in CalVi when the control point grid is expanded after a calibration. Each new control point now has its error recalculated and plotted, providing a correct view of the extrapolation error;
|
|
55
|
+
- fixed the automatic resize/reshape behavior specified in the Output tab: when an image transformation is assigned, it is now preserved even if the automatic reshape button is active.
|
|
56
|
+
|
|
57
|
+
User-interface enhancements:
|
|
58
|
+
- changed the behavior of the Vis button for restricting view on the interrogation window area: clicking it now opens a popup menu that allows users to select the desired interrogation-window size to focus on among all iterations of the process;
|
|
59
|
+
- names of processes duplicated in the process tree are now automatically updated to avoid conflicts: if a name already exists, the new one is appended with an incremental suffix;
|
|
60
|
+
- improved interaction with editable input fields: when hovering the highlighted style is displayed correctly, the text cursor now appears exactly where clicked and the background color is properly restored when leaving the field.
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
********* Changes in version 0.2.6 (2025.09.06) **********
|
|
65
|
+
Bug fixes:
|
|
66
|
+
- fixed bugs related to process tree management.
|
|
67
|
+
|
|
68
|
+
User-interface enhancements:
|
|
69
|
+
- enhanced release check using SSL for reliable retrieval of the latest version.
|
|
70
|
+
|
|
71
|
+
Distribution:
|
|
72
|
+
- ready-to-use executables of PaIRS are now available!
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
********* Changes in version 0.2.5 (2025.07.28) **********
|
|
77
|
+
Bug fixes:
|
|
78
|
+
- fixed bugs in launching PIV and stereoscopic PIV processes in special cases;
|
|
79
|
+
- fixed tooltip crash introduced by PySide 6.9;
|
|
80
|
+
- corrected package import errors and context menu bugs;
|
|
81
|
+
- resolved multiple visual glitches in image tree selection and map visualization.
|
|
82
|
+
|
|
83
|
+
New features:
|
|
84
|
+
- implemented version control of required Python packages with automatic compatibility check and warning;
|
|
85
|
+
- disparity maps are now automatically saved in the output folder and can be visualized in Vis;
|
|
86
|
+
- added support for restricting view in Vis based on interrogation window size and shifting the view window interactively.
|
|
87
|
+
|
|
88
|
+
User-interface enhancements:
|
|
89
|
+
- redesigned the execution logic of internal workers for improved control and robustness;
|
|
90
|
+
- improved formatting and display of coordinates and variable values when moving the cursor during map visualization;
|
|
91
|
+
- updated button labels and layout for clarity and consistency.
|
|
92
|
+
|
|
93
|
+
Distribution:
|
|
94
|
+
- Support for Python 3.9 has been discontinued;
|
|
95
|
+
- Python 3.13 builds have been successfully created and tested in Windows.
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
1
99
|
********* Changes in version 0.2.4 (2024.12.01) **********
|
|
2
100
|
Bug fixes:
|
|
3
101
|
- fixed critical bugs in process handling and calibration step (CalVi usage, closing PaIRS during CalVi operation, resetting steps while running);
|
PaIRS_UniNa/Custom_Top.py
CHANGED
|
@@ -224,7 +224,7 @@ class Custom_Top(QDialog):
|
|
|
224
224
|
def loadPastProc(self,*args):
|
|
225
225
|
if len(args): inpath=args[0]
|
|
226
226
|
else: inpath='./'
|
|
227
|
-
ext_pro=f'*{outExt.min}
|
|
227
|
+
ext_pro=f'*{outExt.min} *{outExt.piv} *.cfg'
|
|
228
228
|
filename, _ = QFileDialog.getOpenFileName(self,\
|
|
229
229
|
"Select an image file of the sequence", filter=ext_pro,\
|
|
230
230
|
dir=inpath,\
|