How do i generate an ROI a set distance inwards (concentric) from a detected edge?

1 view (last 30 days)
Hi, Im working with images of biological cells and they often have irregular shapes (fig 1).
I need to make an roi which is a set distance from the edge (which i can easily detect using thresholding) and measure the pixel values inside the generated irregular donut (fig2)
The lazy way is to achieve this would be to use the centroid of the object and just modify the pixel addresses along the edge-to-centroid vector, however due to the irregular shapes there are problem areas where the vector would just go over the edge (fig3)
So, can anyone please suggest a solution to this?
One of the things i thought about right now is to make a moving rectangle along the edge but it would be great if there is simpler/elegant solution that is out there.
Thanks a ton!

Answers (1)

Image Analyst
Image Analyst on 2 Aug 2012
You can use imdilate() to enlarge your blobs and create larger ROIs that are nearly the same shape as your original blobs.
  2 Comments
gargoyle
gargoyle on 3 Aug 2012
any idea if, and how, i can do this only towards the inside? Because the dilation would be general fattening of the edge and if the cell is close to another cell in field of view then those pixels might also get picked up.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!