Region Growing in Matlab

2 views (last 30 days)
Rutuja Kate
Rutuja Kate on 21 Nov 2017
Answered: Rik on 22 Nov 2017
Instead of growing according to the similar intensity, can I make the region grow according to the summation of the intensities in the acquired region? I need the region to stop growing when the summation of intensities in the particular region has reached a particular value which will be specified by me.
  2 Comments
Rik
Rik on 21 Nov 2017
That would no longer really be called region growing, but a region growing-like method. The order in which your pixels/voxels are tested matters if you want to look at a max total.
Rutuja Kate
Rutuja Kate on 21 Nov 2017
Yes. The order will matter. But has anyone tried it before? Is there any example that can be used to solve this?

Sign in to comment.

Answers (1)

Rik
Rik on 22 Nov 2017
I do have an idea that is slightly less terrible than 6 nested loops. I have no idea if there are clever tricks you can pull. This method might not scale very well, due to the repeated dilations.
  1. Grow a shell around your seed point (or your volume that is still too small) by dilating a side length 3 cube.
  2. If the sum intensity is too small, repeat 1.
  3. if the sum intensity is too large when including the shell, add only the lowest several pixels that will keep the intensity below the threshold (use sort and cumsum).
  4. Grow a shell again, and retry step 3 until there are no more pixels you can add.
You'll need that last step to control for the case of a very high intensity region, which would be allowed to be a hole in your mask.

Products

Community Treasure Hunt

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

Start Hunting!