DataStore, change labels in R2020a

14 views (last 30 days)
James Latshaw
James Latshaw on 13 Dec 2021
Edited: Yongwon Jang on 20 Jul 2023
Hello,
Is there a way to change all labels in an imageDataStore to an appended version of the current label?
I have my images saved in folders with the folder name being the label. Once I load these into an ImageDataStore, I would like to split them into two smaller datastores and then I would like to change each label to be "current label" + "_A".
In psudo code:
For every label in data store 1, rename to be label + "_A".
For every label in data store 2, rename to be label + "_B".
Is this possible?
Thank you!

Answers (1)

yanqi liu
yanqi liu on 14 Dec 2021
yes,sir,may be use subset and string contract to generate,such as
imds = imageDatastore(fullfile(matlabroot,'toolbox','matlab'),...
'IncludeSubfolders',true,'FileExtensions','.tif','LabelSource','foldernames')
imds =
ImageDatastore with properties: Files: { '/MATLAB/toolbox/matlab/demos/example.tif'; '/MATLAB/toolbox/matlab/imagesci/corn.tif' } Folders: { '/MATLAB/toolbox/matlab' } Labels: [demos; imagesci] AlternateFileSystemRoots: {} ReadSize: 1 SupportedOutputFormats: ["png" "jpg" "jpeg" "tif" "tiff"] DefaultOutputFormat: "png" ReadFcn: @readDatastoreImage
imds.Labels=categorical(erase(string(imds.Labels), ' ') + repmat('_A', size(imds.Labels, 1), 1))
imds =
ImageDatastore with properties: Files: { '/MATLAB/toolbox/matlab/demos/example.tif'; '/MATLAB/toolbox/matlab/imagesci/corn.tif' } Folders: { '/MATLAB/toolbox/matlab' } Labels: [demos_A; imagesci_A] AlternateFileSystemRoots: {} ReadSize: 1 SupportedOutputFormats: ["png" "jpg" "jpeg" "tif" "tiff"] DefaultOutputFormat: "png" ReadFcn: @readDatastoreImage
  2 Comments
Paween Pongsomboon
Paween Pongsomboon on 1 Apr 2022
@yanqi liu You save my life. Thank you. I'm gonna cry I have been struggled with this problem for three days and now you don't know how much I wanna hug you.
Yongwon Jang
Yongwon Jang on 20 Jul 2023
Edited: Yongwon Jang on 20 Jul 2023
Thank you. It was very helpful.
For my case, erased total labels and reassigned new labels.
I utilized it and edited for my purpose.
Indeed, You are angel.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!