Metadata-Version: 2.1
Name: PaIRS_UniNa
Version: 0.2.2
Summary: PaIRS - Particle Image Reconstruction Software
Home-page: https://pairs.unina.it/
Author: Gerardo Paolillo and Tommaso Astarita
Author-email: etfd@unina.it
License: GNU Lesser General Public License v3 or later (LGPLv3+)
Keywords: PIV,PaIRS
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: scipy
Requires-Dist: matplotlib>=3.9
Requires-Dist: pillow
Requires-Dist: numpy>=2.0.0
Requires-Dist: pyside6>=6.7
Requires-Dist: unidecode
Requires-Dist: psutil

# PaIRS-UniNa: **Pa**rticle **I**mage **R**econstruction **S**oftware - **Uni**versity of **Na**ples "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.9+ 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 [PaIRS website](https://www.pairs.unina.it/).

## What's new in PaIRS-UniNa 0.2.2

**Critical:** Fixed critical errors in the calculation of Reynolds stresses for stereoscopic PIV processes. Please consider reviewing the results from processes executed with version 0.2.1, as the w'w', u'w', and v'w' stresses were incorrectly calculated.

Introduced the "Laser Equation Plane" box in the Output tab to specify the initial attempt in the disparity step or to independently assign the constant values of the laser plane during the stereoscopic PIV step.

Introduced the "Copy process to loop over folders" button in the process tree. The latter allows the user to select multiple folders from the disk and replicate the process in the tree for each folder, automatically updating the input image path (specified in the Input tab) to match the path of each selected folder. This makes it extremely easy and fast to create a queue of processes for folders containing similar image sets.

Resolved various bugs related to the copy and link functions of steps within the process tree. Buttons have been relocated to the Explorer, and additional functionality has been added to the context menu of the process tree items.

Improved stability and interface performance.

The guide of PaIRS-UniNa v0.2 is now available. Discover all the information you need for advanced software usage at [www.pairs.unina.it](https://www.pairs.unina.it/web/PaIRS-UniNa-v020-Guide.pdf).

## Installation
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
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```.

### 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](https://www.pairs.unina.it/web/PaIRS-UniNa-v020-Guide.pdf).

## 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](https://doi.org/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](https://doi.org/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](https://doi.org/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](https://doi.org/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](https://doi.org/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](https://doi.org/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](https://doi.org/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](https://doi.org/10.1088/1361-6501/abf3fc).

<!--[Github-flavored Markdown](https://guides.github.com/features/mastering-markdown/)
to write your content.-->

