MATLAB Answers

3D-Image Processing find() several values performance

1 view (last 30 days)
Matthias Walle
Matthias Walle on 30 Sep 2019
Answered: Kritika Bansal on 8 Nov 2019
Basically I am trying to optimize this minimal example:
I am aware of histc() or histcounts(), however I require a linear index.
in contrast to this example the count of indices{} varies.
% Original size is 600x600x600
s=100;
% A is a binned greyscale image
A=repmat(magic(s),[1 1 s]);
% b is basically the bins
b=unique(A);
indices=cell(length(b),1);
tic
parfor i=1:length(b)
indices{i}=find(A==b(i));
end
toc
Performance is really poor on 16 cores. What am I missing?
Also tried replacing find with the mex function from fileexchange
Happy for all suggestings, I have a full license.
Cheers,
matt

Answers (1)

Community Treasure Hunt

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

Start Hunting!