├── .gitignore
├── LICENSE
├── README.md
├── docs
└── images
│ ├── Pypylon_grey_RZ.pdf
│ ├── Pypylon_grey_RZ.png
│ ├── Pypylon_grey_RZ.svg
│ └── Pypylon_grey_RZ_400px.png
├── notebooks
├── Ace2_USB_hdr_exposure_bracketing_using_sequencer.ipynb
├── USB_hardware_trigger_and_chunks.ipynb
├── USB_hdr_exposure_bracketing_using_sequencer.ipynb
├── USB_linescan_performance_demo_opencv.ipynb
├── deviceenumeration_and_configuration.ipynb
├── grabstrategies.ipynb
└── multicamera_handling.ipynb
├── requirements.txt
└── samples
└── USB_linescan_performance_demo_opencv.py
/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore python stuff
2 | __pycache__
3 | *.pyc
4 | .ipynb_checkpoints/
5 |
6 | # Ignore .idea folder
7 | /.idea/
8 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (C) 2017-2021 Basler AG
2 | Redistribution and use in source and binary forms, with or without modification,
3 | are permitted provided that the following conditions are met:
4 | 1. Redistributions of source code must retain the above copyright notice,
5 | this list of conditions and the following disclaimer.
6 | 2. Redistributions in binary form must reproduce the above copyright notice,
7 | this list of conditions and the following disclaimer in the documentation
8 | and/or other materials provided with the distribution.
9 | 3. Neither the name of the copyright holder nor the names of its contributors
10 | may be used to endorse or promote products derived from this software
11 | without specific prior written permission.
12 |
13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
14 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
16 | IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
17 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
18 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
20 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
21 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
22 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | Sample applications and jupyter notebooks using the official python wrapper for the Basler pylon Camera Software Suite.
4 |
5 | This is a companion repository to [pypylon](https://github.com/basler/pypylon)
6 |
7 | **Please Note:**
8 | This project is offered with no technical support by Basler AG.
9 | You are welcome to post any questions or issues on [GitHub](https://github.com/basler/pypylon-samples) or on [ImagingHub](https://www.imaginghub.com).
10 |
11 | # Overview
12 |
13 | * Some of the content was part of the Basler webinar about pypylon. You can watch this to get more in depth information about pylon SDK and pypylon.
14 | Please check for the recording at [Basler PyPylon Webinar](https://www.baslerweb.com/en/learning/pypylon/)
15 | * As the feature names of basler cameras differ slightly between e.g. Basler ace USB and Basler ace GEV, it is noted at the samples or notebooks for which camera family the sample applies.
16 | * The python requirements to run the jupyter notebooks and samples are listed in [requirements.txt](requirements.txt)
17 |
18 |
19 | ## Samples
20 |
21 | 1. Low overhead image capturing in a virtual line scan setup
22 | [USB_linescan_performance_demo_opencv](samples/USB_linescan_performance_demo_opencv.py)
23 |
24 |
25 | ## Notebooks
26 |
27 | 1. Device enumeration and configuration basics
28 | [deviceenumeration_and_configuration](notebooks/deviceenumeration_and_configuration.ipynb)
29 |
30 | 2. Demonstration of different grab strategies
31 | [grabstrategies](notebooks/grabstrategies.ipynb)
32 |
33 | 3. How to handle multicamera setups in pypylon
34 | [multicamera](notebooks/multicamera_handling.ipynb)
35 |
36 | 4. Using hardware trigger and access image chunks ( USB )
37 | [hw_trigger_and_chunks](notebooks/USB_hardware_trigger_and_chunks.ipynb)
38 |
39 | 5. Low overhead image capturing in a virtual line scan setup and display in notebook ( USB )
40 | [USB_linescan_performance_demo_opencv_notebook](notebooks/USB_linescan_performance_demo_opencv.ipynb)
41 |
42 | 6. Exposure bracketing using the sequencer feature of ace devices ( USB)
43 | [USB_HDR_exposure_sequencer](notebooks/USB_hdr_exposure_bracketing_using_sequencer.ipynb)
44 |
45 | 7. Exposure bracketing using the sequencer feature of ace2/boost-R devices ( USB)
46 | [USB_Ace2_BoostR_HDR_exposure_sequencer](notebooks/Ace2_USB_hdr_exposure_bracketing_using_sequencer.ipynb)
47 |
48 |
49 | # Development
50 |
51 | Pull requests to pypylon-samples are very welcome.
52 | e.g. generic samples that demonstrate interaction with GUI toolkits, as we typically only use Qt.
53 |
54 | # Known Issues
55 | * info table missing that clearly identifies which samples work for which camera model
56 |
--------------------------------------------------------------------------------
/docs/images/Pypylon_grey_RZ.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/basler/pypylon-samples/db7fbf00fa8e0cea40ca668081ec8d9d49ee7962/docs/images/Pypylon_grey_RZ.pdf
--------------------------------------------------------------------------------
/docs/images/Pypylon_grey_RZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/basler/pypylon-samples/db7fbf00fa8e0cea40ca668081ec8d9d49ee7962/docs/images/Pypylon_grey_RZ.png
--------------------------------------------------------------------------------
/docs/images/Pypylon_grey_RZ.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
--------------------------------------------------------------------------------
/docs/images/Pypylon_grey_RZ_400px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/basler/pypylon-samples/db7fbf00fa8e0cea40ca668081ec8d9d49ee7962/docs/images/Pypylon_grey_RZ_400px.png
--------------------------------------------------------------------------------
/notebooks/Ace2_USB_hdr_exposure_bracketing_using_sequencer.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Exposure bracketing using the sequencer feature of USB3 ace2devices\n",
8 | "\n",
9 | "Documentation for sequencer feature on Ace2 and Boost-R is in https://docs.baslerweb.com/sequencer-(ace-2-and-boost-r)"
10 | ]
11 | },
12 | {
13 | "cell_type": "code",
14 | "execution_count": 1,
15 | "metadata": {},
16 | "outputs": [],
17 | "source": [
18 | "import pypylon.pylon as py\n",
19 | "import numpy as np"
20 | ]
21 | },
22 | {
23 | "cell_type": "code",
24 | "execution_count": 2,
25 | "metadata": {},
26 | "outputs": [],
27 | "source": [
28 | "# open the first USB device\n",
29 | "info = py.DeviceInfo()\n",
30 | "info.SetDeviceClass(\"BaslerUsb\")\n",
31 | "cam = py.InstantCamera(py.TlFactory.GetInstance().CreateFirstDevice(info))"
32 | ]
33 | },
34 | {
35 | "cell_type": "code",
36 | "execution_count": 3,
37 | "metadata": {},
38 | "outputs": [],
39 | "source": [
40 | "# this code only works for ace USB\n",
41 | "if not cam.GetDeviceInfo().GetModelName().startswith(\"a2A\"):\n",
42 | " print(\"_This_ sequencer configuration only works to basler ace2 USB\")\n",
43 | " "
44 | ]
45 | },
46 | {
47 | "cell_type": "code",
48 | "execution_count": 4,
49 | "metadata": {},
50 | "outputs": [],
51 | "source": [
52 | "# open device\n",
53 | "cam.Open()"
54 | ]
55 | },
56 | {
57 | "cell_type": "markdown",
58 | "metadata": {},
59 | "source": [
60 | "## setup camera.\n",
61 | "sequencer mode is not running if the auto-functions are active"
62 | ]
63 | },
64 | {
65 | "cell_type": "code",
66 | "execution_count": 5,
67 | "metadata": {},
68 | "outputs": [],
69 | "source": [
70 | "# reset to known state\n",
71 | "cam.SequencerMode = \"Off\"\n",
72 | "cam.SequencerConfigurationMode = \"Off\"\n",
73 | "cam.UserSetSelector = \"Default\"\n",
74 | "cam.UserSetLoad.Execute()"
75 | ]
76 | },
77 | {
78 | "cell_type": "code",
79 | "execution_count": 6,
80 | "metadata": {},
81 | "outputs": [],
82 | "source": [
83 | "exp_0 = 100\n",
84 | "exp_1 = 200\n",
85 | "exp_2 = 300\n",
86 | "exp_3 = 400"
87 | ]
88 | },
89 | {
90 | "cell_type": "markdown",
91 | "metadata": {},
92 | "source": [
93 | "### activate chunks [ embedded data ]\n",
94 | "This allows to read the exposuretime an image has been taken with from the image data"
95 | ]
96 | },
97 | {
98 | "cell_type": "code",
99 | "execution_count": 7,
100 | "metadata": {},
101 | "outputs": [],
102 | "source": [
103 | "# enable camera chunk mode\n",
104 | "cam.ChunkModeActive = True\n",
105 | "# enable exposuretime chunk\n",
106 | "cam.ChunkSelector = \"ExposureTime\"\n",
107 | "cam.ChunkEnable = True\n",
108 | "# enable sequencer set info\n",
109 | "cam.ChunkSelector = \"SequencerSetActive\"\n",
110 | "cam.ChunkEnable = True"
111 | ]
112 | },
113 | {
114 | "cell_type": "markdown",
115 | "metadata": {},
116 | "source": [
117 | "### sequencer setup\n",
118 | "\n",
119 | "The configuration in this example will switch to the next sequencer set for each image\n",
120 | "\n",
121 | "* exp_0\n",
122 | "* exp_1\n",
123 | "* exp_2\n",
124 | "* exp_3\n",
125 | "* exp_0\n",
126 | "* exp_1\n",
127 | "* ...\n",
128 | " "
129 | ]
130 | },
131 | {
132 | "cell_type": "code",
133 | "execution_count": 8,
134 | "metadata": {},
135 | "outputs": [],
136 | "source": [
137 | "cam.SequencerMode = \"Off\"\n",
138 | "cam.SequencerConfigurationMode = \"On\""
139 | ]
140 | },
141 | {
142 | "cell_type": "markdown",
143 | "metadata": {},
144 | "source": [
145 | "### setup set 0"
146 | ]
147 | },
148 | {
149 | "cell_type": "code",
150 | "execution_count": 9,
151 | "metadata": {},
152 | "outputs": [],
153 | "source": [
154 | "cam.ExposureTime = exp_0\n",
155 | "\n",
156 | "# switch to the next set after image taken\n",
157 | "cam.SequencerPathSelector = 0\n",
158 | "cam.SequencerSetNext = 1\n",
159 | "cam.SequencerTriggerSource = \"ExposureStart\"\n",
160 | "\n",
161 | "cam.SequencerSetSelector = 0\n",
162 | "cam.SequencerSetSave.Execute();"
163 | ]
164 | },
165 | {
166 | "cell_type": "markdown",
167 | "metadata": {},
168 | "source": [
169 | "### setup set 1"
170 | ]
171 | },
172 | {
173 | "cell_type": "code",
174 | "execution_count": 10,
175 | "metadata": {},
176 | "outputs": [],
177 | "source": [
178 | "cam.ExposureTime = exp_1\n",
179 | "\n",
180 | "# switch to the next set after image taken\n",
181 | "cam.SequencerPathSelector = 0\n",
182 | "cam.SequencerSetNext = 2\n",
183 | "cam.SequencerTriggerSource = \"ExposureStart\"\n",
184 | "\n",
185 | "cam.SequencerSetSelector = 1\n",
186 | "cam.SequencerSetSave.Execute();"
187 | ]
188 | },
189 | {
190 | "cell_type": "markdown",
191 | "metadata": {},
192 | "source": [
193 | "### setup set 2"
194 | ]
195 | },
196 | {
197 | "cell_type": "code",
198 | "execution_count": 11,
199 | "metadata": {},
200 | "outputs": [],
201 | "source": [
202 | "cam.ExposureTime = exp_2\n",
203 | "\n",
204 | "# switch to the next set after image taken\n",
205 | "cam.SequencerPathSelector = 0\n",
206 | "cam.SequencerSetNext = 3\n",
207 | "cam.SequencerTriggerSource = \"ExposureStart\"\n",
208 | "\n",
209 | "cam.SequencerSetSelector = 2\n",
210 | "cam.SequencerSetSave.Execute();"
211 | ]
212 | },
213 | {
214 | "cell_type": "markdown",
215 | "metadata": {},
216 | "source": [
217 | "### setup set 3"
218 | ]
219 | },
220 | {
221 | "cell_type": "code",
222 | "execution_count": 12,
223 | "metadata": {},
224 | "outputs": [],
225 | "source": [
226 | "cam.ExposureTime = exp_3\n",
227 | "\n",
228 | "# switch to the _first_ set after image taken\n",
229 | "cam.SequencerPathSelector = 0\n",
230 | "cam.SequencerSetNext = 0\n",
231 | "cam.SequencerTriggerSource = \"ExposureStart\"\n",
232 | "\n",
233 | "cam.SequencerSetSelector = 3\n",
234 | "cam.SequencerSetSave.Execute();"
235 | ]
236 | },
237 | {
238 | "cell_type": "markdown",
239 | "metadata": {},
240 | "source": [
241 | "### Dump Configuration"
242 | ]
243 | },
244 | {
245 | "cell_type": "code",
246 | "execution_count": 13,
247 | "metadata": {},
248 | "outputs": [
249 | {
250 | "name": "stdout",
251 | "output_type": "stream",
252 | "text": [
253 | "set 0: -> 1 ( ExposureStart )\n",
254 | "Exposure time 100.0\n",
255 | "set 1: -> 2 ( ExposureStart )\n",
256 | "Exposure time 200.0\n",
257 | "set 2: -> 3 ( ExposureStart )\n",
258 | "Exposure time 300.0\n",
259 | "set 3: -> 0 ( ExposureStart )\n",
260 | "Exposure time 400.0\n"
261 | ]
262 | }
263 | ],
264 | "source": [
265 | "for seq_set in range(cam.SequencerSetSelector.Max + 1):\n",
266 | " cam.SequencerSetSelector = seq_set\n",
267 | " cam.SequencerSetLoad.Execute()\n",
268 | " if cam.SequencerTriggerSource.Value == \"Off\":\n",
269 | " continue\n",
270 | " cam.SequencerPathSelector = 0\n",
271 | " next_set = cam.SequencerSetNext.Value\n",
272 | " print(f\"set {seq_set}: -> {next_set} ( {cam.SequencerTriggerSource.Value} )\")\n",
273 | " print(\"Exposure time\", cam.ExposureTime.Value)\n",
274 | " \n",
275 | " "
276 | ]
277 | },
278 | {
279 | "cell_type": "markdown",
280 | "metadata": {},
281 | "source": [
282 | "### exit configuration mode"
283 | ]
284 | },
285 | {
286 | "cell_type": "code",
287 | "execution_count": 14,
288 | "metadata": {},
289 | "outputs": [],
290 | "source": [
291 | "cam.SequencerConfigurationMode = \"Off\""
292 | ]
293 | },
294 | {
295 | "cell_type": "markdown",
296 | "metadata": {},
297 | "source": [
298 | "### activate sequencer mode"
299 | ]
300 | },
301 | {
302 | "cell_type": "code",
303 | "execution_count": 15,
304 | "metadata": {},
305 | "outputs": [],
306 | "source": [
307 | "# this will set the first sequencer set to set _0_ as side effect\n",
308 | "cam.SequencerMode = \"On\""
309 | ]
310 | },
311 | {
312 | "cell_type": "markdown",
313 | "metadata": {},
314 | "source": [
315 | "### test capture with enabled sequencer mode"
316 | ]
317 | },
318 | {
319 | "cell_type": "code",
320 | "execution_count": 16,
321 | "metadata": {},
322 | "outputs": [
323 | {
324 | "name": "stdout",
325 | "output_type": "stream",
326 | "text": [
327 | "0\t0\t 100\t 0.00\n",
328 | "1\t1\t 200\t 0.00\n",
329 | "2\t2\t 300\t 0.00\n",
330 | "3\t3\t 400\t 0.00\n",
331 | "4\t0\t 100\t 0.00\n",
332 | "5\t1\t 200\t 0.00\n",
333 | "6\t2\t 300\t 0.00\n",
334 | "7\t3\t 400\t 0.00\n",
335 | "8\t0\t 100\t 0.00\n",
336 | "9\t1\t 200\t 0.00\n",
337 | "10\t2\t 300\t 0.00\n",
338 | "11\t3\t 400\t 0.00\n"
339 | ]
340 | }
341 | ],
342 | "source": [
343 | "# grab 4 sets of 3 images\n",
344 | "cam.StartGrabbingMax( 4 * 3)\n",
345 | "\n",
346 | "while cam.IsGrabbing():\n",
347 | " with cam.RetrieveResult(1000) as res:\n",
348 | " exp_time_chunk = res.ChunkDataNodeMap.ChunkExposureTime.Value\n",
349 | " sequence_id_chunk = res.ChunkDataNodeMap.ChunkSequencerSetActive.Value\n",
350 | " print(\"%d\\t%d\\t%6.0f\\t%6.2f\" %(res.BlockID, sequence_id_chunk, exp_time_chunk, np.mean(res.Array)))\n",
351 | " # ... do something with the images\n",
352 | " \n",
353 | "cam.StopGrabbing()"
354 | ]
355 | },
356 | {
357 | "cell_type": "markdown",
358 | "metadata": {},
359 | "source": [
360 | "### Shutdown session after acquisition\n",
361 | "\n",
362 | "This is required to rerun the notebook"
363 | ]
364 | },
365 | {
366 | "cell_type": "code",
367 | "execution_count": 17,
368 | "metadata": {},
369 | "outputs": [],
370 | "source": [
371 | "cam.SequencerMode = \"Off\""
372 | ]
373 | },
374 | {
375 | "cell_type": "code",
376 | "execution_count": 18,
377 | "metadata": {},
378 | "outputs": [],
379 | "source": [
380 | "cam.Close()"
381 | ]
382 | }
383 | ],
384 | "metadata": {
385 | "kernelspec": {
386 | "display_name": "Python 3 (ipykernel)",
387 | "language": "python",
388 | "name": "python3"
389 | },
390 | "language_info": {
391 | "codemirror_mode": {
392 | "name": "ipython",
393 | "version": 3
394 | },
395 | "file_extension": ".py",
396 | "mimetype": "text/x-python",
397 | "name": "python",
398 | "nbconvert_exporter": "python",
399 | "pygments_lexer": "ipython3",
400 | "version": "3.11.5"
401 | }
402 | },
403 | "nbformat": 4,
404 | "nbformat_minor": 4
405 | }
406 |
--------------------------------------------------------------------------------
/notebooks/USB_hdr_exposure_bracketing_using_sequencer.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Exposure bracketing using the sequencer feature of USB3 ace devices"
8 | ]
9 | },
10 | {
11 | "cell_type": "code",
12 | "execution_count": 1,
13 | "metadata": {},
14 | "outputs": [],
15 | "source": [
16 | "import pypylon.pylon as py\n",
17 | "import numpy as np"
18 | ]
19 | },
20 | {
21 | "cell_type": "code",
22 | "execution_count": 2,
23 | "metadata": {},
24 | "outputs": [],
25 | "source": [
26 | "# open the first USB device\n",
27 | "info = py.DeviceInfo()\n",
28 | "info.SetDeviceClass(\"BaslerUsb\")\n",
29 | "cam = py.InstantCamera(py.TlFactory.GetInstance().CreateFirstDevice(info))"
30 | ]
31 | },
32 | {
33 | "cell_type": "code",
34 | "execution_count": 3,
35 | "metadata": {},
36 | "outputs": [],
37 | "source": [
38 | "# this code only works for ace USB\n",
39 | "if not cam.GetDeviceInfo().GetModelName().startswith(\"acA\"):\n",
40 | " print(\"_This_ sequencer configuration only works to basler ace USB\")\n",
41 | " "
42 | ]
43 | },
44 | {
45 | "cell_type": "code",
46 | "execution_count": 4,
47 | "metadata": {},
48 | "outputs": [],
49 | "source": [
50 | "# open device\n",
51 | "cam.Open()"
52 | ]
53 | },
54 | {
55 | "cell_type": "markdown",
56 | "metadata": {},
57 | "source": [
58 | "## setup camera.\n",
59 | "sequencer mode is not running if the auto-functions are active"
60 | ]
61 | },
62 | {
63 | "cell_type": "code",
64 | "execution_count": 5,
65 | "metadata": {},
66 | "outputs": [],
67 | "source": [
68 | "cam.UserSetSelector = \"Default\"\n",
69 | "cam.UserSetLoad.Execute()"
70 | ]
71 | },
72 | {
73 | "cell_type": "code",
74 | "execution_count": 6,
75 | "metadata": {},
76 | "outputs": [],
77 | "source": [
78 | "# mean exposure time 20ms\n",
79 | "exp_0 = 2000\n",
80 | "exp_1 = 20000\n",
81 | "exp_2 = 200000"
82 | ]
83 | },
84 | {
85 | "cell_type": "markdown",
86 | "metadata": {},
87 | "source": [
88 | "### activate chunks [ embedded data ]\n",
89 | "This allows to read the exposuretime an image has been taken with from the image data"
90 | ]
91 | },
92 | {
93 | "cell_type": "code",
94 | "execution_count": 7,
95 | "metadata": {},
96 | "outputs": [],
97 | "source": [
98 | "# enable camera chunk mode\n",
99 | "cam.ChunkModeActive = True\n",
100 | "# enable exposuretime chunk\n",
101 | "cam.ChunkSelector = \"ExposureTime\"\n",
102 | "cam.ChunkEnable = True"
103 | ]
104 | },
105 | {
106 | "cell_type": "markdown",
107 | "metadata": {},
108 | "source": [
109 | "### sequencer setup"
110 | ]
111 | },
112 | {
113 | "cell_type": "code",
114 | "execution_count": 8,
115 | "metadata": {},
116 | "outputs": [],
117 | "source": [
118 | "cam.SequencerMode = \"Off\"\n",
119 | "cam.SequencerConfigurationMode = \"On\""
120 | ]
121 | },
122 | {
123 | "cell_type": "markdown",
124 | "metadata": {},
125 | "source": [
126 | "### setup set 0"
127 | ]
128 | },
129 | {
130 | "cell_type": "code",
131 | "execution_count": 9,
132 | "metadata": {},
133 | "outputs": [],
134 | "source": [
135 | "cam.SequencerSetSelector = 0\n",
136 | "\n",
137 | "cam.ExposureTime = exp_0\n",
138 | "\n",
139 | "cam.SequencerSetSave.Execute();"
140 | ]
141 | },
142 | {
143 | "cell_type": "code",
144 | "execution_count": 10,
145 | "metadata": {},
146 | "outputs": [],
147 | "source": [
148 | "### setup set 1"
149 | ]
150 | },
151 | {
152 | "cell_type": "code",
153 | "execution_count": 11,
154 | "metadata": {},
155 | "outputs": [],
156 | "source": [
157 | "cam.SequencerSetSelector = 1\n",
158 | "\n",
159 | "cam.ExposureTime = exp_1\n",
160 | "\n",
161 | "cam.SequencerSetSave.Execute();"
162 | ]
163 | },
164 | {
165 | "cell_type": "code",
166 | "execution_count": 12,
167 | "metadata": {},
168 | "outputs": [],
169 | "source": [
170 | "### setup set 2"
171 | ]
172 | },
173 | {
174 | "cell_type": "code",
175 | "execution_count": 13,
176 | "metadata": {},
177 | "outputs": [],
178 | "source": [
179 | "cam.SequencerSetSelector = 2\n",
180 | "\n",
181 | "cam.ExposureTime = exp_2\n",
182 | "\n",
183 | "# select that we jump to set 0 after this set\n",
184 | "# path 1 is the _next_ path / path 0 would be _reset_ path\n",
185 | "cam.SequencerPathSelector = 1\n",
186 | "cam.SequencerSetNext = 0\n",
187 | "\n",
188 | "cam.SequencerSetSave.Execute();"
189 | ]
190 | },
191 | {
192 | "cell_type": "markdown",
193 | "metadata": {},
194 | "source": [
195 | "### enable sequencer"
196 | ]
197 | },
198 | {
199 | "cell_type": "code",
200 | "execution_count": 14,
201 | "metadata": {},
202 | "outputs": [],
203 | "source": [
204 | "cam.SequencerConfigurationMode = \"Off\"\n",
205 | "\n",
206 | "# this will set the first sequencer set to set _0_ as side effect\n",
207 | "cam.SequencerMode = \"On\""
208 | ]
209 | },
210 | {
211 | "cell_type": "markdown",
212 | "metadata": {},
213 | "source": [
214 | "### test capture with enabled sequencer mode"
215 | ]
216 | },
217 | {
218 | "cell_type": "code",
219 | "execution_count": 15,
220 | "metadata": {},
221 | "outputs": [
222 | {
223 | "name": "stdout",
224 | "output_type": "stream",
225 | "text": [
226 | "0\t 2000\t 17.95\n",
227 | "1\t 20000\t 77.26\n",
228 | "2\t200000\t201.53\n",
229 | "3\t 2000\t 17.94\n",
230 | "4\t 20000\t 77.25\n",
231 | "5\t200000\t201.57\n",
232 | "6\t 2000\t 17.96\n",
233 | "7\t 20000\t 77.28\n",
234 | "8\t200000\t201.56\n",
235 | "9\t 2000\t 17.96\n",
236 | "10\t 20000\t 77.29\n",
237 | "11\t200000\t201.55\n"
238 | ]
239 | }
240 | ],
241 | "source": [
242 | "# grab 4 sets of 3 images\n",
243 | "cam.StartGrabbingMax( 4 * 3)\n",
244 | "\n",
245 | "while cam.IsGrabbing():\n",
246 | " res = cam.RetrieveResult(1000)\n",
247 | " exp_time_chunk = res.ChunkDataNodeMap.ChunkExposureTime.Value\n",
248 | " print(\"%d\\t%6.0f\\t%6.2f\" %(res.BlockID, exp_time_chunk, np.mean(res.Array)))\n",
249 | " # ... do something with the images\n",
250 | " \n",
251 | " # return to buffer queue\n",
252 | " res.Release()\n",
253 | " \n",
254 | "cam.StopGrabbing()"
255 | ]
256 | },
257 | {
258 | "cell_type": "markdown",
259 | "metadata": {},
260 | "source": [
261 | "### Shutdown session after acquisition\n",
262 | "\n",
263 | "This is required to rerun the notebook"
264 | ]
265 | },
266 | {
267 | "cell_type": "code",
268 | "execution_count": 16,
269 | "metadata": {},
270 | "outputs": [],
271 | "source": [
272 | "cam.SequencerMode = \"Off\"\n",
273 | "cam.Close()"
274 | ]
275 | }
276 | ],
277 | "metadata": {
278 | "kernelspec": {
279 | "display_name": "Python 3",
280 | "language": "python",
281 | "name": "python3"
282 | },
283 | "language_info": {
284 | "codemirror_mode": {
285 | "name": "ipython",
286 | "version": 3
287 | },
288 | "file_extension": ".py",
289 | "mimetype": "text/x-python",
290 | "name": "python",
291 | "nbconvert_exporter": "python",
292 | "pygments_lexer": "ipython3",
293 | "version": "3.9.1"
294 | }
295 | },
296 | "nbformat": 4,
297 | "nbformat_minor": 4
298 | }
299 |
--------------------------------------------------------------------------------
/notebooks/deviceenumeration_and_configuration.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "id": "catholic-seventh",
6 | "metadata": {},
7 | "source": [
8 | "# Device Enumeration and Device Configuration"
9 | ]
10 | },
11 | {
12 | "cell_type": "code",
13 | "execution_count": 1,
14 | "id": "romance-dynamics",
15 | "metadata": {},
16 | "outputs": [],
17 | "source": [
18 | "# these four imports will provide most of the functionality required in \n",
19 | "# to start working with basler cameras\n",
20 | "# pypylon \n",
21 | "import pypylon.pylon as py\n",
22 | "# plotting for graphs and display of image\n",
23 | "import matplotlib.pyplot as plt\n",
24 | "# linear algebra and basic math on image matrices\n",
25 | "import numpy as np\n",
26 | "# OpenCV for image processing functions\n",
27 | "import cv2"
28 | ]
29 | },
30 | {
31 | "cell_type": "code",
32 | "execution_count": 2,
33 | "id": "early-seven",
34 | "metadata": {},
35 | "outputs": [],
36 | "source": [
37 | "# get instance of the pylon TransportLayerFactory\n",
38 | "tlf = py.TlFactory.GetInstance()"
39 | ]
40 | },
41 | {
42 | "cell_type": "code",
43 | "execution_count": 3,
44 | "id": "played-specification",
45 | "metadata": {},
46 | "outputs": [
47 | {
48 | "data": {
49 | "text/plain": [
50 | " >"
51 | ]
52 | },
53 | "execution_count": 3,
54 | "metadata": {},
55 | "output_type": "execute_result"
56 | }
57 | ],
58 | "source": [
59 | "# all pypylon objects are instances of SWIG wrappers around the underlying pylon c++ types\n",
60 | "tlf"
61 | ]
62 | },
63 | {
64 | "cell_type": "code",
65 | "execution_count": 4,
66 | "id": "honest-banana",
67 | "metadata": {},
68 | "outputs": [],
69 | "source": [
70 | "devices = tlf.EnumerateDevices()"
71 | ]
72 | },
73 | {
74 | "cell_type": "code",
75 | "execution_count": 5,
76 | "id": "accepting-minute",
77 | "metadata": {},
78 | "outputs": [
79 | {
80 | "data": {
81 | "text/plain": [
82 | "( >,\n",
83 | " >)"
84 | ]
85 | },
86 | "execution_count": 5,
87 | "metadata": {},
88 | "output_type": "execute_result"
89 | }
90 | ],
91 | "source": [
92 | "# list of pylon Device \n",
93 | "devices"
94 | ]
95 | },
96 | {
97 | "cell_type": "code",
98 | "execution_count": 6,
99 | "id": "excited-theater",
100 | "metadata": {},
101 | "outputs": [
102 | {
103 | "name": "stdout",
104 | "output_type": "stream",
105 | "text": [
106 | "acA1920-155uc 21656705\n",
107 | "acA2500-20gc 21838888\n"
108 | ]
109 | }
110 | ],
111 | "source": [
112 | "for d in devices:\n",
113 | " print(d.GetModelName(), d.GetSerialNumber())"
114 | ]
115 | },
116 | {
117 | "cell_type": "code",
118 | "execution_count": 7,
119 | "id": "frank-observation",
120 | "metadata": {},
121 | "outputs": [],
122 | "source": [
123 | "# the active camera will be an InstantCamera based on a device\n",
124 | "# created with the corresponding DeviceInfo\n",
125 | "# this can be from a list of previously enumerated \n",
126 | "cam = py.InstantCamera(tlf.CreateDevice(devices[0]))"
127 | ]
128 | },
129 | {
130 | "cell_type": "code",
131 | "execution_count": 8,
132 | "id": "understanding-joining",
133 | "metadata": {},
134 | "outputs": [],
135 | "source": [
136 | "# or with the helper method to get the FirstDevice from an enumeration\n",
137 | "cam = py.InstantCamera(tlf.CreateFirstDevice())"
138 | ]
139 | },
140 | {
141 | "cell_type": "code",
142 | "execution_count": 9,
143 | "id": "serious-profile",
144 | "metadata": {},
145 | "outputs": [
146 | {
147 | "data": {
148 | "text/plain": [
149 | " >"
150 | ]
151 | },
152 | "execution_count": 9,
153 | "metadata": {},
154 | "output_type": "execute_result"
155 | }
156 | ],
157 | "source": [
158 | "cam"
159 | ]
160 | },
161 | {
162 | "cell_type": "code",
163 | "execution_count": 10,
164 | "id": "killing-bulletin",
165 | "metadata": {},
166 | "outputs": [],
167 | "source": [
168 | "# the features of the device are only accessable after Opening the device\n",
169 | "cam.Open()"
170 | ]
171 | },
172 | {
173 | "cell_type": "markdown",
174 | "id": "stylish-terry",
175 | "metadata": {},
176 | "source": [
177 | "# Features and their available attributes and functions\n",
178 | "\n",
179 | "pylon / genicam features are of the types:\n",
180 | "\n",
181 | "* Float\n",
182 | "* Integer\n",
183 | "* Bool\n",
184 | "* Command\n",
185 | "* String\n",
186 | "\n",
187 | "If there are multiple instances of a features e.g. TriggerSource for each possible Trigger on a device e.g. FrameStart/LineStart/FrameBurst ....:\n",
188 | "* Selectors are used to first select the instance e.g. FrameStart and then write to the feature\n"
189 | ]
190 | },
191 | {
192 | "cell_type": "code",
193 | "execution_count": 11,
194 | "id": "individual-redhead",
195 | "metadata": {},
196 | "outputs": [
197 | {
198 | "data": {
199 | "text/plain": [
200 | " >"
201 | ]
202 | },
203 | "execution_count": 11,
204 | "metadata": {},
205 | "output_type": "execute_result"
206 | }
207 | ],
208 | "source": [
209 | "# Float\n",
210 | "# the node\n",
211 | "cam.Gain"
212 | ]
213 | },
214 | {
215 | "cell_type": "code",
216 | "execution_count": 12,
217 | "id": "olympic-absolute",
218 | "metadata": {},
219 | "outputs": [
220 | {
221 | "data": {
222 | "text/plain": [
223 | "0.0"
224 | ]
225 | },
226 | "execution_count": 12,
227 | "metadata": {},
228 | "output_type": "execute_result"
229 | }
230 | ],
231 | "source": [
232 | "# Float \n",
233 | "# the value\n",
234 | "cam.Gain.GetValue()"
235 | ]
236 | },
237 | {
238 | "cell_type": "code",
239 | "execution_count": 13,
240 | "id": "effective-bangladesh",
241 | "metadata": {},
242 | "outputs": [
243 | {
244 | "data": {
245 | "text/plain": [
246 | "0.0"
247 | ]
248 | },
249 | "execution_count": 13,
250 | "metadata": {},
251 | "output_type": "execute_result"
252 | }
253 | ],
254 | "source": [
255 | "# abbrev get value\n",
256 | "cam.Gain.Value"
257 | ]
258 | },
259 | {
260 | "cell_type": "code",
261 | "execution_count": 14,
262 | "id": "dramatic-domestic",
263 | "metadata": {},
264 | "outputs": [],
265 | "source": [
266 | "# set the value\n",
267 | "cam.Gain.SetValue(12.1)"
268 | ]
269 | },
270 | {
271 | "cell_type": "code",
272 | "execution_count": 15,
273 | "id": "french-bacon",
274 | "metadata": {},
275 | "outputs": [],
276 | "source": [
277 | "# abbrev set value\n",
278 | "cam.Gain = 12.1"
279 | ]
280 | },
281 | {
282 | "cell_type": "code",
283 | "execution_count": 16,
284 | "id": "driving-break",
285 | "metadata": {},
286 | "outputs": [
287 | {
288 | "data": {
289 | "text/plain": [
290 | "12.1"
291 | ]
292 | },
293 | "execution_count": 16,
294 | "metadata": {},
295 | "output_type": "execute_result"
296 | }
297 | ],
298 | "source": [
299 | "# the value has been updated\n",
300 | "cam.Gain.Value"
301 | ]
302 | },
303 | {
304 | "cell_type": "code",
305 | "execution_count": 17,
306 | "id": "naked-variable",
307 | "metadata": {},
308 | "outputs": [],
309 | "source": [
310 | "cam.Gain = 20"
311 | ]
312 | },
313 | {
314 | "cell_type": "code",
315 | "execution_count": 18,
316 | "id": "changing-priest",
317 | "metadata": {},
318 | "outputs": [
319 | {
320 | "data": {
321 | "text/plain": [
322 | "('FrameBurstStart', 'FrameStart')"
323 | ]
324 | },
325 | "execution_count": 18,
326 | "metadata": {},
327 | "output_type": "execute_result"
328 | }
329 | ],
330 | "source": [
331 | "# Enumeration ... all values:\n",
332 | "cam.TriggerSelector.Symbolics"
333 | ]
334 | },
335 | {
336 | "cell_type": "code",
337 | "execution_count": 19,
338 | "id": "celtic-enlargement",
339 | "metadata": {},
340 | "outputs": [],
341 | "source": [
342 | "# set the value\n",
343 | "cam.TriggerSelector = \"FrameStart\""
344 | ]
345 | },
346 | {
347 | "cell_type": "code",
348 | "execution_count": 20,
349 | "id": "recent-violence",
350 | "metadata": {},
351 | "outputs": [],
352 | "source": [
353 | "# selector handling:\n",
354 | "# first set selector than the dependent value:\n",
355 | "cam.TriggerSelector = \"FrameStart\"\n",
356 | "cam.TriggerSource = \"Line1\""
357 | ]
358 | },
359 | {
360 | "cell_type": "code",
361 | "execution_count": 21,
362 | "id": "marked-roads",
363 | "metadata": {},
364 | "outputs": [],
365 | "source": [
366 | "# reset to power on defaults\n",
367 | "cam.UserSetSelector = cam.UserSetDefault.Value\n",
368 | "cam.UserSetLoad.Execute()"
369 | ]
370 | },
371 | {
372 | "cell_type": "code",
373 | "execution_count": 22,
374 | "id": "adult-coffee",
375 | "metadata": {},
376 | "outputs": [
377 | {
378 | "data": {
379 | "text/plain": [
380 | "('Mono8', 'BayerRG8', 'BayerRG12', 'BayerRG12p', 'RGB8', 'BGR8', 'YCbCr422_8')"
381 | ]
382 | },
383 | "execution_count": 22,
384 | "metadata": {},
385 | "output_type": "execute_result"
386 | }
387 | ],
388 | "source": [
389 | "cam.PixelFormat.Symbolics"
390 | ]
391 | },
392 | {
393 | "cell_type": "code",
394 | "execution_count": 23,
395 | "id": "common-rings",
396 | "metadata": {},
397 | "outputs": [],
398 | "source": [
399 | "cam.PixelFormat = \"RGB8\"\n",
400 | "# like above, alternative is the long form\n",
401 | "cam.PixelFormat.SetValue(\"RGB8\")"
402 | ]
403 | },
404 | {
405 | "cell_type": "code",
406 | "execution_count": 24,
407 | "id": "floating-indianapolis",
408 | "metadata": {},
409 | "outputs": [],
410 | "source": [
411 | "# grab one image with a timeout of 1s\n",
412 | "# returns a GrabResult, which is the image plus metadata\n",
413 | "res = cam.GrabOne(1000)"
414 | ]
415 | },
416 | {
417 | "cell_type": "code",
418 | "execution_count": 25,
419 | "id": "mounted-academy",
420 | "metadata": {},
421 | "outputs": [
422 | {
423 | "data": {
424 | "text/plain": [
425 | "bytearray(b'\\x8f\\x9b\\x9a\\x8f\\x9b\\x9a\\x8f\\x9c\\x9a\\x8f\\x9e\\x98\\x91\\x9d\\x99\\x92\\x9c\\x99\\x90\\x9d\\x98\\x90\\x9e\\x99\\x90\\x9f\\x99\\x90\\x9f\\x9a\\x95\\x9e\\x9a\\x94\\x9f\\x9d\\x93\\x9f\\x9d\\x93\\x9f\\x9e\\x92\\xa0\\x9d\\x91\\xa1\\x9d\\x91\\xa1\\x9e\\x91\\xa3\\x97\\x94\\xa3\\x97\\x94\\xa0\\xa0\\x97\\xa1\\xa0\\x97\\xa2\\x9e\\x93\\xa5\\x9c\\x93\\xa5\\xa2\\x95\\xa4\\xa3\\x95\\xa4\\xa1\\x96\\xa3\\xa2\\x96\\xa2\\xa2\\x96\\xa3\\xa1\\x95\\xa4\\xa1\\x99\\xa5\\xa0\\x99\\xa6\\xa3\\x94\\xa8\\xa2\\x94')"
426 | ]
427 | },
428 | "execution_count": 25,
429 | "metadata": {},
430 | "output_type": "execute_result"
431 | }
432 | ],
433 | "source": [
434 | "# the raw memory of the image\n",
435 | "res.GetBuffer()[:100]"
436 | ]
437 | },
438 | {
439 | "cell_type": "markdown",
440 | "id": "packed-competition",
441 | "metadata": {},
442 | "source": [
443 | "# automatic conversion to ndarray with the Array call"
444 | ]
445 | },
446 | {
447 | "cell_type": "code",
448 | "execution_count": 26,
449 | "id": "satellite-current",
450 | "metadata": {},
451 | "outputs": [],
452 | "source": [
453 | "# full method call\n",
454 | "img = res.GetArray()\n",
455 | "# abbrev\n",
456 | "img = res.Array"
457 | ]
458 | },
459 | {
460 | "cell_type": "code",
461 | "execution_count": 27,
462 | "id": "apparent-execution",
463 | "metadata": {},
464 | "outputs": [
465 | {
466 | "data": {
467 | "text/plain": [
468 | "(1200, 1712, 3)"
469 | ]
470 | },
471 | "execution_count": 27,
472 | "metadata": {},
473 | "output_type": "execute_result"
474 | }
475 | ],
476 | "source": [
477 | "img.shape"
478 | ]
479 | },
480 | {
481 | "cell_type": "code",
482 | "execution_count": 28,
483 | "id": "joint-performer",
484 | "metadata": {},
485 | "outputs": [
486 | {
487 | "data": {
488 | "text/plain": [
489 | ""
490 | ]
491 | },
492 | "execution_count": 28,
493 | "metadata": {},
494 | "output_type": "execute_result"
495 | },
496 | {
497 | "data": {
498 | "image/png": "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\n",
499 | "text/plain": [
500 | ""
501 | ]
502 | },
503 | "metadata": {
504 | "needs_background": "light"
505 | },
506 | "output_type": "display_data"
507 | }
508 | ],
509 | "source": [
510 | "plt.imshow(img)"
511 | ]
512 | },
513 | {
514 | "cell_type": "code",
515 | "execution_count": 29,
516 | "id": "miniature-wages",
517 | "metadata": {},
518 | "outputs": [
519 | {
520 | "data": {
521 | "text/plain": [
522 | "[,\n",
523 | " ,\n",
524 | " ]"
525 | ]
526 | },
527 | "execution_count": 29,
528 | "metadata": {},
529 | "output_type": "execute_result"
530 | },
531 | {
532 | "data": {
533 | "image/png": "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\n",
534 | "text/plain": [
535 | ""
536 | ]
537 | },
538 | "metadata": {
539 | "needs_background": "light"
540 | },
541 | "output_type": "display_data"
542 | }
543 | ],
544 | "source": [
545 | "plt.plot(img[1000,:])"
546 | ]
547 | },
548 | {
549 | "cell_type": "code",
550 | "execution_count": 30,
551 | "id": "demonstrated-chase",
552 | "metadata": {},
553 | "outputs": [],
554 | "source": [
555 | "cam.Close()"
556 | ]
557 | },
558 | {
559 | "cell_type": "code",
560 | "execution_count": null,
561 | "id": "historic-member",
562 | "metadata": {},
563 | "outputs": [],
564 | "source": []
565 | }
566 | ],
567 | "metadata": {
568 | "kernelspec": {
569 | "display_name": "Python 3",
570 | "language": "python",
571 | "name": "python3"
572 | },
573 | "language_info": {
574 | "codemirror_mode": {
575 | "name": "ipython",
576 | "version": 3
577 | },
578 | "file_extension": ".py",
579 | "mimetype": "text/x-python",
580 | "name": "python",
581 | "nbconvert_exporter": "python",
582 | "pygments_lexer": "ipython3",
583 | "version": "3.8.7"
584 | }
585 | },
586 | "nbformat": 4,
587 | "nbformat_minor": 5
588 | }
589 |
--------------------------------------------------------------------------------
/notebooks/grabstrategies.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 1,
6 | "metadata": {
7 | "tags": []
8 | },
9 | "outputs": [],
10 | "source": [
11 | "import pypylon.pylon as py\n",
12 | "import numpy as np\n",
13 | "import matplotlib.pyplot as plt\n",
14 | "\n",
15 | "# handle exception trace for debugging \n",
16 | "# background loop\n",
17 | "import traceback\n",
18 | "\n",
19 | "import time\n",
20 | "import random"
21 | ]
22 | },
23 | {
24 | "cell_type": "code",
25 | "execution_count": 2,
26 | "metadata": {
27 | "jupyter": {
28 | "outputs_hidden": false
29 | }
30 | },
31 | "outputs": [],
32 | "source": [
33 | "cam = py.InstantCamera(py.TlFactory.GetInstance().CreateFirstDevice())\n",
34 | "cam.Open()\n",
35 | "\n",
36 | "# to get consistant results it is always good to start from \"power-on\" state\n",
37 | "cam.UserSetSelector = \"Default\"\n",
38 | "cam.UserSetLoad.Execute()\n",
39 | "\n",
40 | "cam.ExposureTime = cam.ExposureTime.Min"
41 | ]
42 | },
43 | {
44 | "cell_type": "code",
45 | "execution_count": 3,
46 | "metadata": {},
47 | "outputs": [
48 | {
49 | "data": {
50 | "text/plain": [
51 | "156.20118712902217"
52 | ]
53 | },
54 | "execution_count": 3,
55 | "metadata": {},
56 | "output_type": "execute_result"
57 | }
58 | ],
59 | "source": [
60 | "# show expected framerate max framerate ( @ minimum exposure time)\n",
61 | "cam.ResultingFrameRate.Value"
62 | ]
63 | },
64 | {
65 | "cell_type": "code",
66 | "execution_count": 4,
67 | "metadata": {},
68 | "outputs": [
69 | {
70 | "data": {
71 | "text/plain": [
72 | "6402.000000000001"
73 | ]
74 | },
75 | "execution_count": 4,
76 | "metadata": {},
77 | "output_type": "execute_result"
78 | }
79 | ],
80 | "source": [
81 | "# this results in frame period in µs\n",
82 | "1 / cam.ResultingFrameRate.Value * 1e6"
83 | ]
84 | },
85 | {
86 | "cell_type": "markdown",
87 | "metadata": {},
88 | "source": [
89 | "we now compare different pylon grab strategies and their resulting frameperiod to this minimum frameperiod"
90 | ]
91 | },
92 | {
93 | "cell_type": "markdown",
94 | "metadata": {},
95 | "source": [
96 | "# Grab scenarios"
97 | ]
98 | },
99 | {
100 | "cell_type": "markdown",
101 | "metadata": {},
102 | "source": [
103 | "## GrabOne Loop\n",
104 | "\n",
105 | "most simple style to grab"
106 | ]
107 | },
108 | {
109 | "cell_type": "code",
110 | "execution_count": 5,
111 | "metadata": {
112 | "jupyter": {
113 | "outputs_hidden": false
114 | }
115 | },
116 | "outputs": [],
117 | "source": [
118 | "def GrabOneSample():\n",
119 | " # fetch some images with foreground loop\n",
120 | " img_sum = np.zeros((cam.Height.Value, cam.Width.Value), dtype=np.uint16)\n",
121 | "\n",
122 | " for i in range(100):\n",
123 | " with cam.GrabOne(1000) as res:\n",
124 | " img = res.Array\n",
125 | " img_sum += img\n",
126 | " return img_sum"
127 | ]
128 | },
129 | {
130 | "cell_type": "code",
131 | "execution_count": 6,
132 | "metadata": {
133 | "jupyter": {
134 | "outputs_hidden": false
135 | }
136 | },
137 | "outputs": [
138 | {
139 | "name": "stdout",
140 | "output_type": "stream",
141 | "text": [
142 | "3.27 s ± 41.8 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
143 | ]
144 | },
145 | {
146 | "data": {
147 | "text/plain": [
148 | ""
149 | ]
150 | },
151 | "execution_count": 6,
152 | "metadata": {},
153 | "output_type": "execute_result"
154 | }
155 | ],
156 | "source": [
157 | "%%timeit -o\n",
158 | "GrabOneSample()"
159 | ]
160 | },
161 | {
162 | "cell_type": "code",
163 | "execution_count": 7,
164 | "metadata": {},
165 | "outputs": [],
166 | "source": [
167 | "grab_one_average = _.average / 100"
168 | ]
169 | },
170 | {
171 | "cell_type": "code",
172 | "execution_count": 8,
173 | "metadata": {},
174 | "outputs": [
175 | {
176 | "data": {
177 | "text/plain": [
178 | "'time to capture one frame is: 32655.76 µs'"
179 | ]
180 | },
181 | "execution_count": 8,
182 | "metadata": {},
183 | "output_type": "execute_result"
184 | }
185 | ],
186 | "source": [
187 | "f\"time to capture one frame is: {grab_one_average*1e6:.2f} µs\""
188 | ]
189 | },
190 | {
191 | "cell_type": "markdown",
192 | "metadata": {},
193 | "source": [
194 | "this is very easy to use, but will have the overhead of starting and stopping the grab engine for every frame"
195 | ]
196 | },
197 | {
198 | "cell_type": "markdown",
199 | "metadata": {},
200 | "source": [
201 | "## Foreground Loop\n",
202 | "\n",
203 | "move the start and stop of the grab engine out of the inner grab loop"
204 | ]
205 | },
206 | {
207 | "cell_type": "code",
208 | "execution_count": 9,
209 | "metadata": {
210 | "jupyter": {
211 | "outputs_hidden": false
212 | }
213 | },
214 | "outputs": [],
215 | "source": [
216 | "def ForegroundLoopSample():\n",
217 | " # fetch some images with foreground loop\n",
218 | " img_sum = np.zeros((cam.Height.Value, cam.Width.Value), dtype=np.uint16)\n",
219 | " cam.StartGrabbingMax(100)\n",
220 | " while cam.IsGrabbing():\n",
221 | " with cam.RetrieveResult(1000) as res:\n",
222 | " if res.GrabSucceeded():\n",
223 | " img = res.Array\n",
224 | " img_sum += img\n",
225 | " else:\n",
226 | " raise RuntimeError(\"Grab failed\")\n",
227 | " cam.StopGrabbing()\n",
228 | " return img_sum"
229 | ]
230 | },
231 | {
232 | "cell_type": "code",
233 | "execution_count": null,
234 | "metadata": {
235 | "jupyter": {
236 | "outputs_hidden": false
237 | }
238 | },
239 | "outputs": [],
240 | "source": [
241 | "%%timeit -o \n",
242 | "ForegroundLoopSample()"
243 | ]
244 | },
245 | {
246 | "cell_type": "code",
247 | "execution_count": null,
248 | "metadata": {},
249 | "outputs": [],
250 | "source": [
251 | "foreground_average = _.average / 100"
252 | ]
253 | },
254 | {
255 | "cell_type": "code",
256 | "execution_count": null,
257 | "metadata": {},
258 | "outputs": [],
259 | "source": [
260 | "f\"average time to capture one frame is: {foreground_average*1e6:.2f} µs\""
261 | ]
262 | },
263 | {
264 | "cell_type": "markdown",
265 | "metadata": {},
266 | "source": [
267 | "## Background loop\n",
268 | "\n",
269 | "* use this mode to communicate with the camera while the images are collected in the backgound.\n",
270 | "* Allows async communication"
271 | ]
272 | },
273 | {
274 | "cell_type": "markdown",
275 | "metadata": {},
276 | "source": [
277 | "Pylon uses classes with callback handler to let usercode communicate with the grab loop"
278 | ]
279 | },
280 | {
281 | "cell_type": "code",
282 | "execution_count": null,
283 | "metadata": {
284 | "jupyter": {
285 | "outputs_hidden": false
286 | }
287 | },
288 | "outputs": [],
289 | "source": [
290 | "class ImageHandler(py.ImageEventHandler):\n",
291 | " def __init__(self):\n",
292 | " super().__init__()\n",
293 | " self.img_sum = np.zeros((cam.Height.Value, cam.Width.Value), dtype=np.uint16)\n",
294 | " \n",
295 | " def OnImageGrabbed(self, camera, grabResult):\n",
296 | " \"\"\" we get called on every image\n",
297 | " !! this code is run in a pylon thread context\n",
298 | " always wrap your code in the try .. except to capture\n",
299 | " errors inside the grabbing as this can't be properly reported from \n",
300 | " the background thread to the foreground python code\n",
301 | " \"\"\"\n",
302 | " try:\n",
303 | " if grabResult.GrabSucceeded():\n",
304 | " # check image contents\n",
305 | " img = grabResult.Array\n",
306 | " self.img_sum += img\n",
307 | " else:\n",
308 | " raise RuntimeError(\"Grab Failed\")\n",
309 | " except Exception as e:\n",
310 | " traceback.print_exc()"
311 | ]
312 | },
313 | {
314 | "cell_type": "code",
315 | "execution_count": null,
316 | "metadata": {
317 | "jupyter": {
318 | "outputs_hidden": false
319 | }
320 | },
321 | "outputs": [],
322 | "source": [
323 | "def BackGroundLoopSample():\n",
324 | "\n",
325 | " # instantiate callback handler\n",
326 | " handler = ImageHandler()\n",
327 | " # register with the pylon loop\n",
328 | " cam.RegisterImageEventHandler( handler , py.RegistrationMode_ReplaceAll, py.Cleanup_None)\n",
329 | "\n",
330 | " # fetch some images with background loop\n",
331 | " cam.StartGrabbingMax( 100, py.GrabStrategy_LatestImages, py.GrabLoop_ProvidedByInstantCamera)\n",
332 | " while cam.IsGrabbing():\n",
333 | " # random exposuretime changes every 100ms\n",
334 | " cam.ExposureTime = random.uniform(cam.ExposureTime.Min, 1000)\n",
335 | " time.sleep(0.1)\n",
336 | "\n",
337 | " cam.StopGrabbing()\n",
338 | " cam.DeregisterImageEventHandler(handler)\n",
339 | " \n",
340 | " return handler.img_sum"
341 | ]
342 | },
343 | {
344 | "cell_type": "code",
345 | "execution_count": null,
346 | "metadata": {
347 | "jupyter": {
348 | "outputs_hidden": false
349 | },
350 | "scrolled": true
351 | },
352 | "outputs": [],
353 | "source": [
354 | "%%timeit -o\n",
355 | "BackGroundLoopSample()"
356 | ]
357 | },
358 | {
359 | "cell_type": "code",
360 | "execution_count": null,
361 | "metadata": {},
362 | "outputs": [],
363 | "source": [
364 | "background_average = _.average / 100"
365 | ]
366 | },
367 | {
368 | "cell_type": "code",
369 | "execution_count": null,
370 | "metadata": {},
371 | "outputs": [],
372 | "source": [
373 | "f\"average time to capture one frame is: {background_average*1e6:.2f} µs\""
374 | ]
375 | },
376 | {
377 | "cell_type": "code",
378 | "execution_count": null,
379 | "metadata": {},
380 | "outputs": [],
381 | "source": [
382 | "cam.StopGrabbing()"
383 | ]
384 | },
385 | {
386 | "cell_type": "code",
387 | "execution_count": null,
388 | "metadata": {},
389 | "outputs": [],
390 | "source": [
391 | "cam.Close()"
392 | ]
393 | },
394 | {
395 | "cell_type": "code",
396 | "execution_count": null,
397 | "metadata": {},
398 | "outputs": [],
399 | "source": []
400 | }
401 | ],
402 | "metadata": {
403 | "kernelspec": {
404 | "display_name": "Python 3",
405 | "language": "python",
406 | "name": "python3"
407 | },
408 | "language_info": {
409 | "codemirror_mode": {
410 | "name": "ipython",
411 | "version": 3
412 | },
413 | "file_extension": ".py",
414 | "mimetype": "text/x-python",
415 | "name": "python",
416 | "nbconvert_exporter": "python",
417 | "pygments_lexer": "ipython3",
418 | "version": "3.8.7"
419 | }
420 | },
421 | "nbformat": 4,
422 | "nbformat_minor": 4
423 | }
424 |
--------------------------------------------------------------------------------
/notebooks/multicamera_handling.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 1,
6 | "id": "disabled-villa",
7 | "metadata": {},
8 | "outputs": [],
9 | "source": [
10 | "import pypylon.pylon as py\n",
11 | "import numpy as np\n",
12 | "import matplotlib.pyplot as plt\n",
13 | "import cv2\n",
14 | "import os"
15 | ]
16 | },
17 | {
18 | "cell_type": "code",
19 | "execution_count": 2,
20 | "id": "chinese-humanity",
21 | "metadata": {},
22 | "outputs": [],
23 | "source": [
24 | "NUM_CAMERAS = 10"
25 | ]
26 | },
27 | {
28 | "cell_type": "code",
29 | "execution_count": 3,
30 | "id": "bronze-family",
31 | "metadata": {},
32 | "outputs": [],
33 | "source": [
34 | "# setup demo environment with 10 cameras\n",
35 | "os.environ[\"PYLON_CAMEMU\"] = f\"{NUM_CAMERAS}\""
36 | ]
37 | },
38 | {
39 | "cell_type": "code",
40 | "execution_count": 4,
41 | "id": "technological-consequence",
42 | "metadata": {},
43 | "outputs": [],
44 | "source": [
45 | "tlf = py.TlFactory.GetInstance()"
46 | ]
47 | },
48 | {
49 | "cell_type": "code",
50 | "execution_count": 5,
51 | "id": "complete-change",
52 | "metadata": {},
53 | "outputs": [
54 | {
55 | "data": {
56 | "text/plain": [
57 | " >"
58 | ]
59 | },
60 | "execution_count": 5,
61 | "metadata": {},
62 | "output_type": "execute_result"
63 | }
64 | ],
65 | "source": [
66 | "# create a device filter for Pylon CamEmu devices\n",
67 | "di = py.DeviceInfo()\n",
68 | "di.SetDeviceClass(\"BaslerCamEmu\")\n",
69 | "\n",
70 | "# you could also set more device filters like e.g.:\n",
71 | "# these are combined as AND \n",
72 | "# di.SetSerialNumber(\"2134234\")"
73 | ]
74 | },
75 | {
76 | "cell_type": "code",
77 | "execution_count": 6,
78 | "id": "experimental-revelation",
79 | "metadata": {},
80 | "outputs": [],
81 | "source": [
82 | "devs = tlf.EnumerateDevices([di,])"
83 | ]
84 | },
85 | {
86 | "cell_type": "code",
87 | "execution_count": 7,
88 | "id": "graphic-customs",
89 | "metadata": {},
90 | "outputs": [
91 | {
92 | "data": {
93 | "text/plain": [
94 | "( >,\n",
95 | " >,\n",
96 | " >,\n",
97 | " >,\n",
98 | " >,\n",
99 | " >,\n",
100 | " >,\n",
101 | " >,\n",
102 | " >,\n",
103 | " >)"
104 | ]
105 | },
106 | "execution_count": 7,
107 | "metadata": {},
108 | "output_type": "execute_result"
109 | }
110 | ],
111 | "source": [
112 | "devs"
113 | ]
114 | },
115 | {
116 | "cell_type": "code",
117 | "execution_count": 8,
118 | "id": "intermediate-removal",
119 | "metadata": {},
120 | "outputs": [],
121 | "source": [
122 | "cam_array = py.InstantCameraArray(NUM_CAMERAS)"
123 | ]
124 | },
125 | {
126 | "cell_type": "code",
127 | "execution_count": 9,
128 | "id": "strange-passion",
129 | "metadata": {},
130 | "outputs": [],
131 | "source": [
132 | "for idx, cam in enumerate(cam_array):\n",
133 | " cam.Attach(tlf.CreateDevice(devs[idx]))"
134 | ]
135 | },
136 | {
137 | "cell_type": "code",
138 | "execution_count": 10,
139 | "id": "iraqi-discovery",
140 | "metadata": {},
141 | "outputs": [],
142 | "source": [
143 | "cam_array.Open()"
144 | ]
145 | },
146 | {
147 | "cell_type": "code",
148 | "execution_count": 11,
149 | "id": "german-interface",
150 | "metadata": {},
151 | "outputs": [
152 | {
153 | "name": "stdout",
154 | "output_type": "stream",
155 | "text": [
156 | "set context 0 for camera 0815-0000\n",
157 | "set context 1 for camera 0815-0001\n",
158 | "set context 2 for camera 0815-0002\n",
159 | "set context 3 for camera 0815-0003\n",
160 | "set context 4 for camera 0815-0004\n",
161 | "set context 5 for camera 0815-0005\n",
162 | "set context 6 for camera 0815-0006\n",
163 | "set context 7 for camera 0815-0007\n",
164 | "set context 8 for camera 0815-0008\n",
165 | "set context 9 for camera 0815-0009\n"
166 | ]
167 | }
168 | ],
169 | "source": [
170 | "# store a unique number for each camera to identify the incoming images\n",
171 | "for idx, cam in enumerate(cam_array):\n",
172 | " camera_serial = cam.DeviceInfo.GetSerialNumber()\n",
173 | " print(f\"set context {idx} for camera {camera_serial}\")\n",
174 | " cam.SetCameraContext(idx)"
175 | ]
176 | },
177 | {
178 | "cell_type": "code",
179 | "execution_count": 12,
180 | "id": "veterinary-prairie",
181 | "metadata": {},
182 | "outputs": [
183 | {
184 | "name": "stdout",
185 | "output_type": "stream",
186 | "text": [
187 | "set Exposuretime 0 for camera 0815-0000\n",
188 | "set Exposuretime 1 for camera 0815-0001\n",
189 | "set Exposuretime 2 for camera 0815-0002\n",
190 | "set Exposuretime 3 for camera 0815-0003\n",
191 | "set Exposuretime 4 for camera 0815-0004\n",
192 | "set Exposuretime 5 for camera 0815-0005\n",
193 | "set Exposuretime 6 for camera 0815-0006\n",
194 | "set Exposuretime 7 for camera 0815-0007\n",
195 | "set Exposuretime 8 for camera 0815-0008\n",
196 | "set Exposuretime 9 for camera 0815-0009\n"
197 | ]
198 | }
199 | ],
200 | "source": [
201 | "# set the exposure time for each camera\n",
202 | "for idx, cam in enumerate(cam_array):\n",
203 | " camera_serial = cam.DeviceInfo.GetSerialNumber()\n",
204 | " print(f\"set Exposuretime {idx} for camera {camera_serial}\")\n",
205 | " cam.ExposureTimeRaw = 10000"
206 | ]
207 | },
208 | {
209 | "cell_type": "code",
210 | "execution_count": 13,
211 | "id": "damaged-bidding",
212 | "metadata": {},
213 | "outputs": [],
214 | "source": [
215 | "# wait for all cameras to grab 10 frames\n",
216 | "frames_to_grab = 10\n",
217 | "# store last framecount in array\n",
218 | "frame_counts = [0]*NUM_CAMERAS"
219 | ]
220 | },
221 | {
222 | "cell_type": "code",
223 | "execution_count": 14,
224 | "id": "individual-heritage",
225 | "metadata": {},
226 | "outputs": [
227 | {
228 | "data": {
229 | "text/plain": [
230 | "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]"
231 | ]
232 | },
233 | "execution_count": 14,
234 | "metadata": {},
235 | "output_type": "execute_result"
236 | }
237 | ],
238 | "source": [
239 | "frame_counts"
240 | ]
241 | },
242 | {
243 | "cell_type": "code",
244 | "execution_count": 15,
245 | "id": "removed-sensitivity",
246 | "metadata": {
247 | "scrolled": true
248 | },
249 | "outputs": [
250 | {
251 | "name": "stdout",
252 | "output_type": "stream",
253 | "text": [
254 | "cam #5 image #1\n",
255 | "cam #0 image #1\n",
256 | "cam #1 image #1\n",
257 | "cam #2 image #1\n",
258 | "cam #3 image #1\n",
259 | "cam #4 image #1\n",
260 | "cam #6 image #1\n",
261 | "cam #7 image #1\n",
262 | "cam #8 image #1\n",
263 | "cam #9 image #1\n",
264 | "cam #7 image #2\n",
265 | "cam #2 image #2\n",
266 | "cam #0 image #2\n",
267 | "cam #5 image #2\n",
268 | "cam #4 image #2\n",
269 | "cam #9 image #2\n",
270 | "cam #1 image #2\n",
271 | "cam #8 image #2\n",
272 | "cam #6 image #2\n",
273 | "cam #3 image #2\n",
274 | "cam #3 image #3\n",
275 | "cam #2 image #3\n",
276 | "cam #6 image #3\n",
277 | "cam #1 image #3\n",
278 | "cam #4 image #3\n",
279 | "cam #0 image #3\n",
280 | "cam #8 image #3\n",
281 | "cam #5 image #3\n",
282 | "cam #9 image #3\n",
283 | "cam #7 image #3\n",
284 | "cam #1 image #4\n",
285 | "cam #7 image #4\n",
286 | "cam #3 image #4\n",
287 | "cam #0 image #4\n",
288 | "cam #8 image #4\n",
289 | "cam #9 image #4\n",
290 | "cam #5 image #4\n",
291 | "cam #2 image #4\n",
292 | "cam #6 image #4\n",
293 | "cam #4 image #4\n",
294 | "cam #5 image #5\n",
295 | "cam #0 image #5\n",
296 | "cam #7 image #5\n",
297 | "cam #3 image #5\n",
298 | "cam #2 image #5\n",
299 | "cam #8 image #5\n",
300 | "cam #6 image #5\n",
301 | "cam #9 image #5\n",
302 | "cam #4 image #5\n",
303 | "cam #1 image #5\n",
304 | "cam #6 image #6\n",
305 | "cam #9 image #6\n",
306 | "cam #8 image #6\n",
307 | "cam #1 image #6\n",
308 | "cam #2 image #6\n",
309 | "cam #4 image #6\n",
310 | "cam #5 image #6\n",
311 | "cam #3 image #6\n",
312 | "cam #7 image #6\n",
313 | "cam #0 image #6\n",
314 | "cam #7 image #7\n",
315 | "cam #5 image #7\n",
316 | "cam #8 image #7\n",
317 | "cam #3 image #7\n",
318 | "cam #4 image #7\n",
319 | "cam #0 image #7\n",
320 | "cam #9 image #7\n",
321 | "cam #1 image #7\n",
322 | "cam #2 image #7\n",
323 | "cam #6 image #7\n",
324 | "cam #1 image #8\n",
325 | "cam #9 image #8\n",
326 | "cam #7 image #8\n",
327 | "cam #4 image #8\n",
328 | "cam #8 image #8\n",
329 | "cam #2 image #8\n",
330 | "cam #5 image #8\n",
331 | "cam #3 image #8\n",
332 | "cam #6 image #8\n",
333 | "cam #0 image #8\n",
334 | "cam #3 image #9\n",
335 | "cam #0 image #9\n",
336 | "cam #7 image #9\n",
337 | "cam #4 image #9\n",
338 | "cam #5 image #9\n",
339 | "cam #9 image #9\n",
340 | "cam #2 image #9\n",
341 | "cam #1 image #9\n",
342 | "cam #6 image #9\n",
343 | "cam #8 image #9\n",
344 | "cam #6 image #10\n",
345 | "cam #7 image #10\n",
346 | "cam #1 image #10\n",
347 | "cam #5 image #10\n",
348 | "cam #4 image #10\n",
349 | "cam #9 image #10\n",
350 | "cam #0 image #10\n",
351 | "cam #3 image #10\n",
352 | "cam #2 image #10\n",
353 | "cam #8 image #10\n",
354 | "all cameras have acquired 10 frames\n"
355 | ]
356 | }
357 | ],
358 | "source": [
359 | "cam_array.StartGrabbing()\n",
360 | "while True:\n",
361 | " with cam_array.RetrieveResult(1000) as res:\n",
362 | " if res.GrabSucceeded():\n",
363 | " img_nr = res.ImageNumber\n",
364 | " cam_id = res.GetCameraContext()\n",
365 | " frame_counts[cam_id] = img_nr\n",
366 | " print(f\"cam #{cam_id} image #{img_nr}\")\n",
367 | " \n",
368 | " # do something with the image ....\n",
369 | " \n",
370 | " # check if all cameras have reached 100 images\n",
371 | " if min(frame_counts) >= frames_to_grab:\n",
372 | " print( f\"all cameras have acquired {frames_to_grab} frames\")\n",
373 | " break\n",
374 | " \n",
375 | " \n",
376 | "cam_array.StopGrabbing()"
377 | ]
378 | },
379 | {
380 | "cell_type": "code",
381 | "execution_count": 16,
382 | "id": "rotary-harassment",
383 | "metadata": {},
384 | "outputs": [],
385 | "source": [
386 | "cam_array.Close()"
387 | ]
388 | },
389 | {
390 | "cell_type": "code",
391 | "execution_count": 17,
392 | "id": "minus-finding",
393 | "metadata": {},
394 | "outputs": [
395 | {
396 | "data": {
397 | "text/plain": [
398 | "[10, 10, 10, 10, 10, 10, 10, 10, 10, 10]"
399 | ]
400 | },
401 | "execution_count": 17,
402 | "metadata": {},
403 | "output_type": "execute_result"
404 | }
405 | ],
406 | "source": [
407 | "frame_counts"
408 | ]
409 | },
410 | {
411 | "cell_type": "code",
412 | "execution_count": null,
413 | "id": "formal-application",
414 | "metadata": {},
415 | "outputs": [],
416 | "source": []
417 | }
418 | ],
419 | "metadata": {
420 | "kernelspec": {
421 | "display_name": "Python 3",
422 | "language": "python",
423 | "name": "python3"
424 | },
425 | "language_info": {
426 | "codemirror_mode": {
427 | "name": "ipython",
428 | "version": 3
429 | },
430 | "file_extension": ".py",
431 | "mimetype": "text/x-python",
432 | "name": "python",
433 | "nbconvert_exporter": "python",
434 | "pygments_lexer": "ipython3",
435 | "version": "3.9.1"
436 | }
437 | },
438 | "nbformat": 4,
439 | "nbformat_minor": 5
440 | }
441 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | pypylon
2 | jupyterlab
3 | notebook
4 | pandas
5 | numpy
6 | matplotlib
7 | opencv-python
8 | scikit-image
9 | ipywidgets
10 |
--------------------------------------------------------------------------------
/samples/USB_linescan_performance_demo_opencv.py:
--------------------------------------------------------------------------------
1 | import pypylon.pylon as py
2 | import numpy as np
3 | import cv2
4 |
5 | # this sample has been tested with a Basler acA1920-155uc
6 | # type 'q' or 'ESC' in the window to close it
7 |
8 | # the camera is configured to run at high framerate with only two lines hight
9 | # the acquired rows are concatenated as a virtual frame and this frame is displayed
10 |
11 | SCANLINE_HEIGHT = 2
12 | VIRTUAL_FRAME_HEIGHT = 1000
13 |
14 | tlf = py.TlFactory.GetInstance()
15 |
16 | cam = py.InstantCamera(tlf.CreateFirstDevice())
17 | cam.Open()
18 |
19 | # setup center scan line
20 | cam.Height = SCANLINE_HEIGHT
21 | cam.Width = cam.Width.Max
22 | cam.CenterX = True
23 | cam.CenterY = True
24 |
25 | # setup for
26 | cam.PixelFormat = "BGR8"
27 | cam.Gain = 20
28 | cam.ExposureTime = 900
29 | print("Resulting framerate:", cam.ResultingFrameRate.Value)
30 |
31 | cam.StartGrabbing()
32 |
33 | img = np.ones((VIRTUAL_FRAME_HEIGHT, cam.Width.Value, 3), dtype=np.uint8)
34 | missing_line = np.ones(
35 | (SCANLINE_HEIGHT, cam.Width.Value, 3), dtype=np.uint8)*255
36 | image_idx = 0
37 | while True:
38 | for idx in range(VIRTUAL_FRAME_HEIGHT // SCANLINE_HEIGHT):
39 | with cam.RetrieveResult(2000) as result:
40 | if result.GrabSucceeded():
41 | with result.GetArrayZeroCopy() as out_array:
42 | img[idx * SCANLINE_HEIGHT:idx *
43 | SCANLINE_HEIGHT + SCANLINE_HEIGHT] = out_array
44 | else:
45 | img[idx * SCANLINE_HEIGHT:idx * SCANLINE_HEIGHT +
46 | SCANLINE_HEIGHT] = missing_line
47 | print(idx)
48 |
49 | img_rgb = img
50 |
51 | # Display the resulting frame
52 | cv2.imshow('Linescan View', img_rgb)
53 |
54 | image_idx += 1
55 | if cv2.waitKey(1) & 0xFF in (ord('q'), 27):
56 | break
57 |
58 | # When everything done, release the capture
59 | cam.StopGrabbing()
60 | cv2.destroyAllWindows()
61 |
62 | cam.Close()
63 |
--------------------------------------------------------------------------------