PaIRS-UniNa 0.2.0__cp310-cp310-win_amd64.whl → 0.2.8__cp310-cp310-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 +39 -23
- PaIRS_UniNa/Changes.txt +127 -8
- PaIRS_UniNa/Custom_Top.py +12 -9
- PaIRS_UniNa/Explorer.py +534 -165
- PaIRS_UniNa/FolderLoop.py +562 -0
- PaIRS_UniNa/Input_Tab.py +261 -100
- PaIRS_UniNa/Input_Tab_CalVi.py +24 -25
- PaIRS_UniNa/Input_Tab_tools.py +967 -405
- PaIRS_UniNa/Output_Tab.py +324 -130
- PaIRS_UniNa/PaIRS_PIV.py +58 -1
- PaIRS_UniNa/PaIRS_pypacks.py +1415 -1039
- PaIRS_UniNa/Process_Tab.py +15 -19
- PaIRS_UniNa/Process_Tab_Disp.py +12 -5
- PaIRS_UniNa/Saving_tools.py +27 -13
- PaIRS_UniNa/TabTools.py +176 -59
- PaIRS_UniNa/Vis_Tab.py +664 -256
- PaIRS_UniNa/Vis_Tab_CalVi.py +114 -45
- PaIRS_UniNa/Whatsnew.py +58 -9
- PaIRS_UniNa/_PaIRS_PIV.pyd +0 -0
- PaIRS_UniNa/__init__.py +4 -3
- PaIRS_UniNa/addwidgets_ps.py +150 -63
- PaIRS_UniNa/calib.py +6 -3
- PaIRS_UniNa/calibView.py +19 -6
- PaIRS_UniNa/gPaIRS.py +1397 -543
- PaIRS_UniNa/icons/align_all.png +0 -0
- PaIRS_UniNa/icons/announcement.png +0 -0
- PaIRS_UniNa/icons/bugfix.png +0 -0
- PaIRS_UniNa/icons/change_folder.png +0 -0
- PaIRS_UniNa/icons/change_folder_off.png +0 -0
- PaIRS_UniNa/icons/close_all.png +0 -0
- PaIRS_UniNa/icons/copy_process_off.png +0 -0
- PaIRS_UniNa/icons/flaticon_PaIRS_beta.png +0 -0
- 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/linked.png +0 -0
- PaIRS_UniNa/icons/logo_opaco.png +0 -0
- PaIRS_UniNa/icons/open_image.png +0 -0
- PaIRS_UniNa/icons/open_new_window.png +0 -0
- PaIRS_UniNa/icons/open_result.png +0 -0
- PaIRS_UniNa/icons/process_loop.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/restore_undo.png +0 -0
- PaIRS_UniNa/icons/save_and_stop.png +0 -0
- PaIRS_UniNa/icons/scale_all.png +0 -0
- PaIRS_UniNa/icons/scale_down.png +0 -0
- PaIRS_UniNa/icons/scale_up.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/show_all.png +0 -0
- PaIRS_UniNa/icons/star.png +0 -0
- PaIRS_UniNa/icons/step_inheritance.png +0 -0
- PaIRS_UniNa/icons/subMIN_on.png +0 -0
- PaIRS_UniNa/icons/unedited.png +0 -0
- PaIRS_UniNa/icons/uninitialized.png +0 -0
- PaIRS_UniNa/icons/window.png +0 -0
- PaIRS_UniNa/listLib.py +3 -2
- PaIRS_UniNa/parForMulti.py +7 -5
- PaIRS_UniNa/parForWorkers.py +174 -140
- PaIRS_UniNa/pivParFor.py +9 -11
- PaIRS_UniNa/preProcParFor.py +4 -4
- PaIRS_UniNa/procTools.py +120 -44
- PaIRS_UniNa/rqrdpckgs.txt +9 -0
- PaIRS_UniNa/stereoPivParFor.py +16 -22
- PaIRS_UniNa/tabSplitter.py +17 -7
- PaIRS_UniNa/ui_Input_Tab.py +56 -57
- PaIRS_UniNa/ui_Input_Tab_CalVi.py +71 -64
- PaIRS_UniNa/ui_Log_Tab.py +8 -6
- PaIRS_UniNa/ui_Output_Tab.py +180 -4
- PaIRS_UniNa/ui_Process_Tab.py +19 -19
- PaIRS_UniNa/ui_Process_Tab_Disp.py +181 -10
- PaIRS_UniNa/ui_Vis_Tab.py +332 -196
- PaIRS_UniNa/ui_Whatsnew.py +13 -13
- PaIRS_UniNa/ui_gPairs.py +140 -71
- PaIRS_UniNa/ui_infoPaIRS.py +156 -31
- PaIRS_UniNa/whatsnew.txt +6 -4
- {PaIRS_UniNa-0.2.0.dist-info → pairs_unina-0.2.8.dist-info}/METADATA +62 -26
- {PaIRS_UniNa-0.2.0.dist-info → pairs_unina-0.2.8.dist-info}/RECORD +82 -54
- {PaIRS_UniNa-0.2.0.dist-info → pairs_unina-0.2.8.dist-info}/WHEEL +1 -1
- PaIRS_UniNa/icons/order.png +0 -0
- PaIRS_UniNa/icons/order_reverse.png +0 -0
- PaIRS_UniNa/icons/run_piv.png +0 -0
- PaIRS_UniNa/stereo.py +0 -685
- PaIRS_UniNa/ui_infoCalVi.py +0 -428
- PaIRS_UniNa-0.2.0.dist-info/LICENSE +0 -19
- {PaIRS_UniNa-0.2.0.dist-info → pairs_unina-0.2.8.dist-info}/top_level.txt +0 -0
PaIRS_UniNa/ui_infoPaIRS.py
CHANGED
|
@@ -2,9 +2,9 @@ from .addwidgets_ps import icons_path
|
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
|
|
4
4
|
################################################################################
|
|
5
|
-
## Form generated from reading UI file '
|
|
5
|
+
## Form generated from reading UI file 'infoPaIRSWjIuhO.ui'
|
|
6
6
|
##
|
|
7
|
-
## Created by: Qt User Interface Compiler version 6.
|
|
7
|
+
## Created by: Qt User Interface Compiler version 6.9.1
|
|
8
8
|
##
|
|
9
9
|
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
|
10
10
|
################################################################################
|
|
@@ -24,13 +24,13 @@ class Ui_InfoPaiRS(object):
|
|
|
24
24
|
def setupUi(self, InfoPaiRS):
|
|
25
25
|
if not InfoPaiRS.objectName():
|
|
26
26
|
InfoPaiRS.setObjectName(u"InfoPaiRS")
|
|
27
|
-
InfoPaiRS.resize(700,
|
|
28
|
-
InfoPaiRS.setMinimumSize(QSize(550,
|
|
27
|
+
InfoPaiRS.resize(700, 650)
|
|
28
|
+
InfoPaiRS.setMinimumSize(QSize(550, 600))
|
|
29
29
|
font = QFont()
|
|
30
30
|
font.setFamilies([u"Arial"])
|
|
31
31
|
InfoPaiRS.setFont(font)
|
|
32
32
|
icon = QIcon()
|
|
33
|
-
icon.addFile(u""+ icons_path +"icon_PaIRS.png", QSize(), QIcon.Normal, QIcon.Off)
|
|
33
|
+
icon.addFile(u""+ icons_path +"icon_PaIRS.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
|
|
34
34
|
InfoPaiRS.setWindowIcon(icon)
|
|
35
35
|
self.centralwidget = QWidget(InfoPaiRS)
|
|
36
36
|
self.centralwidget.setObjectName(u"centralwidget")
|
|
@@ -43,8 +43,8 @@ class Ui_InfoPaiRS(object):
|
|
|
43
43
|
self.tabWidget = QTabWidget(self.centralwidget)
|
|
44
44
|
self.tabWidget.setObjectName(u"tabWidget")
|
|
45
45
|
self.tabWidget.setAutoFillBackground(False)
|
|
46
|
-
self.tabWidget.setTabPosition(QTabWidget.North)
|
|
47
|
-
self.tabWidget.setTabShape(QTabWidget.Rounded)
|
|
46
|
+
self.tabWidget.setTabPosition(QTabWidget.TabPosition.North)
|
|
47
|
+
self.tabWidget.setTabShape(QTabWidget.TabShape.Rounded)
|
|
48
48
|
self.tabWidget.setDocumentMode(True)
|
|
49
49
|
self.tabWidget.setTabBarAutoHide(True)
|
|
50
50
|
self.about = QWidget()
|
|
@@ -72,10 +72,10 @@ class Ui_InfoPaiRS(object):
|
|
|
72
72
|
font2.setFamilies([u"Arial"])
|
|
73
73
|
font2.setPointSize(14)
|
|
74
74
|
self.info.setFont(font2)
|
|
75
|
-
self.info.setTextFormat(Qt.RichText)
|
|
75
|
+
self.info.setTextFormat(Qt.TextFormat.RichText)
|
|
76
76
|
self.info.setWordWrap(True)
|
|
77
77
|
self.info.setOpenExternalLinks(True)
|
|
78
|
-
self.info.setTextInteractionFlags(Qt.LinksAccessibleByKeyboard|Qt.LinksAccessibleByMouse|Qt.TextBrowserInteraction|Qt.TextSelectableByKeyboard|Qt.TextSelectableByMouse)
|
|
78
|
+
self.info.setTextInteractionFlags(Qt.TextInteractionFlag.LinksAccessibleByKeyboard|Qt.TextInteractionFlag.LinksAccessibleByMouse|Qt.TextInteractionFlag.TextBrowserInteraction|Qt.TextInteractionFlag.TextSelectableByKeyboard|Qt.TextInteractionFlag.TextSelectableByMouse)
|
|
79
79
|
|
|
80
80
|
self.gridLayout_2.addWidget(self.info, 0, 1, 1, 1)
|
|
81
81
|
|
|
@@ -83,13 +83,13 @@ class Ui_InfoPaiRS(object):
|
|
|
83
83
|
self.unina_dii.setObjectName(u"unina_dii")
|
|
84
84
|
self.unina_dii.setMaximumSize(QSize(16777215, 90))
|
|
85
85
|
self.unina_dii.setPixmap(QPixmap(u""+ icons_path +"unina_dii.png"))
|
|
86
|
-
self.unina_dii.setAlignment(Qt.AlignCenter)
|
|
86
|
+
self.unina_dii.setAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
87
87
|
|
|
88
88
|
self.gridLayout_2.addWidget(self.unina_dii, 1, 0, 1, 1)
|
|
89
89
|
|
|
90
90
|
self.info_uni = QLabel(self.about)
|
|
91
91
|
self.info_uni.setObjectName(u"info_uni")
|
|
92
|
-
self.info_uni.setTextFormat(Qt.RichText)
|
|
92
|
+
self.info_uni.setTextFormat(Qt.TextFormat.RichText)
|
|
93
93
|
self.info_uni.setWordWrap(True)
|
|
94
94
|
|
|
95
95
|
self.gridLayout_2.addWidget(self.info_uni, 1, 1, 1, 1)
|
|
@@ -172,7 +172,7 @@ class Ui_InfoPaiRS(object):
|
|
|
172
172
|
self.scrollArea_ger_cv.setWidgetResizable(True)
|
|
173
173
|
self.scrollAreaWidgetContents_ger_cv = QWidget()
|
|
174
174
|
self.scrollAreaWidgetContents_ger_cv.setObjectName(u"scrollAreaWidgetContents_ger_cv")
|
|
175
|
-
self.scrollAreaWidgetContents_ger_cv.setGeometry(QRect(0, 0,
|
|
175
|
+
self.scrollAreaWidgetContents_ger_cv.setGeometry(QRect(0, 0, 494, 266))
|
|
176
176
|
self.verticalLayout = QVBoxLayout(self.scrollAreaWidgetContents_ger_cv)
|
|
177
177
|
self.verticalLayout.setSpacing(0)
|
|
178
178
|
self.verticalLayout.setObjectName(u"verticalLayout")
|
|
@@ -183,7 +183,7 @@ class Ui_InfoPaiRS(object):
|
|
|
183
183
|
font3.setFamilies([u"Arial"])
|
|
184
184
|
font3.setPointSize(11)
|
|
185
185
|
self.ger_cv.setFont(font3)
|
|
186
|
-
self.ger_cv.setTextFormat(Qt.RichText)
|
|
186
|
+
self.ger_cv.setTextFormat(Qt.TextFormat.RichText)
|
|
187
187
|
self.ger_cv.setScaledContents(True)
|
|
188
188
|
self.ger_cv.setWordWrap(True)
|
|
189
189
|
self.ger_cv.setMargin(5)
|
|
@@ -247,7 +247,7 @@ class Ui_InfoPaiRS(object):
|
|
|
247
247
|
self.scrollArea_tom_cv.setWidgetResizable(True)
|
|
248
248
|
self.scrollAreaWidgetContents_tom_cv = QWidget()
|
|
249
249
|
self.scrollAreaWidgetContents_tom_cv.setObjectName(u"scrollAreaWidgetContents_tom_cv")
|
|
250
|
-
self.scrollAreaWidgetContents_tom_cv.setGeometry(QRect(0, 0,
|
|
250
|
+
self.scrollAreaWidgetContents_tom_cv.setGeometry(QRect(0, 0, 494, 266))
|
|
251
251
|
self.verticalLayout_2 = QVBoxLayout(self.scrollAreaWidgetContents_tom_cv)
|
|
252
252
|
self.verticalLayout_2.setSpacing(0)
|
|
253
253
|
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
|
|
@@ -255,7 +255,7 @@ class Ui_InfoPaiRS(object):
|
|
|
255
255
|
self.tom_cv = QLabel(self.scrollAreaWidgetContents_tom_cv)
|
|
256
256
|
self.tom_cv.setObjectName(u"tom_cv")
|
|
257
257
|
self.tom_cv.setFont(font3)
|
|
258
|
-
self.tom_cv.setTextFormat(Qt.RichText)
|
|
258
|
+
self.tom_cv.setTextFormat(Qt.TextFormat.RichText)
|
|
259
259
|
self.tom_cv.setWordWrap(True)
|
|
260
260
|
self.tom_cv.setMargin(5)
|
|
261
261
|
self.tom_cv.setIndent(-5)
|
|
@@ -325,7 +325,7 @@ class Ui_InfoPaiRS(object):
|
|
|
325
325
|
self.scrollArea_list_ref.setWidgetResizable(True)
|
|
326
326
|
self.scrollAreaWidgetContents = QWidget()
|
|
327
327
|
self.scrollAreaWidgetContents.setObjectName(u"scrollAreaWidgetContents")
|
|
328
|
-
self.scrollAreaWidgetContents.setGeometry(QRect(0, 0,
|
|
328
|
+
self.scrollAreaWidgetContents.setGeometry(QRect(0, 0, 649, 582))
|
|
329
329
|
self.scrollAreaWidgetContents.setStyleSheet(u"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
|
330
330
|
"<ui version=\"4.0\">\n"
|
|
331
331
|
" <widget name=\"__qt_fake_top_level\">\n"
|
|
@@ -339,11 +339,11 @@ class Ui_InfoPaiRS(object):
|
|
|
339
339
|
" </rect>\n"
|
|
340
340
|
" </property>\n"
|
|
341
341
|
" <property name=\"text\">\n"
|
|
342
|
-
" <string><html><head/><body><p align="justify"><span style=" font-size:11pt;">Please cite the following works if you
|
|
343
|
-
"
|
|
344
|
-
"
|
|
345
|
-
"
|
|
346
|
-
"
|
|
342
|
+
" <string><html><head/><body><p align="justify"><span style=" font-size:11pt;">Please cite the following works if you intend to use PaIRS-UniNa for your purposes: </span></p><p align="justify"><span style=" font-size:11pt; font-weight:700;">[1] </span><span style=" font-size:11pt;">Astarita, T., &amp; Cardone, G. (2005). &quot;Analysis of interpolation schemes for image deformation methods in PIV&quot;. </span><span style=" font-size:11pt; font-style:italic;">Experiments in Fluids</span"
|
|
343
|
+
"><span style=" font-size:11pt;">, 38(2), 233-243.doi: </span><a href="https://doi.org/10.1007/s00348-004-0902-3"><span style=" text-decoration: underline; color:#0000ff;">10.1007/s00348-004-0902-3</span></a><span style=" font-size:11pt;">. </span></p><p align="justify"><span style=" font-size:11pt; font-weight:700;">[2] </span><span style=" font-size:11pt;">Astarita, T. (2006). &quot;Analysis of interpolation schemes for image deformation methods in PIV: effect of noise on the accuracy and spatial resolution&quot;. </span><span style=" font-size:11pt; font-style:italic;">Experiments in Fluids</span><span style=" font-size:11pt;">, vol. 40 (6): 977-987. doi: </span><a href="https://doi.org/10.1007/s00348-006-0139-4"><span style=" text-decoration: underline; color:#0000ff;">1"
|
|
344
|
+
"0.1007/s00348-006-0139-4</span></a><span style=" font-size:11pt;">. </span></p><p align="justify"><span style=" font-size:11pt; font-weight:700;">[3] </span><span style=" font-size:11pt;">Astarita, T. (2007). &quot;Analysis of weighting windows for image deformation methods in PIV.&quot; </span><span style=" font-size:11pt; font-style:italic;">Experiments in Fluids</span><span style=" font-size:11pt;">, 43(6), 859-872. doi: </span><a href="https://doi.org/10.1007/s00348-007-0314-2"><span style=" text-decoration: underline; color:#0000ff;">10.1007/s00348-007-0314-2</span></a><span style=" font-size:11pt;">. </span></p><p align="justify"><span style=" font-size:11pt; font-weight:700;">[4]</span><span style=" font-size:11pt;"> Astarita, T. "
|
|
345
|
+
"(2008). &quot;Analysis of velocity interpolation schemes for image deformation methods in PIV&quot;. </span><span style=" font-size:11pt; font-style:italic;">Experiments in Fluids</span><span style=" font-size:11pt;">, 45(2), 257-266. doi: </span><a href="https://doi.org/10.1007/s00348-008-0475-7"><span style=" text-decoration: underline; color:#0000ff;">10.1007/s00348-008-0475-7</span></a><span style=" font-size:11pt;">. </span></p><p align="justify"><span style=" font-size:11pt; font-weight:700;">[5] </span><span style=" font-size:11pt;">Astarita, T. (2009). &quot;Adaptive space resolution for PIV&quot;. </span><span style=" font-size:11pt; font-style:italic;">Experiments in Fluids</span><span style=" font-size:11pt;">, 46(6), 1115-1123. doi: </span><a href="http"
|
|
346
|
+
"s://doi.org/10.1007/s00348-009-0618-5"><span style=" text-decoration: underline; color:#0000ff;">10.1007/s00348-009-0618-5</span></a><span style=" font-size:11pt;">. </span></p></body></html></string>\n"
|
|
347
347
|
" </property>\n"
|
|
348
348
|
" <property name=\"textFormat\">\n"
|
|
349
349
|
" <enum>Qt::RichText</enum>\n"
|
|
@@ -365,8 +365,8 @@ class Ui_InfoPaiRS(object):
|
|
|
365
365
|
" </property>\n"
|
|
366
366
|
" </widget>\n"
|
|
367
367
|
" </widget>\n"
|
|
368
|
-
" <"
|
|
369
|
-
"
|
|
368
|
+
" <resour"
|
|
369
|
+
"ces/>\n"
|
|
370
370
|
"</ui>\n"
|
|
371
371
|
"")
|
|
372
372
|
self.verticalLayout_3 = QVBoxLayout(self.scrollAreaWidgetContents)
|
|
@@ -375,12 +375,12 @@ class Ui_InfoPaiRS(object):
|
|
|
375
375
|
self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
|
|
376
376
|
self.list_ref = QLabel(self.scrollAreaWidgetContents)
|
|
377
377
|
self.list_ref.setObjectName(u"list_ref")
|
|
378
|
-
self.list_ref.setTextFormat(Qt.RichText)
|
|
379
|
-
self.list_ref.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop)
|
|
378
|
+
self.list_ref.setTextFormat(Qt.TextFormat.RichText)
|
|
379
|
+
self.list_ref.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignTop)
|
|
380
380
|
self.list_ref.setWordWrap(True)
|
|
381
381
|
self.list_ref.setMargin(5)
|
|
382
382
|
self.list_ref.setOpenExternalLinks(True)
|
|
383
|
-
self.list_ref.setTextInteractionFlags(Qt.LinksAccessibleByKeyboard|Qt.LinksAccessibleByMouse|Qt.TextBrowserInteraction|Qt.TextSelectableByKeyboard|Qt.TextSelectableByMouse)
|
|
383
|
+
self.list_ref.setTextInteractionFlags(Qt.TextInteractionFlag.LinksAccessibleByKeyboard|Qt.TextInteractionFlag.LinksAccessibleByMouse|Qt.TextInteractionFlag.TextBrowserInteraction|Qt.TextInteractionFlag.TextSelectableByKeyboard|Qt.TextInteractionFlag.TextSelectableByMouse)
|
|
384
384
|
|
|
385
385
|
self.verticalLayout_3.addWidget(self.list_ref)
|
|
386
386
|
|
|
@@ -389,13 +389,133 @@ class Ui_InfoPaiRS(object):
|
|
|
389
389
|
self.horizontalLayout_2.addWidget(self.scrollArea_list_ref)
|
|
390
390
|
|
|
391
391
|
self.tabWidget.addTab(self.references, "")
|
|
392
|
+
self.requirements = QWidget()
|
|
393
|
+
self.requirements.setObjectName(u"requirements")
|
|
394
|
+
self.horizontalLayout_3 = QHBoxLayout(self.requirements)
|
|
395
|
+
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
|
|
396
|
+
self.scrollArea_req = QScrollArea(self.requirements)
|
|
397
|
+
self.scrollArea_req.setObjectName(u"scrollArea_req")
|
|
398
|
+
self.scrollArea_req.setStyleSheet(u" QScrollArea {\n"
|
|
399
|
+
" border: 1pix solid gray;\n"
|
|
400
|
+
" }\n"
|
|
401
|
+
"\n"
|
|
402
|
+
"QScrollBar:horizontal\n"
|
|
403
|
+
" {\n"
|
|
404
|
+
" height: 15px;\n"
|
|
405
|
+
" margin: 3px 0px 3px 0px;\n"
|
|
406
|
+
" border: 1px transparent #2A2929;\n"
|
|
407
|
+
" border-radius: 4px;\n"
|
|
408
|
+
" background-color: rgba(200,200,200,50); /* #2A2929; */\n"
|
|
409
|
+
" }\n"
|
|
410
|
+
"\n"
|
|
411
|
+
"QScrollBar::handle:horizontal\n"
|
|
412
|
+
" {\n"
|
|
413
|
+
" background-color: rgba(180,180,180,180); /* #605F5F; */\n"
|
|
414
|
+
" min-width: 30px;\n"
|
|
415
|
+
" border-radius: 4px;\n"
|
|
416
|
+
" }\n"
|
|
417
|
+
"\n"
|
|
418
|
+
"QScrollBar:vertical\n"
|
|
419
|
+
" {\n"
|
|
420
|
+
" background-color: rgba(200,200,200,50); ;\n"
|
|
421
|
+
" width: 15px;\n"
|
|
422
|
+
" margin: 10px 3px 10px 3px;\n"
|
|
423
|
+
" border: 1px transparent #2A2929;\n"
|
|
424
|
+
" border-radius: 4px;\n"
|
|
425
|
+
" }\n"
|
|
426
|
+
"\n"
|
|
427
|
+
"QScrollBar::handle:vertical\n"
|
|
428
|
+
" {\n"
|
|
429
|
+
" background-color: rgba(180,180,180,180); /* #605F5F; */\n"
|
|
430
|
+
" min-height: 30px;\n"
|
|
431
|
+
" border-radius: 4px;\n"
|
|
432
|
+
" }\n"
|
|
433
|
+
"\n"
|
|
434
|
+
"QScrollBar::add-line {\n"
|
|
435
|
+
" border: none;\n"
|
|
436
|
+
" "
|
|
437
|
+
" background: none;\n"
|
|
438
|
+
" }\n"
|
|
439
|
+
"\n"
|
|
440
|
+
"QScrollBar::sub-line {\n"
|
|
441
|
+
" border: none;\n"
|
|
442
|
+
" background: none;\n"
|
|
443
|
+
" }\n"
|
|
444
|
+
"")
|
|
445
|
+
self.scrollArea_req.setWidgetResizable(True)
|
|
446
|
+
self.scrollAreaWidgetContents_2 = QWidget()
|
|
447
|
+
self.scrollAreaWidgetContents_2.setObjectName(u"scrollAreaWidgetContents_2")
|
|
448
|
+
self.scrollAreaWidgetContents_2.setGeometry(QRect(0, 0, 664, 558))
|
|
449
|
+
self.scrollAreaWidgetContents_2.setStyleSheet(u"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
|
450
|
+
"<ui version=\"4.0\">\n"
|
|
451
|
+
" <widget name=\"__qt_fake_top_level\">\n"
|
|
452
|
+
" <widget class=\"QLabel\" name=\"list_ref\">\n"
|
|
453
|
+
" <property name=\"geometry\">\n"
|
|
454
|
+
" <rect>\n"
|
|
455
|
+
" <x>20</x>\n"
|
|
456
|
+
" <y>12</y>\n"
|
|
457
|
+
" <width>636</width>\n"
|
|
458
|
+
" <height>433</height>\n"
|
|
459
|
+
" </rect>\n"
|
|
460
|
+
" </property>\n"
|
|
461
|
+
" <property name=\"text\">\n"
|
|
462
|
+
" <string><html><head/><body><p align="justify"><span style=" font-size:11pt;">Please cite the following works if you intend to use PaIRS-UniNa for your purposes: </span></p><p align="justify"><span style=" font-size:11pt; font-weight:700;">[1] </span><span style=" font-size:11pt;">Astarita, T., &amp; Cardone, G. (2005). &quot;Analysis of interpolation schemes for image deformation methods in PIV&quot;. </span><span style=" font-size:11pt; font-style:italic;">Experiments in Fluids</span"
|
|
463
|
+
"><span style=" font-size:11pt;">, 38(2), 233-243.doi: </span><a href="https://doi.org/10.1007/s00348-004-0902-3"><span style=" text-decoration: underline; color:#0000ff;">10.1007/s00348-004-0902-3</span></a><span style=" font-size:11pt;">. </span></p><p align="justify"><span style=" font-size:11pt; font-weight:700;">[2] </span><span style=" font-size:11pt;">Astarita, T. (2006). &quot;Analysis of interpolation schemes for image deformation methods in PIV: effect of noise on the accuracy and spatial resolution&quot;. </span><span style=" font-size:11pt; font-style:italic;">Experiments in Fluids</span><span style=" font-size:11pt;">, vol. 40 (6): 977-987. doi: </span><a href="https://doi.org/10.1007/s00348-006-0139-4"><span style=" text-decoration: underline; color:#0000ff;">1"
|
|
464
|
+
"0.1007/s00348-006-0139-4</span></a><span style=" font-size:11pt;">. </span></p><p align="justify"><span style=" font-size:11pt; font-weight:700;">[3] </span><span style=" font-size:11pt;">Astarita, T. (2007). &quot;Analysis of weighting windows for image deformation methods in PIV.&quot; </span><span style=" font-size:11pt; font-style:italic;">Experiments in Fluids</span><span style=" font-size:11pt;">, 43(6), 859-872. doi: </span><a href="https://doi.org/10.1007/s00348-007-0314-2"><span style=" text-decoration: underline; color:#0000ff;">10.1007/s00348-007-0314-2</span></a><span style=" font-size:11pt;">. </span></p><p align="justify"><span style=" font-size:11pt; font-weight:700;">[4]</span><span style=" font-size:11pt;"> Astarita, T. "
|
|
465
|
+
"(2008). &quot;Analysis of velocity interpolation schemes for image deformation methods in PIV&quot;. </span><span style=" font-size:11pt; font-style:italic;">Experiments in Fluids</span><span style=" font-size:11pt;">, 45(2), 257-266. doi: </span><a href="https://doi.org/10.1007/s00348-008-0475-7"><span style=" text-decoration: underline; color:#0000ff;">10.1007/s00348-008-0475-7</span></a><span style=" font-size:11pt;">. </span></p><p align="justify"><span style=" font-size:11pt; font-weight:700;">[5] </span><span style=" font-size:11pt;">Astarita, T. (2009). &quot;Adaptive space resolution for PIV&quot;. </span><span style=" font-size:11pt; font-style:italic;">Experiments in Fluids</span><span style=" font-size:11pt;">, 46(6), 1115-1123. doi: </span><a href="http"
|
|
466
|
+
"s://doi.org/10.1007/s00348-009-0618-5"><span style=" text-decoration: underline; color:#0000ff;">10.1007/s00348-009-0618-5</span></a><span style=" font-size:11pt;">. </span></p></body></html></string>\n"
|
|
467
|
+
" </property>\n"
|
|
468
|
+
" <property name=\"textFormat\">\n"
|
|
469
|
+
" <enum>Qt::RichText</enum>\n"
|
|
470
|
+
" </property>\n"
|
|
471
|
+
" <property name=\"alignment\">\n"
|
|
472
|
+
" <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>\n"
|
|
473
|
+
" </property>\n"
|
|
474
|
+
" <property name=\"wordWrap\">\n"
|
|
475
|
+
" <bool>true</bool>\n"
|
|
476
|
+
" </property>\n"
|
|
477
|
+
" <property name=\"margin\">\n"
|
|
478
|
+
" <number>5</number>\n"
|
|
479
|
+
" </property>\n"
|
|
480
|
+
" <property name=\"openExternalLinks\">\n"
|
|
481
|
+
" <bool>true</bool>\n"
|
|
482
|
+
" </property>\n"
|
|
483
|
+
" <property name=\"textInteractionFlags\">\n"
|
|
484
|
+
" <set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>\n"
|
|
485
|
+
" </property>\n"
|
|
486
|
+
" </widget>\n"
|
|
487
|
+
" </widget>\n"
|
|
488
|
+
" <resour"
|
|
489
|
+
"ces/>\n"
|
|
490
|
+
"</ui>\n"
|
|
491
|
+
"")
|
|
492
|
+
self.horizontalLayout_4 = QHBoxLayout(self.scrollAreaWidgetContents_2)
|
|
493
|
+
self.horizontalLayout_4.setSpacing(0)
|
|
494
|
+
self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
|
|
495
|
+
self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)
|
|
496
|
+
self.req = QLabel(self.scrollAreaWidgetContents_2)
|
|
497
|
+
self.req.setObjectName(u"req")
|
|
498
|
+
self.req.setTextFormat(Qt.TextFormat.RichText)
|
|
499
|
+
self.req.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignTop)
|
|
500
|
+
self.req.setWordWrap(True)
|
|
501
|
+
self.req.setMargin(5)
|
|
502
|
+
self.req.setOpenExternalLinks(True)
|
|
503
|
+
self.req.setTextInteractionFlags(Qt.TextInteractionFlag.LinksAccessibleByKeyboard|Qt.TextInteractionFlag.LinksAccessibleByMouse|Qt.TextInteractionFlag.TextBrowserInteraction|Qt.TextInteractionFlag.TextSelectableByKeyboard|Qt.TextInteractionFlag.TextSelectableByMouse)
|
|
504
|
+
|
|
505
|
+
self.horizontalLayout_4.addWidget(self.req)
|
|
506
|
+
|
|
507
|
+
self.scrollArea_req.setWidget(self.scrollAreaWidgetContents_2)
|
|
508
|
+
|
|
509
|
+
self.horizontalLayout_3.addWidget(self.scrollArea_req)
|
|
510
|
+
|
|
511
|
+
self.tabWidget.addTab(self.requirements, "")
|
|
392
512
|
|
|
393
513
|
self.horizontalLayout.addWidget(self.tabWidget)
|
|
394
514
|
|
|
395
515
|
InfoPaiRS.setCentralWidget(self.centralwidget)
|
|
396
516
|
self.menubar = QMenuBar(InfoPaiRS)
|
|
397
517
|
self.menubar.setObjectName(u"menubar")
|
|
398
|
-
self.menubar.setGeometry(QRect(0, 0, 700,
|
|
518
|
+
self.menubar.setGeometry(QRect(0, 0, 700, 33))
|
|
399
519
|
InfoPaiRS.setMenuBar(self.menubar)
|
|
400
520
|
|
|
401
521
|
self.retranslateUi(InfoPaiRS)
|
|
@@ -409,7 +529,7 @@ class Ui_InfoPaiRS(object):
|
|
|
409
529
|
def retranslateUi(self, InfoPaiRS):
|
|
410
530
|
InfoPaiRS.setWindowTitle(QCoreApplication.translate("InfoPaiRS", u"About PaIRS", None))
|
|
411
531
|
self.logo.setText("")
|
|
412
|
-
self.info.setText(QCoreApplication.translate("InfoPaiRS", u"<html><head/><body><p><span style=\" font-size:18pt; font-weight:700;\">PaIRS - version: #.#.#</span></p><p><span style=\" font-size:16pt; font-weight:700;\">Pa</span><span style=\" font-size:16pt;\">rticle </span><span style=\" font-size:16pt; font-weight:700;\">I</span><span style=\" font-size:16pt;\">mage </span><span style=\" font-size:16pt; font-weight:700;\">R</span><span style=\" font-size:16pt;\">econstruction </span><span style=\" font-size:16pt; font-weight:700;\">S</span><span style=\" font-size:16pt;\">oftware</span></p><p><span style=\" font-size:16pt;\">\u00a9 yyyy Gerardo Paolillo & Tommaso Astarita. All rights reserved. </span></p><p><span style=\" font-size:16pt;\">email: </span>mmmm</p><p>website: wwww</p></body></html>", None))
|
|
532
|
+
self.info.setText(QCoreApplication.translate("InfoPaiRS", u"<html><head/><body><p><span style=\" font-size:18pt; font-weight:700;\">PaIRS - version: #.#.#</span></p><p><span style=\" font-size:16pt; font-weight:700;\">Pa</span><span style=\" font-size:16pt;\">rticle </span><span style=\" font-size:16pt; font-weight:700;\">I</span><span style=\" font-size:16pt;\">mage </span><span style=\" font-size:16pt; font-weight:700;\">R</span><span style=\" font-size:16pt;\">econstruction </span><span style=\" font-size:16pt; font-weight:700;\">S</span><span style=\" font-size:16pt;\">oftware</span></p><p><span style=\" font-size:16pt;\">\u00a9 yyyy Gerardo Paolillo & Tommaso Astarita. All rights reserved. </span></p><p>date: dddd/dd/dd</p><p><span style=\" font-size:16pt;\">email: </span>mmmm</p><p>website: wwww</p><p><br/></p></body></html>", None))
|
|
413
533
|
self.unina_dii.setText("")
|
|
414
534
|
self.info_uni.setText(QCoreApplication.translate("InfoPaiRS", u"<html><head/><body><p><span style=\" font-size:12pt;\">Experimental Thermo-Fluid Dynamics (ETFD) group, Department of Industrial Engineering (DII)</span></p><p><span style=\" font-size:12pt;\">University of Naples "Federico II", Naples, Italy</span></p></body></html>", None))
|
|
415
535
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.about), QCoreApplication.translate("InfoPaiRS", u"About PaIRS", None))
|
|
@@ -418,9 +538,14 @@ class Ui_InfoPaiRS(object):
|
|
|
418
538
|
self.ger_cv.setText(QCoreApplication.translate("InfoPaiRS", u"<html><head/><body><p align=\"justify\"><span style=\" font-weight:700;\">Gerardo Paolillo</span><span style=\" font-size:10pt;\"> received a Master's degree in Aerospace Engineering and a PhD degree in Industrial Engineering from Universit\u00e0 di Napoli "Federico II" in 2015 and 2018, respectively. </span></p><p align=\"justify\"><span style=\" font-size:10pt;\">He is currently a Research Associate in the Department of Industrial Engineering at Universit\u00e0 di Napoli "Federico II".</span></p><p align=\"justify\"><span style=\" font-size:10pt;\">His research interests lie in the area of experimental fluid mechanics, with focus on applications of unsteady jets to flow control and electronics cooling, investigation into dynamics of turbulent Rayleigh-B\u00e8nard convection and development of 3D optical velocimetry techniques.</span></p></body></html>", None))
|
|
419
539
|
self.tom_cv.setText(QCoreApplication.translate("InfoPaiRS", u"<html><head/><body><p align=\"justify\"><span style=\" font-weight:700;\">Tommaso Astarita</span><span style=\" font-size:10pt;\"> received a Master's degree in Aeronautical Engineering in 1993 and a PhD degree in Aerospace Engineering in 1997, both from Universit\u00e0 di Napoli "Federico II". </span></p><p align=\"justify\"><span style=\" font-size:10pt;\">He was Post-doc at the von K\u00e0rm\u00e0n Institute for Fluid Dynamics and he is currently full Professor of Fluid Mechanics at Universit\u00e0 di Napoli "Federico II". </span></p><p align=\"justify\"><span style=\" font-size:10pt;\">His main research interests are dedicated to the experimental study of problems in the fields of fluid mechanics and convective heat transfer, in particular, the application and development of IR thermography and stereoscopic and tomographic PIV techniques for fluid mechanics problems.</span></p></body></html>", None))
|
|
420
540
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.authors), QCoreApplication.translate("InfoPaiRS", u"Authors", None))
|
|
421
|
-
self.list_ref.setText(QCoreApplication.translate("InfoPaiRS", u"<html><head/><body><p align=\"justify\"><span style=\" font-size:11pt;\">Please cite the following works if you
|
|
422
|
-
"
|
|
423
|
-
"
|
|
541
|
+
self.list_ref.setText(QCoreApplication.translate("InfoPaiRS", u"<html><head/><body><p align=\"justify\"><span style=\" font-size:11pt;\">Please cite the following works if you intend to use PaIRS-UniNa for your purposes: </span></p><p align=\"justify\"><span style=\" font-size:11pt; font-weight:700;\">[1] </span><span style=\" font-size:11pt;\">Astarita, T., & Cardone, G. (2005). "Analysis of interpolation schemes for image deformation methods in PIV". </span><span style=\" font-size:11pt; font-style:italic;\">Experiments in Fluids</span><span style=\" font-size:11pt;\">, 38(2), 233-243.doi: </span><a href=\"https://doi.org/10.1007/s00348-004-0902-3\"><span style=\" text-decoration: underline; color:#0000ff;\">10.1007/s00348-004-0902-3</span></a><span style=\" font-size:11pt;\">. </span></p><p align=\"justify\"><span style=\" font-size:11pt; font-weight:700;\">[2] </span><span style=\" font-size:11pt;\">Astarita, T. (2006). "Analysis of interpolation schemes for image deformation methods in PIV: effect of noise on the accuracy and spatial resolution""
|
|
542
|
+
";. </span><span style=\" font-size:11pt; font-style:italic;\">Experiments in Fluids</span><span style=\" font-size:11pt;\">, vol. 40 (6): 977-987. doi: </span><a href=\"https://doi.org/10.1007/s00348-006-0139-4\"><span style=\" text-decoration: underline; color:#0000ff;\">10.1007/s00348-006-0139-4</span></a><span style=\" font-size:11pt;\">. </span></p><p align=\"justify\"><span style=\" font-size:11pt; font-weight:700;\">[3] </span><span style=\" font-size:11pt;\">Astarita, T. (2007). "Analysis of weighting windows for image deformation methods in PIV." </span><span style=\" font-size:11pt; font-style:italic;\">Experiments in Fluids</span><span style=\" font-size:11pt;\">, 43(6), 859-872. doi: </span><a href=\"https://doi.org/10.1007/s00348-007-0314-2\"><span style=\" text-decoration: underline; color:#0000ff;\">10.1007/s00348-007-0314-2</span></a><span style=\" font-size:11pt;\">. </span></p><p align=\"justify\"><span style=\" font-size:11pt; font-weight:700;\">[4]</span><span style=\" font-size:11"
|
|
543
|
+
"pt;\"> Astarita, T. (2008). "Analysis of velocity interpolation schemes for image deformation methods in PIV". </span><span style=\" font-size:11pt; font-style:italic;\">Experiments in Fluids</span><span style=\" font-size:11pt;\">, 45(2), 257-266. doi: </span><a href=\"https://doi.org/10.1007/s00348-008-0475-7\"><span style=\" text-decoration: underline; color:#0000ff;\">10.1007/s00348-008-0475-7</span></a><span style=\" font-size:11pt;\">. </span></p><p align=\"justify\"><span style=\" font-size:11pt; font-weight:700;\">[5] </span><span style=\" font-size:11pt;\">Astarita, T. (2009). "Adaptive space resolution for PIV". </span><span style=\" font-size:11pt; font-style:italic;\">Experiments in Fluids</span><span style=\" font-size:11pt;\">, 46(6), 1115-1123. doi: </span><a href=\"https://doi.org/10.1007/s00348-009-0618-5\"><span style=\" text-decoration: underline; color:#0000ff;\">10.1007/s00348-009-0618-5</span></a><span style=\" font-size:11pt;\">. </span></p><p align=\"justify\"><span "
|
|
544
|
+
"style=\" font-size:11pt; font-weight:700;\">[6] </span><span style=\" font-size:11pt;\">Giordano, R., & Astarita, T. (2009). "Spatial resolution of the Stereo PIV technique". </span><span style=\" font-size:11pt; font-style:italic;\">Experiments in Fluids</span><span style=\" font-size:11pt;\">, 46(4), 643.658. doi: </span><a href=\"https://doi.org/10.1007/s00348-008-0589-y\"><span style=\" text-decoration: underline; color:#0000ff;\">10.1007/s00348-008-0589-y</span></a><span style=\" font-size:11pt;\">. <br/></span></p><p align=\"justify\"><span style=\" font-size:11pt;\"><br/>Please cite the following works if you intend to use CalVi for your purposes:</span></p><p align=\"justify\"><span style=\" font-size:11pt; font-weight:700;\">[1] </span><span style=\" font-size:11pt;\">Paolillo, G., & Astarita, T. (2020). "Perspective camera model with refraction correction for optical velocimetry measurements in complex geometries". </span><span style=\" font-size:11pt; font-style:italic;\""
|
|
545
|
+
">IEEE Transactions on Pattern Analysis and Machine Intelligence, </span><span style=\" font-size:11pt;\">44(6), 3185-3196</span><span style=\" font-size:11pt; font-weight:700;\">.</span><span style=\" font-size:11pt;\"> doi: </span><a href=\"https://doi.org/10.1109/TPAMI.2020.3046467\"><span style=\" text-decoration: underline; color:#0000ff;\">10.1109/TPAMI.2020.3046467</span></a><span style=\" font-size:11pt;\">. <br/><br/></span><span style=\" font-size:11pt; font-weight:700;\">[2] </span><span style=\" font-size:11pt;\">Paolillo, G., & Astarita, T. (2021). "On the PIV/PTV uncertainty related to calibration of camera systems with refractive surfaces". </span><span style=\" font-size:11pt; font-style:italic;\">Measurement Science and Technology</span><span style=\" font-size:11pt;\">, 32(9), 094006. doi: </span><a href=\"https://doi.org/10.1088/1361-6501/abf3fc\"><span style=\" text-decoration: underline; color:#0000ff;\">10.1088/1361-6501/abf3fc</span></a><span style=\" font-size:11pt;\">. </s"
|
|
546
|
+
"pan></p></body></html>", None))
|
|
424
547
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.references), QCoreApplication.translate("InfoPaiRS", u"References", None))
|
|
548
|
+
self.req.setText(QCoreApplication.translate("InfoPaiRS", u"<html><head/><body><p align=\"justify\"><br/></p></body></html>", None))
|
|
549
|
+
self.tabWidget.setTabText(self.tabWidget.indexOf(self.requirements), QCoreApplication.translate("InfoPaiRS", u"Requirements", None))
|
|
425
550
|
# retranslateUi
|
|
426
551
|
|
PaIRS_UniNa/whatsnew.txt
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
|
|
1
|
+
% Corrected an error in z-vorticity caused by improper unit conversion of velocity gradients.<br><br>Fixed misalignment issues between maps and vector fields in Vis.<br><br>Removed path relativization to avoid cross-platform inconsistencies.<br><br>
|
|
2
|
+
& Added new options in the batch folder-copy tool to automatically skip image pairs with missing files and/or re-scan destination folders.<br><br>Vis now loads and displays the saved log file when opening past results.<br><br>
|
|
3
|
+
* Improved naming of duplicated processes with consistent incremental suffixes.<br><br>Enhanced the Image Import Tool in the Input tab.<br><br>Refined path completers' behaviour.<br><br>Resizing and level-reset settings in Vis now apply per step instead of globally.<br><br>
|
|
4
|
+
§ PaIRS now ships with executables! Download them from the <a href="https://www.pairs.unina.it/#download">PaIRS website</a>.<br>
|
|
5
|
+
|
|
6
|
+
# !=critical issue, %=bugfix, &=announcement, *=improvement, £=bold font without icon, §=python distribution
|
|
@@ -1,27 +1,37 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: PaIRS_UniNa
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.8
|
|
4
4
|
Summary: PaIRS - Particle Image Reconstruction Software
|
|
5
5
|
Home-page: https://pairs.unina.it/
|
|
6
6
|
Author: Gerardo Paolillo and Tommaso Astarita
|
|
7
7
|
Author-email: etfd@unina.it
|
|
8
|
-
License:
|
|
8
|
+
License: LGPL-3.0-or-later
|
|
9
9
|
Keywords: PIV,PaIRS
|
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
|
11
|
-
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
|
|
12
11
|
Classifier: Operating System :: MacOS
|
|
13
12
|
Classifier: Operating System :: Microsoft :: Windows
|
|
14
13
|
Classifier: Operating System :: POSIX :: Linux
|
|
15
|
-
Requires-Python: >=3.
|
|
14
|
+
Requires-Python: >=3.10
|
|
16
15
|
Description-Content-Type: text/markdown
|
|
17
|
-
|
|
18
|
-
Requires-Dist:
|
|
19
|
-
Requires-Dist:
|
|
20
|
-
Requires-Dist:
|
|
21
|
-
Requires-Dist:
|
|
22
|
-
Requires-Dist:
|
|
23
|
-
Requires-Dist:
|
|
24
|
-
Requires-Dist:
|
|
16
|
+
Requires-Dist: scipy>=1.14.0
|
|
17
|
+
Requires-Dist: matplotlib>=3.9.0
|
|
18
|
+
Requires-Dist: pillow>=10.4.0
|
|
19
|
+
Requires-Dist: numpy>=2.0.0
|
|
20
|
+
Requires-Dist: pyside6>=6.7.0
|
|
21
|
+
Requires-Dist: unidecode>=1.3.0
|
|
22
|
+
Requires-Dist: psutil>=6.0.0
|
|
23
|
+
Requires-Dist: certifi>=2025.7.14
|
|
24
|
+
Dynamic: author
|
|
25
|
+
Dynamic: author-email
|
|
26
|
+
Dynamic: classifier
|
|
27
|
+
Dynamic: description
|
|
28
|
+
Dynamic: description-content-type
|
|
29
|
+
Dynamic: home-page
|
|
30
|
+
Dynamic: keywords
|
|
31
|
+
Dynamic: license
|
|
32
|
+
Dynamic: requires-dist
|
|
33
|
+
Dynamic: requires-python
|
|
34
|
+
Dynamic: summary
|
|
25
35
|
|
|
26
36
|
# PaIRS-UniNa: **Pa**rticle **I**mage **R**econstruction **S**oftware - **Uni**versity of **Na**ples "Federico II"
|
|
27
37
|
**PaIRS-UniNa** is a project developed by the Experimental Thermo Fluid-Dynamics (ETFD) group of University of Naples "Federico II" since 2000.
|
|
@@ -32,25 +42,36 @@ PaIRS-PIV includes several modules that allow to process double-frame or time-re
|
|
|
32
42
|
|
|
33
43
|
The current release of PaIRS-UniNa features the module for the 2D planar PIV analysis and the stereoscopic PIV analysis and a module for optical calibration of camera systems, namely **CalVi**.
|
|
34
44
|
|
|
35
|
-
CalVi is the calibration module of PaIRS-UniNa and allows accurate optical calibration of single and multiple camera bundles with the camera models mostly used in the PIV community: polynomials, rational functions and the pinhole camera model. Among the other features, it supports camera calibration procedures working with unknown positions and orientations of the calibration target and the integration of the pinhole camera model with a refractive correction model for cylindrical geometries (based on ray-tracing and Snell
|
|
45
|
+
CalVi is the calibration module of PaIRS-UniNa and allows accurate optical calibration of single and multiple camera bundles with the camera models mostly used in the PIV community: polynomials, rational functions and the pinhole camera model. Among the other features, it supports camera calibration procedures working with unknown positions and orientations of the calibration target and the integration of the pinhole camera model with a refractive correction model for cylindrical geometries (based on ray-tracing and Snell's law).
|
|
36
46
|
|
|
37
|
-
PaIRS-UniNa is supported by Python 3.
|
|
47
|
+
PaIRS-UniNa is supported by Python 3.10+ and is compatible with all the operating systems, however, the PaIRS-PIV library relies on OpemMP library, which must be installed on the macOS platform. On the other side, PaIRS requires, among other packages, `SciPy` and `matplotlib`.
|
|
38
48
|
|
|
39
|
-
For further information, please visit [PaIRS website](https://www.pairs.unina.it/).
|
|
49
|
+
For further information, please visit the [PaIRS website](https://www.pairs.unina.it/).
|
|
40
50
|
|
|
41
|
-
## What's new in PaIRS-UniNa 0.2.
|
|
51
|
+
## What's new in PaIRS-UniNa 0.2.8
|
|
42
52
|
|
|
43
|
-
|
|
53
|
+
### Bug fixes:
|
|
54
|
+
- Corrected a bug in the vorticity computation caused by missing conversion of velocity gradients into correct physical units.
|
|
55
|
+
- Corrected misalignment issues affecting output-variable maps and vector fields in Vis.
|
|
56
|
+
- Fixed inconsistent path handling in the batch-folder copy and other modules by removing path relativization.
|
|
44
57
|
|
|
45
|
-
|
|
58
|
+
### New features:
|
|
59
|
+
- Sdded new options in the batch folder-copy tool to automatically skip image pairs with missing files and to re-scan destination folders, useful when image-set mismatches may be present.
|
|
60
|
+
- Vis now automatically loads and displays the saved log file when opening past results under the specified output path and name root.
|
|
46
61
|
|
|
47
|
-
|
|
62
|
+
### User-interface enhancements:
|
|
63
|
+
- Improved naming of duplicated processes with consistent incremental suffixes.
|
|
64
|
+
- Enhanced the Image Import Tool: minimum step is now 1 and the import button remains always active, showing a warning when no changes in the image list are detected.
|
|
65
|
+
- Improved stability and behavior of path completers in the Input tabs.
|
|
66
|
+
- In Vis, resizing and automatic level-reset settings are now applied individually per step rather than globally.
|
|
48
67
|
|
|
49
|
-
|
|
68
|
+
### Distribution:
|
|
69
|
+
- ready-to-use executables of PaIRS are now available!
|
|
50
70
|
|
|
51
|
-
|
|
71
|
+
## Portable executable
|
|
72
|
+
Download the standalone PaIRS_UniNa executable from the [PaIRS website](https://www.pairs.unina.it/#download).
|
|
52
73
|
|
|
53
|
-
## Installation
|
|
74
|
+
## Installation in Python
|
|
54
75
|
All PaIRS-UniNa wheels are distributed under LGPLv3+ licences. The installation can be performed with:
|
|
55
76
|
```
|
|
56
77
|
python -m pip install PaIRS-UniNa
|
|
@@ -63,7 +84,7 @@ sudo tar fvxz openmp-12.0.1-darwin20-Release.tar.gz -C /
|
|
|
63
84
|
```
|
|
64
85
|
|
|
65
86
|
## Run
|
|
66
|
-
### From command prompt
|
|
87
|
+
### From command prompt (Python package)
|
|
67
88
|
It is possible to run PaIRS directly from the command prompt with:
|
|
68
89
|
```
|
|
69
90
|
python -m PaIRS_UniNa
|
|
@@ -80,6 +101,19 @@ After the above command, the user will be asked to enter a password. Interested
|
|
|
80
101
|
|
|
81
102
|
On macOS and Linux ```python``` must be replaced by ```python3```.
|
|
82
103
|
|
|
104
|
+
### From command prompt (executable version)
|
|
105
|
+
The same options are also available when using the portable/executable version of PaIRS. From the command prompt you can simply run:
|
|
106
|
+
```
|
|
107
|
+
PaIRS -c (Windows)
|
|
108
|
+
./PaIRS -c (MacOS/Linux)
|
|
109
|
+
```
|
|
110
|
+
to perform a clean run, or:
|
|
111
|
+
```
|
|
112
|
+
PaIRS -d (Windows)
|
|
113
|
+
./PaIRS -d (MacOS/Linux)
|
|
114
|
+
```
|
|
115
|
+
to start in debug mode (password required).
|
|
116
|
+
|
|
83
117
|
### In Python environment
|
|
84
118
|
In a Python environment, to run PaIRS the following commands can be used :
|
|
85
119
|
```
|
|
@@ -106,7 +140,7 @@ For more details about PaIRS usage, see [our user guide](https://www.pairs.unina
|
|
|
106
140
|
**email**: etfd@unina.it
|
|
107
141
|
|
|
108
142
|
## Related works
|
|
109
|
-
Please cite the following works if you
|
|
143
|
+
Please cite the following works if you intend to use PaIRS-UniNa for your purposes:
|
|
110
144
|
|
|
111
145
|
**[1]** Astarita, T., & Cardone, G. (2005). "Analysis of interpolation schemes for image deformation methods in PIV". *Experiments in Fluids*, 38(2), 233-243. [doi: 10.1007/s00348-004-0902-3](https://doi.org/10.1007/s00348-004-0902-3)
|
|
112
146
|
|
|
@@ -118,7 +152,9 @@ Please cite the following works if you are intended to use PaIRS-UniNa for your
|
|
|
118
152
|
|
|
119
153
|
**[5]** Astarita, T. (2009). "Adaptive space resolution for PIV". *Experiments in Fluids*, 46(6), 1115-1123. [doi: 10.1007/s00348-009-0618-5](https://doi.org/10.1007/s00348-009-0618-5)
|
|
120
154
|
|
|
121
|
-
|
|
155
|
+
**[6]** Giordano, R., & Astarita, T. (2009). "Spatial resolution of the Stereo PIV technique". *Experiments in Fluids*, 46(4), 643-658. [doi: 10.1007/s00348-008-0589-y](https://doi.org/10.1007/s00348-008-0589-y)
|
|
156
|
+
|
|
157
|
+
Please cite the following works if you intend to use CalVi for your purposes:
|
|
122
158
|
|
|
123
159
|
**[1]** Paolillo, G., & Astarita, T. (2020). "Perspective camera model with refraction correction for optical velocimetry measurements in complex geometries". *IEEE Transactions on Pattern Analysis and Machine Intelligence*, 44(6), 3185-3196. [doi: 10.1109/TPAMI.2020.3046467](https://doi.org/10.1109/TPAMI.2020.3046467).
|
|
124
160
|
|