3D-Image Processing find() several values performance

1 visualización (últimos 30 días)
Matthias Walle
Matthias Walle el 30 de Sept. de 2019
Respondida: Kritika Bansal el 8 de Nov. de 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

Respuestas (1)

Kritika Bansal
Kritika Bansal el 8 de Nov. de 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:

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by