Skip to main content

PaIRS-UniNa: Particle Image Reconstruction Software - University of Naples "Federico II"

PaIRS-UniNa is a project developed by the Experimental Thermo Fluid-Dynamics (ETFD) group of University of Naples "Federico II" since 2000. It is aimed to provide fast and efficient tools for digital particle image velocimetry (PIV) analysis in research and industrial applications.

PaIRS-UniNa is based on a C library (PaIRS-PIV) and relies on a graphical user interface (PaIRS) that is developed via PySide6 and makes the use of PaIRS-PIV easy and intuitive. PaIRS-PIV includes several modules that allow to process double-frame or time-resolved 2D planar PIV images as well as stereoscopic and tomographic PIV or Lagrangian particle tracking velocimetry (4D PTV) measurements.

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.

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).

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.

For further information, please visit the PaIRS website.

What's new in PaIRS-UniNa 0.2.12

Bug fixes:

  • Fixed issues when reading completed disparity processes.
  • Fixed a bug in the "Further information" section of the log of completed processes.
  • Fixed undo restoration for calibration steps.
  • Fixed bugs in saving .cfg files from the Process tab and in saving and setting custom processes.

New features:

  • Removed the constraint on the coordinate convention in stereoscopic PIV calibration: users can now adopt any coordinate system without being restricted to a predefined axis orientation.

Performance improvements:

  • Optimized the PaIRS-PIV library, enabling faster cross-correlation computations.

User-interface enhancements:

  • Introduced a combo box in the Vis tab for quick access to result files matching the filename pattern specified in the Output tab, simplifying result navigation and visualization.
  • Improved the management of imported files in the Vis tab: each processing step now handles its own associated file independently, enhancing flexibility in the visualization of input images and output results.

Distribution:

  • Added example scripts (serialPIV.py and parallelPIV.py) to the user guide to run PIV processing outside the graphical interface, enabling batch execution, automation, and integration into custom Python workflows.

Portable executable

Download the standalone PaIRS_UniNa executable from the PaIRS website.

Installation in Python

All PaIRS-UniNa wheels are distributed under LGPLv3+ licences. The installation can be performed with:

python -m pip install PaIRS-UniNa

MacOS requirements

Normally the OpenMP library is not preinstalled in MacOs. A possible way to install this library is:

curl -O https://mac.r-project.org/openmp/openmp-12.0.1-darwin20-Release.tar.gz
sudo tar fvxz openmp-12.0.1-darwin20-Release.tar.gz -C /

Run

From command prompt (Python package)

It is possible to run PaIRS directly from the command prompt with:

python -m PaIRS_UniNa

PaIRS automatically saves and stores its configuration upon exit and starts from the latter at the next run. If any trouble with loading the last configuration file (saved in the package folder) occurs, the user is suggested to execute a clean run of PaIRS via the following command:

python -m PaIRS_UniNa -c

A debug mode is also available for developers. It can be accessed via:

python -m PaIRS_UniNa -d

After the above command, the user will be asked to enter a password. Interested users can ask the password to the authors by sending an email to: etfd@unina.it. The debug mode can be turned on/off at any time via the keyboard sequence: Alt+Shift+D.

On macOS and Linux python must be replaced by python3.

From command prompt (executable version)

The same options are also available when using the portable/executable version of PaIRS. From the command prompt you can simply run:

PaIRS -c      (Windows)
./PaIRS -c    (MacOS/Linux)

to perform a clean run, or:

PaIRS -d      (Windows)
./PaIRS -d    (MacOS/Linux)

to start in debug mode (password required).

In Python environment

In a Python environment, to run PaIRS the following commands can be used :

>>> from PaIRS_UniNa import PaIRS
>>> PaIRS.run()

For clean mode:

>>> PaIRS.cleanRun()

while for debug mode:

>>> PaIRS.debugRun()

User guide

For more details about PaIRS usage, see our user guide.

Authors and contact details

Gerardo Paolillo - Research Associate, Department of Industrial Engineering, University of Naples "Federico II", via Claudio, 21, 80125, Napoli, Italy

Tommaso Astarita - Full professor, Department of Industrial Engineering, University of Naples "Federico II", Piazzale Tecchio, 80, 80125, Napoli, Italy

email: etfd@unina.it

Related works

Please cite the following works if you intend to use PaIRS-UniNa for your purposes:

[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

[2] Astarita, T. (2006). "Analysis of interpolation schemes for image deformation methods in PIV: effect of noise on the accuracy and spatial resolution". Experiments in Fluids, vol. 40 (6): 977-987. doi: 10.1007/s00348-006-0139-4

[3] Astarita, T. (2007). "Analysis of weighting windows for image deformation methods in PIV." Experiments in Fluids, 43(6), 859-872. doi: 10.1007/s00348-007-0314-2

[4] Astarita, T. (2008). "Analysis of velocity interpolation schemes for image deformation methods in PIV". Experiments in Fluids, 45(2), 257-266. doi: 10.1007/s00348-008-0475-7

[5] Astarita, T. (2009). "Adaptive space resolution for PIV". Experiments in Fluids, 46(6), 1115-1123. doi: 10.1007/s00348-009-0618-5

[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

Please cite the following works if you intend to use CalVi for your purposes:

[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.

[2] Paolillo, G., & Astarita, T. (2021). "On the PIV/PTV uncertainty related to calibration of camera systems with refractive surfaces". Measurement Science and Technology, 32(9), 094006. doi: 10.1088/1361-6501/abf3fc.

Metadata

Release files for PaIRS-UniNa 0.2.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for PaIRS-UniNa 0.2.12
File
pairs_unina-0.2.12-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pairs_unina-0.2.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
pairs_unina-0.2.12-cp313-cp313-macosx_11_0_universal2.whl CPython 3.13 CPython 3.13 macOS 11.0+ universal2 (ARM64, x86-64) Details
pairs_unina-0.2.12-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pairs_unina-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
pairs_unina-0.2.12-cp312-cp312-macosx_11_0_universal2.whl CPython 3.12 CPython 3.12 macOS 11.0+ universal2 (ARM64, x86-64) Details
pairs_unina-0.2.12-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pairs_unina-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
pairs_unina-0.2.12-cp311-cp311-macosx_11_0_universal2.whl CPython 3.11 CPython 3.11 macOS 11.0+ universal2 (ARM64, x86-64) Details
pairs_unina-0.2.12-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pairs_unina-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
pairs_unina-0.2.12-cp310-cp310-macosx_11_0_universal2.whl CPython 3.10 CPython 3.10 macOS 11.0+ universal2 (ARM64, x86-64) Details

Total release size: 153.4 MB

Release files / pairs_unina-0.2.12-cp313-cp313-win_amd64.whl

Download URL pairs_unina-0.2.12-cp313-cp313-win_amd64.whl
Size 11.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
cbaa4f797a08a1f30f33dd5ba14b45100a70e13ef0041f765f81d28c6c89f0f1
BLAKE2b-256 checksum
How to use checksums
c1248002508fbf9636f15eea0ec0e7d9b397a9f1f26d05db574e467475b61f5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pairs_unina-0.2.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pairs_unina-0.2.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 12.6 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
db668d4b47d556b33ece65fd7e68497b985d6c184279e8cb42c3d129661da9c3
BLAKE2b-256 checksum
How to use checksums
f59f64a4d91d510dcf28711d0172c9890c9857eada705265cf7b930c81154413
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pairs_unina-0.2.12-cp313-cp313-macosx_11_0_universal2.whl

Download URL pairs_unina-0.2.12-cp313-cp313-macosx_11_0_universal2.whl
Size 13.9 MB
Tags CPython 3.13 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
fb0ad01f868720ee66f1a5911809811d91e95c2567593e9155a3fcddf40fda11
BLAKE2b-256 checksum
How to use checksums
4db4f6242b3b7fb66b00809024836aac3401444681e3c072936f010e11ec1a6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pairs_unina-0.2.12-cp312-cp312-win_amd64.whl

Download URL pairs_unina-0.2.12-cp312-cp312-win_amd64.whl
Size 11.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
218b91d27d5e3f9a408431e2e2e9420ac91c8fda0dd779884b2cf6ea4559a06b
BLAKE2b-256 checksum
How to use checksums
08103b7a32f92659edbbfdaf7a9b2b43bb3a022a646a4e750f8b7f116e4402c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pairs_unina-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pairs_unina-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 12.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c2393520a39cf6176a3e97287caf406f9fc792f3e767f6b8c108afaa3bb2bd73
BLAKE2b-256 checksum
How to use checksums
ae64e8936ddc36fab4b40e7907a26481ffc8a196bfbf7cf567e7a24086a3f015
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pairs_unina-0.2.12-cp312-cp312-macosx_11_0_universal2.whl

Download URL pairs_unina-0.2.12-cp312-cp312-macosx_11_0_universal2.whl
Size 13.9 MB
Tags CPython 3.12 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
e24290427c27f01b93bb819e31213c129ce04ed43e60717f1de83c1fc8c0d969
BLAKE2b-256 checksum
How to use checksums
03ee70bc3b058bf96d1ecd7365f9812c5227a83fe34bdd2f4cf6b68b13a40395
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pairs_unina-0.2.12-cp311-cp311-win_amd64.whl

Download URL pairs_unina-0.2.12-cp311-cp311-win_amd64.whl
Size 11.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
941293bafe1a4f3b6924b1c5cdadab7ac00aefeefeec111e4c8b0e125fa2d888
BLAKE2b-256 checksum
How to use checksums
5a13019b5b286463c8583db1d3ecb36a2337b6e6c1024778ccf28984208c1b58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pairs_unina-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pairs_unina-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 12.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
225319c234736d397d0d28e6b0ef3f2d61625252edbe0fbf92563f15004bf07d
BLAKE2b-256 checksum
How to use checksums
a9c6a57a092f6387f62d62709b11cfb89e8c73a6f040591978be52f4e4fa579c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pairs_unina-0.2.12-cp311-cp311-macosx_11_0_universal2.whl

Download URL pairs_unina-0.2.12-cp311-cp311-macosx_11_0_universal2.whl
Size 13.9 MB
Tags CPython 3.11 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
34fed075baeeaf9706783e5b1ef974882af4b3cdff7b71559cb106647d81845a
BLAKE2b-256 checksum
How to use checksums
294a28487f6ad5908c1a159709258742d13b0d2ea98e122bf2aef6e3c332bf38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pairs_unina-0.2.12-cp310-cp310-win_amd64.whl

Download URL pairs_unina-0.2.12-cp310-cp310-win_amd64.whl
Size 11.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
acd6ee987a2906f2e110917ba91a773607abb055897819cebbeee2252e0fccff
BLAKE2b-256 checksum
How to use checksums
3d73e2a400bd50ec9e22bfce3fdac67e8a3d3eeb7659ee52e2e29d7fcb1390c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pairs_unina-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pairs_unina-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 12.6 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
19f239f29f128a5b6fc810eb3566edd30632f2f1d875d3488698ca856ce100ea
BLAKE2b-256 checksum
How to use checksums
c8aea0503c441d296765dc0eab0b34293a0fb615260858ac32ace0796a4d4a08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pairs_unina-0.2.12-cp310-cp310-macosx_11_0_universal2.whl

Download URL pairs_unina-0.2.12-cp310-cp310-macosx_11_0_universal2.whl
Size 13.9 MB
Tags CPython 3.10 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
162e73693e7554ca924c427b70739145461141bf62ecd4a9665b45f0b79a7274
BLAKE2b-256 checksum
How to use checksums
68b65b3b6c7bb5113228bdf2203f3287693afa6653d06c72855f897bcba1336b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page