Is it possible to implement principle component analysis on the function imageDatastore?

4 views (last 30 days)
Hi everyone.
I am new user of MATLAB. I am implementing CNN on the data set that I have and I use the bulid function
imds = imageDatastore(fullfile(pwd,'data'),...
'IncludeSubfolders',true,'FileExtensions','.dcm',...
'LabelSource','foldernames');
and I am trying to apply PCA on imds ( dimentinalty reduction ). I notice that there is a function that preformed pca called coeff = pca(imds). However, I recive the following error
Error using pca (line 168)
The value of X must be a numeric array.
Error in cnn (line 34)
coeff = pca(imds)
which means that imds must be numeric array. Please, If someone can help me to solve this problem??.
Many thanks

Answers (1)

Walter Roberson
Walter Roberson on 4 Oct 2019
No, you can only apply pca to an image that you have read in from the datastore, not to the whole datastore. You will need a loop.

Community Treasure Hunt

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

Start Hunting!