フィルターのクリア

see a 2d plane from a 3d image

2 ビュー (過去 30 日間)
Marcelo hernandez
Marcelo hernandez 2018 年 10 月 27 日
コメント済み: Image Analyst 2018 年 10 月 27 日
The code to form a sphere of 100x100x10 pixels is the following
%
imageSizeX = 100;
imageSizeY = 100;
imageSizeZ = 100;
[X,Y,Z] = ndgrid(1:imageSizeX, 1:imageSizeY, 1:imageSizeZ);
% Next create the circle in the image.
centerX = 50;
centerY = 50;
centerZ = 50;
radius = 25;
circlePixels = (Z-centerZ).^2 + (Y-centerY).^2 + (X-centerX).^2 <= radius.^2;
I would like to visualize a horizontal plane 2d in some position z of the sphere in a square of 100x100 pixels, obviously this image would be a circle.
How would that be done, thank you very much.

採用された回答

Image Analyst
Image Analyst 2018 年 10 月 27 日
Try slice().
  2 件のコメント
Marcelo hernandez
Marcelo hernandez 2018 年 10 月 27 日
matlab says that Input grid is not valid MESHGRID. i try
%
xslice = 10;
yslice = [];
zslice = [];
slice(X,Y,Z,circlePixels,xslice,yslice,zslice,'nearest')
Image Analyst
Image Analyst 2018 年 10 月 27 日
Try this:
imageSizeX = 100;
imageSizeY = 100;
imageSizeZ = 100;
[X,Y,Z] = ndgrid(1:imageSizeX, 1:imageSizeY, 1:imageSizeZ);
% Next create the circle in the image.
centerX = 50;
centerY = 50;
centerZ = 50;
radius = 25;
circlePixels = (Z-centerZ).^2 + (Y-centerY).^2 + (X-centerX).^2 <= radius.^2;
circlePixels = double(circlePixels);
zslice = 50;
slice(circlePixels,[],[],zslice,'nearest')

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by