I need some ideas for finding Cancerous nodules in side lungs i extract the lungs correctly then segmenting lungs using morphology , but now i need usefull way to find "Cancerous nodules in side lungs" i am working on CT-scan image

 채택된 답변

Image Analyst
Image Analyst 2014년 4월 12일

0 개 추천

We don't partner with you to develop complicated algorithms like that. If you find an algorithm here, then we can help with syntax, error messages, etc. if you post your code. The link I gave you will give you some ideas , which answers your question of where to get some ideas.

댓글 수: 5

Star Strider
Star Strider 2014년 4월 12일
I also suggest a PubMed search. This article, ‘Segmentation of lung lesions on CT scans using watershed, active contours, and Markov random field’ is one of 441 English-language articles available when I searched just now using the command ("image processing" & CT & lung & cancer) & human & english[la].
thanks for answering me ,i use this method to measure objects inside lungs
function[allgrains,biggrain,numObjects]=measure_object(I2)
I3 = imadjust(I2, stretchlim(I2), [0 1]);
figure, imshow(I3);
level = graythresh(I3);
bw = im2bw(I3,level);
figure, imshow(bw)
[labeled,numObjects] = bwlabel(bw,4);
RGB_label = label2rgb(labeled, @white, 'c', 'shuffle');
imshow(RGB_label);
graindata = regionprops(labeled,'basic')
allgrains = [graindata.Area]
biggrain = find(allgrains>18.897638*3.14)
now i am trying to get all objects that have size bigger than 5 mm and show them only can you help me with the syntax?
What is your spatial calibration factor? How many pixels per mm?
Here's a snippet adapted from my Image Segmentation Tutorial:
% Now I'll demonstrate how to select certain blobs based using the ismember function.
% Let's say that we wanted to find only those blobs
% with an area greater than 5 mm.
% Get a list of the blobs that meet our criteria and we need to keep.
allowableAreaIndexes = (allGrains * pixelsPerSqMM) > 5; % Take the big objects.
keeperIndexes = find(allowableAreaIndexes);
% Extract only those blobs that meet our criteria, and
% eliminate those blobs that don't meet our criteria.
% Note how we use ismember() to do this.
keeperBlobsImage = ismember(labeledImage, keeperIndexes);
% Re-label with only the keeper blobs kept.
labeledImage = bwlabel(keeperBlobsImage, 8); % Label each blob so we can make measurements of it
% Now we're done. We have a labeled image of blobs that meet our specified criteria.
imshow(labeledImage, []);
title('"Keeper" blobs (bigger than 5 mm^2 in a re-labeled image)');
waad almalki
waad almalki 2014년 4월 14일
yes ,i transform from pixels to mm thank you very much for your help.
waad almalki
waad almalki 2014년 4월 15일
i modified the code depend on your help like that:
function[allgrains,biggrain,numObjects]=measure_object(I2)
I3 = imadjust(I2, stretchlim(I2), [0 1]); figure, imshow(I3); level = graythresh(I3); bw = im2bw(I3,level); figure, imshow(bw) [labeled,numObjects] = bwlabel(bw,4);
RGB_label = label2rgb(labeled, @white, 'b', 'shuffle'); imshow(RGB_label); graindata = regionprops(labeled,'basic')
allgrains = [graindata.Area] biggrain = find(allgrains>18.897638*3.14) % Now I'll demonstrate how to select certain blobs based using the ismember function. % Let's say that we wanted to find only those blobs % with an area greater than 5 mm. % Get a list of the blobs that meet our criteria and we need to keep. pixelsPerSqMM=18.897638^2; allowableAreaIndexes = (allgrains * pixelsPerSqMM) > 5; % Take the big objects. keeperIndexes = find(allowableAreaIndexes); % Extract only those blobs that meet our criteria, and % eliminate those blobs that don't meet our criteria. % Note how we use ismember() to do this. keeperBlobsImage = ismember(labeled, keeperIndexes); % Re-label with only the keeper blobs kept. labeledImage = bwlabel(keeperBlobsImage, 4); % Label each blob so we can make measurements of it % Now we're done. We have a labeled image of blobs that meet our specified criteria. imshow(labeledImage, []); title('"Keeper" blobs (bigger than 5 mm^2 in a re-labeled image)');
but in the result i dont get full picture,why is there some thing wrong in the code?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Genomics and Next Generation Sequencing에 대해 자세히 알아보기

질문:

2014년 4월 12일

댓글:

2014년 4월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by