GenICam
GenICam (ang.) Generic Interface for Cameras, standard definiujący w sposób ogólny cechy interfejsu programowania aplikacji ( API) dla wszystkich rodzajów kamer przemysłowych stosowanych w systemach wizyjnych.[1] Uniezależnia to sposób przygotowania oprogramowania współpracującego z kamerą od zastosowanego standardu interfejsu komunikacyjnego (np. GigE Vision lub Camera Link) i innych cech urządzenia. Standard GenICam jest zarządzany prze Europejskie Stowarzyszenie Systemów Wizyjnych EMVA (ang.) European Machine Vision Association.[2] Prace nad standardem rozpoczęto w 2003 [3] co zaowocowało zatwierdzeniem w roku 2006 pierwszego modułu GenICam, o nazwie GenApi. Ostatni moduł GenTL zatwierdzono w roku 2008.[4]
Przy tworzeniu standardu uczestniczyło wiele firm z branży systemów wizyjnych w tym:[5]
- Basler
- DALSA
- e2v semiconductors
- JAI Pulnix
- Leutron Vision
- Matrox Imaging
- MVTec Software
- National Instruments
- Pleora
- Stemmer Imaging
GenICam zawiera trzy moduły umożliwiające rozwiązanie w sposób ogólny podstawowych zadań w obszarze przemysłowych systemów wizyjnych. Modułami tymi są:
- GenApi: stosowany do konfiguracji kamery i zapisu informacji o sposobie dostępu do funkcji kamery i sterowania kamerą. Informacje zapisywane w formacie pliku XML;
- Nazewnictwo standadowych cech (ang.)Standard Feature Naming Convention (SFNC): zawiera zalecane nazwy i typy wspólnych cech kamer dla potrzeb zapewnienia wzajemenj kompatybilności;
- GenTL: zawiera opis warstwy interfejsu komunikacji w celu nadawania identyfikatorów kamer, pozyskiwania obrazów z kamer i przekazywania ich do oprogramowania użytkowego.
GenICam wspiera grupę pięciu podstawowych funkcji urządzeń wizyjnych:
- Konfiguracji kamery,
- Przechwytywanie obrazów,
- Graficznego interfejsu użytkownika (ang.) Graphical user interface GUI,
- Transmisji danych dodatkowych,
- Obsługi zdarzeń.