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.

Eventhough 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 many cases it may be possible to use one of the provided DCS binaries out-of-the-box, but in most cases probably some adaptation, in the form of adapters to be implemented, may be needed 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:

  • CCF Control Application with GigE Vision support.

  • CCF Control Application with support for RTMS (RTMS receive only no control).

  • 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 synchroneous and asynchroneous client library and command line utility (CLI).

  • 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 stil 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 are not backwards compatible. An example is the configuration handling, which may be re-implemented to use the CII Configuration Service. Other changes will be adoptation of the CII Error Handling Service and CII OLDB Service and final handling of setup parameters. Moreover, some features have not yet been implemented, e.g., some commands of the CII Request/Response interfaces used, are not yet provided.

Note: From IFWv4, CCF Control has been migrated to the CII Configuration Service. This means that existing configurations, prepared for the IFWv3 version, will have to be ported. This has to be done manually.

Acronyms

DB

Database

CCF

Camera Control Framework

DCS

Detector Control Software

DDT

Data Display Tool

CCS

Central Control System

ELT

Extremely Large Telescope

FITS

Flexible Image Transportation System

GUI

Graphical User Interface

HW

Hardware

ICS

Instrument Control System

LCS

Local Control System

OLDB

Online Database

RAD

Rapid Application Development

ROI

Region Of Interest

SCXML

State Chart XML

SW

Software

WFS

Wavefront Sensor

Nomenclature

Acquisition Thread

The 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.