Getting updated device properties from a videoinput or source object

5 views (last 30 days)
Hi,
I am interfacing to a Xenics Gobi-640 GigE camera by means of the Image Acquisition toolbox. In addition to previewing (custom GUI, custom preview function) and data acquisition, I also need to be able to obtain the camera temperature.
The camera temperature is available as the property DeviceTemperature in the video source structure ( obtained via
handles.src = getselectedsource(handles.vid);
for the handles.vid videoinput object). I seem to be able to read the temperature value by:
temperature = get(handles.src, 'DeviceTemperature');
or
temperature = get(handles.vid.Source, 'DeviceTemperature');
or simply
temperature = handles.src.DeviceTemperature;
This property does not update on its own in either handles.src or handles.vid.Source, and when read, always gives the same value regardless of whether the actual camera temperature changes. I am able to obtain a more current temperature by destroying and recreating the videoinput object. This seems to be a less-than-optimal method, though.
Is there a way to update this property value, or retrieve an updated temperature value, without killing and recreating the videoinput object?
I am using MATLAB R2012a with Image Acquisition Toolbox. GenICam 2.2 is installed.
Thanks, and regards,
Hannetjie
  1 Comment
MathWorks Image Acquisition Toolbox Team
Hi Hannetjie,
Unfortunately we did not attach Get Listeners (<http://www.mathworks.com/help/pdf_doc/imaq/adaptorkit.pdf>) in the GigE Vision adaptor. However, getting this bit of feedback is great as it lets us know our customer needs.
We do have callbacks such that if the GenICam nodemap changes we are notified, but in the case of temperature, this is something the nodemap wouldn't automatically be adjusted for and so no callback happens.
Also, all of the adaptors that ship with the toolbox were written by us.
Mark

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 2 Aug 2012
That seems like an adapter-specific issue. Your camera manufacturer more than likely wrote the adapter (the software that connects the low level camera drivers to MATLAB), rather than The Mathworks, so you should contact them.
  2 Comments
Hannetjie
Hannetjie on 2 Aug 2012
Hi Image Analyst,
Thanks for the answer. Perhaps I am mistaken, but I am not using an adaptor that was provided by the camera vendor. I am using the GigE Vision adaptor (which I believe is installed with Image Aquisition Toolbox, or when installing GenICam 2.2? In any case, it is described in in Matlab help: http://www.mathworks.com/help/toolbox/imaq/bsm6i5f.html ).
I am creating the video input object as:
handles.vid = videoinput('gige',1,'Mono16');
The camera is a GigE Vision device. Can this be an issue with the 'gige' adaptor?
Image Analyst
Image Analyst on 2 Aug 2012
I could be mistaken. I know that many/most of the adapters shipped with the Image Acquisition Toolbox were provided to the Mathworks by the camera manufacturers. Perhaps if you have a generic/universal adapter like the GigE adapter then it's possible The Mathworks wrote that adapter themselves. You should call them and ask them if the device temperature is a standard property that the GigE adapter is supposed to return, and return with the current value whenever you ask for it.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!