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

https://www.emva.org/standards-technology/genicam/

Aravis Library

https://github.com/AravisProject/aravis

FITS Standard

https://fits.gsfc.nasa.gov/

CamCom Repository

https://gitlab.eso.org/ifw/camcom