Skip to main content

PaIRS - Particle Image Reconstruction Software

Project description

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

Bug fixes:

  • Corrected a bug in the vorticity computation caused by missing conversion of velocity gradients into correct physical units.
  • Corrected misalignment issues affecting output-variable maps and vector fields in Vis.
  • Fixed inconsistent path handling in the batch-folder copy and other modules by removing path relativization.

New features:

  • 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.
  • Vis now automatically loads and displays the saved log file when opening past results under the specified output path and name root.

User-interface enhancements:

  • Improved naming of duplicated processes with consistent incremental suffixes.
  • 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.
  • Improved stability and behavior of path completers in the Input tabs.
  • In Vis, resizing and automatic level-reset settings are now applied individually per step rather than globally.

Distribution:

  • ready-to-use executables of PaIRS are now available!

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pairs_unina-0.2.8-cp313-cp313-win_amd64.whl (10.6 MB view details)

Uploaded CPython 3.13Windows x86-64

pairs_unina-0.2.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pairs_unina-0.2.8-cp313-cp313-macosx_11_0_universal2.whl (12.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ universal2 (ARM64, x86-64)

pairs_unina-0.2.8-cp312-cp312-win_amd64.whl (10.6 MB view details)

Uploaded CPython 3.12Windows x86-64

pairs_unina-0.2.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pairs_unina-0.2.8-cp312-cp312-macosx_11_0_universal2.whl (12.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ universal2 (ARM64, x86-64)

pairs_unina-0.2.8-cp311-cp311-win_amd64.whl (10.6 MB view details)

Uploaded CPython 3.11Windows x86-64

pairs_unina-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pairs_unina-0.2.8-cp311-cp311-macosx_11_0_universal2.whl (12.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ universal2 (ARM64, x86-64)

pairs_unina-0.2.8-cp310-cp310-win_amd64.whl (10.6 MB view details)

Uploaded CPython 3.10Windows x86-64

pairs_unina-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pairs_unina-0.2.8-cp310-cp310-macosx_11_0_universal2.whl (12.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ universal2 (ARM64, x86-64)

File details

Details for the file pairs_unina-0.2.8-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7e826ff54f7f42ec5b8ba27580c1ef05a4018b95804d00cccc3bbeb9bf8335e8
MD5 7bc9a5e8584f0b4b53a3c433d5392a82
BLAKE2b-256 c60676682eecf070ad78874cf0791afd26dab56103ee737ffe6e39c378d40a44

See more details on using hashes here.

File details

Details for the file pairs_unina-0.2.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9edd97da804ceee5b3f59bf6d4fd033b99ac7c42deb1eb4e88fe0c7875b3a8de
MD5 6ef9dea5efab5dbd85224f0e56dd8535
BLAKE2b-256 6531c66ad7b6a02da2ecefaa5dc608adfd6469de6b64fbe509c0c0c3123edf76

See more details on using hashes here.

File details

Details for the file pairs_unina-0.2.8-cp313-cp313-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp313-cp313-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 cbc0c9deb2598cf8e046f81ec894e45cc5b9ee17702a725add5378aaaa4ca4e5
MD5 f4f04ede0ce527482d5efec184659348
BLAKE2b-256 9ce930f85a796bac9375464c0b881f77186594667b3710a254fef573b7d138de

See more details on using hashes here.

File details

Details for the file pairs_unina-0.2.8-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a4ad9f29115d16f5eddac5f7b048003e8a8ee243baf38b76a692876c0f64ef4a
MD5 8090452767e4469826a338f466b2a55d
BLAKE2b-256 dff77daf2f3d698fdfeb801bab49f2ef258c7853b9931cc3564593c37aed3f68

See more details on using hashes here.

File details

Details for the file pairs_unina-0.2.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24409d5ab00ea47bc4f7442426f5e774642365b714014c6b668704dfe125ed39
MD5 8c09cf629dbe9e921f546f9a19916a87
BLAKE2b-256 49a9775c3a3f02b11bfc307617fcc667382618cff45cae8046e4fb5cd60ea44d

See more details on using hashes here.

File details

Details for the file pairs_unina-0.2.8-cp312-cp312-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp312-cp312-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 398ec1cfe43d23c8a82aad1cb163735eab5834a74ed4a004448b7b8443f4f41f
MD5 0a5945931532b2cdb4c66a3a165b9bc1
BLAKE2b-256 415b37eb8fe28bafaf43583db1fcbaf571771cda82ce48882d0b349a9958d829

See more details on using hashes here.

File details

Details for the file pairs_unina-0.2.8-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3708f7a688b753ea80c69172b8e490e6611683265f131a53bab87b9e72e857e1
MD5 85ce7b62782f201aa94fe2dcf1b58dde
BLAKE2b-256 ad7504f2c7346c56f80be64f90d9d3d25ba3703c3108c2b38dec53f4097c07b9

See more details on using hashes here.

File details

Details for the file pairs_unina-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10ae1d85783681f5a8dacb07ffe9e32698913fbac96a019f6cacd18a0a380c2f
MD5 41eadcbe3ff891534de93fc68efc0aed
BLAKE2b-256 d96d05326e2024c83f20f4a054ccec646800be610b1bd4cda7392ccedc6f0903

See more details on using hashes here.

File details

Details for the file pairs_unina-0.2.8-cp311-cp311-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp311-cp311-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 dbd3c55c3eeb726c4eb9f2501b46d9d2611f5dc144d9c94542c0cdc0b1e89dfe
MD5 635248295d46ee5276991ddc9ccab153
BLAKE2b-256 f15b0f59be3a55e44480e0d0f435b065783e2a16d9f63dee839f3d67d67d2088

See more details on using hashes here.

File details

Details for the file pairs_unina-0.2.8-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 25b62b02c8a5763f50fab810a5506a84fb3a709e3368cc2974490af06ac6489d
MD5 58537ece836a3a766e2545c33accc7a9
BLAKE2b-256 b3d8849124261f143e191a548677c74ae929101a0465bcc643586769772eb418

See more details on using hashes here.

File details

Details for the file pairs_unina-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f00fe9188f714c94687d6ecbae5654be676fa0c3c6c60ff9bdf1ed205fec133
MD5 23a5a7fe8221bcabaa7635385b723ca5
BLAKE2b-256 76159eb72d57cd05ddb1c46675915eabc884338c9619f71956958c9b966936c1

See more details on using hashes here.

File details

Details for the file pairs_unina-0.2.8-cp310-cp310-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for pairs_unina-0.2.8-cp310-cp310-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 96bc9093310cbc4264d4b50cce8f29db4c15319e5ea5060caafa84dd624770c9
MD5 f8d5f703ce1eb98bfa4c83d3f40dff60
BLAKE2b-256 15a4e323dec999f8785b4c929bdde46efae5c64bf4344ee4a1541b549f100811

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page