PaIRS-UniNa 0.2.5__cp312-cp312-win_amd64.whl → 0.2.8__cp312-cp312-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/Changes.txt +45 -2
- PaIRS_UniNa/Explorer.py +3126 -3059
- PaIRS_UniNa/FolderLoop.py +561 -371
- PaIRS_UniNa/Input_Tab.py +826 -714
- PaIRS_UniNa/Input_Tab_CalVi.py +15 -17
- PaIRS_UniNa/Input_Tab_tools.py +3019 -3017
- PaIRS_UniNa/Output_Tab.py +2 -4
- PaIRS_UniNa/PaIRS.py +17 -17
- PaIRS_UniNa/PaIRS_pypacks.py +227 -56
- PaIRS_UniNa/Process_Tab.py +2 -2
- PaIRS_UniNa/Process_Tab_Disp.py +1 -1
- PaIRS_UniNa/Saving_tools.py +277 -277
- PaIRS_UniNa/TabTools.py +7 -4
- PaIRS_UniNa/Vis_Tab.py +129 -60
- PaIRS_UniNa/Whatsnew.py +15 -3
- PaIRS_UniNa/_PaIRS_PIV.pyd +0 -0
- PaIRS_UniNa/__init__.py +4 -4
- PaIRS_UniNa/addwidgets_ps.py +28 -20
- PaIRS_UniNa/calibView.py +7 -0
- PaIRS_UniNa/gPaIRS.py +3889 -3745
- PaIRS_UniNa/icons/flaticon_PaIRS_download_warning.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/pencil_bw.png +0 -0
- PaIRS_UniNa/icons/scan_path_loop.png +0 -0
- PaIRS_UniNa/icons/scan_path_loop_off.png +0 -0
- PaIRS_UniNa/listLib.py +301 -301
- PaIRS_UniNa/parForMulti.py +433 -433
- PaIRS_UniNa/pivParFor.py +1 -1
- PaIRS_UniNa/procTools.py +51 -3
- PaIRS_UniNa/rqrdpckgs.txt +6 -5
- PaIRS_UniNa/stereoPivParFor.py +1 -1
- PaIRS_UniNa/tabSplitter.py +606 -606
- PaIRS_UniNa/ui_Calibration_Tab.py +542 -542
- 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 -1139
- PaIRS_UniNa/ui_Process_Tab_Min.py +435 -435
- PaIRS_UniNa/ui_ResizePopup.py +203 -203
- PaIRS_UniNa/ui_Vis_Tab.py +1626 -1626
- PaIRS_UniNa/ui_Vis_Tab_CalVi.py +1249 -1249
- PaIRS_UniNa/ui_Whatsnew.py +131 -131
- PaIRS_UniNa/ui_gPairs.py +873 -867
- PaIRS_UniNa/ui_infoPaIRS.py +550 -550
- PaIRS_UniNa/whatsnew.txt +4 -4
- {pairs_unina-0.2.5.dist-info → pairs_unina-0.2.8.dist-info}/METADATA +31 -17
- {pairs_unina-0.2.5.dist-info → pairs_unina-0.2.8.dist-info}/RECORD +54 -48
- {pairs_unina-0.2.5.dist-info → pairs_unina-0.2.8.dist-info}/WHEEL +0 -0
- {pairs_unina-0.2.5.dist-info → pairs_unina-0.2.8.dist-info}/top_level.txt +0 -0
PaIRS_UniNa/pivParFor.py
CHANGED
|
@@ -78,7 +78,7 @@ def procPIV(i,procId ,PIV,data:dataTreePar,numUsedProcs,*args,**kwargs):
|
|
|
78
78
|
where FLAG_FINALIZED_OR_ERR = [ p|e for (p,e) in zip(FLAG_FINALIZED,FLAG_READ_ERR)]
|
|
79
79
|
numProcOrErrTot=sum(1 if (f&FLAG_FINALIZED_OR_ERR[0])or(not f&FLAG_PROC[0]) else 0 for f in flagOut)
|
|
80
80
|
to delete images
|
|
81
|
-
pa='C
|
|
81
|
+
pa='C:\\desk\\dl\\apairs\\jetcross\\'
|
|
82
82
|
no='zR2jet0_0004a'
|
|
83
83
|
I =imread([pa no '.png']);
|
|
84
84
|
I=I*0+1;
|
PaIRS_UniNa/procTools.py
CHANGED
|
@@ -328,7 +328,7 @@ class dataTreePar(TABpar):
|
|
|
328
328
|
|
|
329
329
|
def setCompleteLog(self):
|
|
330
330
|
warn1=self.headerSection('WARNINGS',self.warnings[1],'!')
|
|
331
|
-
if self.flagRun:
|
|
331
|
+
if self.flagRun not in (0,-10):
|
|
332
332
|
warn0=''
|
|
333
333
|
self.createLogProc()
|
|
334
334
|
LogProc = self.headerSection('OUTPUT',self.procLog[0])
|
|
@@ -338,7 +338,10 @@ class dataTreePar(TABpar):
|
|
|
338
338
|
if self.warnings[0]: warn0='*Further information:\n'+self.warnings[0]+'\n'
|
|
339
339
|
self.Log=self.createLogHeader()+procLog+warn0+warn1
|
|
340
340
|
else:
|
|
341
|
-
self.
|
|
341
|
+
if self.flagRun:
|
|
342
|
+
self.Log=self.createLogHeader()
|
|
343
|
+
else:
|
|
344
|
+
self.Log=self.createLogHeader()+warn1
|
|
342
345
|
|
|
343
346
|
def createWarningLog(self,warning):
|
|
344
347
|
warn1=self.headerSection('WARNINGS',warning,'!')
|
|
@@ -352,9 +355,54 @@ class dataTreePar(TABpar):
|
|
|
352
355
|
if len(args)>1: n=args[1]
|
|
353
356
|
ln=len(nameSection)
|
|
354
357
|
ns=int((n-ln)/2)
|
|
355
|
-
|
|
358
|
+
header=f'{f"{c}"*n}\n{" "*ns}{nameSection}{" "*ns}\n{f"{c}"*n}\n'
|
|
359
|
+
if Log!=' ': Log=header+Log+'\n'
|
|
360
|
+
else: Log=header
|
|
356
361
|
return Log
|
|
357
362
|
|
|
363
|
+
def eyeHeaderSection(self, text:str, width:int=54, height:int=11, border:str='o', pad:int=0)->str:
|
|
364
|
+
"""
|
|
365
|
+
Draw an eye-shaped frame with the given text centered on the middle row.
|
|
366
|
+
Works in monospace consoles or QTextEdit. Uses a smooth parametric eye curve.
|
|
367
|
+
"""
|
|
368
|
+
width=max(width, len(text)+2*pad+2)
|
|
369
|
+
height=max(5, height|(1)) # make it odd
|
|
370
|
+
mid=height//2
|
|
371
|
+
# eye boundary: y = a*(1 - |x|^p)^b, mirrored top/bottom
|
|
372
|
+
import math
|
|
373
|
+
p,b=1.6,1.0 # shape controls (p: pointiness, b: roundness)
|
|
374
|
+
ax=width/2-1
|
|
375
|
+
ay=mid-1 # vertical semi-size (controls thickness of eye)
|
|
376
|
+
eps=0.6 # border thickness in "cells"
|
|
377
|
+
|
|
378
|
+
rows=[]
|
|
379
|
+
for r in range(height):
|
|
380
|
+
y=(r-mid)/ay # -1..1
|
|
381
|
+
line=[]
|
|
382
|
+
for c in range(width):
|
|
383
|
+
x=(c- (width-1)/2)/ax # -1..1
|
|
384
|
+
# target boundary (top curve positive y, bottom negative)
|
|
385
|
+
yb = (1 - abs(x)**p)
|
|
386
|
+
yb = (yb if yb>0 else 0)**b # clamp
|
|
387
|
+
# distance to boundary (abs because top/bottom)
|
|
388
|
+
d=abs(abs(y)-yb)
|
|
389
|
+
ch=' '
|
|
390
|
+
if yb<=0 and abs(y)<eps/ay: # very ends -> leave blank
|
|
391
|
+
ch=' '
|
|
392
|
+
elif d*ay<=eps and yb>0: # on border
|
|
393
|
+
ch=border
|
|
394
|
+
line.append(ch)
|
|
395
|
+
rows.append(''.join(line))
|
|
396
|
+
|
|
397
|
+
# write text on middle row
|
|
398
|
+
body=list(rows[mid])
|
|
399
|
+
s=f' {text} '
|
|
400
|
+
start=(width-len(s))//2
|
|
401
|
+
body[start:start+len(s)]=list(s)
|
|
402
|
+
rows[mid]=''.join(body)
|
|
403
|
+
|
|
404
|
+
return '\n'.join(rows)
|
|
405
|
+
|
|
358
406
|
def createLogProc(self):
|
|
359
407
|
splitAs='\n '#used to join the strings together tab or spaces may be use to indent the error
|
|
360
408
|
numImgTot=len(self.list_pim) if self.Step!=StepTypes.min else (2*len(self.list_pim))
|
PaIRS_UniNa/rqrdpckgs.txt
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
scipy 1.14.0 1.16.
|
|
2
|
-
matplotlib 3.9.0 3.10.
|
|
1
|
+
scipy 1.14.0 1.16.1 0
|
|
2
|
+
matplotlib 3.9.0 3.10.6 0
|
|
3
3
|
pillow 10.4.0 11.3.0 0
|
|
4
|
-
numpy 2.0.0 2.3.
|
|
5
|
-
pyside6 6.7.0 6.9.
|
|
4
|
+
numpy 2.0.0 2.3.2 0
|
|
5
|
+
pyside6 6.7.0 6.9.2 0
|
|
6
6
|
unidecode 1.3.0 1.4.0 0
|
|
7
7
|
psutil 6.0.0 7.0.0 0
|
|
8
|
-
debugpy 1.6.6 1.8.
|
|
8
|
+
debugpy 1.6.6 1.8.16 0
|
|
9
|
+
certifi 2025.7.14 2025.8.3 0
|
PaIRS_UniNa/stereoPivParFor.py
CHANGED
|
@@ -67,7 +67,7 @@ def procStereoPIV(i,procId ,StereoPIV,data:dataTreePar,numUsedProcs,*args,**kwar
|
|
|
67
67
|
where FLAG_FINALIZED_OR_ERR = [ p|e for (p,e) in zip(FLAG_FINALIZED,FLAG_READ_ERR)]
|
|
68
68
|
numProcOrErrTot=sum(1 if (f&FLAG_FINALIZED_OR_ERR[0])or(not f&FLAG_PROC[0]) else 0 for f in flagOut)
|
|
69
69
|
to delete images
|
|
70
|
-
pa='C
|
|
70
|
+
pa='C:\\desk\\dl\\apairs\\jetcross\\'
|
|
71
71
|
no='zR2jet0_0004a'
|
|
72
72
|
I =imread([pa no '.png']);
|
|
73
73
|
I=I*0+1;
|