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