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