Logo EXCELITAS TECHNOLOGIESLogo EXCELITAS TECHNOLOGIES 1Python Software Development Kit
Používateľská príručkaEXCELITAS TECHNOLOGIES Python Software Development KitLogo EXCELITAS TECHNOLOGIES 2

Python Software Development Kit

PCO vás žiada, aby ste si pozorne prečítali a dodržiavali pokyny v tomto dokumente.
V prípade akýchkoľvek otázok alebo pripomienok nás neváhajte kedykoľvek kontaktovať.
telefón: +49 (0) 9441 2005 50
fax: +49 (0) 9441 2005 20
poštová adresa: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Nemecko
email: info@pco.de
web: www.pco.de
pco.python užívateľská príručka 0.1.7
Vydané v decembri 2021
©Copyright Excelitas PCO GmbH
EXCELITAS TECHNOLOGIES Python Software Development Kit – ikona 1Toto dielo je licencované pod medzinárodnou licenciou Creative Commons Attribution-No Derivatives 4.0. Komu view kópiu tejto licencie, navštívte http://creativecommons.org/licenses/by-nd/4.0/ alebo pošlite list na adresu Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

generál

Balík Python pco ponúka všetky funkcie pre prácu s kamerami pco, ktoré sú založené na prúde pco.sdk. Súčasťou sú všetky zdieľané knižnice pre komunikáciu s kamerou a následné spracovanie obrazu.

  • Trieda fotoaparátu s jednoduchým ovládaním
  • Výkonné API pre pco.sdk
  • Záznam a spracovanie obrazu s pco.recorder

1.1 Inštalácia
Inštalovať z pypi (odporúčané):
$ pip install pco
1.2 Základné použitie
import matplotlib.pyplot as plt
dovoz pco
s pco.Camera() ako vačkou:
cam.record()
obrázok, meta = cam.image()
plt.imshow(image, cmap='grey')
plt.show()EXCELITAS TECHNOLOGIES Python Software Development Kit – základné použitie1.3 Protokolovanie udalostí a chýb
Ak chcete aktivovať výstup protokolovania, vytvorte objekt Camera s parametrom debuglevel=.
Úroveň ladenia je možné nastaviť na jednu z nasledujúcich hodnôt:

  • 'off' Vypne všetok výstup.
  • 'error' Zobrazí iba chybové hlásenia.
  • 'verbose' Zobrazí všetky správy.
  • 'extra verbose' Zobrazuje všetky správy a hodnoty.

Predvolená úroveň ladenia je „vypnuté“.
pco.Camera(debuglevel='verbose')

[][sdk] get_camera_type: OK.
Voliteľný časamp= parameter aktivuje a tag v tlačenom výstupe. Možné hodnoty sú: 'on' a 'off'. Predvolená hodnota je 'off'.
pco.Camera(debuglevel='verbose', timestamp='on')

[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type: OK.

API dokumentácia

Trieda pco.Camera ponúka nasledujúce metódy:

  • record() generuje, konfiguruje a spúšťa novú inštanciu rekordéra.
  • stop() zastaví aktuálne nahrávanie.
  • close() zatvorí aktuálnu aktívnu kameru a uvoľní obsadené prostriedky.
  • image() vráti obrázok zo záznamníka ako numpy pole.
  • images() vráti všetky zaznamenané obrázky z rekordéra ako zoznam numpy polí.
  • image_average() vráti spriemerovaný obrázok. Tento obrázok sa vypočíta zo všetkých zaznamenaných obrázkov vo vyrovnávacej pamäti.
  • set_exposure_time() nastavuje expozičný čas pre fotoaparát.
  • wait_for_first_image() čaká na prvý dostupný obrázok v pamäti rekordéra.

Trieda pco.Camera má nasledujúcu premennú:

  • konfigurácia

Trieda pco.Camera má nasledujúce objekty:

  • sdk ponúka priamy prístup ku všetkým základným funkciám pco.sdk.
  • rekordér ponúka priamy prístup ku všetkým základným funkciám pco.recorder.

2.1 Metódy
Táto časť popisuje všetky metódy ponúkané triedou pco.Camera.
2.1.1 Záznam
Popis Vytvorí, nakonfiguruje a spustí novú inštanciu rekordéra. Pred volaním funkcie record() je potrebné nastaviť celú konfiguráciu kamery. Príkaz set_exposure_time() je jedinou výnimkou. Táto funkcia nemá žiadny vplyv na objekt rekordéra a možno ju vyvolať počas nahrávania.
Prototyp def record(self, number_of_images=1, mode='sequence'):
Parameter

Meno Popis
počet_obrázkov Nastavuje počet obrázkov priradených v ovládači. RAM počítača obmedzuje maximálnu hodnotu.
režim V režime „sekvencie“ je táto funkcia počas nahrávania blokovaná. Rekordér sa automaticky zastaví, keď sa dosiahne počet obrázkov. V režime „sekvenčné neblokovanie“ je táto funkcia neblokujúca. Pred čítaním obrázka je potrebné skontrolovať stav. Tento režim sa používa na čítanie obrázkov počas nahrávania, napr. miniatúr.
V režime 'ring buffer' je táto funkcia neblokujúca. Pred čítaním obrázka je potrebné skontrolovať stav. Záznamník nezastaví nahrávanie, keď sa dosiahne počet_obrázkov. Keď sa to stane, najstaršie obrázky sa prepíšu.
V režime „fifo“ je táto funkcia neblokovaná. Pred čítaním obrázka je potrebné skontrolovať stav. Keď sa dosiahne počet obrázkov vo fifo, nasledujúce obrázky sa vypustia, kým sa obrázky nenačítajú z fifo.

2.1.2 Zastavte
Popis Zastaví aktuálne nahrávanie. V režime „ring buffer“ a „fifo“ musí túto funkciu vyvolať používateľ. V režime „sekvencia“ a „neblokovanie sekvencie“ sa táto funkcia automaticky vyvolá, keď sa dosiahne počet obrázkov.
Prototyp def stop (self):
2.1.3 Zatvorte
Popis Zatvorí aktivovanú kameru a uvoľní zablokované zdroje. Táto funkcia musí byť zavolaná pred ukončením aplikácie. V opačnom prípade zostanú zdroje obsadené.
Prototyp def close (self):
Táto funkcia sa volá automaticky, ak je objekt kamery vytvorený príkazom with. Výslovné volanie funkcie close() už nie je potrebné.
s pco.Camera() ako cam: # urob nejaké veci
2.1.4 Obrázok
Popis Vráti obrázok z rekordéra. Typ obrázka je numpy.ndarray. Toto pole je tvarované v závislosti od rozlíšenia a oblasti záujmu snímky.
Prototyp def image(self, image_number=0, roi=None):
Parameter

Meno Popis
číslo_obrázku Určuje číslo obrázka, ktorý sa má prečítať. V režime „sekvencia“ alebo „sekvencia bez blokovania“ sa index rekordéra zhoduje s číslom obrázka. Ak je image_number nastavené na 0xFFFFFFFF, skopíruje sa posledný zaznamenaný obrázok. To umožňuje vytvoriť živé predview počas nahrávania.
roi Nastaví oblasť záujmu. Do návratovej hodnoty sa skopíruje iba táto oblasť obrázka.

Example >>> cam.record(number_of_images=1, mode='sequence')
>>> obrázok, meta = cam.image()
>>> typ(obrázok) numpy.ndarray
>>> image.shape (2160, 2560)
>>> obrázok, metadáta = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 XNUMX obrázkov
Popis Vráti všetky zaznamenané obrázky z rekordéra ako zoznam numpy polí.
Prototyp def images(self, roi=None, blockize=None):
Parameter

Meno Popis
roi Nastaví oblasť záujmu. Do návratovej hodnoty sa skopíruje iba táto oblasť obrázka.
veľkosť bloku Definuje maximálny počet vrátených obrázkov. Tento parameter je užitočný iba v režime „fifo“ a za špeciálnych podmienok.

Example >>> cam.record(number_of_images=20, mode='sequence')
>>> obrázky, metadáta = cam.images()
>>> len(obrázky) 20
>>> pre obrázok v obrázkoch:

print('Mean: {:7.2f} DN'.format(image.mean()))

Priemer: 2147.64 DN
Priemer: 2144.61 DN

>>> obrázky = cam.images(roi=(1, 1, 300, 300))
>>> obrázky[0].shape (300, 300)
2.1.6 Image_priemer
Popis Vráti spriemerovaný obrázok. Tento obrázok sa vypočíta zo všetkých zaznamenaných obrázkov vo vyrovnávacej pamäti.
Prototyp def image_average(self, roi=None):
Parameter

Meno Popis
roi Definuje oblasť záujmu. Do návratovej hodnoty sa skopíruje iba táto oblasť obrázka.

Example >>> cam.record(number_of_images=100, mode='sequence')
>>> avg = cam.image_average()
>>> avg = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Set_exposure_time
Popis Nastavuje expozičný čas fotoaparátu.
Prototyp def set_exposure_time(self, exposure_time):
Parameter

Meno Popis
doba vystavenia Musí byť zadané ako pohyblivá alebo celočíselná hodnota v jednotke „sekunda“. Základné hodnoty pre funkciu sdk.set_delay_exposure_time(0, 'ms', čas, časová základňa) sa vypočítajú automaticky. Čas oneskorenia je nastavený na 0.

Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Wait_for_first_image
Popis Čaká na prvý dostupný obrázok v pamäti rekordéra. V režime rekordéra „sekvencia bez blokovania“, „vyrovnávacia pamäť zvonenia“. a 'fifo', funkcia record() sa okamžite vráti. Preto je možné túto funkciu použiť na čakanie na obrázky z kamery pred volaním image(), images() alebo image_average().
Prototyp def wait_for_first_image(self):
2.2 Variabilná konfigurácia
Parametre kamery sa aktualizujú zmenou konfiguračnej premennej.
cam.configuration = {'expozičný čas': 10e-3,
'roi': (1, 1, 512, 512),
'timestamp': 'ascii',
'pixel rate': 100_000_000,
'trigger': 'auto sequence',
'acquire': 'auto',
'metadata': 'on',
'bining': (1, 1)}
Premennú je možné zmeniť len pred zavolaním funkcie record(). Je to slovník s určitým počtom hesiel. Nie je potrebné špecifikovať všetky možné prvky. Nasledujúce sample kód mení iba „početnosť pixelov“ a neovplyvňuje žiadne iné prvky konfigurácie.
s pco.Camera() ako vačkou:
cam.configuration = {'pixel rate': 286_000_000}
cam.record()

2.3 XNUMX objektov
Táto časť popisuje všetky objekty ponúkané triedou pco.Camera.
2.3.1 SDK
Objekt sdk umožňuje priamy prístup ku všetkým základným funkciám pco.sdk.
>>> cam.sdk.get_temperature()
{'teplota snímača': 7.0, 'teplota kamery': 38.2, 'teplota výkonu': 36.7}
Všetky návratové hodnoty z funkcií sdk sú slovníky. Nie všetky nastavenia fotoaparátu sú v súčasnosti zahrnuté do triedy Fotoaparát. Špeciálne nastavenia je potrebné nastaviť priamo volaním príslušnej funkcie sdk.
2.3.2 rekordér
Objekt rec ponúka priamy prístup ku všetkým základným funkciám pco.recorder. Nie je potrebné priamo volať metódu triedy záznamníka. Všetky funkcie sú plne pokryté metódami triedy Camera.

EXCELITAS TECHNOLOGIES Python Software Development Kit - QR cotehttps://www.pco.de/applications/

pco europe
+49 9441 2005 50
info@pco.de
pco.de
pco amerika
+1 866 678 4566
info@pco-tech.com
pco-tech.com
pco Ázia
+65 6549 7054
info@pco-imaging.com
pco-imaging.com
pco čína
+86 512 67634643
info@pco.cn
pco.cn

Logo EXCELITAS TECHNOLOGIESLogo EXCELITAS TECHNOLOGIES 1

Dokumenty / zdroje

EXCELITAS TECHNOLOGIES Python Software Development Kit [pdfPoužívateľská príručka
Python Software Development Kit, Software Development Kit, Development Kit, Kit

Referencie

Zanechajte komentár

Vaša emailová adresa nebude zverejnená. Povinné polia sú označené *