As the title says, just wondering if there is a function that works as fieldnames (http://www.mathworks.co.uk/help/matlab/ref/fieldnames.html) does, but for cells.
So if I have something like:
a = imread('redsquare.bmp');
b = imread('bluesquare.bmp');
c = imread('yellowsquare.bmp');
d = imread('greysquare.bmp');
e = {a, b, c, d};
I’m trying to retrieve either: a, b, c, d OR the image name without the extension.
I have tried fn = fileparts(e) and fntemp = cell2struct(e,2), but I can’t get it working.
Hope this makes sense
Thanks
The cell array does not include any meta-information, like field name or file name. If you want access to that information you’ll need to change your data storage structure. Some options include:
Scalar Structure
Good for when there is a single name to reference.
Use
fieldnames(images)to get the names.Array of structures
A little bit more general. Allows completely general names (including special characters and spaces) and additional metadata if you need it (like “size”, “author”)
Use
{fieldnames.name}to get just the names.Containers.map
Probably more than you need here, but good to know about.
help comtainers.mapfor more.