Brain extraction using Kmeans and connectivity.

4 views (last 30 days)
Fer
Fer on 2 Dec 2015
Commented: Fer on 2 Dec 2015
Hello, I'm trying to perform a brain extraction of a slice from a NIFTI volume. I wrote a k means segmentation code, and that way I have gotten as far as:
and now I am trying to use connectivity, based on this tutorial but I'm not sure if something similar can be done if the parts I want to extract are not in the borders. In the image, the brain is separated from the skull and there's an empty region between them. Is there a way of separating these regions? I tried something like this but got stuck after I got the connected components structure.
Thanks in advance
  4 Comments
Kirby Fears
Kirby Fears on 2 Dec 2015
How many connected components did you get back from bwconncomp ()?
You should be able to get each one by accessing the PixelIdxList field.
cc = bwconncomp(bw, 4)
grain = false(size(bw));
% instead of 50 try 1, 2, 3, etc :
grain(cc.PixelIdxList{50}) = true;
imshow(grain);
Fer
Fer on 2 Dec 2015
I did, I actually got as far as this:
However the label corresponding to the skull is not always the same. Running the same code on the same image will sometimes result in the segmentation of a different structure.
I would like to come up with a technique that's reproducible for different images. Any suggestions on where to look into this??

Sign in to comment.

Answers (0)

Categories

Find more on Biomedical Imaging in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!