Set union of Datastores with TransformedDatastores

Illustration
tansendra_smith - 2021-05-10T14:44:16+00:00
Question: Set union of Datastores with TransformedDatastores

Given an imageDatastore and some transformation of it, e.g.,     imds1 = imageDatastore({'street1.jpg','peppers.png'}); imds2 = transform(imds1,@(x) imwarp(x,tform)); I would like to form the set union of these data stores in some way so that trainNetwork processes the series of images from both imds1 and imds2 as a single combined set (and similarly with the response data). Is this possible in some way?   I am aware that this functionality is somewhat captured by augmentedImageDatastore, but the operation I describe would open up a variety of data augmentation schemes not currently avaialble.   I am also aware of this thread,   https://www.mathworks.com/matlabcentral/answers/327026-how-to-join-or-merge-two-image-data-stores?s_tid=answers_rc1-2_p2_MLT   but this does not cover what I am pursuing here, because the images in a TransformedDatastore are not physically stored anywhere (nor would I want them to be).  

Expert Answer

Profile picture of John Williams John Williams answered . 2025-11-20

Horizontal (i.e. associated reads)
-----------
cds = combine(imds,otherds);
 
Vertical (i.e. joining two sets of files into one datastore)
-----------
imds = imageDatastore({'folder1/*.jpg','folder2/*.webp'});
Or leave off the extensions
imds = imageDatastore({'folder1/','folder2/'});


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!