How to solve the lose packet problem for IR Camera

3 views (last 30 days)
K Hu
K Hu on 1 Oct 2021
Edited: K Hu on 24 Aug 2022
Hello,
I recently met a problem with my new FLIR IR camera (AX5 mono-16) due to a 'lose packet' situation.
The camera is controlled by the matlab image acquisition toolbox, configurated to capture one frame per trigger. Though It worked well for the first time (55000 frames during around 7 hours without warning), I met some bugs in the following tests. The warning stops the program while the camera is working correctly with the supplier software 'Flirtools'
Warning: The AtmosphericTemperature property could not be set. Check the current value before continuing your work.
Warning: The ReflectedTemperature property could not be set. Check the current value before continuing your work.
Warning: The WindowTemperature property could not be set. Check the current value before continuing your work.
Error event occurred at 14:59:23 for video input object: Mono16-gige-1.
gige: Block/frame 4239 is being dropped because a lost packet is unable to be resent. There are several possible causes for packets being lost. See the troubleshooting information in the "Configuring GigE Vision Devices" section of the Image Acquisition Toolbox documentation.
gige: Block/frame 4239 is being dropped because a lost packet is unable to be resent. There are several possible causes for packets being lost. See the troubleshooting
information in the "Configuring GigE Vision Devices" section of the Image Acquisition Toolbox documentation.
I checked with the online documents for the gige camera, and the configurations seem correct.
I want to ask if I can 'reset' the camera's memory or any solution for this sort of problem.
I attach my code for the camera:
function [Temp_max,temp_data_celcius] = Temperature_capture()
global video_input
trigger(video_input);
temp_linear = double(getdata(video_input));
temp_linear_stripped = temp_linear -(2^15) - (2^14); %removing the 2 MSB
%the temperature is linear in this format: T = Signal * 0.04
temp_data_kelvin = temp_linear_stripped * 0.04;
%we get the data in Kelvin, so it needs to be converted
temp_data_celcius = temp_data_kelvin - 273.15;
Temp_max=max(temp_data_celcius(74:101,135:167),[],'all');
end

Answers (1)

Friedrich Schlueter
Friedrich Schlueter on 24 Aug 2022
Edited: Friedrich Schlueter on 24 Aug 2022
I also have very similar problems with the Flir A65 and also some other GigE cameras, which still ran perfectly with the demo programmes supplied and also up to Matlab revision R2015a! Unfortunately, something must have been worsened in Matlab since then...
The problem is that some properties can allegedly not be set, although this has always worked without problems before. In my case, there are many properties (CorrectionUpdateSuppression property, RadiometricFilter property, LensNumber property, ...). There are even warnings and error messages when the camera is simply connected but streaming has not yet started. In addition, since all revisions after R2015a, my programme has become extremely slow in interaction with GigE cameras and the Image Acquisition Toolbox, just the command start(handles.Cam1) or simple snapshots take at least 4 times as long as before and there is also a frequent dropout of frames...
Since a Matlab engineer unfortunately did not understand my problem description or was unable to comprehend it, I am unfortunately still making do with writing the programmes e.g. for the GigE thermography cameras with the revision R2015a... :-(
  1 Comment
K Hu
K Hu on 24 Aug 2022
Edited: K Hu on 24 Aug 2022
Hello, I recently launched some tests with my A35 using matlab 2020b, and now the measure becomes quite stable without any issue of a lostpacket!
To obtain this: I configured
1) the largest value for the buffer of my ethernet card (it is not a high-performance one);
2) a small value for packetsize properties of the gigecamera;
3) the packetdelay value detected using a code provided by matlab;
4) reduce the update rate of monitoring the 2D thermal plot from 2 to 25 frames.
5) flash the camera memory every 200 frames.
I launched 12 tests between 9 and 10 hours with stable performance (around 40 fps), and no loss packet issue has been observed.
I noticed that if I attached another sensor (e.g., a Gigaeye) and stored the corresponding matrix into one variable, the issue would return very soon. Thus I think the problem might rely on the memory arrangement of variables. But if you use only the camera, it can be stable enough to perform the test.

Sign in to comment.

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!