Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Line triggering in C

Hello,

 

I am trying to acquire a series of images from a CameraLink image grabber. It is a linear camera of 2048 pixels. I am willling to use an external trigger, and trig one acquisition for every rising edge.

I am currently doing the following:

 

// Setup attributes

// [...]

 

// Setup trigger configuration:

errChk(imgSessionTriggerConfigure2(Sid, IMG_SIGNAL_EXTERNAL, 0 /*Trigger line number*/,
                                        IMG_TRIG_POLAR_ACTIVEH, 5000 /*timeout*/,
                                        IMG_TRIG_ACTION_CAPTURE));

 

errChk(imgGrabSetup (Sid, TRUE));

 errChk(imgGrab (Sid, &ImaqBuffer, TRUE));

 

In the setup attributes, I have set the image height to 1024. Therefore, I expect the imgGrab() function to return only once 1024 line acquisitions are performed, corresponding to 1024 trigs. ImaqBuffer therefore contains information for 2048x1024 pixels.

 

Is that correct? (it doesn't seems so in practice, I suspect that 1024 "free run" acquisitions are run after every rising edge.)

Or do I have to use image buffers?

It's ok for me to retrieve an image only every 1024 acquired lines. But I am unsure which acquisition technique needs to be used.

 

Thanks in advance,

 

0 Kudos
Message 1 of 1
(4,428 Views)