楕円で囲まれた部分の体積計算

2 views (last 30 days)
virgo kk
virgo kk on 17 Feb 2020
Commented: Kenta on 18 Feb 2020
骨のCTスライス画像、dicomファイル512*512の100枚を使用して、ボリュームデータから等値面を生成して可視化を行いました。
中央の楕円で囲んだ部分の体積を求めたいです。
方法をご教授して頂けないでしょうか??
宜しくお願いします。
  3 Comments
virgo kk
virgo kk on 18 Feb 2020
回答有難うございます。
boundary関数なのですが、上で表示しているデータが等値面生成時にstruct型になっておりまして、そのstruct型をboundaryのデータ用にdouble型へcast変換しようとしているのですができませんでした。
どこのコードを修正すべきでしょうか?宜しくお願いします。
clear; clc; close all; % 初期化
fileFolder = fullfile(pwd); % 画像の読込み (フォルダ内の数枚の断面画像)
dcmFiles = dir(fullfile(fileFolder,'*.dcm'));
numfiles = length(dcmFiles);
dcm = dicomread(dcmFiles(1).name);
grayscale = zeros(size(dcm,1),size(dcm,2),numfiles);% 三次元配列への拡張 %%10~25
for k = 20:25
grayscale(:,:,k) = dicomread(dcmFiles(k).name); %格納
end
data = cast(grayscale,'uint16');
vol = isosurface(data,150)%任意の輝度の値で等値面を作成
p = cast(vol,'double');
エラー文
エラー: cast
struct から double に変換できません。
エラー: calxym50 (line 16)
p = cast(vol,'double');
Kenta
Kenta on 18 Feb 2020
すいません、この形式のデータを扱ったことがなくてわかりません。matlabやその他の場所で、今回と同様の形式のデータがないかご存じないですか?的外れなことをいっても申し訳ないですし、できればこちらも操作しながら確認したいです。

Sign in to comment.

Answers (0)

Categories

Find more on DICOM Format in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!