PaIRS-UniNa 0.2.4__cp312-cp312-macosx_10_9_universal2.whl → 0.2.6__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.
Files changed (60) hide show
  1. PaIRS_UniNa/Changes.txt +35 -0
  2. PaIRS_UniNa/Custom_Top.py +1 -1
  3. PaIRS_UniNa/Explorer.py +3063 -3049
  4. PaIRS_UniNa/FolderLoop.py +371 -371
  5. PaIRS_UniNa/Input_Tab.py +717 -709
  6. PaIRS_UniNa/Input_Tab_CalVi.py +4 -4
  7. PaIRS_UniNa/Input_Tab_tools.py +3018 -3009
  8. PaIRS_UniNa/Output_Tab.py +2 -2
  9. PaIRS_UniNa/PaIRS.py +17 -17
  10. PaIRS_UniNa/PaIRS_PIV.py +56 -1
  11. PaIRS_UniNa/PaIRS_pypacks.py +323 -60
  12. PaIRS_UniNa/Process_Tab.py +8 -13
  13. PaIRS_UniNa/Process_Tab_Disp.py +9 -4
  14. PaIRS_UniNa/Saving_tools.py +277 -277
  15. PaIRS_UniNa/TabTools.py +63 -21
  16. PaIRS_UniNa/Vis_Tab.py +293 -115
  17. PaIRS_UniNa/Whatsnew.py +13 -0
  18. PaIRS_UniNa/_PaIRS_PIV.so +0 -0
  19. PaIRS_UniNa/__init__.py +3 -3
  20. PaIRS_UniNa/gPaIRS.py +3825 -3600
  21. PaIRS_UniNa/icons/flaticon_PaIRS_download_warning.png +0 -0
  22. PaIRS_UniNa/icons/pylog.png +0 -0
  23. PaIRS_UniNa/icons/python_warning.png +0 -0
  24. PaIRS_UniNa/icons/queue.png +0 -0
  25. PaIRS_UniNa/icons/uninitialized.png +0 -0
  26. PaIRS_UniNa/icons/window.png +0 -0
  27. PaIRS_UniNa/listLib.py +301 -301
  28. PaIRS_UniNa/parForMulti.py +433 -433
  29. PaIRS_UniNa/parForWorkers.py +46 -1
  30. PaIRS_UniNa/pivParFor.py +1 -1
  31. PaIRS_UniNa/procTools.py +17 -7
  32. PaIRS_UniNa/rqrdpckgs.txt +9 -0
  33. PaIRS_UniNa/stereo.py +683 -683
  34. PaIRS_UniNa/stereoPivParFor.py +1 -1
  35. PaIRS_UniNa/tabSplitter.py +606 -606
  36. PaIRS_UniNa/ui_Calibration_Tab.py +542 -542
  37. PaIRS_UniNa/ui_Custom_Top.py +294 -294
  38. PaIRS_UniNa/ui_Input_Tab.py +1098 -1098
  39. PaIRS_UniNa/ui_Input_Tab_CalVi.py +1280 -1280
  40. PaIRS_UniNa/ui_Log_Tab.py +261 -261
  41. PaIRS_UniNa/ui_Output_Tab.py +2360 -2360
  42. PaIRS_UniNa/ui_Process_Tab.py +3808 -3808
  43. PaIRS_UniNa/ui_Process_Tab_CalVi.py +1547 -1547
  44. PaIRS_UniNa/ui_Process_Tab_Disp.py +1139 -968
  45. PaIRS_UniNa/ui_Process_Tab_Min.py +435 -435
  46. PaIRS_UniNa/ui_ResizePopup.py +203 -203
  47. PaIRS_UniNa/ui_Vis_Tab.py +1626 -1533
  48. PaIRS_UniNa/ui_Vis_Tab_CalVi.py +1249 -1249
  49. PaIRS_UniNa/ui_Whatsnew.py +131 -131
  50. PaIRS_UniNa/ui_gPairs.py +873 -849
  51. PaIRS_UniNa/ui_infoPaIRS.py +550 -428
  52. PaIRS_UniNa/whatsnew.txt +4 -4
  53. {PaIRS_UniNa-0.2.4.dist-info → pairs_unina-0.2.6.dist-info}/METADATA +47 -30
  54. {PaIRS_UniNa-0.2.4.dist-info → pairs_unina-0.2.6.dist-info}/RECORD +56 -54
  55. {PaIRS_UniNa-0.2.4.dist-info → pairs_unina-0.2.6.dist-info}/WHEEL +1 -1
  56. PaIRS_UniNa/icons/order.png +0 -0
  57. PaIRS_UniNa/icons/order_reverse.png +0 -0
  58. PaIRS_UniNa/icons/run_piv.png +0 -0
  59. PaIRS_UniNa-0.2.4.dist-info/LICENSE +0 -19
  60. {PaIRS_UniNa-0.2.4.dist-info → pairs_unina-0.2.6.dist-info}/top_level.txt +0 -0
PaIRS_UniNa/TabTools.py CHANGED
@@ -151,7 +151,8 @@ class TABpar:
151
151
  fields=self.fields
152
152
  else:
153
153
  [exceptions.remove(f) for f in fields if f in exceptions]
154
- df=''
154
+ printing=''
155
+ df=[]
155
156
  for f in fields:
156
157
  if f in exceptions: continue
157
158
  if not hasattr(self,f):
@@ -176,11 +177,13 @@ class TABpar:
176
177
  else:
177
178
  if a!=b: Flag=True
178
179
  if Flag:
179
- if not df: df=f'{self.name} differences in:'
180
- df=df+f'\n*\t{f}:\t {str(a)[:100]} --> {str(b)[:100]}'
181
- if not df: df=f'{self.name} no differences!'
182
- pri.Info.magenta(df)
183
-
180
+ df.append(f)
181
+ if not printing: printing=f'{self.name} differences in:'
182
+ printing=printing+f'\n*\t{f}:\t {str(a)[:100]} --> {str(b)[:100]}'
183
+ if not printing: printing=f'{self.name} no differences!'
184
+ pri.Info.magenta(printing)
185
+ return df
186
+
184
187
  def hasIndexOf(self,d):
185
188
  """ check if the indexes are the same """
186
189
  return self.ind==d.ind
@@ -498,16 +501,52 @@ class gPaIRS_Tab(QWidget):
498
501
  TABpar_ind=self.TABpar_at(self.TABpar.ind)
499
502
  if TABpar_ind and self.TABpar.isEqualTo(TABpar_ind,FlagStrictDiff=True): return
500
503
  FlagNewPar=self.isNewPar()
501
- if FlagNewPar and (self.TABpar.flagRun!=0 or len(self.TABpar.link)>0):
504
+ flagRun=self.TABpar_at(self.TABpar.ind).flagRun
505
+ if FlagNewPar and (flagRun!=0 or len(self.TABpar.link)>0):
502
506
  #FlagNewPar=not self.FlagAddPrev
503
- self.TABpar.copyfrom(TABpar_ind)
504
- originalStyleSheet=self.gui.styleSheet()
505
- self.gui.setStyleSheet(f'background: {self.palette().color(QPalette.ColorRole.Text).name()} ;') #dcdcdc
506
- self.repaint()
507
- try:
508
- self.setTABpar(FlagAdjustPar=False,FlagBridge=False,FlagCallback=False)
509
- finally:
510
- self.gui.setStyleSheet(originalStyleSheet)
507
+ if len(self.TABpar.link)>0:
508
+ ITE0_master=self.gui.ui.Explorer.ITEsfromInd(self.TABpar.link)[0]
509
+ linkInfo=f'{ITE0_master.ind[2]+1}: {ITE0_master.name}'
510
+ Messagge=f'This process step is linked to process {linkInfo}. To modify it, you need to unlink the process step.'
511
+ if flagRun!=0 or ITE0_master.flagRun!=0:
512
+ Messagge+=' After unlinking the process will be reset!'
513
+ def unlink_pars_online():
514
+ TABpar_ind.copyfrom(self.TABpar)
515
+ self.gui.unlink_pars(self.TABpar.ind)
516
+ if self.TABpar.flagRun!=0 or ITE0_master.flagRun!=0:
517
+ self.gui.reset_step(self.TABpar.ind)
518
+ warningDialog(self.gui,Messagge,addButton={'Unlink step!': unlink_pars_online})
519
+ elif flagRun==-10:
520
+ Messagge='This process step is in the queue for process execution. To modify it, you need to stop processing and then reset it and all the subsequent steps.'
521
+ warningDialog(self.gui,Messagge)
522
+ elif flagRun==-2:
523
+ Messagge='This process step is currently in execution. To modify it, you need to stop processing and then reset it and all the subsequent steps.'
524
+ warningDialog(self.gui,Messagge)
525
+ elif flagRun!=0:
526
+ if self.gui.FlagRun:
527
+ Messagge='This process step has already been executed. To modify it, you need to stop processing and then reset it and all the subsequent steps.'
528
+ warningDialog(self.gui,Messagge)
529
+ else:
530
+ Messagge='This process step has already been executed. To modify it, you need to reset the current step and all the subsequent ones.'
531
+ def reset_step_online():
532
+ TABpar_ind.copyfrom(self.TABpar)
533
+ self.gui.reset_step(self.TABpar.ind)
534
+ return
535
+ warningDialog(self.gui,Messagge,addButton={'Reset step!': reset_step_online})
536
+
537
+
538
+ if flagRun!=0 or len(self.TABpar.link)>0:
539
+ self.TABpar.copyfrom(TABpar_ind)
540
+ originalStyleSheet=self.gui.styleSheet()
541
+ self.gui.setStyleSheet(f'background: {self.palette().color(QPalette.ColorRole.Text).name()} ;') #dcdcdc
542
+ self.repaint()
543
+ try:
544
+ self.setTABpar(FlagAdjustPar=False,FlagBridge=False,FlagCallback=False)
545
+ finally:
546
+ timesleep(.01)
547
+ self.gui.setStyleSheet(originalStyleSheet)
548
+ else:
549
+ return
511
550
  else:
512
551
  self.setTABpar(FlagAdjustPar=True,FlagBridge=self.FlagBridge,FlagCallback=True)
513
552
  except:
@@ -824,7 +863,7 @@ class gPaIRS_Tab(QWidget):
824
863
  self.onlyReadLabel.setText('')
825
864
  self.button_link_step.setToolTip('Link current process step to another in the same project')
826
865
  self.button_link_step.setIcon(self.icon_link)
827
- self.gui.RCLbar.buttonData[2]['name']='Link step to...'
866
+ self.gui.RCLbar.buttonData[3]['name']='Link step to...'
828
867
  else:
829
868
  if hasattr(self.gui,'ui') and hasattr(self.gui.ui,'Explorer'):
830
869
  ITE0_master=self.gui.ui.Explorer.ITEsfromInd(self.TABpar.link)[0]
@@ -834,11 +873,14 @@ class gPaIRS_Tab(QWidget):
834
873
  self.onlyReadLabel.setText('')
835
874
  self.button_link_step.setToolTip('Unlink current process step')
836
875
  self.button_link_step.setIcon(self.icon_unlink)
837
- self.gui.RCLbar.buttonData[2]['name']='Unlink step'
876
+ self.gui.RCLbar.buttonData[3]['name']='Unlink step'
838
877
  self.button_link_step.setStatusTip(self.button_link_step.toolTip())
839
878
  self.button_link_step.setChecked(len(self.TABpar.link)!=0)
840
879
 
841
- FlagProcessTree=self.gui.ui.Explorer.currentTree==self.gui.ui.Explorer.processTree
880
+ if self.gui.ui.Explorer.TREpar.step is None:
881
+ FlagProcessTree=False
882
+ else:
883
+ FlagProcessTree=self.gui.ui.Explorer.currentTree==self.gui.ui.Explorer.processTree and self.gui.ui.Explorer.TREpar.step>0
842
884
  FlagLabel=(self.TABpar.flagRun!=0 and len(self.TABpar.link)==0) or len(self.TABpar.link)>0
843
885
  FlagReset=self.TABpar.flagRun!=0 and len(self.TABpar.link)==0
844
886
  FlagInherit=self.TABpar.flagRun==0 and len(self.TABpar.link)==0 and len(self.gui.IOVheritableSteps())>0
@@ -1090,11 +1132,11 @@ def setFontPixelSize(self,fPixSize):
1090
1132
 
1091
1133
  def setFontSizeText(lab:QLabel,fPixSizes):
1092
1134
  text=lab.text()
1093
- text=re.sub("font-size:\d+pt",f"font-size:{fPixSizes[0]}px",text)
1094
- text=re.sub("font-size:\d+px",f"font-size:{fPixSizes[0]}px",text)
1135
+ text=re.sub(r"font-size:\d+pt",f"font-size:{fPixSizes[0]}px",text)
1136
+ text=re.sub(r"font-size:\d+px",f"font-size:{fPixSizes[0]}px",text)
1095
1137
  if len(fPixSizes)>1:
1096
1138
  for k in range(len(fPixSizes)-1,0,-1):
1097
- text=re.sub("font-size:\d+px",f"font-size:{fPixSizes[k]}px",text,k)
1139
+ text=re.sub(r"font-size:\d+px",f"font-size:{fPixSizes[k]}px",text,k)
1098
1140
  lab.setText(text)
1099
1141
  font=lab.font()
1100
1142
  font.setPixelSize(fPixSizes[0])