Specify MATLAB VideoWriter file used to log data
DiskLogger property specifies the VideoWriter
file object used to log data when the
is set to
For the best performance, VideoWriter is the recommended file type.
For the best performance, logging to disk requires a MATLAB®
which is a MATLAB object,
not an Image
Acquisition Toolbox™ object. After you create and configure
a VideoWriter object, you provide it to the
A MATLAB VideoWriter
object specifies the file name and other characteristics. For example,
you can use VideoWriter properties to specify the profile used for
data compression and the desired quality of the output. For complete
information about the VideoWriter object and its properties, see the
Do not use the variable returned by the
to perform any operation on a VideoWriter file while it is being used
by a video input object for data logging. For example, do not change
any of the VideoWriter file properties, add frames, or close the object.
Your changes could conflict with the video input object.
off, it is possible that the
DiskLogger might still
be writing data to disk. When the
writing data to disk, the value of the
should equal the value of the
Do not close or modify the
DiskLogger until this
condition is met.
For more information about logging image data using a VideoWriter file, see Logging Image Data to Disk.
peekdata function does not return any
data while running if in disk logging mode.
Read only while running
The default value is
Create a video input object that accesses a GigE Vision image acquisition device and uses grayscale format at 10 bits per pixel.
vidobj = videoinput('gige', 1, 'Mono10');
You can log acquired data to memory, to disk, or both. By default,
data is logged to memory. To change the logging mode to disk, configure
the video input object's
vidobj.LoggingMode = 'disk'
Create a VideoWriter object with the profile set to Motion JPEG 2000. Motion JPEG 2000 allows writing the full 10 bits per pixel data to the file.
vidobj.DiskLogger = VideoWriter('logfile.mj2', 'Motion JPEG 2000')
Now that the video input object is configured for logging data to a Motion JPEG 2000 file, initiate the acquisition.
Wait for the acquisition to finish.
When logging large amounts of data to disk, disk writing occasionally
lags behind the acquisition. To determine whether all frames are written
to disk, you can optionally use the
while (vidobj.FramesAcquired ~= vidobj.DiskLoggerFrameCount) pause(.1) end
You can verify that the
have identical values by using these commands and comparing the output.
When the video input object is no longer needed, delete it and clear it from the workspace.
delete(vidobj) clear vidobj