read - Read data from augmentedImageDatastore - MATLAB (original) (raw)

Main Content

Read data from augmentedImageDatastore

Syntax

Description

[data](#d126e218524) = read([auimds](#d126e218492)) returns a batch of data from an augmented image datastore,auimds. Subsequent calls to the read function continue reading from the endpoint of the previous call.

example

[[data](#d126e218524),[info](#d126e218568)] = read([auimds](#d126e218492)) also returns information about the extracted data, including metadata, ininfo.

Examples

collapse all

Load the sample data, which consists of synthetic images of handwritten digits. XTrain is a 28-by-28-by-1-by-5000 array, where:

labelsTrain is a categorical vector containing the labels for each observation.

Create an imageDataAugmenter object that specifies preprocessing options for image augmentation, such as resizing, rotation, translation, and reflection. Randomly translate the images up to three pixels horizontally and vertically, and rotate the images with an angle up to 20 degrees.

imageAugmenter = imageDataAugmenter( ... RandRotation=[-20,20], ... RandXTranslation=[-3 3], ... RandYTranslation=[-3 3]);

Create an augmentedImageDatastore using the image data augmented. When you read from the datastore, for example during network training using the trainnet function, the datastore performs image augmentation and resizes the images. The datastore augments the images without saving any images to memory.

imageSize = [64 64 1]; augimds = augmentedImageDatastore(imageSize,XTrain,labelsTrain,DataAugmentation=imageAugmenter);

Read from the datastore.

minibatch = read(augimds)

minibatch=128×2 table input response ______________ ________

{64×64 single}       3    
{64×64 single}       3    
{64×64 single}       7    
{64×64 single}       7    
{64×64 single}       7    
{64×64 single}       7    
{64×64 single}       9    
{64×64 single}       9    
{64×64 single}       7    
{64×64 single}       7    
{64×64 single}       3    
{64×64 single}       9    
{64×64 single}       9    
{64×64 single}       7    
{64×64 single}       3    
{64×64 single}       7    
  ⋮

Show the first nine augmented images.

imshow(imtile(minibatch.input(1:9)));

Figure contains an axes object. The hidden axes object contains an object of type image.

Input Arguments

Output Arguments

collapse all

Output data, returned as a table. When the datastoreauimds reads a full batch of data, the table hasMiniBatchSize rows. For the last batch of data in the datastore, if numObservations is not cleanly divisible byMiniBatchSize, then read returns a partial batch containing all of the remaining observations.

The first column of the table, "input", returns the data for each image. The table has a second column,"response", when auimds reads data of these types:

Information about read data, returned as a structure array. The structure array can contain these fields.

Field Name Description
Filename Cell array of character vectors. Each element is a fully resolved path containing the path string, name of the file, and file extension for the corresponding image. This field is present whenauimds reads data from files specified by an image datastore.
FileSize Numeric vector. Each element is the total file size, in bytes, of the corresponding image. For MAT-files, FileSize is the total number of key-value pairs in the file. This field is present when auimds reads data from files specified by an image datastore.
Label Categorical vector. Each element is the category label of the corresponding image. This field is present when auimds reads labeled data from files specified by an image datastore.
MiniBatchIndices Numeric vector. Each element is the index of the input image in the array. This field is present when auimds reads data from numeric arrays.

Version History

Introduced in R2018a