Skip to content

Commit bc2a843

Browse files
committed
regionElementCounts.m: rely on regionprops for computation (faster)
1 parent de95e5c commit bc2a843

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/@Image/regionElementCounts.m

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,14 @@
2929
labels = varargin{1};
3030
end
3131

32-
% allocate memory
33-
nLabels = length(labels);
34-
counts = zeros(nLabels, 1);
35-
36-
% iterate over labels and count elements
37-
for i = 1:nLabels
38-
counts(i) = sum(obj.Data(:) == labels(i));
32+
% rely on regionprops for speed
33+
if size(obj.Data, 3) == 1
34+
props = regionprops(obj.Data, 'Area');
35+
counts = [props.Area];
36+
counts = counts(labels);
37+
else
38+
props = regionprops3(obj.Data, 'Volume');
39+
counts = [props.Volume];
40+
counts = counts(labels);
3941
end
42+

0 commit comments

Comments
 (0)