Clear Filters
Clear Filters

Confusion of IMAQ, get data "logging"

7 views (last 30 days)
Jason
Jason on 12 Jul 2024
Commented: Jason on 16 Jul 2024
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)

Walter Roberson
Walter Roberson on 12 Jul 2024
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
Walter Roberson
Walter Roberson on 15 Jul 2024
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.
Jason
Jason on 16 Jul 2024
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

Community Treasure Hunt

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

Start Hunting!