Detect tube and ball typed objects in airway CT image.

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)

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

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.
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.

Asked:

on 6 Oct 2014

Commented:

on 7 Oct 2014

Community Treasure Hunt

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

Start Hunting!