File Exchange

image thumbnail

imageSetViewer

version 1.0.0.0 (17.5 KB) by Brett Shoelson
Easily create a tab-panel view of images in an imageSet

1 Download

Updated 04 May 2015

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

If you haven't used imageSet functionality yet--you must! It greatly facilitates creating and manipulating collections of images.
If you want to get a quick view of the images in an imageSet, use imageSetViewer.

Simply pass in the imageSet, and you get an interactive tabbed environment in which you can see any of the images in your collection.

Optionally:
* Will create the imageSet object for you:
imgSet = imageSetViewer(toplevelPath,'recursive');
* You can click on the fullfile name of an image to copy the path to the clipboard;
* You can click on an image to expand the view in another window; and then you can click on the expanded view to export the image to the Base Workspace.

Cite As

Brett Shoelson (2020). imageSetViewer (https://www.mathworks.com/matlabcentral/fileexchange/50231-imagesetviewer), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (3)

@Daniel M:
Daniel, thanks for bringing this to my attention. Yes, the way that variables were shared between parent- and sub-functions changed in 2019, and broke some of my code--including tabPanel. Your workaround will work here. On the other hand, imageDatastores (and the imageBrowser) provide newer, "more modern" capabilities for managing "image sets." Have you given them a try?
Brett

Daniel M

I was getting an error in tabPanel trying to access the variable tabCardPosn before it was declared. So I created a subfunction to solve the problem (see below). Now just write 'getTabCardPosn' instead of 'tabCardPosn' on Line 316: tabCardHandles{tier}(tabRank) = uipanel....
Here is the function.

function tabCardPosn = getTabCardPosn
tmp = get(0,'screensize');
Wscr = tmp(3);
Hscr = tmp(4);
if strcmp(tabPos,'t')
tabCardPosn = [0 0 1 1-nTiers*tabHeight/Hscr];
elseif strcmp(tabPos,'b')
tabCardPosn = [0 nTiers*tabHeight/Hscr 1 1-nTiers*tabHeight/Hscr];
elseif strcmp(tabPos,'l')
tabCardPosn = [nTiers*tabHeight/Wscr 0 1-nTiers*tabHeight/Wscr,1];
else %strcmp(tabPos,'r')
tabCardPosn = [0 0 1-nTiers*tabHeight/Wscr 1];
end
tabCardPosn = max(tabCardPosn,0);
end

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux