process a large stack of 2-d images

how is it possible to use bwconncomp or in general process a stack of 2000 images with the size of 2000x2000, I dont think block processing would work in this case..

Réponses (1)

Matt J
Matt J le 9 Mar 2013

0 votes

bwconncomp will accept a 3D stack directly. You can specify 2D connectivity with the conn argument.

7 commentaires

B
B le 9 Mar 2013
but the problem is the size of images, I cant make the matrix from images
Matt J
Matt J le 9 Mar 2013
If it's a memory limitation, then why not just for-loop over the images, reading in and processing one at a time.
B
B le 9 Mar 2013
Yes, it is. But the purpose is to extract 3d morphological information for example doing 3d bwconncomp
Matt J
Matt J le 9 Mar 2013
Is the BW array sparse?
B
B le 9 Mar 2013
some slices yes, some not,just like slices of a sphere, in center the values are mostly 1 but on top or bottom ends are mostly 0
Matt J
Matt J le 10 Mar 2013
Modifié(e) : Matt J le 10 Mar 2013
I meant, how sparse is BW as a volume? In other words, what is
density = nnz(BW)/2000^3
I assume you don't have enough memory to hold BW as a volume, but the density is something you could easily calculate by looping over the slices. If BW is not sparse (low density), you might not even have enough memory to hold the result of the connectivity map.
B
B le 12 Mar 2013
Modifié(e) : B le 13 Mar 2013
In fact I was able to modify the problem to get a less dense matrices, the whole information are now stored in two 1800*1800*811 matrices with densities of 0.0257 and 0.0215, Now how can I merge all information in one matrix to use bwconncomp...

Connectez-vous pour commenter.

Catégories

Question posée :

B
B
le 9 Mar 2013

Community Treasure Hunt

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

Start Hunting!

Translated by