Confusion of IMAQ, get data "logging"

Hello. This is a general question about image aquisition using the imaq tool box. The Matlab documentation uses quite confusing terms such as logging and running. What do these physically mean in simple terms?
I want to enable fast image capture and use a single trigger to e.g. set off the camera to collect 20 images:
vid=getVidObj(app);
n=20; % Snap n Images when triggered
vid.FramesPerTrigger=n;
% Start Camera running (not transferring images yet)
start(vid);
trigger(vid); % This inititates te Camera to collect images
tic;
pause(0.01);
[frame,time]=getdata(vid,n); %Just get n fram
tframes=toc;
My questions are:
1: Before getdata is invoked, and the camera has been triggered, are the images on the camera in some kind of memory or do they stream straight to the RAM
2: When getdata is performed, it returns n=20 frames (images). Where are these actual images, are they in RAM on the PC.
The logging and running terminology doesn't inform of where the actual image data is.
(Im using a Blackfly FLIR camera with USB3 connectivitiy)
Thanks
Jason

Answers (1)

Before getdata has been invoked, the images either do not exist (for cameras that do not have an automatic shutter) -- or else they exist briefly but go no-where (video streaming cameras, just discard the captured images if they are not being requested)
When trigger is performed, the appropriate number of images are captured into internal RAM buffers on the PC.
When getdata() is performed, the captured images are transfered to user data.

4 Comments

Thanks Walter, Im a little bit more clearer now, but still not quite there. So my camera has a global shutter. So to confirm then, when Trigger is executed, the images are transferred into RAM?
For getdata, Whats is "user data" and where is it?
thanks
Jason
Could I ask also: In the help, it keeps referring to "data logging" - whata ctually is this - is it taking the data off the camera and putting it into RAM on the PC?
Immediate Triggering
By default, a video input object's trigger type is configured for immediate triggering. Immediate triggering indicates that data logging is to begin as soon as the START function is issued.
Upon the trigger, data is recorded in RAM, in some kind of internal form. The internal form is optimized for internal efficiency. It is not specified what the internal form is, or where the RAM resides -- for example it might be a rectangular block of data allocated inside a DLL.
getdata() extracts from the internal form into MATLAB user-level data form.
Thanks Walter, so is "Data Logging" the process of retrieving the data from the camera onto the PC?

Sign in to comment.

Products

Release

R2023b

Asked:

on 12 Jul 2024

Commented:

on 16 Jul 2024

Community Treasure Hunt

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

Start Hunting!