Commit e148a266 authored by Samuel Debionne's avatar Samuel Debionne

Update the documentation (build with CMake) and cleanup

parent 80b5117d
......@@ -3,28 +3,29 @@
Andor SDK2 camera plugin
------------------------
.. image:: ikon-m_934_header.jpg
.. image:: ikon-L.jpg
.. image:: ikon-m_934_header.jpg
.. image:: ikon-L.jpg
Introduction
````````````
Andor Technology manufactuer offers a large catalogue of scientific cameras. Covered scientific applications are low ligth imaging, spectroscopy, microscopy, time-resolved and high energy detection.
Andor Technology manufactuer offers a large catalogue of scientific cameras. Covered scientific applications are low ligth imaging, spectroscopy, microscopy, time-resolved and high energy detection.
Andor is providing a unique Software Development Tool (SDK) for both Windows and Linux, supporting different interface buses such as USB, CameraLink and also some specific acquisition PCI board.
The Lima module as been tested only with this cameras models:
The Lima module as been tested only with these camera models:
- IKon-M and IKon-L (USB interface, Linux OS debian 6)
- IKon-L (USB interface, Windows XP - 32bits)
Prerequisite Linux OS
`````````````````````
Prerequisites
`````````````
Linux
.....
Previously to this you have to install the Andor SDK the default path (/usr/local).
For our test we us the SDK for Linux version **V2.91.30001.0** and ran the install script "install_andor"
for which option 5 (All USB Cameras) was selected, the default installation is made under /usr/local/ with:
First, you have to install the Andor Software developpement Kit (SDK) in the default path (/usr/local). For our tests, we used the SDK for Linux version **V2.91.30001.0** and ran the install script ``install_andor`` for which option 5 (All USB Cameras) was selected, the default installation is made under ``/usr/local/`` with:
- /usr/local/include, header files
- /usr/local/lib, library files
- /usr/local/etc/andor, configuration files
- ``/usr/local/include``, header files
- ``/usr/local/lib``, library files
- ``/usr/local/etc/andor``, configuration files
The Linux SDK 2.91 has shared libraries which has been compiled on recent linux kernel, check first you have the right kernel and
libc available by compiling one of the example program available under examples/console.
......@@ -33,53 +34,33 @@ Andor python module needs at least the lima core module.
For the USB camera the SDK is using the libusb under linux, check first your system is equiped with the libusb package otherwise you
will not compile the Andor Lima plugin.
Prerequisite Windows XP - 32 bits
`````````````````````````````````
Previously to this you have to install the Andor "\\Software developpement Kit (SDK)" using the default path (C:\\Program Files (x86)\\Andor iKon\\Drivers).
Generate "Lima Andor library" using the Visual Studio 2008 (msvc9) solution (\\Lima\\camera\\andor\\build\\msvc\\9.0\\LibAndor.sln).
Windows XP - 32 bits
....................
Add the location of the file "\\Lima\\camera\\andor\\sdk\\msvc\\bin\\ATMCD32D.DLL" to your PATH environement variable.
First, you have to install the Andor Software developpement Kit (SDK) in default path (``C:\\Program Files (x86)\\Andor iKon\\Drivers``).
Add the location of the file ``\\Lima\\camera\\andor\\sdk\\msvc\\bin\\ATMCD32D.DLL`` to your ``PATH`` environment variable.
Installation & 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_ANDOR=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_ANDOR=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 initialisation
......................
.....................
The camera will be initialized within the AndorCamera object. The AndorCamera contructor
sets the camera with default parameters for Preampifier-Gain, VerticalShiftSpeed and the ADC/HorizontalSpeed.
The camera will be initialized within the :cpp:class:`AndorCamera` object. The :cpp:func:`AndorCamera()` contructor sets the camera with default parameters for Preampifier-Gain, VerticalShiftSpeed and the ADC/HorizontalSpeed.
These parameters are optimized for the faster mode, which means the maximum gain, the "fasten recommended" VSSpeed (i.e as returned
by GetFastestRecommendedVSSpeed() SDK function call) and the ADC with the faster Horizontal speed.
......@@ -88,13 +69,13 @@ All the parameters can be set and get using the corresponding methods, the defau
can be applied with -1 as passed value:
set/getPGain()
set/getVsSpeed()
set/getADCSpeed()
Some other methods are available but they can not be supported depending on which camera model you are using:
set/getHighCapacity()
set/getFanMode()
......@@ -103,15 +84,15 @@ Some other methods are available but they can not be supported depending on whic
The above parameters, only support enumerate type for values.
Std capabilites
Std capabilities
................
This plugin has been implement in respect of the mandatory capabilites but with some limitations which
This plugin has been implemented in respect of the mandatory capabilites but with some limitations which
are due to the camera and SDK features. We only provide here extra information for a better understanding
of the capabilities for Andor cameras.
* HwDetInfo
getCurrImageType/getDefImageType(): the methods call the SDK GetBitDepth() function to resolve the image
data type. The bit-depth correspond to the AD channel dynamic range which depends on the selected ADC channel.
By experience and with IKon detectors we only have Bpp16 of dynamic range, but the methods can return Bpp8 and Bpp32
......@@ -122,23 +103,22 @@ of the capabilities for Andor cameras.
* HwSync
get/setTrigMode(): the only supported mode are IntTrig, ExtTrigSingle, ExtGate and IntTrigMult
Optional capabilites
........................
Optional capabilities
.....................
In addition to the standard capabilities, we make the choice to implement some optional capabilities which
are supported by the SDK and the I-Kon cameras. A Shutter control, a hardware ROI and a hardware Binning are available.
* HwShutter
setMode(): only ShutterAuto and ShutterManual modes are supported
setMode(): only ShutterAuto and ShutterManual modes are supported
* HwRoi
There is no restriction for the ROI setting
* HwBin
* HwBin
There is no restriction for the Binning but the maximum binning is given by the SDK function GetMaximumBinning() which depends
on the camera model
......@@ -146,8 +126,7 @@ are supported by the SDK and the I-Kon cameras. A Shutter control, a hardware RO
Configuration
`````````````
- Plug your USB camera on any USB port of the computer, that's all !!!
Plug your USB camera on any USB port of the computer, that's all !
How to use
````````````
......@@ -206,8 +185,8 @@ This is a python code example for a simple test:
# now ask for 2 sec. exposure and 10 frames
acq.setAcqExpoTime(2)
acq.setNbImages(10)
acq.setNbImages(10)
ct.prepareAcq()
ct.startAcq()
......@@ -216,9 +195,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)
Markdown is supported
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