半径r1, 中心座標 (x1, y1, z1) の球体の内側のピクセルの値をゲットしたい。
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Yusaku Ohta
el 6 de Nov. de 2020
Comentada: Yusaku Ohta
el 7 de Nov. de 2020
3D画像 (xyz)内の半径r1, 中心座標 (x1, y1, z1) の球体の内側のピクセルの値をゲットしたいです。
個々のピクセルの値には興味はなく、球体内のピクセルの色強度の平均値・SDといった統計量をゲットしたいです。
球体は1つではなく数百以上あるため、効率的に定量する方法を求めています。
教えて下さい。
半径 (r1, r2, r3 ...)と中心座標 ((x1, y1, z1), (x2, y2, z2), (x3, y3, z3) ...)の値は持っています。
私の説明が不十分であればお尋ねください。
よろしくお願いします。
2 comentarios
Kenta
el 6 de Nov. de 2020
こんにちは、ここでいう「3D画像」とは、点群のことですか?それともボクセルやボリュームイメージ(「ピクセル」がz方向に積み重なった感じ)でしょうか?
Respuesta aceptada
Kenta
el 7 de Nov. de 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)
こんにちは、上のように球の方程式をつかって、値を取り出すことができると思います。念のためコードのほうもご確認ください。
Más respuestas (0)
Ver también
Categorías
Más información sobre 3 次元ボリューム イメージの処理 en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!