Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

swap taps on PCIe-1429

I have a Silicon Imaging SI-4000 camera connected to a PCIe-1429 cameralink frame grabber.

The camera has a single cameralink connector ( cameralink Base)

 

I created an ICD file for the 1429 using the file creation utility version 2.0.3

My camera is a 2-tap, 12 bit monochrome.  When I specify 2 taps, I get tap 1 and 3.
The taps are interleaved vertically, so I select that in the utility.

I can get images, but they are wrong.  I get an entire image (2048 x 2048), but the first pixel the camera puts out

is from the second column, so I need to be able to swap columns.


Swap columns is greyed out in the ICD Generator utility.

 

How can I get the data from the 2 taps swapped?

Message 1 of 6
(4,046 Views)
The PCIe-1429 does not support the Swap Taps feature. Information on this can be found in the NI Camera File Generator Help with the tree path of User Manual » Acquisition » Functions » Advanced.

One option that you have is to use ImageToArray » Decimate 1D Array » Interleave 1D Array » ArrayToImage.
Vince M
Applications Engineer
Message 2 of 6
(4,030 Views)

Another option would be transpose or rotate image, deinterlace, swap the odd and even images, reinterlace, transpose or rotate back.  This keeps it all in images instead of converting to arrays.  I'm not sure which one would be faster.  Neither one is very fast.

 

Bruce

Bruce Ammons
Ammons Engineering
Message 3 of 6
(4,027 Views)

Thanks to both of you.  For my application, dealing with the arrays is better since I already convert the image to an array.

 

Does anyone know why the 1429 has this limitation?  And why it is not mentioned in the user manual?

0 Kudos
Message 4 of 6
(4,014 Views)
I do not know why it has this limitation. If the camera has options to swap the taps you could find out what the commands are to do that and maybe send the serial commands to take care of that. I can put in a documentation corrective action request if you would like. I hope the array manipulation will not be to much of a hastle.
Vince M
Applications Engineer
Message 5 of 6
(3,990 Views)

The camera is a "B-A" rather than "A-B" design.  There is not command to swap it's taps. It always puts out the data this way.

 

This camera ships with a frame grabber made by EPIX along with the XCAP software but I much prefer LabVIEW.

I purchased the 1429 (in addition to the EPIX PIXCI E4 that came with the camera) for an additional $1999. 

 

I was disappointed to find the PCIe-1429 can not swap taps even though the less expensive PCI-1428 evidently can.

 

I'm guessing it has to do with the bit file (EP1S20_CL_TCxTx_Base.dat) that gets loaded into the FPGA when the .ICD file is selected.

It must be difficult to support 8, 10, 12, up to 16 bit cameras that can be either color or monochrome with either base, medium, or full configuration and still allow for swapping of taps.  Most likely one or more of these cases would result in undesired results (such as swapped colors or swapped MSB/LSB) instead of swapped columns.

 

With the 1428 not having to support the cameralink Full specification, one of these variables goes away so the porblem becomes manageable.

 

So, I think I understand why the 1429 has this limitation...I'm just disappointed to learn about it now rather than before I made the purchase. 

Although the 1429 is more capable (it will do cameralink full), in my case it turns out to be less capable because I'm only using cameralink base.

 

As for array manipulation - it is causing my application to run at about half the frame rate it would if the frame grabber did the swap.

It is going to be fast enough for my immediate needs, but I'm looking at what it will take to get the XCAP application running with the EPIX board so I can utilize the full frame rate of the camera.

0 Kudos
Message 6 of 6
(3,984 Views)