Skip to content

Commit 097d6e5

Browse files
authored
Merge pull request #302 from alexlib/master
fixed the bug in constructing the pattern B
2 parents e72c439 + 4143b14 commit 097d6e5

32 files changed

+132
-46
lines changed

openpiv/data/test5/Pattern_10_A.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_10_B.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_1_A.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_1_B.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_2_A.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_2_B.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_3_A.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_3_B.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_4_A.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_4_B.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_5_A.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_5_B.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_6_A.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_6_B.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_7_A.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_7_B.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_8_A.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_8_B.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_9_A.tif

1 MB
Binary file not shown.

openpiv/data/test5/Pattern_9_B.tif

1 MB
Binary file not shown.

openpiv/data/test6/Pattern_0001_A.tif

1 MB
Binary file not shown.

openpiv/data/test6/Pattern_0002_A.tif

1 MB
Binary file not shown.

openpiv/data/test6/Pattern_0003_A.tif

1 MB
Binary file not shown.

openpiv/data/test6/Pattern_0004_A.tif

1 MB
Binary file not shown.

openpiv/data/test6/Pattern_0005_A.tif

1 MB
Binary file not shown.

openpiv/data/test6/Pattern_1001_B.tif

1 MB
Binary file not shown.

openpiv/data/test6/Pattern_1002_B.tif

1 MB
Binary file not shown.

openpiv/data/test6/Pattern_1003_B.tif

1 MB
Binary file not shown.

openpiv/data/test6/Pattern_1004_B.tif

1 MB
Binary file not shown.

openpiv/data/test6/Pattern_1005_B.tif

1 MB
Binary file not shown.

openpiv/test/test_tools.ipynb

Lines changed: 131 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
"cells": [
33
{
44
"cell_type": "code",
5-
"execution_count": 4,
6-
"metadata": {},
5+
"execution_count": 1,
6+
"metadata": {
7+
"tags": []
8+
},
79
"outputs": [],
810
"source": [
911
"# %load test_tools.py\n",
@@ -19,26 +21,26 @@
1921
},
2022
{
2123
"cell_type": "code",
22-
"execution_count": 5,
24+
"execution_count": 2,
2325
"metadata": {},
2426
"outputs": [],
2527
"source": [
2628
"# test settings.pattern_a, b\n",
27-
"from openpiv.windef import Settings\n",
29+
"from openpiv.windef import PIVSettings\n",
2830
"from openpiv.tools import Multiprocesser\n",
2931
"\n"
3032
]
3133
},
3234
{
3335
"cell_type": "code",
34-
"execution_count": 6,
36+
"execution_count": 3,
3537
"metadata": {},
3638
"outputs": [
3739
{
3840
"name": "stdout",
3941
"output_type": "stream",
4042
"text": [
41-
"../data/test2/ 2image_00.tif 2image_01.tif\n"
43+
"../data/test2 2image_00.tif 2image_01.tif\n"
4244
]
4345
},
4446
{
@@ -47,15 +49,15 @@
4749
"1"
4850
]
4951
},
50-
"execution_count": 6,
52+
"execution_count": 3,
5153
"metadata": {},
5254
"output_type": "execute_result"
5355
}
5456
],
5557
"source": [
5658
"\n",
57-
"settings = Settings()\n",
58-
"settings.filepath_images = '../data/test2/'\n",
59+
"settings = PIVSettings()\n",
60+
"settings.filepath_images = pathlib.Path('../data/test2/')\n",
5961
"settings.frame_pattern_a = '2image_00.tif'\n",
6062
"settings.frame_pattern_b = '2image_01.tif'\n",
6163
"print(settings.filepath_images,settings.frame_pattern_a, settings.frame_pattern_b)\n",
@@ -66,20 +68,20 @@
6668
},
6769
{
6870
"cell_type": "code",
69-
"execution_count": 20,
71+
"execution_count": 4,
7072
"metadata": {},
7173
"outputs": [
7274
{
7375
"name": "stdout",
7476
"output_type": "stream",
7577
"text": [
76-
"../data/test2/ 2image_*.tif (1+2),(3+4)\n",
77-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_00.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_01.tif\n",
78-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_10.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_11.tif\n",
79-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_20.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_21.tif\n",
80-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_30.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_31.tif\n",
81-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_40.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_41.tif\n",
82-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_50.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_51.tif\n"
78+
"../data/test2 2image_*.tif (1+2),(3+4)\n",
79+
"Pair: ../data/test2/2image_00.tif-../data/test2/2image_01.tif\n",
80+
"Pair: ../data/test2/2image_10.tif-../data/test2/2image_11.tif\n",
81+
"Pair: ../data/test2/2image_20.tif-../data/test2/2image_21.tif\n",
82+
"Pair: ../data/test2/2image_30.tif-../data/test2/2image_31.tif\n",
83+
"Pair: ../data/test2/2image_40.tif-../data/test2/2image_41.tif\n",
84+
"Pair: ../data/test2/2image_50.tif-../data/test2/2image_51.tif\n"
8385
]
8486
}
8587
],
@@ -96,25 +98,25 @@
9698
},
9799
{
98100
"cell_type": "code",
99-
"execution_count": 21,
101+
"execution_count": 5,
100102
"metadata": {},
101103
"outputs": [
102104
{
103105
"name": "stdout",
104106
"output_type": "stream",
105107
"text": [
106-
"../data/test2/ 2image_*.tif (1+2),(2+3)\n",
107-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_00.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_01.tif\n",
108-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_01.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_10.tif\n",
109-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_10.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_11.tif\n",
110-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_11.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_20.tif\n",
111-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_20.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_21.tif\n",
112-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_21.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_30.tif\n",
113-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_30.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_31.tif\n",
114-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_31.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_40.tif\n",
115-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_40.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_41.tif\n",
116-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_41.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_50.tif\n",
117-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_50.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_51.tif\n"
108+
"../data/test2 2image_*.tif (1+2),(2+3)\n",
109+
"Pair: ../data/test2/2image_00.tif-../data/test2/2image_01.tif\n",
110+
"Pair: ../data/test2/2image_01.tif-../data/test2/2image_10.tif\n",
111+
"Pair: ../data/test2/2image_10.tif-../data/test2/2image_11.tif\n",
112+
"Pair: ../data/test2/2image_11.tif-../data/test2/2image_20.tif\n",
113+
"Pair: ../data/test2/2image_20.tif-../data/test2/2image_21.tif\n",
114+
"Pair: ../data/test2/2image_21.tif-../data/test2/2image_30.tif\n",
115+
"Pair: ../data/test2/2image_30.tif-../data/test2/2image_31.tif\n",
116+
"Pair: ../data/test2/2image_31.tif-../data/test2/2image_40.tif\n",
117+
"Pair: ../data/test2/2image_40.tif-../data/test2/2image_41.tif\n",
118+
"Pair: ../data/test2/2image_41.tif-../data/test2/2image_50.tif\n",
119+
"Pair: ../data/test2/2image_50.tif-../data/test2/2image_51.tif\n"
118120
]
119121
}
120122
],
@@ -131,24 +133,26 @@
131133
},
132134
{
133135
"cell_type": "code",
134-
"execution_count": 22,
135-
"metadata": {},
136+
"execution_count": 6,
137+
"metadata": {
138+
"tags": []
139+
},
136140
"outputs": [
137141
{
138142
"name": "stdout",
139143
"output_type": "stream",
140144
"text": [
141-
"../data/test2/ 2image_*.tif (1+3),(2+4)\n",
142-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_00.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_10.tif\n",
143-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_01.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_11.tif\n",
144-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_10.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_20.tif\n",
145-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_11.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_21.tif\n",
146-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_20.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_30.tif\n",
147-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_21.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_31.tif\n",
148-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_30.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_40.tif\n",
149-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_31.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_41.tif\n",
150-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_40.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_50.tif\n",
151-
"Pair: c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_41.tif-c:\\Users\\alex\\repos\\openpiv-python\\openpiv\\data\\test2\\2image_51.tif\n"
145+
"../data/test2 2image_*.tif (1+3),(2+4)\n",
146+
"Pair: ../data/test2/2image_00.tif-../data/test2/2image_10.tif\n",
147+
"Pair: ../data/test2/2image_01.tif-../data/test2/2image_11.tif\n",
148+
"Pair: ../data/test2/2image_10.tif-../data/test2/2image_20.tif\n",
149+
"Pair: ../data/test2/2image_11.tif-../data/test2/2image_21.tif\n",
150+
"Pair: ../data/test2/2image_20.tif-../data/test2/2image_30.tif\n",
151+
"Pair: ../data/test2/2image_21.tif-../data/test2/2image_31.tif\n",
152+
"Pair: ../data/test2/2image_30.tif-../data/test2/2image_40.tif\n",
153+
"Pair: ../data/test2/2image_31.tif-../data/test2/2image_41.tif\n",
154+
"Pair: ../data/test2/2image_40.tif-../data/test2/2image_50.tif\n",
155+
"Pair: ../data/test2/2image_41.tif-../data/test2/2image_51.tif\n"
152156
]
153157
}
154158
],
@@ -162,11 +166,93 @@
162166
"for (a,b) in zip(multi.files_a, multi.files_b):\n",
163167
" print(f\"Pair: {a}-{b}\")"
164168
]
169+
},
170+
{
171+
"cell_type": "code",
172+
"execution_count": 7,
173+
"metadata": {
174+
"tags": []
175+
},
176+
"outputs": [
177+
{
178+
"name": "stdout",
179+
"output_type": "stream",
180+
"text": [
181+
"../data/test5 Pattern*_A.tif Pattern*_B.tif\n",
182+
"Number of files is 10\n",
183+
"Pair: ../data/test5/Pattern_1_A.tif-../data/test5/Pattern_1_B.tif\n",
184+
"Pair: ../data/test5/Pattern_2_A.tif-../data/test5/Pattern_2_B.tif\n",
185+
"Pair: ../data/test5/Pattern_3_A.tif-../data/test5/Pattern_3_B.tif\n",
186+
"Pair: ../data/test5/Pattern_4_A.tif-../data/test5/Pattern_4_B.tif\n",
187+
"Pair: ../data/test5/Pattern_5_A.tif-../data/test5/Pattern_5_B.tif\n",
188+
"Pair: ../data/test5/Pattern_6_A.tif-../data/test5/Pattern_6_B.tif\n",
189+
"Pair: ../data/test5/Pattern_7_A.tif-../data/test5/Pattern_7_B.tif\n",
190+
"Pair: ../data/test5/Pattern_8_A.tif-../data/test5/Pattern_8_B.tif\n",
191+
"Pair: ../data/test5/Pattern_9_A.tif-../data/test5/Pattern_9_B.tif\n",
192+
"Pair: ../data/test5/Pattern_10_A.tif-../data/test5/Pattern_10_B.tif\n"
193+
]
194+
}
195+
],
196+
"source": [
197+
"settings = PIVSettings()\n",
198+
"settings.filepath_images = pathlib.Path('../data/test5')\n",
199+
"settings.frame_pattern_a = 'Pattern*_A.tif'\n",
200+
"settings.frame_pattern_b = 'Pattern*_B.tif'\n",
201+
"print(settings.filepath_images,settings.frame_pattern_a, settings.frame_pattern_b)\n",
202+
"\n",
203+
"multi = Multiprocesser(settings.filepath_images, settings.frame_pattern_a, settings.frame_pattern_b)\n",
204+
"print(f'Number of files is {multi.n_files}')\n",
205+
"\n",
206+
"for (a,b) in zip(multi.files_a, multi.files_b):\n",
207+
" print(f\"Pair: {a}-{b}\")"
208+
]
209+
},
210+
{
211+
"cell_type": "code",
212+
"execution_count": 8,
213+
"metadata": {
214+
"tags": []
215+
},
216+
"outputs": [
217+
{
218+
"name": "stdout",
219+
"output_type": "stream",
220+
"text": [
221+
"../data/test6 Pattern_*_A.tif Pattern_*_B.tif\n",
222+
"Number of files is 5\n",
223+
"Pair: ../data/test6/Pattern_0001_A.tif-../data/test6/Pattern_1001_B.tif\n",
224+
"Pair: ../data/test6/Pattern_0002_A.tif-../data/test6/Pattern_1002_B.tif\n",
225+
"Pair: ../data/test6/Pattern_0003_A.tif-../data/test6/Pattern_1003_B.tif\n",
226+
"Pair: ../data/test6/Pattern_0004_A.tif-../data/test6/Pattern_1004_B.tif\n",
227+
"Pair: ../data/test6/Pattern_0005_A.tif-../data/test6/Pattern_1005_B.tif\n"
228+
]
229+
}
230+
],
231+
"source": [
232+
"settings = PIVSettings()\n",
233+
"settings.filepath_images = pathlib.Path('../data/test6')\n",
234+
"settings.frame_pattern_a = 'Pattern_*_A.tif'\n",
235+
"settings.frame_pattern_b = 'Pattern_*_B.tif'\n",
236+
"print(settings.filepath_images,settings.frame_pattern_a, settings.frame_pattern_b)\n",
237+
"\n",
238+
"multi = Multiprocesser(settings.filepath_images, settings.frame_pattern_a, settings.frame_pattern_b)\n",
239+
"print(f'Number of files is {multi.n_files}')\n",
240+
"\n",
241+
"for (a,b) in zip(multi.files_a, multi.files_b):\n",
242+
" print(f\"Pair: {a}-{b}\")"
243+
]
244+
},
245+
{
246+
"cell_type": "code",
247+
"execution_count": null,
248+
"metadata": {},
249+
"outputs": [],
250+
"source": []
165251
}
166252
],
167253
"metadata": {
168254
"kernelspec": {
169-
"display_name": "Python 3.9.13 ('openpiv')",
255+
"display_name": "Python 3 (ipykernel)",
170256
"language": "python",
171257
"name": "python3"
172258
},
@@ -180,7 +266,7 @@
180266
"name": "python",
181267
"nbconvert_exporter": "python",
182268
"pygments_lexer": "ipython3",
183-
"version": "3.9.13"
269+
"version": "3.11.0"
184270
},
185271
"vscode": {
186272
"interpreter": {

openpiv/tools.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@ def __init__(self,
560560
self.files_b = self.files_a[1::2]
561561
self.files_a = self.files_a[0::2]
562562
else:
563-
self.files_b = sorted(data_dir.glob(pattern_b))
563+
self.files_b = natural_sort(list(data_dir.glob(pattern_b)))
564564

565565
# number of images
566566
self.n_files = len(self.files_a)

0 commit comments

Comments
 (0)