我目前必須從一堆2D切片(MATLAB中的二維矩陣,它們表示二維灰度圖像)創建一個球體。我使用下面的代碼創建了一堆切片。爲了創建球體,我已經重複創建了大小增加到100的圓的切片,然後減小了大小。所有這些切片都添加到3D矩陣中。我需要從一堆2D切片創建一個3D球體
Circle = ones(200,400,400);
for i = 1:100
[rr cc] = meshgrid(1:400);
C = sqrt((rr-200).^2+(cc-200).^2)<=i;
for j = 1:400
for k = 1:400
Circle(i,j,k) = C(j,k);
end
end
end
index = 100;
for i = 1:100
[rr cc] = meshgrid(1:400);
C = sqrt((rr-200).^2+(cc-200).^2)<=index;
for j = 1:400
for k = 1:400
Circle(i+100,j,k) = C(j,k);
end
end
index = index - 1;
end
viewer3d(Circle);
viewer3d
是第三部分庫,它可以幫助您查看片的3D圖像棧的3D對象。一旦我想象出這個「假定」的球體,我意識到它是一個菱形的頂部而不是球體。
因此,我不知道如何改變圓的大小,直到y
平面中的球體的中心點,然後用相同的算法減小它。
謝謝你的回答,請不要猶豫,讓我澄清這個問題中的任何事情。
我從除去不相干[\ [切片\]](http://stackoverflow.com/tags/slice/info)標籤的題。請在發佈之前閱讀標籤描述,以確保標籤意味着您認爲它的含義:)此外,您可以使用'for i = 100:-1:1'創建遞歸循環,更一般地看一下什麼'100:-1:1'是。 –
@AndrasDeak我忘記了'for i = 100:-1:1'!謝謝你提醒我!我在談論標籤描述的粗略意義上的切片,而是一個科學切片。然而標籤去除是合理的! –
對不起,如果我誤解了,歡迎您重新提出您的問題:)這也是我留下評論的原因:您可以判斷其正確性。 –