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

Bug fixes:

  • Fixed incorrect streamline visualization when viewing images in pixel units.
  • Reprojection errors in CalVi are now correctly recalculated and plotted when expanding the control-point grid.
  • Image transformations are now preserved even with automatic reshape/resize option enabled in the Output tab.

User-interface enhancements:

  • The button for restricting the view on the interrogation-window area now opens a popup menu to select which interrogation-window size to display across process iterations.
  • Duplicated process names are automatically updated to avoid conflicts.
  • Improved behavior of editable fields: accurate cursor positioning, proper highlighting and background restoration.

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.7-cp313-cp313-win_amd64.whl (10.3 MB view details)

Uploaded CPython 3.13Windows x86-64

pairs_unina-0.2.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pairs_unina-0.2.7-cp313-cp313-macosx_11_0_universal2.whl (12.2 MB view details)

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

pairs_unina-0.2.7-cp312-cp312-win_amd64.whl (10.3 MB view details)

Uploaded CPython 3.12Windows x86-64

pairs_unina-0.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pairs_unina-0.2.7-cp312-cp312-macosx_11_0_universal2.whl (12.2 MB view details)

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

pairs_unina-0.2.7-cp311-cp311-win_amd64.whl (10.3 MB view details)

Uploaded CPython 3.11Windows x86-64

pairs_unina-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pairs_unina-0.2.7-cp311-cp311-macosx_11_0_universal2.whl (12.2 MB view details)

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

pairs_unina-0.2.7-cp310-cp310-win_amd64.whl (10.3 MB view details)

Uploaded CPython 3.10Windows x86-64

pairs_unina-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pairs_unina-0.2.7-cp310-cp310-macosx_11_0_universal2.whl (12.2 MB view details)

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

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c4cc0b3d683c1662d08310aa502d4b3db8e8dde365d8583fba9548cdfbc2859a
MD5 2e1ca693f44b25ae651fb0f6f5348858
BLAKE2b-256 ca31bb0972ceaa6066cec8632f83e4c58ca78a69c45bf0d4e0b885bf1a3d2f49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae76db3c23a1c5de7d352a96c2ed323a5b48e9fb5f5deee9d148284057ce9bd5
MD5 760cbb262436b9ac7cf66e69a0af7516
BLAKE2b-256 177ece6f559910c364a153a9f2a3dfe6a5584213fd1684a848b4ff57b193d719

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp313-cp313-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 d4a0daf1c0d13f2a28c6546fba2761ad44b24a4bac9cc200d12ac25b5d949a17
MD5 2acfb2af81bef52dcf2a8b753ccb642e
BLAKE2b-256 d1947b7be1d0b225167113358784aa18a23bf0ad31dff21fe31a2cb4d37b48b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 65cc9ed6806f01d00acd1c2c0212c96a8c3ba3315a40bd8cfbd351360f4cd4b6
MD5 29ea6d7d5367a6fceee7ee33784bd1dc
BLAKE2b-256 c460f1449998d839fc00e9602fb3b234e0870c4e957e6ee2ca9a11f57452dc1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98187b9f2cf8714df6d2c0c4eacd100111d96b0011021d3fbe9848f19420a1d0
MD5 4cb5e4b98dcb6885aa4eb6d8310230c7
BLAKE2b-256 cb621eb6cba9a3baba4f8bf13ecef959f2a871b2fcc4f5556f03eba2dc89a56b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp312-cp312-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 9ea20048ad19284ee143a52dfec1204b9e9b59fb9c6c2d3ed48be01ece90779f
MD5 75c2b2f767d3aace1fed4b4ad78db4fb
BLAKE2b-256 53f280d6bad47c7ebd2483e6d3a01c1c513c2b9a36669c571475bb73e5ec7754

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 86b8c786f3059b3f51bd174ddc76f6e4d2753f3e2af2c86bb3a1a72703feb286
MD5 02a5a43f0006d3b10c3108ab3469fa16
BLAKE2b-256 a09a27422c83a4432380ef3f367aa75585c2a235ee22a0b816b95466db23e1a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04a72de495a2367259b2a9d90ab2601147df9a47a239a1f468c10752717e7a8f
MD5 e732f90a2e5a242e1e7c753049b15f6e
BLAKE2b-256 827feea0d70ae401734b0c004583a4133b1077d6edc9aff0c669c417efc0521b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp311-cp311-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 bd240552291540a9f512fb167b0c4dfdc7aee435f5fb775662b234bc8f6fb8c0
MD5 40e6b2ba26e08c469cebfac5a64f63de
BLAKE2b-256 4def05cbb1b4eb3cf2c6d0750a3c2e0dcd5ac16a0cfcbdca46c70db4a008bd10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 62f4d3f4ed173c720c3b25251876ab1a9ab5de1e71d428db743967994c16c2af
MD5 dc4be902a8afae07be23ae712598be68
BLAKE2b-256 13655e8f6ac1ba2ebb90bb96fcf1b0a7abfdb5ea403daefa9f5bd14848a3ca48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5dd51f348d78e79a51f2c4f1ab02550d587d481815fadf27eb84f199575dafb
MD5 5add04d0a031c18174d398f7c2f734ec
BLAKE2b-256 45693102667e09f7d388dde84fd4914b9874f7033b73cc75e1b18b31c9a268bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pairs_unina-0.2.7-cp310-cp310-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 a0dcfc5fce30135c14e03be6ad5ad410b52ea19b48468f19f93828b75a9d2031
MD5 dde176cf3bd2293d4f68de0374644e38
BLAKE2b-256 bada4ebb8a1dde92b7e74eb71141ca9e4d3ebbab42e1d0b2f12e24b860564135

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