3D-Image Processing find() several values performance

1 Ansicht (letzte 30 Tage)
Matthias Walle
Matthias Walle am 30 Sep. 2019
Beantwortet: Kritika Bansal am 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

Antworten (1)

Kritika Bansal
Kritika Bansal am 8 Nov. 2019
Hi,
You can try creating a parallel.pool.Constant and see if that helps you. You can find more information on the link below:

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by