pivtools 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. pivtools-0.1.2/MANIFEST.in +27 -0
  2. pivtools-0.1.2/PKG-INFO +222 -0
  3. pivtools-0.1.2/README.md +179 -0
  4. pivtools-0.1.2/config.yaml +135 -0
  5. pivtools-0.1.2/pivtools.egg-info/PKG-INFO +222 -0
  6. pivtools-0.1.2/pivtools.egg-info/SOURCES.txt +132 -0
  7. pivtools-0.1.2/pivtools.egg-info/dependency_links.txt +1 -0
  8. pivtools-0.1.2/pivtools.egg-info/entry_points.txt +3 -0
  9. pivtools-0.1.2/pivtools.egg-info/requires.txt +24 -0
  10. pivtools-0.1.2/pivtools.egg-info/top_level.txt +3 -0
  11. pivtools-0.1.2/pivtools_cli/__init__.py +5 -0
  12. pivtools-0.1.2/pivtools_cli/_build_marker.c +25 -0
  13. pivtools-0.1.2/pivtools_cli/cli.py +225 -0
  14. pivtools-0.1.2/pivtools_cli/example.py +139 -0
  15. pivtools-0.1.2/pivtools_cli/lib/PIV_2d_cross_correlate.c +334 -0
  16. pivtools-0.1.2/pivtools_cli/lib/PIV_2d_cross_correlate.h +22 -0
  17. pivtools-0.1.2/pivtools_cli/lib/common.h +36 -0
  18. pivtools-0.1.2/pivtools_cli/lib/interp2custom.c +146 -0
  19. pivtools-0.1.2/pivtools_cli/lib/interp2custom.h +48 -0
  20. pivtools-0.1.2/pivtools_cli/lib/peak_locate_gsl.c +711 -0
  21. pivtools-0.1.2/pivtools_cli/lib/peak_locate_gsl.h +40 -0
  22. pivtools-0.1.2/pivtools_cli/lib/peak_locate_gsl_print.c +736 -0
  23. pivtools-0.1.2/pivtools_cli/lib/peak_locate_lm.c +751 -0
  24. pivtools-0.1.2/pivtools_cli/lib/peak_locate_lm.h +27 -0
  25. pivtools-0.1.2/pivtools_cli/lib/xcorr.c +342 -0
  26. pivtools-0.1.2/pivtools_cli/lib/xcorr.h +31 -0
  27. pivtools-0.1.2/pivtools_cli/lib/xcorr_cache.c +78 -0
  28. pivtools-0.1.2/pivtools_cli/lib/xcorr_cache.h +26 -0
  29. pivtools-0.1.2/pivtools_cli/piv/interp2custom/interp2custom.py +69 -0
  30. pivtools-0.1.2/pivtools_cli/piv/piv.py +240 -0
  31. pivtools-0.1.2/pivtools_cli/piv/piv_backend/base.py +825 -0
  32. pivtools-0.1.2/pivtools_cli/piv/piv_backend/cpu_instantaneous.py +1005 -0
  33. pivtools-0.1.2/pivtools_cli/piv/piv_backend/factory.py +28 -0
  34. pivtools-0.1.2/pivtools_cli/piv/piv_backend/gpu_instantaneous.py +15 -0
  35. pivtools-0.1.2/pivtools_cli/piv/piv_backend/infilling.py +445 -0
  36. pivtools-0.1.2/pivtools_cli/piv/piv_backend/outlier_detection.py +306 -0
  37. pivtools-0.1.2/pivtools_cli/piv/piv_backend/profile_cpu_instantaneous.py +230 -0
  38. pivtools-0.1.2/pivtools_cli/piv/piv_result.py +40 -0
  39. pivtools-0.1.2/pivtools_cli/piv/save_results.py +342 -0
  40. pivtools-0.1.2/pivtools_cli/piv_cluster/cluster.py +108 -0
  41. pivtools-0.1.2/pivtools_cli/preprocessing/filters.py +399 -0
  42. pivtools-0.1.2/pivtools_cli/preprocessing/preprocess.py +79 -0
  43. pivtools-0.1.2/pivtools_cli/tests/helpers.py +107 -0
  44. pivtools-0.1.2/pivtools_cli/tests/instantaneous_piv/test_piv_integration.py +167 -0
  45. pivtools-0.1.2/pivtools_cli/tests/instantaneous_piv/test_piv_integration_multi.py +553 -0
  46. pivtools-0.1.2/pivtools_cli/tests/preprocessing/test_filters.py +41 -0
  47. pivtools-0.1.2/pivtools_core/__init__.py +5 -0
  48. pivtools-0.1.2/pivtools_core/config.py +674 -0
  49. pivtools-0.1.2/pivtools_core/image_handling/__init__.py +0 -0
  50. pivtools-0.1.2/pivtools_core/image_handling/load_images.py +464 -0
  51. pivtools-0.1.2/pivtools_core/image_handling/readers/__init__.py +53 -0
  52. pivtools-0.1.2/pivtools_core/image_handling/readers/generic_readers.py +50 -0
  53. pivtools-0.1.2/pivtools_core/image_handling/readers/lavision_reader.py +190 -0
  54. pivtools-0.1.2/pivtools_core/image_handling/readers/registry.py +24 -0
  55. pivtools-0.1.2/pivtools_core/paths.py +49 -0
  56. pivtools-0.1.2/pivtools_core/vector_loading.py +248 -0
  57. pivtools-0.1.2/pivtools_gui/__init__.py +3 -0
  58. pivtools-0.1.2/pivtools_gui/app.py +687 -0
  59. pivtools-0.1.2/pivtools_gui/calibration/__init__.py +0 -0
  60. pivtools-0.1.2/pivtools_gui/calibration/app/__init__.py +0 -0
  61. pivtools-0.1.2/pivtools_gui/calibration/app/views.py +1186 -0
  62. pivtools-0.1.2/pivtools_gui/calibration/calibration_planar/planar_calibration_production.py +570 -0
  63. pivtools-0.1.2/pivtools_gui/calibration/vector_calibration_production.py +544 -0
  64. pivtools-0.1.2/pivtools_gui/config.py +674 -0
  65. pivtools-0.1.2/pivtools_gui/image_handling/__init__.py +0 -0
  66. pivtools-0.1.2/pivtools_gui/image_handling/load_images.py +464 -0
  67. pivtools-0.1.2/pivtools_gui/image_handling/readers/__init__.py +53 -0
  68. pivtools-0.1.2/pivtools_gui/image_handling/readers/generic_readers.py +50 -0
  69. pivtools-0.1.2/pivtools_gui/image_handling/readers/lavision_reader.py +190 -0
  70. pivtools-0.1.2/pivtools_gui/image_handling/readers/registry.py +24 -0
  71. pivtools-0.1.2/pivtools_gui/masking/__init__.py +0 -0
  72. pivtools-0.1.2/pivtools_gui/masking/app/__init__.py +0 -0
  73. pivtools-0.1.2/pivtools_gui/masking/app/views.py +123 -0
  74. pivtools-0.1.2/pivtools_gui/paths.py +49 -0
  75. pivtools-0.1.2/pivtools_gui/piv_runner.py +261 -0
  76. pivtools-0.1.2/pivtools_gui/pivtools.py +58 -0
  77. pivtools-0.1.2/pivtools_gui/plotting/__init__.py +0 -0
  78. pivtools-0.1.2/pivtools_gui/plotting/app/__init__.py +0 -0
  79. pivtools-0.1.2/pivtools_gui/plotting/app/views.py +1671 -0
  80. pivtools-0.1.2/pivtools_gui/plotting/plot_maker.py +220 -0
  81. pivtools-0.1.2/pivtools_gui/post_processing/POD/__init__.py +0 -0
  82. pivtools-0.1.2/pivtools_gui/post_processing/POD/app/__init__.py +0 -0
  83. pivtools-0.1.2/pivtools_gui/post_processing/POD/app/views.py +647 -0
  84. pivtools-0.1.2/pivtools_gui/post_processing/POD/pod_decompose.py +979 -0
  85. pivtools-0.1.2/pivtools_gui/post_processing/POD/views.py +1096 -0
  86. pivtools-0.1.2/pivtools_gui/post_processing/__init__.py +0 -0
  87. pivtools-0.1.2/pivtools_gui/static/404.html +1 -0
  88. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/117-d5793c8e79de5511.js +2 -0
  89. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/484-cfa8b9348ce4f00e.js +1 -0
  90. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/869-320a6b9bdafbb6d3.js +1 -0
  91. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/app/_not-found/page-12f067ceb7415e55.js +1 -0
  92. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/app/layout-b907d5f31ac82e9d.js +1 -0
  93. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/app/page-334cc4e8444cde2f.js +1 -0
  94. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/fd9d1056-ad15f396ddf9b7e5.js +1 -0
  95. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/framework-f66176bb897dc684.js +1 -0
  96. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/main-a1b3ced4d5f6d998.js +1 -0
  97. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/main-app-8a63c6f5e7baee11.js +1 -0
  98. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/pages/_app-72b849fbd24ac258.js +1 -0
  99. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/pages/_error-7ba65e1336b92748.js +1 -0
  100. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  101. pivtools-0.1.2/pivtools_gui/static/_next/static/chunks/webpack-4a8ca7c99e9bb3d8.js +1 -0
  102. pivtools-0.1.2/pivtools_gui/static/_next/static/css/7d3f2337d7ea12a5.css +3 -0
  103. pivtools-0.1.2/pivtools_gui/static/_next/static/vQeR20OUdSSKlK4vukC4q/_buildManifest.js +1 -0
  104. pivtools-0.1.2/pivtools_gui/static/_next/static/vQeR20OUdSSKlK4vukC4q/_ssgManifest.js +1 -0
  105. pivtools-0.1.2/pivtools_gui/static/file.svg +1 -0
  106. pivtools-0.1.2/pivtools_gui/static/globe.svg +1 -0
  107. pivtools-0.1.2/pivtools_gui/static/grid.svg +8 -0
  108. pivtools-0.1.2/pivtools_gui/static/index.html +1 -0
  109. pivtools-0.1.2/pivtools_gui/static/index.txt +8 -0
  110. pivtools-0.1.2/pivtools_gui/static/next.svg +1 -0
  111. pivtools-0.1.2/pivtools_gui/static/vercel.svg +1 -0
  112. pivtools-0.1.2/pivtools_gui/static/window.svg +1 -0
  113. pivtools-0.1.2/pivtools_gui/stereo_reconstruction/__init__.py +0 -0
  114. pivtools-0.1.2/pivtools_gui/stereo_reconstruction/app/__init__.py +0 -0
  115. pivtools-0.1.2/pivtools_gui/stereo_reconstruction/app/views.py +1985 -0
  116. pivtools-0.1.2/pivtools_gui/stereo_reconstruction/stereo_calibration_production.py +606 -0
  117. pivtools-0.1.2/pivtools_gui/stereo_reconstruction/stereo_reconstruction_production.py +544 -0
  118. pivtools-0.1.2/pivtools_gui/utils.py +63 -0
  119. pivtools-0.1.2/pivtools_gui/vector_loading.py +248 -0
  120. pivtools-0.1.2/pivtools_gui/vector_merging/__init__.py +1 -0
  121. pivtools-0.1.2/pivtools_gui/vector_merging/app/__init__.py +1 -0
  122. pivtools-0.1.2/pivtools_gui/vector_merging/app/views.py +759 -0
  123. pivtools-0.1.2/pivtools_gui/vector_statistics/app/__init__.py +1 -0
  124. pivtools-0.1.2/pivtools_gui/vector_statistics/app/views.py +710 -0
  125. pivtools-0.1.2/pivtools_gui/vector_statistics/ensemble_statistics.py +49 -0
  126. pivtools-0.1.2/pivtools_gui/vector_statistics/instantaneous_statistics.py +311 -0
  127. pivtools-0.1.2/pivtools_gui/video_maker/__init__.py +0 -0
  128. pivtools-0.1.2/pivtools_gui/video_maker/app/__init__.py +0 -0
  129. pivtools-0.1.2/pivtools_gui/video_maker/app/views.py +436 -0
  130. pivtools-0.1.2/pivtools_gui/video_maker/video_maker.py +662 -0
  131. pivtools-0.1.2/pyproject.toml +74 -0
  132. pivtools-0.1.2/requirements.txt +24 -0
  133. pivtools-0.1.2/setup.cfg +4 -0
  134. pivtools-0.1.2/setup.py +195 -0
@@ -0,0 +1,27 @@
1
+ include README.md
2
+ include LICENSE
3
+ include requirements.txt
4
+ include config.yaml
5
+
6
+ # Include C library source files
7
+ recursive-include pivtools_cli/lib *.c *.h
8
+
9
+ # Include GUI static files and templates
10
+ recursive-include pivtools_gui/static *
11
+ recursive-include pivtools_gui/templates *
12
+
13
+ # Exclude unnecessary files
14
+ global-exclude __pycache__
15
+ global-exclude *.py[co]
16
+ global-exclude .DS_Store
17
+ global-exclude *.so
18
+ global-exclude *.dll
19
+ global-exclude *.dylib
20
+
21
+ # Exclude test and development files
22
+ prune tests
23
+ prune manual_tools
24
+ prune logs
25
+ prune env
26
+ prune .git
27
+ prune .github
@@ -0,0 +1,222 @@
1
+ Metadata-Version: 2.4
2
+ Name: pivtools
3
+ Version: 0.1.2
4
+ Summary: PIVTOOLs - Particle Image Velocimetry Tools with CLI and GUI
5
+ Author-email: Your Name <your.email@example.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/MTT69/python-PIVTOOLs
8
+ Project-URL: Repository, https://github.com/MTT69/python-PIVTOOLs
9
+ Project-URL: Issues, https://github.com/MTT69/python-PIVTOOLs/issues
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Scientific/Engineering :: Image Processing
18
+ Classifier: Framework :: Flask
19
+ Requires-Python: >=3.11
20
+ Description-Content-Type: text/markdown
21
+ Requires-Dist: dask[distributed]==2025.7.0
22
+ Requires-Dist: loguru==0.7.3
23
+ Requires-Dist: numpy==2.2.6
24
+ Requires-Dist: opencv-python==4.12.0.88
25
+ Requires-Dist: pandas==2.3.1
26
+ Requires-Dist: pillow==11.3.0
27
+ Requires-Dist: PyYAML==6.0.2
28
+ Requires-Dist: scipy==1.16.1
29
+ Requires-Dist: tifffile==2025.6.11
30
+ Requires-Dist: tqdm==4.67.1
31
+ Requires-Dist: numba==0.61.2
32
+ Requires-Dist: psutil==6.1.1
33
+ Requires-Dist: pytest==8.4.2
34
+ Requires-Dist: rawpy==0.25.1
35
+ Requires-Dist: scikit-image==0.25.2
36
+ Requires-Dist: lvpyio==1.3.1; sys_platform != "darwin"
37
+ Requires-Dist: bottleneck==1.6.0
38
+ Requires-Dist: scikit-learn==1.7.2
39
+ Requires-Dist: threadpoolctl==3.6.0
40
+ Requires-Dist: Flask==3.1.1
41
+ Requires-Dist: flask-cors==6.0.1
42
+ Requires-Dist: matplotlib==3.10.5
43
+
44
+ # PIVTOOLs
45
+
46
+ Particle Image Velocimetry Tools - A comprehensive toolkit for PIV analysis with both command-line and GUI interfaces.
47
+
48
+ ## Installation
49
+
50
+ Install PIVTOOLs with a single command:
51
+
52
+ ```bash
53
+ pip install pivtools
54
+ ```
55
+
56
+ This installs the complete toolkit including:
57
+ - **Core utilities** for image handling and vector processing
58
+ - **Command-line interface** (`pivtools-cli`) for automated workflows
59
+ - **Web-based GUI** (`pivtools-gui`) for interactive analysis
60
+
61
+ The package includes pre-compiled C extensions for optimal performance on Windows, macOS, and Linux.
62
+
63
+ ## Quick Start
64
+
65
+ ### Initialize a new PIVTOOLs workspace
66
+
67
+ ```bash
68
+ pivtools-cli init
69
+ ```
70
+
71
+ This creates a default `config.yaml` file in your current directory that you can edit to configure your PIV analysis.
72
+
73
+ ### Run PIV analysis (command-line)
74
+
75
+ ```bash
76
+ pivtools-cli run
77
+ ```
78
+
79
+ This runs the PIV analysis using the `config.yaml` in your current directory.
80
+
81
+ ### Launch the GUI
82
+
83
+ ```bash
84
+ pivtools-gui
85
+ ```
86
+
87
+ This starts the web-based GUI at http://localhost:5000 where you can interactively configure and run PIV analysis.
88
+
89
+ ## Configuration
90
+
91
+ Edit the `config.yaml` file to configure:
92
+
93
+ - Input/output paths
94
+ - Image formats and processing parameters
95
+ - PIV algorithm settings
96
+ - Filtering and post-processing options
97
+ - Calibration parameters
98
+
99
+ See the example `config.yaml` for all available options.
100
+
101
+ ## Requirements
102
+
103
+ - Python 3.8+
104
+ - FFTW library (automatically handled during installation)
105
+ - Camera calibration images (for accurate scaling)
106
+
107
+ ## Development
108
+
109
+ For development installation with local C compilation:
110
+
111
+ ```bash
112
+ # Install FFTW first (platform-specific)
113
+ # Windows: vcpkg install fftw3[threads]:x64-windows-static
114
+ # macOS: brew install fftw gcc
115
+ # Linux: apt-get install libfftw3-dev
116
+
117
+ # Set environment variables
118
+ export FFTW_INC_PATH=/path/to/fftw/include
119
+ export FFTW_LIB_PATH=/path/to/fftw/lib
120
+
121
+ # Install in development mode
122
+ pip install -e .
123
+ ```
124
+
125
+ ## License
126
+
127
+ MIT License
128
+
129
+ Particle Image Velocimetry Tools - A comprehensive toolkit for PIV analysis with both command-line and GUI interfaces.
130
+
131
+ ## Installation
132
+
133
+ Install PIVTOOLs from PyPI:
134
+
135
+ ```bash
136
+ pip install PIVTOOLs
137
+ ```
138
+
139
+ This will install the package with pre-compiled C extensions for your platform.
140
+
141
+ ## Quick Start
142
+
143
+ ### Initialize a new PIV workspace
144
+
145
+ ```bash
146
+ pivtools-cli init
147
+ ```
148
+
149
+ This creates a `config.yaml` file in your current directory with default settings.
150
+
151
+ ### Run PIV analysis (command line)
152
+
153
+ ```bash
154
+ pivtools-cli run
155
+ ```
156
+
157
+ ### Launch the GUI
158
+
159
+ ```bash
160
+ pivtools-gui
161
+ ```
162
+
163
+ Then open http://localhost:5000 in your browser.
164
+
165
+ ## Configuration
166
+
167
+ Edit the `config.yaml` file to configure:
168
+
169
+ - Input/output paths
170
+ - Image formats and processing parameters
171
+ - PIV algorithm settings
172
+ - Filtering and post-processing options
173
+
174
+ ## Requirements
175
+
176
+ - Python 3.8+
177
+ - FFTW library (automatically handled during installation)
178
+ - See `requirements.txt` for full dependencies
179
+
180
+ ## Development
181
+
182
+ For development installation:
183
+
184
+ ```bash
185
+ git clone https://github.com/MTT69/python-PIVTOOLs.git
186
+ cd python-PIVTOOLs
187
+ pip install -e .
188
+ ```
189
+
190
+ ## Building from Source
191
+
192
+ If building from source, ensure FFTW is installed:
193
+
194
+ ### Linux (Ubuntu/Debian)
195
+ ```bash
196
+ sudo apt-get install libfftw3-dev
197
+ ```
198
+
199
+ ### macOS
200
+ ```bash
201
+ brew install fftw
202
+ ```
203
+
204
+ ### Windows
205
+ Install FFTW via vcpkg:
206
+ ```bash
207
+ vcpkg install fftw3[threads]:x64-windows-static
208
+ ```
209
+
210
+ Set environment variables:
211
+ ```bash
212
+ set FFTW_INC_PATH=C:\path\to\fftw\include
213
+ set FFTW_LIB_PATH=C:\path\to\fftw\lib
214
+ ```
215
+
216
+ ## License
217
+
218
+ MIT License
219
+
220
+ ## Contributing
221
+
222
+ Contributions welcome! Please see the GitHub repository for issues and pull requests.
@@ -0,0 +1,179 @@
1
+ # PIVTOOLs
2
+
3
+ Particle Image Velocimetry Tools - A comprehensive toolkit for PIV analysis with both command-line and GUI interfaces.
4
+
5
+ ## Installation
6
+
7
+ Install PIVTOOLs with a single command:
8
+
9
+ ```bash
10
+ pip install pivtools
11
+ ```
12
+
13
+ This installs the complete toolkit including:
14
+ - **Core utilities** for image handling and vector processing
15
+ - **Command-line interface** (`pivtools-cli`) for automated workflows
16
+ - **Web-based GUI** (`pivtools-gui`) for interactive analysis
17
+
18
+ The package includes pre-compiled C extensions for optimal performance on Windows, macOS, and Linux.
19
+
20
+ ## Quick Start
21
+
22
+ ### Initialize a new PIVTOOLs workspace
23
+
24
+ ```bash
25
+ pivtools-cli init
26
+ ```
27
+
28
+ This creates a default `config.yaml` file in your current directory that you can edit to configure your PIV analysis.
29
+
30
+ ### Run PIV analysis (command-line)
31
+
32
+ ```bash
33
+ pivtools-cli run
34
+ ```
35
+
36
+ This runs the PIV analysis using the `config.yaml` in your current directory.
37
+
38
+ ### Launch the GUI
39
+
40
+ ```bash
41
+ pivtools-gui
42
+ ```
43
+
44
+ This starts the web-based GUI at http://localhost:5000 where you can interactively configure and run PIV analysis.
45
+
46
+ ## Configuration
47
+
48
+ Edit the `config.yaml` file to configure:
49
+
50
+ - Input/output paths
51
+ - Image formats and processing parameters
52
+ - PIV algorithm settings
53
+ - Filtering and post-processing options
54
+ - Calibration parameters
55
+
56
+ See the example `config.yaml` for all available options.
57
+
58
+ ## Requirements
59
+
60
+ - Python 3.8+
61
+ - FFTW library (automatically handled during installation)
62
+ - Camera calibration images (for accurate scaling)
63
+
64
+ ## Development
65
+
66
+ For development installation with local C compilation:
67
+
68
+ ```bash
69
+ # Install FFTW first (platform-specific)
70
+ # Windows: vcpkg install fftw3[threads]:x64-windows-static
71
+ # macOS: brew install fftw gcc
72
+ # Linux: apt-get install libfftw3-dev
73
+
74
+ # Set environment variables
75
+ export FFTW_INC_PATH=/path/to/fftw/include
76
+ export FFTW_LIB_PATH=/path/to/fftw/lib
77
+
78
+ # Install in development mode
79
+ pip install -e .
80
+ ```
81
+
82
+ ## License
83
+
84
+ MIT License
85
+
86
+ Particle Image Velocimetry Tools - A comprehensive toolkit for PIV analysis with both command-line and GUI interfaces.
87
+
88
+ ## Installation
89
+
90
+ Install PIVTOOLs from PyPI:
91
+
92
+ ```bash
93
+ pip install PIVTOOLs
94
+ ```
95
+
96
+ This will install the package with pre-compiled C extensions for your platform.
97
+
98
+ ## Quick Start
99
+
100
+ ### Initialize a new PIV workspace
101
+
102
+ ```bash
103
+ pivtools-cli init
104
+ ```
105
+
106
+ This creates a `config.yaml` file in your current directory with default settings.
107
+
108
+ ### Run PIV analysis (command line)
109
+
110
+ ```bash
111
+ pivtools-cli run
112
+ ```
113
+
114
+ ### Launch the GUI
115
+
116
+ ```bash
117
+ pivtools-gui
118
+ ```
119
+
120
+ Then open http://localhost:5000 in your browser.
121
+
122
+ ## Configuration
123
+
124
+ Edit the `config.yaml` file to configure:
125
+
126
+ - Input/output paths
127
+ - Image formats and processing parameters
128
+ - PIV algorithm settings
129
+ - Filtering and post-processing options
130
+
131
+ ## Requirements
132
+
133
+ - Python 3.8+
134
+ - FFTW library (automatically handled during installation)
135
+ - See `requirements.txt` for full dependencies
136
+
137
+ ## Development
138
+
139
+ For development installation:
140
+
141
+ ```bash
142
+ git clone https://github.com/MTT69/python-PIVTOOLs.git
143
+ cd python-PIVTOOLs
144
+ pip install -e .
145
+ ```
146
+
147
+ ## Building from Source
148
+
149
+ If building from source, ensure FFTW is installed:
150
+
151
+ ### Linux (Ubuntu/Debian)
152
+ ```bash
153
+ sudo apt-get install libfftw3-dev
154
+ ```
155
+
156
+ ### macOS
157
+ ```bash
158
+ brew install fftw
159
+ ```
160
+
161
+ ### Windows
162
+ Install FFTW via vcpkg:
163
+ ```bash
164
+ vcpkg install fftw3[threads]:x64-windows-static
165
+ ```
166
+
167
+ Set environment variables:
168
+ ```bash
169
+ set FFTW_INC_PATH=C:\path\to\fftw\include
170
+ set FFTW_LIB_PATH=C:\path\to\fftw\lib
171
+ ```
172
+
173
+ ## License
174
+
175
+ MIT License
176
+
177
+ ## Contributing
178
+
179
+ Contributions welcome! Please see the GitHub repository for issues and pull requests.
@@ -0,0 +1,135 @@
1
+ paths:
2
+ base_paths:
3
+ - C:\Users\mtt1e23\Downloads\calibrated_piv_morgan
4
+ source_paths:
5
+ - D:\DAVIS_BFS\gF_Ramp_experiment\BFS_1500_1
6
+ camera_numbers:
7
+ - 1
8
+ - 2
9
+ camera_count: 2
10
+ images:
11
+ num_images: 10
12
+ image_format:
13
+ - B%05d.im7
14
+ vector_format:
15
+ - '%05d.mat'
16
+ time_resolved: false
17
+ dtype: float32
18
+ batches:
19
+ size: 25
20
+ logging:
21
+ file: pypiv.log
22
+ level: INFO
23
+ console: true
24
+ processing:
25
+ instantaneous: true
26
+ ensemble: false
27
+ stereo: false
28
+ backend: cpu
29
+ debug: false
30
+ auto_compute_params: false
31
+ omp_threads: 4
32
+ dask_workers_per_node: 5
33
+ dask_threads_per_worker: 1
34
+ dask_memory_limit: 12GB
35
+ outlier_detection:
36
+ enabled: true
37
+ methods:
38
+ - threshold: 0.25
39
+ type: peak_mag
40
+ - epsilon: 0.2
41
+ threshold: 2
42
+ type: median_2d
43
+ infilling:
44
+ mid_pass:
45
+ method: biharmonic
46
+ parameters:
47
+ ksize: 3
48
+ final_pass:
49
+ enabled: true
50
+ method: biharmonic
51
+ parameters:
52
+ ksize: 3
53
+ plots:
54
+ save_extension: .png
55
+ save_pickle: true
56
+ fontsize: 14
57
+ title_fontsize: 16
58
+ videos:
59
+ - endpoint: ''
60
+ type: instantaneous
61
+ use_merged: false
62
+ variable: ux
63
+ video_length: 100
64
+ - endpoint: ''
65
+ type: gamma1
66
+ use_merged: false
67
+ variable: gamma1
68
+ video_length: 100
69
+ statistics_extraction: null
70
+ instantaneous_piv:
71
+ window_size:
72
+ - - 128
73
+ - 128
74
+ - - 64
75
+ - 64
76
+ - - 32
77
+ - 32
78
+ overlap:
79
+ - 50
80
+ - 50
81
+ - 50
82
+ runs:
83
+ - 3
84
+ time_resolved: false
85
+ window_type: gaussian
86
+ num_peaks: 1
87
+ peak_finder: gauss3
88
+ secondary_peak: false
89
+ calibration_format:
90
+ image_format: calib%05d.tif
91
+ calibration:
92
+ active: pinhole
93
+ scale_factor:
94
+ dt: 0.56
95
+ px_per_mm: 3.41
96
+ source_path_idx: 0
97
+ pinhole:
98
+ source_path_idx: 0
99
+ camera: 1
100
+ image_index: 0
101
+ file_pattern: calib%05d.tif
102
+ pattern_cols: 10
103
+ pattern_rows: 10
104
+ dot_spacing_mm: 28.89
105
+ enhance_dots: true
106
+ asymmetric: false
107
+ dot_distance_mm: 28.9
108
+ grid_tolerance: 0.5
109
+ ransac_threshold: 3
110
+ dt: 0.0275
111
+ stereo:
112
+ source_path_idx: 0
113
+ camera_pair:
114
+ - 1
115
+ - 2
116
+ file_pattern: planar_calibration_plate_*.tif
117
+ pattern_cols: 10
118
+ pattern_rows: 10
119
+ dot_spacing_mm: 28.89
120
+ enhance_dots: true
121
+ asymmetric: false
122
+ dt: 2
123
+ image_format: calib%05d.tiff
124
+ filters:
125
+ - type: pod
126
+ masking:
127
+ enabled: true
128
+ mask_file_pattern: mask_Cam%d.mat
129
+ mask_threshold: 0.01
130
+ mode: file
131
+ rectangular:
132
+ top: 64
133
+ bottom: 64
134
+ left: 0
135
+ right: 0