Lima-tango-python issueshttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues2020-08-25T10:14:17+02:00https://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/28"InvalidValue: Roi out of limits" when applying rotation with an image_roi al...2020-08-25T10:14:17+02:00Perceval Guillou"InvalidValue: Roi out of limits" when applying rotation with an image_roi already defined
If a rotation of 90deg is set while a roi is already defined, then Lima tries to recompute the roi but then it checks that the new roi is included in the fullframe rect but it forgets to rotate the fullframe sizes.
example: if rot = 0...
If a rotation of 90deg is set while a roi is already defined, then Lima tries to recompute the roi but then it checks that the new roi is included in the fullframe rect but it forgets to rotate the fullframe sizes.
example: if rot = 0 => camera fullsize: w=800, h=600
+ set a roi => proxy.image_roi = 300,50,450,300
then we apply a rotation: proxy.image_rotation = '90'
=> lima applies rotation and then compute a new_roi => 250,300,300,450
BUT it checks that new_roi is included in fullframe <800, 600> and fails because the new roi is off
It should have checked that the new_roi is in the rotated fullframe <600, 800> !
```
InvalidValue: Roi out of limitsm_max_roi=<0,0>-<800x600>, roi=<250,300>-<300x450>
```
if current rotation is 90 or 270, limitsm_max_roi should return <0,0>-<600x800> instead of <0,0>-<800x600>https://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/64'HwDetInfoCtrlObj' object has no attribute 'setUserInstrumentName'2023-09-19T15:37:43+02:00Samuel Debionne'HwDetInfoCtrlObj' object has no attribute 'setUserInstrumentName'When setting the instrument name property, the DS won't start with:
```py
File "C:\Mambaforge\envs\pco\lib\site-packages\Lima\Server\LimaCCDs.py", line 398, in __init__
self.init_device()
File "C:\Mambaforge\envs\pco\lib\site-pa...When setting the instrument name property, the DS won't start with:
```py
File "C:\Mambaforge\envs\pco\lib\site-packages\Lima\Server\LimaCCDs.py", line 398, in __init__
self.init_device()
File "C:\Mambaforge\envs\pco\lib\site-packages\Lima\Core\Debug.py", line 64, in real_fn
return new_fn(*arg, **kw)
File "C:\Mambaforge\envs\pco\lib\site-packages\Lima\Server\LimaCCDs.py", line 666, in init_device
self.__detinfo.setUserInstrumentName(self.UserInstrumentName)
AttributeError: 'HwDetInfoCtrlObj' object has no attribute 'setUserInstrumentName'
```
Obvious mistake in
```py
# Setup a user-defined detector name if it exists
if self.UserInstrumentName:
if SystemHasFeature("Core.HwDetInfoCtrlObj.setInstrumentName"):
self.__detinfo.setUserInstrumentName(self.UserInstrumentName)
else:
deb.Warning("UserInstrumentName not supported in this version")
```
`__detinfo.setUserInstrumentName` should be `__detinfo.setInstrumentName`.Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/11[BPM] colormaps/scaling/stuff2019-05-06T08:13:33+02:00Damien Naudet[BPM] colormaps/scaling/stuffThe Bpm.construct_bvdata function needs some work.
I get a null image and no profiles when using limagui (hooked on the bvdata tango attribute)
Not sure what the scaling is supposed to do, but with the simulator it just flattens the ima...The Bpm.construct_bvdata function needs some work.
I get a null image and no profiles when using limagui (hooked on the bvdata tango attribute)
Not sure what the scaling is supposed to do, but with the simulator it just flattens the image to 0.
The profiles are sent as a string representation of the array (e.g: '[1, 2, 3]'), instead of an encoded byte array like it's done for the jpeg data.Damien NaudetDamien Naudethttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/29[bpm] option for bayer decoding2020-09-04T14:23:41+02:00Stuart Fisher[bpm] option for bayer decoding@berruyer asked if its possible for the bpm-web viewer to show images in colour.
I think it should be possible to add an option to return colour image, for instance bayer decode.
I'm not quite sure how you get hold of the image mode an...@berruyer asked if its possible for the bpm-web viewer to show images in colour.
I think it should be possible to add an option to return colour image, for instance bayer decode.
I'm not quite sure how you get hold of the image mode and thus know if you need to bayer decode, somewhere here:
https://gitlab.esrf.fr/limagroup/Lima-tango-python/-/blob/master/plugins/Bpm.py#L657
In my video streamer i do something along the lines of
```
if cv2:
if image_mode >= 11 or image_mode <= 14:
data = cv2.cvtColor(data, cv2.COLOR_BAYER_RG2RGB)
```
where image_mode comes from the image headerStuart FisherStuart Fisherhttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/33`read_acc_saturated_cblevel` should return `-1` instead of throwing when not ...2020-10-07T12:09:28+02:00Samuel Debionne`read_acc_saturated_cblevel` should return `-1` instead of throwing when not callback is setEverything is in the title.
Related to https://gitlab.esrf.fr/bliss/bliss/-/merge_requests/2935Everything is in the title.
Related to https://gitlab.esrf.fr/bliss/bliss/-/merge_requests/2935Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/10Add image_mode attribute for operation mode on Roi and Binning2022-04-07T11:50:52+02:00Laurent ClaustreAdd image_mode attribute for operation mode on Roi and BinningOnly default mode is used on CtImage::setMode() HardAndSoft, but some users may need to force to SoftOnly or HardOnly
for Roi and Binning operation.Only default mode is used on CtImage::setMode() HardAndSoft, but some users may need to force to SoftOnly or HardOnly
for Roi and Binning operation.v1.9.13Laurent ClaustreLaurent Claustrehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/22add lima_version attr2020-02-11T15:14:51+01:00Laurent Claustreadd lima_version attrlima 1.9.2 will provide a new method CtControl::getVersion() to read the limacore version. Useful for client like BLISS to check some supported feature like the new HDF5 implementation available since 1.9.2lima 1.9.2 will provide a new method CtControl::getVersion() to read the limacore version. Useful for client like BLISS to check some supported feature like the new HDF5 implementation available since 1.9.2Laurent ClaustreLaurent Claustrehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/59Add new CtAccumulation attributes2023-09-19T15:37:28+02:00Samuel DebionneAdd new CtAccumulation attributesRelated to lima#185.
Add `acc_out_type` that can be set with `ImageType` value, aka `Bpp8`, `Bpp8S`, `Bpp16`, `Bpp16S`...Related to lima#185.
Add `acc_out_type` that can be set with `ImageType` value, aka `Bpp8`, `Bpp8S`, `Bpp16`, `Bpp16S`...Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/54Allow readImage to get last frame since a given frame index2023-09-19T15:37:10+02:00Samuel DebionneAllow readImage to get last frame since a given frame index`readImage(-1)` fetches the last image, but there is no way to get the last image after a given frame index to avoid fetching the same image multiple times.
The idea is to introduce a new command `readLastImage(n)` that would fetch the ...`readImage(-1)` fetches the last image, but there is no way to get the last image after a given frame index to avoid fetching the same image multiple times.
The idea is to introduce a new command `readLastImage(n)` that would fetch the last image only if the last image index is `> n`.
Discussed with @valentin.vallsSamuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/31allow the simulator to be loaded with a numpy array instead of a .edf file2020-09-08T16:38:55+02:00Perceval Guillouallow the simulator to be loaded with a numpy array instead of a .edf fileThe load prefetch mode is great and woks well with edf images (see file_pattern).
However it would be even better and more straightforward to be able to feed the prefetch mode directly with numpy arrays (in addition to the actual 'fill_...The load prefetch mode is great and woks well with edf images (see file_pattern).
However it would be even better and more straightforward to be able to feed the prefetch mode directly with numpy arrays (in addition to the actual 'fill_with_edf_files' thing)https://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/13Apps have no way of knowing if an acquisition has started2020-12-23T15:38:58+01:00Damien NaudetApps have no way of knowing if an acquisition has startedAFAIK, a GUI connected to the LimaCCDs server has no way of knowing if an acqusition was started/canceled/finished without enabling the image status events, or polling the acq_status attribute (but then changes can be missed if the acqui...AFAIK, a GUI connected to the LimaCCDs server has no way of knowing if an acqusition was started/canceled/finished without enabling the image status events, or polling the acq_status attribute (but then changes can be missed if the acquisition is shorter than the polling period).
It would be nice to have an event on the acq_status attribute.Damien NaudetDamien Naudethttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/30background correction: take next image as dark image during acquisition2021-01-14T11:41:57+01:00Laurent Claustrebackground correction: take next image as dark image during acquisitionThe current plugin command cannot be use during a acquistion, idea is to allow to use any image during a scan as new background.The current plugin command cannot be use during a acquistion, idea is to allow to use any image during a scan as new background.Laurent ClaustreLaurent Claustrehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/20bpm add min-max for manual scale mode2019-12-04T11:41:39+01:00Laurent Claustrebpm add min-max for manual scale modehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/19bpm jpeg_quality control2019-11-15T17:14:10+01:00Laurent Claustrebpm jpeg_quality controladd property+attr for jpeg quality control
In addition add support for turbojpeg encoding if it is available(PyJpegTurbo nad libturbojpeg.so)add property+attr for jpeg quality control
In addition add support for turbojpeg encoding if it is available(PyJpegTurbo nad libturbojpeg.so)Laurent ClaustreLaurent Claustrehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/24BPM leaking threads2020-06-08T11:16:33+02:00Samuel DebionneBPM leaking threadsOn ID21, they are starting and stoping the BPM for every single acquisitions and each acquisition is leaking one thread.
The following client code reproduce the issue:
```python
import tango
import time
bpm = tango.DeviceProxy('id00/b...On ID21, they are starting and stoping the BPM for every single acquisitions and each acquisition is leaking one thread.
The following client code reproduce the issue:
```python
import tango
import time
bpm = tango.DeviceProxy('id00/bpm/samsim')
cam = tango.DeviceProxy('id00/limaccds/samsim')
bpm.Start()
cam.prepareAcq()
cam.startAcq()
time.sleep(2)
aa=bpm.getResults(0)
cam.stopAcq()
bpm.Stop()
print(aa)
```
`ps -o nlwp <LimaCDDs PID>` increase after each run of this code.v1.9.5Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/56BPM plugin starts with UNKNOWN state2022-06-21T09:15:23+02:00Samuel DebionneBPM plugin starts with UNKNOWN stateSubsequent calls to `RunLevel` fail with `it is currently not allowed to write attribute RunLevel. The device state is UNKNOWN`Subsequent calls to `RunLevel` fail with `it is currently not allowed to write attribute RunLevel. The device state is UNKNOWN`Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/42BPM viewer's PyTurboJPEG should be sourced from Conda2021-03-29T09:20:51+02:00Samuel DebionneBPM viewer's PyTurboJPEG should be sourced from CondaReported by @naudet on [#lima-support](https://chat.esrf.fr/channel/lima-support?msg=HqDdFXxYEdAFQitqi).
Running the current ansible playbook, `numpy` is accidentally sourced from pypi:
```
# Name Version ...Reported by @naudet on [#lima-support](https://chat.esrf.fr/channel/lima-support?msg=HqDdFXxYEdAFQitqi).
Running the current ansible playbook, `numpy` is accidentally sourced from pypi:
```
# Name Version Build Channel
numpy 1.20.1 pypi_0 pypi
numpy-base 1.19.2 py37hfa32c7d_0
```
Since PyTurboJPEG, required by the BPM viewer and not avail in Conda at the time, we have this additional task:
```
TASK [lima : Installing pip package PyTurboJPEG.]
```
- [ ] Fix the Ansible playbook (remove the pip install task)
- [ ] Update the requirements of the Tango DS (add conda-forge / `pyturbojpeg`)Samuel DebionneSamuel Debionnehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/1bpm-device2018-09-21T16:34:03+02:00Aitor Henrybpm-devicehttps://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/25bpm.Stop() hangs if called to soon after the acquisition ends2020-07-03T15:46:38+02:00Perceval Guilloubpm.Stop() hangs if called to soon after the acquisition ends
test code:
```python
import tango
import time
bpm = tango.DeviceProxy('id00/bpm/samsim')
cam = tango.DeviceProxy('id00/limaccds/samsim')
cam.acq_expo_time = 1
sleep_time = 0.001
bpm_delay = 0.05
#-----start acquisition
bpm.Start()
...
test code:
```python
import tango
import time
bpm = tango.DeviceProxy('id00/bpm/samsim')
cam = tango.DeviceProxy('id00/limaccds/samsim')
cam.acq_expo_time = 1
sleep_time = 0.001
bpm_delay = 0.05
#-----start acquisition
bpm.Start()
cam.prepareAcq()
cam.startAcq()
#-----wait for image acquisition
while cam.last_image_ready == -1:
time.sleep(sleep_time)
#-----wait for bpm data
data = []
while len(data) == 0:
data = bpm.GetResults(0)
time.sleep(sleep_time)
#-----stop/clean
cam.stopAcq()
#time.sleep(bpm_delay) # <= introducing a delay >~ 0.02s avoids the error on next line (bpm.stop)
bpm.Stop() # <= hangs here and timeout after 3sec IF CALLED TOO SOON after end of acquisition
return data
```https://gitlab.esrf.fr/limagroup/Lima-tango-python/-/issues/39bpm: add property and attribute to disable/enable bpm calculation task only2021-02-19T12:50:08+01:00Laurent Claustrebpm: add property and attribute to disable/enable bpm calculation task onlyLaurent ClaustreLaurent Claustre