Introduction
Purpose
CamCom (Camera Communication) is a protocol-agnostic toolkit for implementing standardized camera communication adapters. It is developed as a collaboration between VLT and ELT Software and is used by the ESO VLT SW and the ELT Instrumentation Framework (IFW).
CamCom is not a production tool for controlling cameras. It is a toolkit that provides:
A generic C++ adapter interface (
AdapterBase) that any camera protocol can implement.An engineering test bench (
camcomServer) that can load any adapter at runtime and exercise its full API.A PyQt6 engineering GUI (
camcomGui) for interactive camera control, live image display, and diagnostics.A lightweight web dashboard for browser-based monitoring.
Ready-made adapters for GenICam/GigE Vision cameras (via Aravis) and a simulated camera for testing.
Scope
This manual covers:
The architecture and design of CamCom.
The core C++ API (
AdapterBase,Parameter,FrameInfo, etc.).The engineering test bench: server, GUI, web dashboard, and HTTP API.
The available adapter implementations (GenICam, Simulation).
Deployment, configuration, and usage examples.
Intended Audience
This manual is intended for:
Instrument developers who need to integrate a new camera using CamCom.
Test engineers who use the test bench to validate cameras in the lab.
Software engineers who maintain or extend the CamCom framework.
Acronyms and Abbreviations
Acronym |
Description |
|---|---|
API |
Application Programming Interface |
COTS |
Commercial Off-The-Shelf |
ELT |
Extremely Large Telescope |
ESO |
European Southern Observatory |
FITS |
Flexible Image Transport System |
FPS |
Frames Per Second |
GenICam |
Generic Interface for Cameras |
GigE |
Gigabit Ethernet |
GUI |
Graphical User Interface |
HTTP |
Hypertext Transfer Protocol |
IFW |
Instrumentation Framework |
JPEG |
Joint Photographic Experts Group |
MEF |
Multi-Extension FITS |
RAII |
Resource Acquisition Is Initialization |
REST |
Representational State Transfer |
ROI |
Region of Interest |
SFNC |
Standard Features Naming Convention (GenICam) |
URI |
Uniform Resource Identifier |
VLT |
Very Large Telescope |
YAML |
YAML Ain’t Markup Language |
References
Reference |
Description |
|---|---|
GenICam Standard |
|
Aravis Library |
|
FITS Standard |
|
CamCom Repository |