MATLAB: How to segment trus prostate image

Image Processing Toolboximage segmentationultrasound

Hi. I am trying to segment the prostate from TRUS image. This is what I have so far (see attachment). Does anyone know how to :
  1. remove the unrelated object (ie. the white curve on top of prostate in last figure)
  2. outline/connect the white pixel to form the prostate boundary?
This is the code:
clc;
clear;
close all;
i=imread('trus1.jpg');
i=im2uint8(rgb2gray(i));
[m,n]=size(i);
I=imresize(i,[2*m,2*n]);
figure, imshow(I), title('original image');
[~, threshold] = edge(I, 'sobel');
fudgeFactor = .5;
BWs = edge(I,'sobel', threshold * fudgeFactor);
figure, imshow(BWs), title('binary gradient mask');
se90 = strel('line', 3, 90);
se0 = strel('line', 3, 0);
BWsdil = imdilate(BWs, [se90 se0]);
figure, imshow(BWsdil), title('dilated gradient mask');
BWdfill = imfill(BWsdil,'holes');
figure, imshow(BWdfill);
title('binary image with filled holes');
BWnobord = imclearborder(BWdfill,6);
figure, imshow(BWnobord), title('cleared border image');

Best Answer

THere is nothing built in to do that so you'll have to search the literature to see if anyone has done that before. Try PubMed, or VisBib.