Avicon

BFPython API od Bitflow

BFPython API

Odkryj nowe możliwości akwizycji dzięki nowemu SDK od Bitflow z implementacją
interfejsu do środowiska Python – BFPython. Wrapper ten implementuje niskopoziomową
bibliotekę SDK BufIn API. Akwizycja danych z wykorzystaniem tego interfejsu jest możliwa
zarówno w wersji bufora sekwencyjnego, jak i kołowego. Wsparcie dla najważniejszych
standardów w dziedzinie Machine Vision, takich jak GenICam CoaXPress, CameraLink
pozwala na kontrolę urządzeń, komunikację z portami, a także wiele innych
funkcjonalności.

BitFlow SDK

SDK (ang. Software development kit) jest integralną częścią każdego systemu akwizycji
obrazu i jego rolą jest zapewnienie funkcji do obsługi danych obrazowych przy
jednoczesnym zachowaniu minimalnych opóźnień i obciążenia procesora. Przykładowe
aplikacje jak akwizycja, sekwencjonowanie czy przetwarzanie obrazów pozwalają na
szybką implementację systemu w wybranym przez użytkownika środowisku
programistycznym takim jak C/C++/C#/Python i inne. Dla bardziej wymagających aplikacji
dostępne są liczne narzędzia programistyczne pozwalające na tworzenie zaawansowanych i
wydajnych systemów akwizycji danych.

BitFlow SDK dostępny w bezpłatnej wersji doskonale sprawdzi się, gdy wykorzystywane
są aplikacje od zewnętrznych dostawców takie jak: Adaptive Vision Studio, LabVIEW,
VisionPro czy HALCON. Dla klientów wymagających bardziej skomplikowanych rozwiązań,
korzystających z własnych programów dostępna jest płatna wersja. Dostępna jest także
rozbudowana dokumentacja – w tym wiele przykładów, dla każdego wspieranego języka.

Oprogramowanie dostępne w wersji 32-bit i 64-bit dla Windows’a i Linux’a.

Główne aplikacje:

• BitFlowPreview – podgląd wideo na 'live’ z możliwością zapisu
• BitFlowCapture – Sekwencyjna akwizycja obrazu i odtwarzanie
• CamML – Konfiguracja edytora i testera
• Ximilon – kontrola kamery za pomocą GenICam (CXP and CL)
• BFLog – System do logowania i debuggowania danych
• BFCom – aplikacja pozwalająca na bezpośredni dostęp do kamer z interfejsem Camera
Link przez komunikację z portami
• SysReg – narzędzie do ustawiania globalnych parametrów i ustawień

API

Dostosowane do potrzeb klienta – Bitflow API jest zorganizowane wielowarstwowo– każdy
interfejs API zapewnia inny poziom dostępu do framegrabbera.

• wyższe poziomy oferują wysokopoziomową funkcjonalność z mniejszą ilością odwołań
API
• niższe pozwalają na większą kontrolę nad procesem akwizycji

Poziomy API

• Buffer Interface (BufIn): Wysokopoziomowa kontrola bufora
• Camera Interface level (Ci): Średniopoziomowa kontrola nad framegrabberem np.
kontrola triggerowania (wyzwalania), zmiana ustawień I/O
• Low-level interface: Zapewnia najbardziej bezpośedni dostęp do framegrabber’a –
rejestrów i pamięci. Poziom ten całkowicie udostępnia użytkownikowi dostęp do
architektury karty

Specyfikacja (https://www.bitflow.com/software-development-kit/)

• Windows Windows 7/Windows 8/Windows 10 drivers i DLLs
• operacje asynchroniczne, wielozadaniowe i wielowątkowe
• interfejs do C/C++/C#/.NET 32-bit dla 32-bit wersji Windows’a
• interfejs do C/C++/C#/.NET 64-bit dla 32-bit wersji Windows’a
• Akwizycja typu 'event’ (np. koniec klatki, koniec DMA, utrata synchronizacji)
• wsparcie wysokopoziomowego API pozwala na konfigurację i rozpoczęcie procesu
akwizycji za pomocą <10 odwołań do funkcji, niskopoziomowe API wspiera całkowitą
kontrolę nad interfejsem kamery w tym kontrola 'line rate’ (szybkości linii – dla kamer
liniowych) czy czasu ekspozycji
• Niskoopóźnieniowy resetujący kod DMA pozwala na dużą 'gęstość’
różnorozmiarowych obiektów
• Kompleksowy system śledzenia błędów API wraz z komunikatami błędów pozwala na
pełną kontrolę programu
• Pełna obserwowalność stanu karty – maksymalnej ilości linii (dla różnych wielkości
obrazu), stanu akwizycji, trigger’owania i wielu innych
• Konfiguracja kamery i narzędzi testowych
• Przykładowe aplikacje wraz z kodem źródłowym do podglądu, procesowania,
zarządzania buforem i sekwencjonowaniem akwizycji
• Rozbudowane narzędzia do diagnostyki
• Wszystkie framegrabbery BitFlow są w stanie stworzyć testowe obrazy pozwalające na
rozwój aplikacji nawet gdy system akwizycji nie jest jeszcze całkowicie
skonfigurowany.

Podsumowanie

BitFlow SDK jest kompatybilne ze wszystkimi framegrabberami producenta, a obszerna
dokumentacja pozwala na bezproblemową integracje systemu wizyjnego.

Obszerna dokumentacja wraz z przykładami dostępna na:
https://www.bitflow.com/PythonHelp/index.html