Can I get length in z dimension from bwlabeln?
Ältere Kommentare anzeigen
I'm using bwlabeln to label objects in a binary 3D image stack. I need to know if each of these objects spans more than one section in the stack. Can anyone recommend a way to do this? Thanks
Antworten (1)
Sean de Wolski
am 28 Mai 2015
Bearbeitet: Sean de Wolski
am 28 Mai 2015
pixlist = regionprops(L,'PixelList')
Now look at pixlist's third column, i.e. z. If numel(unique(z))>1 there are multiple pages.
More - Example
%%Example data:
load mri
D = squeeze(D);
L = bwlabeln(D>50);
%%Engine
pixlist = regionprops(bwconncomp(L),'PixelList');
nobj = numel(pixlist);
for ii = nobj:-1:1
% multipage = 1, covers multiple pages, 0 does not.
multipage(ii,1) = numel(unique(pixlist(ii).PixelList(:,3)))>1;
end
% Find labels of multipage objects
multipageIdx = find(multipage);
% Keep only those in multipages
BW = ismember(L,multipageIdx);
% Relabel
Lmpage = bwlabeln(BW);
%%Check it
% How many multipage objects?
max(Lmpage(:))
% View as movie
implay(Lmpage);
Kategorien
Mehr zu Biomedical Imaging finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!