Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

driver for 12 bit IDS CCD camera

Hi all,

I have a 12bit CCD camera, namely the IDS UI 6280SE-M and I am trying to acquire images in LabView 2009. The producer provides LabView drivers and sample VIs, but they are working only in 8bit mode, while the camera sensor is a 12bit and a provided software is able to grab 12bit images. Is anyone able to suggest me the way to obtain the desired 12bit images in LabView?

Many thanks for any help.

Best regards,


Fabrizio Croccolo

0 Kudos
Message 1 of 13
(6,464 Views)

This is a GigE camera, so you can go directly into Measurement Automation Explorer, and set up the camera bit depth there.  Be sure to press SAVE before leaving MAX.

 

If you want to be able to set the bit-depth on the fly, programatically, you will need to make use of the attribute nodes, in the IMAQdx palette.

Machine Vision, Robotics, Embedded Systems, Surveillance

www.movimed.com - Custom Imaging Solutions
Message 2 of 13
(6,461 Views)

Hi MoviJOHN,

thank you  for your reply! Actually with the provided drivers it is not possible to set the bit depth in Measurement and Automation Explorer, but maybe it is better to use a generic GigE camera driver? Can you please suggest one? Meanwhile I will look for it on the web...

Best,


Fab

0 Kudos
Message 3 of 13
(6,458 Views)

IDS GigE cameras are not [currently] "GigE Vision" and thus can only use IDS drivers. Your options are either to use their API directly or perhaps they might provide a DirectShow interface that IMAQdx can use. DirectShow won't support 12-bit mode either.

 

Eric

Message 4 of 13
(6,452 Views)

@ BlueCheese The  IDS UI 6280SE-M is in fact a GigE camera.  I know that almost everything else they have uses their propietary interface, but not this one. Whether it is GENiCAM or not is not clear from the documentation.

 

http://en.ids-imaging.com/store/ui-6280se.html

 

 

Assuming that the camera is GENiCAM compliant, and that any "filter" driver has been installed, the camera's configuration can be viewed and modified in MAX.  Look under Devices/IMAQdx.  If the camera name appears there, you can navigate, usually to the second tab, and change the bit depth.

 

If it does not show up, please confirm the partnumber, and I can look at other possibilities.

Machine Vision, Robotics, Embedded Systems, Surveillance

www.movimed.com - Custom Imaging Solutions
Message 5 of 13
(6,441 Views)
Where does that data sheet mention this camera is "GigE Vision"? They use the phrase "GigE" instead (referring to the physical interface) because this camera doesn't use the industry standard protocol. Thus you are limited to their drivers. Even if you install a driver that implements DirectShow to allow IMAQdx (and MAX) to see it, it cannot support 12-bit mode in our software via this interface.
Message 6 of 13
(6,437 Views)

Like I said "Whether it is GENiCAM or not is not clear from the documentation."

 

I have a definitive answer from IDS support on this now.  They support GENiCAM 1.0.  They do not adhere to the GigE Vision standard, so mileage may vary.

 

Here is the GENiCAM driver download link: http://en.ids-imaging.com/download-ueye-interfaces.html

 

They only offer the 32-Bit flavor.  Not sure what this means if you are installing on 64-Bit OS.

 

The support person mentioned that none of their VIs output more than 8-Bit data, because almost all of their product line only supports 8-bit.  The camera in question supports up to 12-bit color, both for sensor, and camera, but it is not common for their other color cameras.  He suggested that the 12 bit data can be had using direct DLL calls, but could not provide sample code to back up that claim.   

Machine Vision, Robotics, Embedded Systems, Surveillance

www.movimed.com - Custom Imaging Solutions
Message 7 of 13
(6,424 Views)
Again, the only way to use this camera in MAX and other NI software besides LabVIEW is via The DirectShow driver. In LabVIEW you can also use the VIs they provide that interface with their API directly.

You can not use their GenIcam drivers with LabVIEW. IMAQdx cannot use a GenICam TL driver directly --- it uses a different part of the GenICam standard internally to interface with cameras supporting standard protocols (like GigE vision and USB3 vision). The genicam standard is a whole family of standards and libraries that serve different purposes.
Message 8 of 13
(6,420 Views)

Alright.  MAX or no MAX, the basic problem is still how to get 12 bit data out of the camera, and I'm still convinced it is possible.

 

Since the VIs, as delivered by IDS are not fully supporting the entire camera line, you have to make a few changes.  Start by locating the VI in their toolkit called SetColorMode.vi.

 

This VI makes a call to the underlying DLL, setting the camera Pixel Depth Mode.  The problem is that IDS has only wired three (3) enum values to the input.  The mode you want is IS_CM_BAYER_RG12, which would have an enum of 7.  See the picture attached.  They mention that these are obsolete, but the numbering is still valid.  Only the names have changed.

 

To further complicate this, down stream VIs in the toolkit also make this assumption that nobody will ever want anything but 8 bit data.  Have a look at ArrayToVision.vi.  You may have to modify this one too, assuming you can get to that point.

 

The documentation covering C programing indicates that getting 12 bit data is entirely possible, so it's just a matter of identifying and fixing the vendor supplied VIs that are affected.  Unfortunately, the IDS cameras I have here are all USB2, so they are strictly 8/8.

Machine Vision, Robotics, Embedded Systems, Surveillance

www.movimed.com - Custom Imaging Solutions
Message 9 of 13
(6,414 Views)

Dear all,

first of all thank you very much for your replies. I found very interesting hints to proceed further. Anyway I am still fighting and did not get the result. I modified the SetColorMode.vi as suggested by MoviJOHN, but when I call the DLL with the input parameter 7 I get an error '125' (IS_INVALID_PARAMETER). I tried many different values and apparently only 0,1,6 do work. I wonder if there is also a problem with the firmware of the camera, I see form this link (http://en.ids-imaging.com/manuals/uEye_SDK/EN/uEye_Manual/index.html) that different pre-processing occurs depending on the firmware. I will dig a bit on this direction. Other possibilities are that some other parameter affect the possibility of choosing the raw_12 file format.

@MoviJOHN, you also mentioned a reponse from IDS support, how can I reach them?

Best regards,

Fabrizio

0 Kudos
Message 10 of 13
(6,383 Views)