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

8 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)

Community Treasure Hunt

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

Start Hunting!