How can I extract 3D features form a stack of 2D images?

2 ビュー (過去 30 日間)
May
May 2017 年 2 月 24 日
コメント済み: Image Analyst 2017 年 3 月 21 日
I am conducting a lung nodule detection form CT scan images. I extract the nodule candidates form series of 2D CT images. Then I stack the extracted ROIs to get a 3D image. After that I want to extract 3D features, but I don't know how can I extract the features from 3D directly or from each layers of 2D images. Please kindly suggest me how can I extract 3D features form a stack of 2D images.
srcFiles = dir('R_006S\*.jpg'); % the folder in which images exists
n = length(srcFiles);
a={}; slices={};
for i = 1:n
fileName = strcat('R_006S\',srcFiles(i).name);
a{i} = imread(fileName);
slices{i} = (a{i});
end
X = cat(3,slices{1:end});
map = hsv(90);
XR = X;
Ds = smooth3(XR);
hiso = patch(isosurface(Ds,5),'FaceColor','green','EdgeColor','none');
hcap = patch(isocaps(XR,5),'FaceColor','interp','EdgeColor','none');
colormap(map)
daspect(gca,[1,1,.4])
lightangle(305,30);
fig = gcf;
fig.Renderer = 'zbuffer';
lighting phong
isonormals(Ds,hiso)
hcap.AmbientStrength = .6;
hiso.SpecularColorReflectance = 0;
hiso.SpecularExponent = 50;
ax = gca;
ax.View = [215,30];
ax.Box = 'On';
axis tight
title('Original Data');
  2 件のコメント
Massimo Zanetti
Massimo Zanetti 2017 年 2 月 24 日
編集済み: Massimo Zanetti 2017 年 2 月 24 日
What do you mean by "exctracting features"? What features are you referrfing to?
PS. In your code there is some redundancy in loading images and making X, consider this to simplify it:
srcFiles = dir('R_006S\*.jpg'); % the folder in which images exists
n = length(srcFiles);
X = zeros(512,512,n);
for i = 1:n
fileName = ['R_006S\',srcFiles(i).name];
X(:,:,i) = imread(fileName);
end
Now X is your 3D image.
May
May 2017 年 3 月 4 日
Thank you for your suggest. I want to extract the shape (round or not), volume, diameter, contrast and stolidity of VOI.

サインインしてコメントする。

採用された回答

Image Analyst
Image Analyst 2017 年 3 月 4 日
Do something (filtering or whatever is needed) to get to a point where you can threshold. Then threshold, label, and call regionprops().
  1 件のコメント
May
May 2017 年 3 月 5 日
Thank you so much, Image Analyst.

サインインしてコメントする。

その他の回答 (1 件)

MDanit
MDanit 2017 年 3 月 15 日
Could you please provide your full answer here? As I have the same problem.
Thanks,
  4 件のコメント
MDanit
MDanit 2017 年 3 月 21 日
編集済み: MDanit 2017 年 3 月 21 日
Thanks for your comments! Image Analyst, I have different stacks from a single cell and I want to reconstruct the 3d image of cell using those stacks so that I can extract data from its surface in form of (x, y, z). Do you possibly have any idea? Thanks,
Image Analyst
Image Analyst 2017 年 3 月 21 日
You can bring it into Avizo: https://www.fei.com/software/avizo-3d/

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by