Skull striping without affecting tumor region
31 Ansichten (letzte 30 Tage)
Can anyone help me to remove the skull part of the brain image without effecting the tumor region? the image is http://imageshack.us/photo/my-images/196/img6oe.jpg/ Actually the intensity level of tumor as well as the skull part is really high and whatever i tried, it effects the tumor region as well. kindly help me regarding this:
Matt Kindig am 5 Jul. 2012
Bearbeitet: Matt Kindig am 5 Jul. 2012
If you have the Image Processing Toolbox, you can use 'regionprops' to identify the various objects after your thresholding. For your particular image, I was able to identify the tumor using the following approach:
img = imread('/path/to/your/filename.jpg');
bw = (img > 0.5*255); %thresholded to remove background and white/gray matter
lbl = bwlabel(bw); %labelled regions
props = regionprops(lbl, 'Solidity', 'Area');
% solidity is the percentage "filled" of an area. For the skull,
%the solidity will be really low.
solidity = [props.Solidity];
area = [ props.Area];
hiSolid= solidity > 0.2; %get only high solidity objects
maxArea = max( area(hiSolid));
tumorLabel = find( area==maxArea); %label of tumor
tumor = ismember(lbl, tumorLabel); %b/w image of tumor
imshow(tumor); %this isolates tumor
Anton Semechko am 5 Jul. 2012
Bearbeitet: Anton Semechko am 5 Jul. 2012
The simplest way to segment the tumor in the sample image would be to use region growing algorithm. There are a few implementations of this method on FEX, but for the following demo I used this one:
1) Download the function titled 'regiongrowing' from the link given above into your working directory.
2) Segment the tumor using pixel position [380 480] as the seed point:
% get the sample image
% segment the ROI
thr=15; % intensity similarity tolerance
% fill in the holes
% visualize the segmentation
r=im; g=im; b=im;
clear r g b
You will get different results depending on the value of 'thr' parameter.
Hope this helps.