Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Acquiring 16-bit Images with PCI-1426

My company is currently transitioning from using the PCI-1422 frame grabber (16-bit LVDS parallel) to the PCI-1426 frame grabber (Camera Link Base Configuration).  In order to use the PCI-1426, we have installed Measurement & Automation Explorer 3.1.1.3003 onto our host computer.

The camera that we are interfacing to the frame grabber has a 16-bit digital data output.  When acquiring parallel data using the PCI-1422 using Measurement & Automation Explorer, all 16-bits are properly captured and displayed.  The histogram for this acquisition also works (except that the 16-bit value is treated as a signed value instead of an unsigned value).  However, when interfacing to the PCI-1426 frame grabber in Camera Link mode, the data is properly acquired except that only the least-significant 12 bits are captured (the most-significant 4 bits are always forced to zero during image grabs).  Interestingly, the histogram generated while capturing data with the PCI-1426 only goes up to 4095.  I have set the "Bit Depth" parameter in the .icd file to 16.  This bit depth is reflected in the Measurement & Automation Explorer GUI during image grabs, but the image and histogram only acquire 12 bits.

The PCI-1426 manual states that the device can capture 16-bit x 1 tap data.  How do I configure the PCI-1426 to perform this task?
0 Kudos
Message 1 of 7
(4,688 Views)
Hi,
 
The problem could be related to your DataFPGAControl parameter in the camera file.  Because this parameter does contain other configuration information, it is difficult to recommend exactly what the value should be set to.  However, the algorithm is as follows:  (1) Convert the number to a hexadecimal number, (2) Change bits 0 and 1 to be equal to 0x2 (while preserving all other bits), (3) Convert back to a decimal number.  The converted decimal number is what should be written to the camera file.
 
For example, if DataFPGAControl is currently set to 0 or 1, the new value should be 2.  If DataFPGAControl is currently set to 32 or 33, the new value should be 34.  Incidentally, these particular example values were chosen because they are the most common values of DataFPGAControl.
 
If this doesn't help, let us know and we will investigate further.
 
Thanks,
Chris
 
0 Kudos
Message 2 of 7
(4,617 Views)
Thanks for the help.

Changing DataFPGAControl from 1 to 2 immediately fixed the problem.  We are now acquiring 16-bit data properly.

0 Kudos
Message 3 of 7
(4,611 Views)
I am having the same exact problem with a 1429 but 'DataFPGAContol' does not exist in my camera config.  I am using measurement and automation 4.3.

Is there something I can configure to accomplish this?
0 Kudos
Message 4 of 7
(4,301 Views)

Hi jkaero,

Just to be sure we are on the same page - the parameter DataFPGAControI is found in the camera file, NOT Measurement and Automation Explorer,  for your specific camera. I need a bit more information on your issue as your board is not the same as mention aboved. What is your bit depth setting? What happens when you try to snap/grab? How many bits are missing? The more information the better.

--Michelle

National Instruments
0 Kudos
Message 5 of 7
(4,263 Views)
Hi Michelle,
 
We are trying to grab 640x480 16bit unsigned imagery with the 1429.  Looking at the current output video it appears the video is being displayed as if it was signed data (pixels report their value as negative and the grayscale mapping looks incorrect).  Looking at my camera files (*.icd) I fould that DataFPGAControl does not appear in the file.  If I add DataFPGAControl the NI software complains that the icd file is not valid. 
 
Thanks for you help
0 Kudos
Message 6 of 7
(4,258 Views)
This seems to be a slightly different issue. Can you tell me what camera you are using and what camera attributes and acquisition attributes are available in Measurement and Automation Explorer? And what are they set to?
 
If you are going to be doing any image processing in LabVIEW you need to know that the IMAQ driver can only read 16-bit signed images. Your camera may be able to output unsigned but our driver is limited to signed. There is a work-around to convert a signed 32-bit image to act as a 16-bit unsigned which is detailed here 16-bit Images in NI Vision. You will still see signed 16-bit image in Measurement and Automation Explorer but you will be able to manipulate the image to work as unsigned in LabVIEW.
 
 
--Michelle

National Instruments
0 Kudos
Message 7 of 7
(4,227 Views)