Detect tube and ball typed objects in airway CT image.

1 view (last 30 days)
I am developing a segmentation algorithm that requires detect tube and ball typed airways in CT image. I tried canny, log, hessian etc. None of them looks promising. Any advice will be appreicated.
Regards,
Jerry

Answers (1)

Image Analyst
Image Analyst on 6 Oct 2014
Find the black stuff by thresholding or whatever. Then use regionprops() to find objects that are in the approximate size range you expect and have a circularity less than around 2 or 3. Circularities can be found from regionprops like this
binaryImage = grayImage < 128; % or whatever works.
cc = bwconncomp(binaryImage);
measurements = regionprops(cc, 'Perimeter', 'Area');
allAreas = [measurements.Area];
allPerimeters = [measurements.Perimeter];
circularities = allPerimeters .^2 ./ (4*pi*allAreas);
  3 Comments
zlf lf
zlf lf on 7 Oct 2014
Thank you for your answer. I believe calculating circularities can perfectly solve the problem. But there are still one problem: Some airways in image leak. You may see most of airway surrounding(cartilage) have high intersity(white). But minor part has low intersity. So it is hard to use thresholding to differentiate airway and its surrounding.
Image Analyst
Image Analyst on 7 Oct 2014
Yes, simple global thresholding may not find perfectly enclosed circles if the white boundary is weak and you may have to employ more sophisticated techniques. My method will work once you have a good binary image, but getting that image could be very challenging.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!