Fork potenziata di geopyv — Digital Image Correlation (DIC) / PIV in Python.
sudo apt update
sudo apt install -y python3 python3-venv python3-dev g++ libomp-devcd ~/projects
git clone https://github.com/elFrenk/geopyv-enhanced.git
git clone https://github.com/sas229/geopyv.git # serve per external/eigen
cd geopyv-enhancedNota: se hai già Eigen installato a sistema (
libeigen3-dev), puoi saltare il clone di geopyv e usareEIGEN_DIR=/usr/include/eigen3.
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip setuptools wheel
pip install -r requirements.txt./scripts/build_extensions.shSe Eigen è in un path custom:
EIGEN_DIR=/path/to/eigen ./scripts/build_extensions.shVerifica che funzioni:
python -c "from geopyv import _image_extensions, _subset_extensions; print('OK')"mkdir -p images/Jet
cp ../geopyv/images/Jet/Jet_0001A.jpg ../geopyv/images/Jet/Jet_0001B.jpg images/Jet/python scripts/basic_test.py --no-guiCon salvataggio plot:
python scripts/basic_test.py --save-plotsgeopyv/ # Libreria core (DIC/PIV)
_image.cpp # Estensione C++ per pre-calcolo B-spline
_subset.cpp # Estensione C++ per correlazione subset
image.py # Classe Image
subset.py # Classe Subset (DIC)
mesh.py # Classe Mesh (full-field)
sequence.py # Classe Sequence (multi-frame)
templates.py # Circle/Square templates
io.py # Save/load (.pyv files)
plots.py # Visualizzazione risultati
scripts/
basic_test.py # Test base funzionante
build_extensions.sh # Script di compilazione C++
run_pipeline.py # Pipeline completa (WIP)
images/ # Immagini di test
configs/ # Configurazioni YAML
- Le estensioni
.sodevono essere compilate per la stessa versione di Python del venv. Se cambi versione Python, ricompila con./scripts/build_extensions.sh. - Il modulo
particlerichiedegeomatche non si installa su Python ≥3.12. Non blocca il funzionamento core. - Su WSL: il backend matplotlib è forzato a
Agg(no GUI). Usa--save-plotsper salvare i grafici.