半径r1, 中心座標 (x1, y1, z1) の球体の内側のピクセルの値をゲットしたい。
1 view (last 30 days)
Show older comments
3D画像 (xyz)内の半径r1, 中心座標 (x1, y1, z1) の球体の内側のピクセルの値をゲットしたいです。
個々のピクセルの値には興味はなく、球体内のピクセルの色強度の平均値・SDといった統計量をゲットしたいです。
球体は1つではなく数百以上あるため、効率的に定量する方法を求めています。
教えて下さい。
半径 (r1, r2, r3 ...)と中心座標 ((x1, y1, z1), (x2, y2, z2), (x3, y3, z3) ...)の値は持っています。
私の説明が不十分であればお尋ねください。
よろしくお願いします。
2 Comments
Accepted Answer
Kenta
on 7 Nov 2020

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)
こんにちは、上のように球の方程式をつかって、値を取り出すことができると思います。念のためコードのほうもご確認ください。
More Answers (0)
See Also
Categories
Find more on Image Processing Toolbox 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!