Introduction

The purpose of the ICS Camera Control Framework (CCF) is to provide an SDK used for integrating DCS solutions used typically for controlling COTS cameras used in the context of instrument control and for WFS; other use cases of COTS cameras may exist.

Even though the main purpose of CCF is to act as an SDK, the necessary tools to cover the most common use cases are provided within the package and in some cases it may be possible to use one of the provided DCS applications (binaries) out-of-the-box, but in most cases probably specific executables are needed, supporting new types of adapters to be implemented for the context, to cover the specific requirements of the individual context.

Scope

The scope of this manual is developers, integrating DCS solutions, based on the CCF SDK and for operations personnel, using a given DCS solution, based on the CCF SDK.

Main Deliverables

In this version of CCF, the following main deliverables are provided by the CCF Project:

  • The CCF SDK, used to integrate (develop) CCF DCS solutions.

  • CCF Control Application with GigE Vision support [https://www.automate.org/vision/vision-standards/vision-standards-gige-vision].

  • CCF Control Application with support for RTMS (RTMS receive only no control) [Real-Time MUDPI Stream Protocol v:1 (ESO-310635)].

  • CCF Control Application with support for the ENVision Protocol (control: OPC UA/data stream: RTMS - defined by the IFW project).

  • CCF Control Application providing only simulation.

  • Data Processing Recipe implementing finding the centroid of an image.

  • Data publishers for FITS files, the DDT and RTMS.

  • A C++ client interface class + command line utility.

  • A synchronous and asynchronous client library and command line utility (CLI).

  • A GUI widget library with some status and control widgets customised for CCF (early version provided for now).

  • A generic engineering GUI, based on the above, allowing to do base operations on a CCF instance (early version provided for now).

  • A small tool to generate FITS cube image sequences for the simulation mode.

  • A Python client interface class + command line utility (deprecated).

Disclaimer

The CCF is a product which is still under development as well as other ELT SW components. It is expected that modifications will be introduced in the CCF component in connection with future releases, which may not be backwards compatible. Moreover, some features have not yet been implemented, e.g., some commands of the CII Request/Response interfaces used, are not yet provided.

Acronyms

BAT

Basic Application Tools

CCF

Camera Control Framework

CCS

Central Control System

CII

Common Integration Infrastructure

CLI

Command Line Interface

CPL

Common Pipeline Library

CPU

Central Procesing Unit

COTS

Commercial Off-The-Shelf

DB

Database

DCS

Detector Control Software

DDT

Data Display Tool

DIT

Data Interface Tools

ESO

European Southern Observatory

ELT

Extremely Large Telescope

FITS

Flexible Image Transportation System

GUI

Graphical User Interface

HW

Hardware

ICD

Interface Control Document

ICS

Instrument Control System

ID

Identifier

IFW

Instrument Framework

IP

Internet Protocol

LCS

Local Control System

MAL

Middleware Adaptation Layer

MUDPI

Multicast UDP Interface

OLDB

Online Database

ODP

Online Data Processing

OPC

Open Platform Communications

RAD

Rapid Application Development

ROI

Region Of Interest

RTMS

Real-Time MUDPI Stream

SCXML

State Chart XML

SDK

Software Development Kit

SW

Software

UA

Unified Architecture

UDP

User Datagram Protocol

URI

Uniform Resource Identifier

WFS

Wavefront Sensor

Nomenclature

Acquisition Thread

Thread executed internally to handle the acquisition of data from the camera and other interaction.

Adapter

Class derived from a base class provided by the CCF Package, implementing a customisable behaviour and logic of specific CCF DCS instances.

Camera Name Mapping

YAML file used to map the generic names for parameters, used by a Communication Adapter, into the specific parameter names defined by the camera.

Configuration/ Configuration Parameter

The Configuration refers to properties of the system, controlling the behaviour and execution, which are loaded when the application starts up.

Control Application

The CCF Control, main application, executed to control and acquire the associated camera. Often referred to as “CCF Control”, for short.

Communication Adapter

Implements a specific communication protocol.

Data Publisher Adapter

Implements publishing of data to various types of targets, e.g. FITS files or the DDT. Also referred to as “Data Publisher”, for short.

Deployment Module

A WAF module used for generating a specific version of a CCF Control executable.

Dictionary

Standard ICS Dictionary providing information about parameters to be written in output data product files.

Initialisation Setup

Setup file loaded while starting up the application. It provides default values for the setup parameters.

Metadata Name Mapping

YAML file used to map the generic names for metadata parameters, used (generated) e.g. by a Communication Adapter, into the specific metadata parameter names to be written in the output data product file.

Non-Recording Data Publisher

Data Publisher which transmits the image data to memory or other application software.

Output Data Products

Files generated on disk containing data acquired and possibly processed by the DCS application.

Processing Pipeline

Refers to an internal Processing Thread with its registered Processing Recipes and associated Publisher Thread, in turn, with its registered Data Publishers.

Processing Recipe Adapter

Provides on-the-fly processing of image frames. Also referred to as “Processing Recipe” for short.

Recording Data Publisher

Data Publisher generating Output Data Products hosting the image data.

Recording Session

The execution of Output Data Product generation, following a “recif::RecStart” request.

Setup/Setup Parameter

The Setup refers to properties of the system, controlling the behaviour and execution, which can be altered at run-time.

Standard Adapter

Adapter considered of common interest and thus provided by the CCF Package.

Standard Data Publisher

Data Publisher considered of common interest and thus provided by the CCF Package.