Commit 3bdc6910 authored by Samuel Debionne's avatar Samuel Debionne
Browse files

Update the documentation (build with CMake) and cleanup

parent 6c4b4f71
......@@ -7,62 +7,48 @@ DECTRIS EIGER
Introduction
------------
| The EIGER 1M is a high performance X-Ray detector system.
| It is made of two subsystems: a detector and a control server.
| The control server is driven using an HTTP RESTful interface.
| A C++ API for LImA has been developed at Synchrotron SOLEIL.
The EIGER 1M is a high performance X-Ray detector system.
It is made of two subsystems: a detector and a control server.
The control server is driven using an HTTP RESTful interface.
A C++ API for LImA has been developed at Synchrotron SOLEIL.
Prerequisite
------------
Need to install some dependencies:
Some dependencies need to be installed:
- libcurl
- liblz4
- libzmq
- libjsoncpp
On debian like system to install all dependencies, type this command:
to install all dependencies on debian like system, use this command:
.. code-block:: bash
seb@pcbliss02:~$ sudo apt-get install libcurl4-gnutls-dev liblz4-dev libzmq3-dev libjsoncpp-dev
$ sudo apt-get install libcurl4-gnutls-dev liblz4-dev libzmq3-dev libjsoncpp-dev
Installation and Module configuration
-------------------------------------
- follow first the steps for the linux installation :ref:`linux_installation`
The minimum configuration file is *config.inc* :
Follow the generic instructions in :ref:`build_installation`. If using CMake directly, add the following flag:
.. code-block:: sh
COMPILE_CORE=1
COMPILE_SIMULATOR=0
COMPILE_SPS_IMAGE=1
COMPILE_ESPIA=0
COMPILE_FRELON=0
COMPILE_MAXIPIX=0
COMPILE_PILATUS=0
COMPILE_BASLER=0
COMPILE_EIGER=1
COMPILE_CBF_SAVING=0
export COMPILE_CORE COMPILE_SPS_IMAGE COMPILE_SIMULATOR \
COMPILE_ESPIA COMPILE_FRELON COMPILE_MAXIPIX COMPILE_PILATUS \
COMPILE_BASLER COMPILE_ANDOR COMPILE_CBF_SAVING
- start the compilation :ref:`linux_compilation`
-DLIMACAMERA_EIGER=true
- finally for the Tango server installation :ref:`tango_installation`
For the Tango server installation, refers to :ref:`tango_installation`.
Initialisation and Capabilities
--------------------------------
In order to help people to understand how the camera plugin has been implemented in LImA this section
provide some important information about the developer's choices.
Implementing a new plugin for new detector is driven by the LIMA framework but the developer has some freedoms to choose which standard and specific features will be made available. This section is supposed to give you the correct information regarding how the camera is exported within the LIMA framework.
Camera initialization
`````````````````````
Initialization is performed automatically within the Eigercamera object. By default the stream will be
Initialization is performed automatically within the Eigercamera object. By default the stream will be
use to retrieved images unless hardware saving is activated (CtSaving::setManagedMode(CtSaving::Hardware))
Std capabilities
......@@ -73,7 +59,7 @@ Std capabilities
+------------------------+-------------+--------------+--------------+--------------+
| Capability | 1M Value | 4M Value | 9M Value | 16M Value |
+========================+=============+==============+==============+==============+
| Maximum image size | 1030 * 1065 | 2070 * 2167 | 3110 * 3269 | 4150 * 4371 |
| Maximum image size | 1030 * 1065 | 2070 * 2167 | 3110 * 3269 | 4150 * 4371 |
+------------------------+-------------+--------------+--------------+--------------+
| Pixel depth | 12 bits | 12 bits | 12 bits | 12 bits |
+------------------------+-------------+--------------+--------------+--------------+
......@@ -84,13 +70,14 @@ Std capabilities
* HwSync
Supported trigger types are:
Supported trigger types are:
- IntTrig
- IntTrigMult
- ExtTrigSingle
- ExtTrigMult
- ExtGate
* There is no hardware support for binning or roi.
* There is no shutter control.
......@@ -113,7 +100,7 @@ Optional capabilities
* **HwSaving**:
This detector can directly generate hd5f, if this feature is used.
Internally Lima control the file writer Eiger module.
This capability can be activated though the control part with CtSaving object with setManagedMode method.
This capability can be activated though the control part with CtSaving object with setManagedMode method.
* **Countrate correction**
* **Efficiency correction**
* **Flatfield correction**
......@@ -126,18 +113,18 @@ Configuration
* Device configuration
The default values of the following properties must be updated in the specific device to meet your system configuration.
The default values of the following properties must be updated in the specific device to meet your system configuration.
+------------------------+---------------------------------------------------------------------------------------------------+----------------+
| Property name | Description | Default value |
| Property name | Description | Default value |
+========================+===================================================================================================+================+
| DetectorIP | Defines the IP address of the Eiger control server (ex: 192.168.10.1) | 127.0.0.1 |
+------------------------+---------------------------------------------------------------------------------------------------+----------------+
How to use
-------------
----------
This is a python code example for a simple test:
This is a python code of a simple acquisition:
.. code-block:: python
......@@ -146,7 +133,7 @@ This is a python code example for a simple test:
#------------------+
# |
# v ip adress or hostname
# v ip adress or hostname
cam = Eiger.Camera(lid32eiger1)
hwint = Eiger.Interface(cam)
......@@ -171,7 +158,7 @@ This is a python code example for a simple test:
# set energy threshold in KeV
cam.seThresholdEnery(16.0)
cam.setPhotonEnergy(16.0)
# setting new file parameters and autosaving mode
saving=ct.saving()
......@@ -189,8 +176,8 @@ This is a python code example for a simple test:
# now ask for 10 msec exposure and 10 frames
acq.setAcqExpoTime(0.01)
acq.setNbImages(10)
acq.setNbImages(10)
ct.prepareAcq()
ct.startAcq()
......@@ -199,7 +186,6 @@ This is a python code example for a simple test:
while lastimg !=9:
time.sleep(1)
lastimg = ct.getStatus().ImageCounters.LastImageReady
# read the first image
im0 = ct.ReadImage(0)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment