Main Content


Combine data from multiple datastores



dsnew = combine(ds1,ds2,...,dsN) combines two or more datastores by horizontally concatenating the data returned by the read function on the input datastores.


collapse all

Create a datastore that maintains parity between the pair of images of the underlying datastores. For instance, create two separate image datastores, and then create a combined datastore that reads corresponding images from the two image datastores.

Create a datastore imds1 representing a collection of three images.

imds1 = imageDatastore({'street1.jpg','street2.jpg','peppers.png'}); 

Create a second datastore imds2 by transforming the images of imds1 to grayscale images.

imds2 = transform(imds1,@(x) rgb2gray(x));

Create a combined datastore from imds1 and imds2.

imdsCombined = combine(imds1,imds2);

Read the first pair of images from the combined datastore. Each read operation on this combined datastore returns a pair of images represented by a 1-by-2 cell array.

dataOut = read(imdsCombined)
dataOut=1×2 cell array
    {480x640x3 uint8}    {480x640 uint8}

Display the output of the first read from the combined datastore.


Input Arguments

collapse all

Datastores to combine, specified as two or more comma separated datastore objects. For a complete list of built-in datastores, see Select Datastore for File Format or Application. You also can specify custom datastores.

Output Arguments

collapse all

New datastore with combined data, returned as a CombinedDatastore object.

The dsnew object is a new datastore instance that is the horizontally concatenated result of a read operation on each of the underlying datastores.

Introduced in R2019a