1

I'm looking for a segmentation algorithm to extract the middle part of the mouse spine from MRI image shown below. I thought about extracting the part by thresholding intensity but the intensity is too similar to other parts in the image. I was also told (by my supervisor) to look into semi-automated segmentation algorithms where you would click on a pixel in the region of interest and the algorithm would consider pixels spreading from the one you clicked. Any additional advice on this would also be appreciated.

I'm new to this field so a simple explanation and/or links to additional resources are welcome.

MRI image of mouse spine:

img

Same as above with highlighted region that needs to be segmented:

img

P.S. - I'm working in matlab so if you know of a good toolbox, please let me know.

My background: Undergrad in Physics, starting Medical Physics MSc, and trying to get into image analysis / computer vision.

Spektre
  • 49,595
  • 11
  • 110
  • 380

3 Answers3

2

Your image has very poor resolution, it's very difficult to extract desired regions. Try in ImageJ, it's much easier to select region of interest (ROI) and to calculate area and other parameters.

Edit:

If you want to stick with MATLAB, you can make use of roipoly(). It's not either automated or semi automated algo. Basically what you will be doing is, clicking multiple points on the boundary of your desired region and then measure the number of pixels within the boundary. Following code does the same:

img = imread('your_image');
BW = roipoly(img); %Select points (complete the loop)-> right click -> create mask
close;
number_of_pixles = length(find(BW == 1)) %Total number of pixels in the region.
fepegar
  • 595
  • 5
  • 15
AMS
  • 49
  • 1
  • 6
  • This does not provide an answer to the question. Once you have sufficient [reputation](http://stackoverflow.com/help/whats-reputation) you will be able to [comment on any post](http://stackoverflow.com/help/privileges/comment); instead, [provide answers that don't require clarification from the asker](http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead). - [From Review](/review/low-quality-posts/14069936) – Dev-iL Oct 23 '16 at 08:48
  • Thanks for the comments. I tried to comment on the above post, since I didn't have required reputations I had no choice but to express my words as an answer. I will delete my answer if needed. sorry for the inconvenience. – AMS Oct 24 '16 at 17:51
1

I am dealing with the same type of MRI data, low resolution and tiny structure with the same intensity distribution to other struction. What I did to make it easier, is to build a template for the unrelated structures and use them to cut them away from my original image so that I can have the VOI I need, Then I used Random Forest (or you can start with region growing and define some regularization and smoothing parameter) to extract your region.

You can start some tests on ITKsnap the package segmentation. there is a semi automatic supervised learning algorithm based on level sets active contours for segmentation. I used it and I found it very helpful. Please let me know if you need help for it.

fati
  • 125
  • 5
1

You might consider looking at the spatial/spectral characteristics of the spinal region in a sample of images. That way you can leverage some characteristics of the structure to help you segment the ROI.

The idea is to make it more about the micro morphology than about the intensity level which might vary with different samples.

mongo
  • 111
  • 3