Commits (3)
......@@ -20,7 +20,7 @@ requirements:
- python {{ python }}
- sip 4.19.8 # For compatibility with pyqt 5.9.2
- lima-core >1.9.2
- xspectrum-sdk
- xspectrum-sdk >=1.4.1
build:
- git
- cmake
......
......@@ -8,11 +8,19 @@ Lambda / Xspectrum
Intoduction
```````````
This plugin control a Xspectrum Lambda camera under linux, using lambda libraries developed at DESY.
LAMBDA is a next-generation pixel detector for X-rays, based on Medipix3 technology. It is a photon-counting detector, making it effectively noise free, and it offers a high frame rate of up to 23,000 frames per second (with no readout deadtime) and a small pixel size of 55 µm. It is available in a wide variety of sizes and configurations for different applications, and can be equipped with different sensor materials to allow high detection efficiency even at high X-ray energies. The system also has “colour imaging” capabilities, where X-rays hitting the detector can be divided into two energy ranges (**\***). Developed by DESY for use at the PETRA-III synchrotron, the system is designed for high reliability, and has external triggering and gating capability for synchronisation with the rest of the experiment. It can be easily integrated into common beamline control systems.
Prerequisite
````````````
Installation & Module configuration
````````````````````
Follow the generic instructions in :ref:`build_installation`. If using CMake directly, add the following flag:
.. code-block:: sh
-DLIMACAMERA_LAMBDA=true
For the Tango server installation, refers to :ref:`tango_installation`.
Initialisation and Capabilities
......@@ -22,27 +30,82 @@ Initialisation and Capabilities
Camera initialisation
......................
The camera will be initialized by created the :cpp:class:`Lambda::Camera` object. The contructor
will take care of your detector configuration according to the SDK installation setup done before.
The Camera::Camera() constructor required to pass the full path to the configuration directory installed
on the control computer. The standard path should be /opt/xsp/config .
Std capabilites
................
This plugin has been implement in respect of the mandatory capabilites but with some limitations which
are due to the camera and SDK features. We provide here further information for a better understanding
of the detector specific capabilities.
Optional capabilites
........................
* HwDetInfo
getCurrImageType/getDefImageType(): Bpp16 only.
setCurrImageType(): this method do not change the image type which is fixed to Bpp16.
* HwSync
Specific control parameters
.............................
get/setTrigMode(): the supported mode are IntTrig, ExtTrigSingle, ExtTrigMult and ExtGate
Optional capabilites
........................
None of the hardware capability like HwRoi, HwBin have been implemented.
Configuration
`````````````
No Specific hardware configuration are needed
No Specific hardware configuration are needed. The detector is sold with a control computer equiped with hardware and software.
How to use
````````````
This is a python code example for a simple test:
.. code-block:: python
from Lima import Lambda
from Lima import Core
cam = Lambda.Camera('/opt/xsp/config')
hwint = Lambda.Interface(cam)
ct = Core.CtControl(hwint)
acq = ct.acquisition()
# set the detector energy threshold
cam.setEnergyThreshold(6.0)
# setting new file parameters and autosaving mode
saving=ct.saving()
# set saving in HDF5 bitshuffle compression
pars=saving.getParameters()
pars.directory='/data1/test_lima'
pars.prefix='test1_'
pars.suffix='.h5'
pars.fileFormat=Core.CtSaving.HDF5BS
pars.savingMode=Core.CtSaving.AutoFrame
saving.setParameters(pars)
# now ask for 2 sec. exposure and 10 frames
acq.setAcqExpoTime(2)
acq.setAcqNbFrames(10)
ct.prepareAcq()
ct.startAcq()
# wait for last image (#9) ready
lastimg = ct.getStatus().ImageCounters.LastImageReady
while lastimg !=9:
time.sleep(1)
lastimg = ct.getStatus().ImageCounters.LastImageReady
# read the first image
im0 = ct.ReadImage(0)
Lambda Tango device
====================
This is the reference documentation of the Lambda Tango device.
you can also find some useful information about the camera models/prerequisite/installation/configuration/compilation in the :ref:`Lambda camera plugin <camera-lambda>` section.
Properties
----------
This camera device has no property.
=============== =============== =============== ==============================================================
Property name Mandatory Default value Description
=============== =============== =============== ==============================================================
config_path Yes None path the manufacturer configuration file of the detector
should be something like: /opt/xsp/config
=============== =============== =============== ==============================================================
Attributes
----------
======================= ======= ======================= ============================================================
Attribute name RW Type Description
======================= ======= ======================= ============================================================
distorsion_correction ro DevBoolean Return **True** if the distorsion correction is active
temperature ro DevDouble The detector temperature in C
humidity ro DevDouble The detector humitity in %
energy_threshold rw DevDouble The energy threshold in KeV
high_voltage rw DevDouble The high voltage, relevant only for CdTe model
======================= ======= ======================= ============================================================
Distorsion_correction, temperature and humidity are only relevant with detector equiped with the latest harwdare
and firmware, since mid of 2020.
Commands
--------
======================= =============== ======================= ======================================
Command name Arg. in Arg. out Description
======================= =============== ======================= ======================================
Init DevVoid DevVoid Do not use
State DevVoid DevLong Return the device state
Status DevVoid DevString Return the device state as a string
getAttrStringValueList DevString: DevVarStringArray: Return the authorized string value list for
Attribute name String value list a given attribute name
======================= =============== ======================= ======================================