Skip to content

Releases: esrf-bliss/Lima


13 Aug 13:57
Choose a tag to compare

Version v1.9.10 released on August 13th 2021


To install the conda packages and since lima 1.9.8 the conda-forge channel must be set as the main one:

New features

  • RoiCollection new processlib sinktask now available
  • RoiCollection and RoiCounter accept an overflow threshold value to cut off randomly defective pixel

Bug fixes

  • CtBuffer: An overflow on the max number of buffer

Camera updates

  • Dhyana v1.9.1
    • Hw Roi do not check supported camera Roi
      The Dhyana 95 camera only support X offset as multiple of 4 and width (X) as multiple of 8
    • export Tucam trigger mode and trigger edge
    • The camera supports as default mode a roller shutter and can be switch to global mode or synchronous mode. In addition the input trigger can be detected on rising or falling edge:
      • Few fixes as well, the pixelsize in meter now, the firmware version is a string.
      • Manage the cold start and take a fake acquisition, otherwise the detector does not start on the first trigger.
      • set the trigger mode in prepareAcq
    • prepareAcq must not start the acquisition
    • Some refactoring needed to move the start of the acquisition to startAcq and only prepare buffer or acquisition parameters like trigger mode in prepareAcq
    • Add ExtTrigSingle
  • Eiger v1.9.8
    • workaround for bug in restful api of simplon 1.8 with filewriter "files" command returning a null string instead of a empty string list when there is no file
    • HW saving: fix setCommonHeader() for eiger2 api pass double value
    • add threshold_energy2
    • add threshold_diff_mode
    • tango:
      • add detector_ip attribute (ro) to get the ip address of the detector DCU, useful to send curl command to the detector DCU
      • add threshold_energy2 attribute (rw)
      • add threshold_diff_mode attribute (rw)
  • Pilatus
    • v1.9.5
      • nb frames max 65535 only for IntTrig trigger mode
    • v1.9.4
      • support for live mode (frames = 0)
      • increase TmpfsBuffer to 95% of the file-system provided (typically a ramdisk)
    • v1.9.3
      • Manage S series where hw-roi is not supported: add a camera_s_serie keywork in camera.def


18 Jan 13:55
Choose a tag to compare

New features

  • Conda: stop support for python 2.7 and 3.6

Bug fixes

  • Check whether the acquisition is still running when detructing CtControl and stop the aquistion accordingly
  • Call H5garbage_collect at the begin of SaveContainer_Hdf5::_prepare
  • Fix CtSaving data race conditions
    • Fix data race in CtSaving::Stream::m_cnt_status
    • Fix HwBufferMgr when nb of available buffers decreases (e.g. to_alloc is negative)
    • Fixes some artihmetic overflows, uninitialized variables and throws where code should be noexcept
  • Fix CtImage (more missing SwapDimIfRotated for binning)
  • Add missing Fault status to python hardware interface

Camera updates

  • Eiger v1.9.5

    • http_port property added for Tango device
    • Add retrigger command
    • Add high voltage reading (measured and target)
      add high voltage state reading and reset command
    • Add Warning message when Command data does not fit in buffer
    • Use better way to read DETECTOR_READOUT_TIME among different API vesions:
      • First try reading min value, use main value if negative
    • Limit ZMQ poll time to 2 sec after an abort:
    • Acquisition does not dead-lock if dseries_end header is not received
    • Correct plugin_status attributes which conflict with standard tango status
    • Deal with trigger command issues due timeout in lengthy acquisitions (> 5 min)
    • Identify HTTP response codes in Commands; report error for codes 4xx and 5xx
    • Fix issues in IntTrigMult:
      • Bug incrementing m_frames_triggered
      • Fix Camera and Interface status when Armed
      • Remove unnecessary check in Interface::startAcq (improved in CtControl)
  • Pilatus v1.9.2

    • In Tango plugin fix a host_port misinterpreted type, now accept port number as an integer
  • Lambda v1.9.0

    • use now X-Spectrum SDK version 1.3.2. A conda package is available for the SDK xspectrum-sdk on esrf-bcu channel

PyTango server updates


  • Bug fixes

    • shared_memory_ attributes silently ignored in read or write if the Display module is not available
    • Unused code clean up and python2 backward compatibility restored
    • acc_saturated_cblevel attribute ignores read/write if no module is loaded
    • Tango event of last-image-changed fixed to not lost last events before the acquisition finishes
  • New features

    • RoiCounter and RoiSpectrum mask now support SILX 0.14 file format
    • BackgroundSubtraction: takeNextAcquisitionAsBackground() command cam be called during an acquisition


  • New features for RoiCounters
    • makes BufferSize and MaskFile always accessible
    • added MaskFile Property and Attribute on RoiCounter
      • raise ValueError in case mask file cannot be read


18 Jan 13:56
Choose a tag to compare

New features

  • lima_conda_build script: local Conda compilation with optimization for native architecture

Bug fixes

  • #135: Fix unprotected member access in CtSaving::_getTaskList
  • #131: InvalidValue exception, roi-out-of-limits when applying rotation with an image_roi
    already defined
    fix computation of the max_roi according to the current binning and rotation
    Add equality operators for Size and their missing python bindings for Point, Size and FrameDim
    Add test for ROI computation for every bin / flip / rot
  • #130: continuous acquisition and hdf5 saving broken
    fix deadlock resulting in saving task stall and consequently AcqStatus being AcqRunning
    fix _calcAcqStatus when acq_nb_frames == 0
  • #120: stopAcq() destroying non empty allocator
    Do not destroy default Allocator until it's empty

Camera updates

  • Maxipix 1.9.1: fixed latency_time calculation when in hardware trigger mode

  • Pilatus 1.9.1:

    • Bug Fix: IntTrigMult trigger mode, mode to software trig each image exposing,
      has been repaired, and can be use now to have faster software acquisition sequence
    • New Features:
      Tango: new properties to run the server on a slave computer, not only on the DCU computer:
      • tmpfs_path. default = /lima_data
      • host_name, default = localhost
      • host_port, default = 41234
      • config_path, default = /home/det/p2_det/config/cam_data/camera.def
  • Simulator 1.9.2:

    • Fix EDF Parser (allow smaller header block of 512Kib)
    • Fix Prefetch mode (segfault and/or black images with some use cases)

New cameras

  • Arinax: The OAV B-ZOOM is an On-Axis Video-microscope with a hybrid zoom system used for
    parallax free observation of micrometer sized crystals. It is optimized for MX crystallography
    beamlines and high throughput stations in Synchrotrons.
  • QHYccd: high-performance scientific grade CMOS and CCD cameras

Lima 1.9.5

23 Jul 11:43
Choose a tag to compare

Version 1.9.5 released on July 23th 2020

New features

  • HDF5 container:
    • new attributes "file_name" and "file_time" to keep track of the original
      file path and creation date.
    • adjust the image dataset size to the number of acquired frames
    • in manual saving, keep a contiguous frame dataset
    • Avoid Tango dead-lock timeout due to lengthy memory allocations

Bug fixes

  • fix cmake find_package_handle_standard_args warning

  • fix conversion compiler warning when calling import_array macro.

  • HDF5 container:

    • Fix parallel saving:
      • Refactor SaveContainerHdf5::_File:
      • Add debug information when writing HDF5 Dataset chunk fails
      • Remove unused variables
      • Use AutoPtr for dynamically-allocated objects
      • Simplify initialization at _open
    • fixed bug with number of frames for last file.
    • adjust the image dataset to the real number of acquired frames
  • Fix bug in CtControl::unregisterImageStatusCallback and improve code:

    • Allow unregisterImageStatusCallback if acq is not Ready
      • Do not throw exception: it is called from cb destructor
      • Status can be AcqFault, which is perfectly legal to unregister
    • Cosmetics
    • ThreadUtils: remove obsolete declarations in ReadWriteLock

Lima 1.8.1

06 May 13:07
Choose a tag to compare

Bug fixes

  • Fix issues when allocating more HW buffers

Lima 1.8.0

08 Feb 14:57
Choose a tag to compare

New Features

  • Build system has been refactored to use CMake, a cross-platform build system (Windows and Linux)
  • Building camera either standalone or using Lima as master project
  • Better support for C++ developers (with CMake packages)
  • Install.(sh|bat) to ease build and installation for CMake averse :-)
  • Conda binary packages for processlib, LImA core and some cameras and pytango device server for Linux and Windows platforms
  • Support for Python 3
  • CI running on ESRF's Gitlab instance
  • Documentation improvements and migrated to ReadTheDocs (
  • Use semantic versionning
  • New HDF5 layout, direct chunk and bitshuffle LZ4 / gzip compression support
  • New BPM pytango plugin, Beam Position Monitor
  • Simulator improvements (new prefetch and read from files modes)

New Camera Plugins

  • ZWO camera plugin (thanks to Jens Krueger)
  • SlsDetector (PSI Eiger) camera plugin (thanks to Alejandro Homs)
  • FLI (Finger Lake Instrument) camera plugin (thanks to Laurent Claustre)
  • Lambda (Quantum) camera plugin (thanks to Teresa Nunez)