EXCELITAS TECHNOLOGIES Brukerhåndbok for Python Software Development Kit

EXCELITAS TECHNOLOGIES Python Software Development Kit - Featured Image

EXCELITAS TECHNOLOGIES logoEXCELITAS TECHNOLOGIES logo 1Python programvareutviklingssett
BrukerhåndbokEXCELITAS TECHNOLOGIES Python Software Development KitEXCELITAS TECHNOLOGIES logo 2

Python programvareutviklingssett

PCO ber deg om å lese og følge instruksjonene i dette dokumentet nøye.
For spørsmål eller kommentarer, vennligst kontakt oss når som helst.
telefon: +49 (0) 9441 2005 50
faks: +49 (0) 9441 2005 20
postadresse: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Tyskland
e-post: info@pco.de
web: www.pco.de
pco.python brukerhåndbok 0.1.7
Utgitt desember 2021
©Copyright Excelitas PCO GmbH
EXCELITAS TECHNOLOGIES Python Software Development Kit - ikon 1Dette verket er lisensiert under Creative Commons Attribution-No Derivatives 4.0 International License. Til view en kopi av denne lisensen, besøk http://creativecommons.org/licenses/by-nd/4.0/ eller send et brev til Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

General

Python-pakken pco tilbyr alle funksjoner for arbeid med pco-kameraer som er basert på strømmen pco.sdk. Alle delte biblioteker for kommunikasjon med kamera og påfølgende bildebehandling er inkludert.

  • Enkel å bruke kameraklasse
  • Kraftig API til pco.sdk
  • Bildeopptak og behandling med pco.opptaker

1.1 Installasjon
Installer fra pypi (anbefalt):
$ pip installer pco
1.2 Grunnleggende bruk
importer matplotlib.pyplot som plt
import pco
med pco.Camera() som kamera:
cam.record()
image, meta = cam.image()
plt.imshow(image, cmap='gray')
plt.show()EXCELITAS TECHNOLOGIES Python Software Development Kit - Grunnleggende bruk1.3 Hendelses- og feillogging
For å aktivere loggingsutgangen oppretter du kameraobjektet med parameteren debuglevel=.
Feilsøkingsnivået kan settes til en av følgende verdier:

  • 'off' Deaktiverer all utgang.
  • 'error' Viser bare feilmeldinger.
  • 'verbose' Viser alle meldinger.
  • 'ekstra verbose' Viser alle meldinger og verdier.

Standard feilsøkingsnivå er 'av'.
pco.Camera(debuglevel='verbose')

[][sdk] get_camera_type: OK.
Den valgfrie tidenamp= parameter aktiverer en tag i utskriften. Mulige verdier er: 'på' og 'av'. Standardverdien er 'av'.
pco.Camera(debuglevel='verbose', timestamp='på')

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

API-dokumentasjon

Pco.Camera-klassen tilbyr følgende metoder:

  • record() genererer, konfigurerer og starter en ny opptakerforekomst.
  • stop() stopper gjeldende innspilling.
  • close() lukker det gjeldende aktive kameraet og frigjør de okkuperte ressursene.
  • image() returnerer et bilde fra opptakeren som numpy array.
  • images() returnerer alle innspilte bilder fra opptakeren som en liste over numpy arrays.
  • image_average() returnerer det gjennomsnittlige bildet. Dette bildet er beregnet fra alle innspilte bilder i bufferen.
  • set_exposure_time() angir eksponeringstiden for kameraet.
  • wait_for_first_image() venter på det første tilgjengelige bildet i opptakerens minne.

Klassen pco.Camera har følgende variabel:

  • konfigurasjon

Pco.Camera-klassen har følgende objekter:

  • sdk tilbyr direkte tilgang til alle underliggende funksjoner i pco.sdk.
  • opptaker gir direkte tilgang til alle underliggende funksjoner i pco.opptaker.

2.1 Metoder
Denne delen beskriver alle metodene som tilbys av pco.Camera-klassen.
2.1.1 Rekord
Beskrivelse Oppretter, konfigurerer og starter en ny opptakerforekomst. Hele kamerakonfigurasjonen må stilles inn før du kaller record(). Kommandoen set_exposure_time() er det eneste unntaket. Denne funksjonen har ingen innvirkning på opptakerobjektet og kan hentes frem under opptaket.
Prototype def record(self, number_of_images=1, mode='sequence'):
Parameter

Navn Beskrivelse
antall_bilder Angir antall bilder som er tildelt i driveren. RAM-en til PC-en begrenser maksimumsverdien.
modus I "sekvens"-modus blokkerer denne funksjonen under opptak. Opptakeren stopper automatisk når antall_bilder er nådd. I 'sekvens ikke-blokkerende'-modus er denne funksjonen ikke-blokkerende. Statusen må sjekkes før du leser et bilde. Denne modusen brukes til å lese bilder under opptak, f.eks. miniatyrbilder.
I 'ring buffer'-modus er denne funksjonen ikke-blokkerende. Statusen må sjekkes før du leser et bilde. Opptakeren stopper ikke opptaket når antallet_bilder er nådd. Når dette skjer, overskrives de eldste bildene.
I 'fifo'-modus er denne funksjonen ikke-blokkerende. Statusen må sjekkes før du leser et bilde. Når antall_bilder i fifoen er nådd, slettes følgende bilder inntil bilder leses fra fifoen.

2.1.2 Stopp
Beskrivelse Stopper gjeldende innspilling. I 'ring buffer' og 'fifo' modus må denne funksjonen kalles opp av brukeren. I "sekvens" og "sekvens ikke blokkerende"-modus, blir denne funksjonen automatisk kalt opp når antall_bilder er nådd.
Prototype def stop(selv):
2.1.3 Lukk
Beskrivelse Lukker det aktiverte kameraet og frigjør de blokkerte ressursene. Denne funksjonen må kalles opp før applikasjonen avsluttes. Ellers forblir ressursene okkuperte.
Prototype def close(selv):
Denne funksjonen kalles automatisk hvis kameraobjektet er opprettet av with-setningen. Et eksplisitt kall til close() er ikke lenger nødvendig.
med pco.Camera() som cam: # gjør noen ting
2.1.4 Bilde
Beskrivelse Returnerer et bilde fra opptakeren. Bildetypen er en numpy.ndarray. Denne matrisen er formet avhengig av oppløsningen og ROI til bildet.
Prototype def image(self, image_number=0, roi=Ingen):
Parameter

Navn Beskrivelse
bildenummer Angir nummeret på bildet som skal leses. I "sekvens" eller "sekvens ikke blokkerende"-modus, samsvarer opptakerindeksen med image_number. Hvis image_number er satt til 0xFFFFFFFF, kopieres det sist innspilte bildet. Dette gjør det mulig å lage en live preview mens du spiller inn.
avkastning Angir interesseområdet. Bare denne delen av bildet kopieres til returverdien.

Example >>> cam.record(number_of_images=1, mode='sequence')
>>> bilde, meta = cam.image()
>>> skriv(bilde) numpy.ndarray
>>> image.shape (2160, 2560)
>>> bilde, metadata = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 XNUMX bilder
Beskrivelse Returnerer alle innspilte bilder fra opptakeren som en liste over numpy arrays.
Prototype def images(selv, roi=Ingen, blokkstørrelse=Ingen):
Parameter

Navn Beskrivelse
avkastning Angir interesseområdet. Bare denne delen av bildet kopieres til returverdien.
blokkstørrelse Definerer maksimalt antall bilder som returneres. Denne parameteren er kun nyttig i 'fifo'-modus og under spesielle forhold.

Example >>> cam.record(number_of_images=20, mode='sequence')
>>> bilder, metadata = cam.images()
>>> len(bilder) 20
>>> for bilde i bilder:

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

Gjennomsnitt: 2147.64 DN
Gjennomsnitt: 2144.61 DN

>>> bilder = cam.images(roi=(1, 1, 300, 300))
>>> bilder[0].shape (300, 300)
2.1.6 Bildegjennomsnitt
Beskrivelse Returnerer gjennomsnittsbildet. Dette bildet er beregnet fra alle innspilte bilder i bufferen.
Prototype def image_average(self, roi=Ingen):
Parameter

Navn Beskrivelse
avkastning Definerer interesseområdet. Bare denne delen av bildet kopieres til returverdien.

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
Beskrivelse Stiller inn eksponeringstiden til kameraet.
Prototype def set_exposure_time(selv, eksponeringstid):
Parameter

Navn Beskrivelse
eksponeringstid Må angis som flytende eller heltallsverdi i enheten 'sekund'. De underliggende verdiene for funksjonen sdk.set_delay_exposure_time(0, 'ms', time, timebase) vil bli beregnet automatisk. Forsinkelsestiden er satt til 0.

Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Vent_på_første_bilde
Beskrivelse Venter på det første tilgjengelige bildet i opptakerens minne. I opptakermodus 'sequence non blocking', 'ring buffer'. og 'fifo', funksjonen record() returnerer umiddelbart. Derfor kan denne funksjonen brukes til å vente på bilder fra kameraet før du kaller image(), images() eller image_average().
Prototype def wait_for_first_image(selv):
2.2 Variabel konfigurasjon
Kameraparametrene oppdateres ved å endre konfigurasjonsvariabelen.
cam.configuration = {'eksponeringstid': 10e-3,
'roi': (1, 1, 512, 512),
'timestamp': 'ascii',
'pikselhastighet': 100_000_000,
'trigger': 'autosekvens',
'acquire': 'auto',
'metadata': 'på',
'binning': (1, 1)}
Variabelen kan bare endres før funksjonen record() kalles. Det er en ordbok med et visst antall oppføringer. Ikke alle mulige elementer må spesifiseres. Følgende sample-koden endrer bare 'pikselhastigheten' og påvirker ikke noen andre elementer i konfigurasjonen.
med pco.Camera() som kamera:
cam.configuration = {'pixel rate': 286_000_000}
cam.record()

2.3 Objekter
Denne delen beskriver alle objekter som tilbys av pco.Camera-klassen.
2.3.1 SDK
Objektet sdk gir direkte tilgang til alle underliggende funksjoner i pco.sdk.
>>> cam.sdk.get_temperature()
{'sensortemperatur': 7.0, 'kameratemperatur': 38.2, 'strømtemperatur': 36.7}
Alle returverdier fra sdk-funksjoner er ordbøker. Ikke alle kamerainnstillinger dekkes for øyeblikket av kameraklassen. Spesielle innstillinger må settes direkte ved å ringe den respektive sdk-funksjonen.
2.3.2 Opptaker
Objektet rec gir direkte tilgang til alle underliggende funksjoner i pco.opptaker. Det er ikke nødvendig å kalle en opptakerklassemetode direkte. Alle funksjoner dekkes fullt ut av metodene i kameraklassen.

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

pco europa
+49 9441 2005 50
info@pco.de
pco.de
pco amerika
+1 866 678 4566
info@pco-tech.com
pco-tech.com
pco asia
+65 6549 7054
info@pco-imaging.com
pco-imaging.com
pco Kina
+86 512 67634643
info@pco.cn
pco.cn

EXCELITAS TECHNOLOGIES logoEXCELITAS TECHNOLOGIES logo 1

Dokumenter / Ressurser

PDF thumbnailPython programvareutviklingssett
User Manual · Python Software Development Kit, Software Development Kit, Development Kit, Kit

Referanser

Still et spørsmål

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Still et spørsmål

Ask a question about setup, compatibility, troubleshooting, or anything missing from this manual.