EXCELITAS TECHNOLOGIES -logoEXCELITAS TECHNOLOGIES -logo 1Python Software Development Kit
KäyttöopasEXCELITAS TECHNOLOGIES Python Software Development KitEXCELITAS TECHNOLOGIES -logo 2

Python Software Development Kit

PCO pyytää sinua lukemaan huolellisesti tämän asiakirjan ohjeet ja noudattamaan niitä.
Jos sinulla on kysyttävää tai kommentteja, ota meihin yhteyttä milloin tahansa.
puhelin: +49 (0) 9441 2005 50
faksi: +49 (0) 9441 2005 20
postiosoite: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Saksa
sähköposti: info@pco.de
web: www.pco.de
pco.python käyttöopas 0.1.7
Julkaistu joulukuussa 2021
©Tekijänoikeus Excelitas PCO GmbH
EXCELITAS TECHNOLOGIES Python Software Development Kit - icon 1Tämä teos on lisensoitu Creative Commons Attribution-No Derivatives 4.0 International License -lisenssillä. Vastaanottaja view kopio tästä lisenssistä, vieraile http://creativecommons.org/licenses/by-nd/4.0/ tai lähetä kirje osoitteeseen Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

Kenraali

Python-paketti pco tarjoaa kaikki toiminnot työskentelyyn pco-kameroiden kanssa, jotka perustuvat nykyiseen pco.sdk. Mukana ovat kaikki jaetut kirjastot viestintää kameran kanssa ja sitä seuraavaa kuvankäsittelyä varten.

  • Helppokäyttöinen kameraluokka
  • Tehokas API pco.sdk
  • Kuvan tallennus ja käsittely pco.recorder

1.1 Asennus
Asenna pypistä (suositus):
$ pip asennus pco
1.2 Peruskäyttö
tuo matplotlib.pyplot muodossa plt
tuonti pco
pco.Camera() kamerana:
cam.record()
kuva, meta = cam.image()
plt.imshow(image, cmap='grey')
plt.show()EXCELITAS TECHNOLOGIES Python Software Development Kit - Peruskäyttö1.3 Tapahtumien ja virheiden kirjaaminen
Aktivoi lokitulostus luomalla Kamera-objekti parametrilla debuglevel=.
Vianetsintätaso voidaan asettaa johonkin seuraavista arvoista:

  • 'off' Poistaa käytöstä kaiken lähdön.
  • 'error' Näyttää vain virheilmoitukset.
  • 'verbose' Näyttää kaikki viestit.
  • 'extra verbose' Näyttää kaikki viestit ja arvot.

Oletusvirheenkorjaustaso on "off".
pco.Camera(debuglevel='verbose')

[][sdk] get_camera_type: OK.
Valinnainen aikaamp= parametri aktivoi a tag tulosteessa. Mahdolliset arvot ovat: 'on' ja 'off'. Oletusarvo on 'off'.
pco.Camera(debuglevel='verbose', timestamp='päällä')

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

API-dokumentaatio

Pco.Camera-luokka tarjoaa seuraavat menetelmät:

  • record() luo, määrittää ja käynnistää uuden tallenninesiintymän.
  • stop() pysäyttää nykyisen tallennuksen.
  • close() sulkee nykyisen aktiivisen kameran ja vapauttaa varatut resurssit.
  • image() palauttaa kuvan tallentimesta numpy-taulukkona.
  • images() palauttaa kaikki tallennetut kuvat tallentimesta numpy-taulukoiden luettelona.
  • image_average() palauttaa keskiarvotetun kuvan. Tämä kuva lasketaan kaikista puskuriin tallennetuista kuvista.
  • set_exposure_time() asettaa kameran valotusajan.
  • wait_for_first_image() odottaa ensimmäistä vapaata kuvaa tallentimen muistissa.

Luokassa pco.Camera on seuraava muuttuja:

  • kokoonpano

Luokassa pco.Camera on seuraavat objektit:

  • sdk tarjoaa suoran pääsyn kaikkiin taustalla oleviin toimintoihin pco.sdk.
  • tallennin tarjoaa suoran pääsyn kaikkiin taustalla oleviin toimintoihin pco.recorder.

2.1 Menetelmät
Tässä osiossa kuvataan kaikki pco.Camera-luokan tarjoamat menetelmät.
2.1.1 Tallenna
Kuvaus Luo, määrittää ja käynnistää uuden tallenninesiintymän. Kameran koko kokoonpano on määritettävä ennen record()-kutsua. Komento set_exposure_time() on ainoa poikkeus. Tällä toiminnolla ei ole vaikutusta tallenninobjektiin, ja se voidaan kutsua esiin tallennuksen aikana.
Prototyyppi def record(self, number_of_images=1, mode='sequence'):
Parametri

Nimi Kuvaus
kuvien_määrä Asettaa ohjaimeen varattujen kuvien määrän. PC:n RAM rajoittaa maksimiarvoa.
tila Sekvenssitilassa tämä toiminto estyy tallennuksen aikana. Tallennin pysähtyy automaattisesti, kun kuvien_määrä saavutetaan. "Sequence non blocking" -tilassa tämä toiminto on ei-esto. Tila on tarkistettava ennen kuvan lukemista. Tätä tilaa käytetään kuvien, esim. pikkukuvien, lukemiseen tallennuksen aikana.
Soittopuskuritilassa tämä toiminto ei ole estävä. Tila on tarkistettava ennen kuvan lukemista. Tallennin ei lopeta tallennusta, kun kuvien_määrä on saavutettu. Kun tämä tapahtuu, vanhimmat kuvat korvataan.
Fifo-tilassa tämä toiminto ei estä. Tila on tarkistettava ennen kuvan lukemista. Kun kuvien_määrä fifossa saavutetaan, seuraavat kuvat pudotetaan, kunnes kuvat luetaan fifosta.

2.1.2 Pysäytä
Kuvaus Pysäyttää nykyisen tallennuksen. "Ring buffer" ja "fifo" -tilassa käyttäjän on kutsuttava tämä toiminto. "Sequence"- ja "Sequence non blocking" -tiloissa tämä toiminto käynnistyy automaattisesti, kun kuvien_määrä saavutetaan.
Prototyyppi def stop (itse):
2.1.3 Sulje
Kuvaus Sulkee aktivoidun kameran ja vapauttaa estetyt resurssit. Tämä toiminto on kutsuttava ennen sovelluksen sulkemista. Muuten resurssit jäävät varattuiksi.
Prototyyppi def close (itse):
Tätä toimintoa kutsutaan automaattisesti, jos kameraobjekti on luotu with-käskyllä. Nimenomainen kutsu close() ei ole enää tarpeen.
pco.Camera()-kamerana: # tee jotain
2.1.4 Kuva
Kuvaus Palauttaa kuvan tallentimesta. Kuvan tyyppi on numpy.ndarray. Tämä ryhmä on muotoiltu kuvan resoluution ja ROI:n mukaan.
Prototyyppi def image(self, image_number=0, roi=Ei mitään):
Parametri

Nimi Kuvaus
kuvan_numero Määrittää luettavan kuvan numeron. "Sequence"- tai "sequence non blocking" -tilassa tallentimen indeksi vastaa kuvan_numeroa. Jos kuvan_numero on asetettu arvoon 0xFFFFFFFF, viimeksi tallennettu kuva kopioidaan. Tämä mahdollistaa live-esityksen luomisenview tallennuksen aikana.
roi Asettaa kiinnostavan alueen. Vain tämä kuvan alue kopioidaan palautusarvoon.

Example >>> cam.record(kuvien_määrä=1, tila='sekvenssi')
>>> kuva, meta = cam.image()
>>> type(image) numpy.ndarray
>>> image.shape (2160, 2560)
>>> kuva, metatiedot = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 kuvaa
Kuvaus Palauttaa kaikki tallennetut kuvat tallentimesta numppaisten ryhmien luettelona.
Prototyyppi def images(self, roi=Ei mitään, blocksize=ei mitään):
Parametri

Nimi Kuvaus
roi Asettaa kiinnostavan alueen. Vain tämä kuvan alue kopioidaan palautusarvoon.
lohkon koko Määrittää palautettavien kuvien enimmäismäärän. Tämä parametri on hyödyllinen vain 'fifo'-tilassa ja erityisolosuhteissa.

Example >>> cam.record(kuvien_määrä=20, tila='sekvenssi')
>>> kuvat, metatiedot = cam.images()
>>> len(kuvat) 20
>>> kuva kuvissa:

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

Keskiarvo: 2147.64 DN
Keskiarvo: 2144.61 DN

>>> kuvat = cam.images(roi=(1, 1, 300, 300))
>>> kuvat[0].shape (300, 300)
2.1.6 Kuvan_keskiarvo
Kuvaus Palauttaa keskiarvon kuvan. Tämä kuva lasketaan kaikista puskuriin tallennetuista kuvista.
Prototyyppi def image_average(self, roi=Ei mitään):
Parametri

Nimi Kuvaus
roi Määrittää kiinnostavan alueen. Vain tämä kuvan alue kopioidaan palautusarvoon.

Example >>> cam.record(kuvien_määrä=100, tila='sekvenssi')
>>> avg = cam.image_average()
>>> keskiarvo = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Aseta_valotusaika
Kuvaus Asettaa kameran valotusajan.
Prototyyppi def set_exposure_time(self,exposure_time):
Parametri

Nimi Kuvaus
altistumisaika On annettava float- tai kokonaislukuna yksikössä "sekunti". Funktion sdk.set_delay_exposure_time(0, 'ms', time, timebase) taustalla olevat arvot lasketaan automaattisesti. Viiveaika on asetettu 0:ksi.

Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Odota_ensimmäistä_kuvaa
Kuvaus Odottaa ensimmäistä vapaata kuvaa tallentimen muistissa. Tallennintilassa 'sekvenssi ei esto', 'soittopuskuri'. ja 'fifo', funktio record() palauttaa välittömästi. Siksi tätä toimintoa voidaan käyttää odottamaan kuvia kamerasta ennen kuin kutsutaan image(), images() tai image_average().
Prototyyppi def wait_for_first_image(self):
2.2 Muuttujan kokoonpano
Kameran parametrit päivitetään muuttamalla konfiguraatiomuuttujaa.
cam.configuration = {'valotusaika': 10e-3,
"roi": (1, 1, 512, 512),
'timestamp': 'ascii',
'pikselinopeus': 100_000_000,
'trigger': 'automaattinen järjestys',
'acquire': 'auto',
'metadata': 'on',
'binning': (1, 1)}
Muuttuja voidaan muuttaa vain ennen record()-funktion kutsumista. Se on sanakirja, jossa on tietty määrä merkintöjä. Kaikkia mahdollisia elementtejä ei tarvitse määrittää. Seuraavat sample koodi muuttaa vain 'pikselinopeutta' eikä vaikuta muihin kokoonpanon elementteihin.
pco.Camera() kamerana:
cam.configuration = {'pikselinopeus': 286_000_000}
cam.record()

2.3 Objektit
Tässä osiossa kuvataan kaikki pco.Camera-luokan tarjoamat objektit.
2.3.1 SDK
Objekti sdk mahdollistaa suoran pääsyn kaikkiin taustalla oleviin toimintoihin pco.sdk.
>>> cam.sdk.get_temperature()
{'anturin lämpötila': 7.0, 'kameran lämpötila': 38.2, 'teholämpötila': 36.7}
Kaikki sdk-funktioiden palautusarvot ovat sanakirjoja. Kamera-luokka ei tällä hetkellä kata kaikkia kameran asetuksia. Erikoisasetukset on määritettävä suoraan kutsumalla vastaava sdk-toiminto.
2.3.2 Tallennin
Object rec tarjoaa suoran pääsyn kaikkiin taustalla oleviin toimintoihin pco.recorder. Tallenninluokan metodia ei tarvitse kutsua suoraan. Kaikki toiminnot kattavat täysin Camera-luokan menetelmät.

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

pco Euroopassa
+49 9441 2005 50
info@pco.de
pco.de
pco amerikka
+1 866 678 4566
info@pco-tech.com
pco-tech.com
pco aasia
+65 6549 7054
info@pco-imaging.com
pco-imaging.com
pco kiina
+86 512 67634643
info@pco.cn
pco.cn

EXCELITAS TECHNOLOGIES -logoEXCELITAS TECHNOLOGIES -logo 1

Asiakirjat / Resurssit

EXCELITAS TECHNOLOGIES Python Software Development Kit [pdfKäyttöopas
Python Software Development Kit, Software Development Kit, Development Kit, Kit

Viitteet

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *