半径r1, 中心座標 (x1, y1, z1) の球体の内側のピクセルの値をゲットしたい。

3 次查看(过去 30 天)
Yusaku Ohta
Yusaku Ohta 2020-11-6
3D画像 (xyz)内の半径r1, 中心座標 (x1, y1, z1) の球体の内側のピクセルの値をゲットしたいです。
個々のピクセルの値には興味はなく、球体内のピクセルの色強度の平均値・SDといった統計量をゲットしたいです。
球体は1つではなく数百以上あるため、効率的に定量する方法を求めています。
教えて下さい。
半径 (r1, r2, r3 ...)と中心座標 ((x1, y1, z1), (x2, y2, z2), (x3, y3, z3) ...)の値は持っています。
私の説明が不十分であればお尋ねください。
よろしくお願いします。
  2 个评论
Kenta
Kenta 2020-11-6
こんにちは、ここでいう「3D画像」とは、点群のことですか?それともボクセルやボリュームイメージ(「ピクセル」がz方向に積み重なった感じ)でしょうか?
Yusaku Ohta
Yusaku Ohta 2020-11-6
コメントありがとうございます。
ボクセルやボリュームイメージ(「ピクセル」がz方向に積み重なった感じ)の方です。
よろしくお願いします。

请先登录,再进行评论。

采纳的回答

Kenta
Kenta 2020-11-7
clear;clc;close all
load mri
D = squeeze(D);
volshow(D)
[x, y, z]=meshgrid([1:siz(1)],[1:siz(2)],[1:siz(3)]);
r1=10;
cx=100;
cy=50;
cz=13;
% obtain the index of the voxel, where (x-cx)^2+(y-cy)^2+(z-cz)^2<r1^2
idx=find((x(:)-cx).^2+(y(:)-cy).^2+(z(:)-cz).^2<r1^2);
% extract the values
values=D(idx);
%%%%%%%% your code %%%%%%%%
% display the ROI extraction
vol=zeros(size(D));
vol(idx)=1;
volROI=double(D).*vol;
figure;volshow(volROI)
こんにちは、上のように球の方程式をつかって、値を取り出すことができると思います。念のためコードのほうもご確認ください。
  1 个评论
Yusaku Ohta
Yusaku Ohta 2020-11-7
Kenta様
indexを作るのが鍵なのですね。
大変参考になりました。
ありがとうございます。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 3 次元ボリューム イメージの処理 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!