User`s guide
6 Acquiring Image Data
6-40
Freeing Memory
At times, while acquiring image data, you might want to delete some or all of the frames
that are stored in memory. Using the flushdata function, you can delete all the frames
currently stored in memory or only those frames associated with the execution of a
trigger.
The following example illustrates how to use flushdata to delete all the frames in
memory or one trigger's worth of frames.
1
Create an image acquisition object — This example creates a video input object
for a Windows image acquisition device. To run this example on your system, use the
imaqhwinfo function to get the object constructor for your image acquisition device
and substitute that syntax for the following code.
vid = videoinput('winvideo',1);
2
Configure properties — For this example, configure an acquisition of five frames
per trigger and, to show the effect of flushdata, configure multiple triggers using
the TriggerRepeat property.
vid.FramesPerTrigger = 5
vid.TriggerRepeat = 2;
3
Start the image acquisition object — Call the start function to start the image
acquisition object.
start(vid)
The object executes an immediate trigger, acquires five frames of data, and repeats
this trigger two more times. After logging the specified number of frames, the object
stops running.
4
Delete a trigger's worth of image data — Call the flushdata function,
specifying the mode 'triggers'. This deletes the frames associated with the oldest
trigger.
flushdata(vid,'triggers');
The following figure shows the frames acquired before and after the call to
flushdata. Note how flushdata deletes the frames associated with the oldest
trigger.