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

1 回表示 (過去 30 日間)
virgo kk
virgo kk 2020 年 2 月 17 日
コメント済み: Kenta 2020 年 2 月 18 日
骨のCTスライス画像、dicomファイル512*512の100枚を使用して、ボリュームデータから等値面を生成して可視化を行いました。
中央の楕円で囲んだ部分の体積を求めたいです。
方法をご教授して頂けないでしょうか??
宜しくお願いします。
  3 件のコメント
virgo kk
virgo kk 2020 年 2 月 18 日
回答有難うございます。
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 2020 年 2 月 18 日
すいません、この形式のデータを扱ったことがなくてわかりません。matlabやその他の場所で、今回と同様の形式のデータがないかご存じないですか?的外れなことをいっても申し訳ないですし、できればこちらも操作しながら確認したいです。

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

回答 (0 件)

カテゴリ

Help Center および File ExchangeDICOM Format についてさらに検索

Community Treasure Hunt

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

Start Hunting!