PaIRS-UniNa 0.2.7__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 +18 -0
- PaIRS_UniNa/Explorer.py +3126 -3076
- PaIRS_UniNa/FolderLoop.py +561 -371
- PaIRS_UniNa/Input_Tab.py +826 -717
- PaIRS_UniNa/Input_Tab_CalVi.py +10 -12
- PaIRS_UniNa/Input_Tab_tools.py +3019 -3018
- PaIRS_UniNa/Output_Tab.py +1 -3
- PaIRS_UniNa/PaIRS.py +17 -17
- PaIRS_UniNa/PaIRS_pypacks.py +45 -0
- PaIRS_UniNa/Saving_tools.py +277 -277
- PaIRS_UniNa/Vis_Tab.py +39 -18
- PaIRS_UniNa/Whatsnew.py +4 -3
- PaIRS_UniNa/_PaIRS_PIV.pyd +0 -0
- PaIRS_UniNa/__init__.py +2 -2
- PaIRS_UniNa/gPaIRS.py +3889 -3832
- PaIRS_UniNa/icons/folder_loop_cleanup.png +0 -0
- PaIRS_UniNa/icons/folder_loop_cleanup_off.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/procTools.py +46 -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 -873
- PaIRS_UniNa/ui_infoPaIRS.py +550 -550
- PaIRS_UniNa/whatsnew.txt +3 -2
- {pairs_unina-0.2.7.dist-info → pairs_unina-0.2.8.dist-info}/METADATA +13 -8
- {pairs_unina-0.2.7.dist-info → pairs_unina-0.2.8.dist-info}/RECORD +44 -40
- {pairs_unina-0.2.7.dist-info → pairs_unina-0.2.8.dist-info}/WHEEL +0 -0
- {pairs_unina-0.2.7.dist-info → pairs_unina-0.2.8.dist-info}/top_level.txt +0 -0
PaIRS_UniNa/procTools.py
CHANGED
|
@@ -355,9 +355,54 @@ class dataTreePar(TABpar):
|
|
|
355
355
|
if len(args)>1: n=args[1]
|
|
356
356
|
ln=len(nameSection)
|
|
357
357
|
ns=int((n-ln)/2)
|
|
358
|
-
|
|
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
|
|
359
361
|
return Log
|
|
360
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
|
+
|
|
361
406
|
def createLogProc(self):
|
|
362
407
|
splitAs='\n '#used to join the strings together tab or spaces may be use to indent the error
|
|
363
408
|
numImgTot=len(self.list_pim) if self.Step!=StepTypes.min else (2*len(self.list_pim))
|