How to create a 3D stack using 2D images

5 views (last 30 days)
DM
DM on 13 Apr 2021
Edited: Matt J on 13 Apr 2021
Hi,
I have a 2D binary image with dimensions [145,145] and I would like to create a 3D stack using 10 times the same 2D binary image, i.e. a series of the same 2D images.
I tried the following code but I am ending up with a 2D image instead of 3D.
mask = load_nii('~/mask_2d.nii');
mask_2d = double(mask.img);
mask_3d = zeros(145,145,10);
for i = 1:10
mask_3d(:,:,i) = mask_3d(:,:,i)+mask_2d(:,:);
end
Any help would be much appreciated.

Answers (1)

Matt J
Matt J on 13 Apr 2021
Edited: Matt J on 13 Apr 2021
Are you sure you need to do that? It seems like a waste of memory to copy the same image 10 times. If you're sure it's what you want, however,
mask_3d=repmat(mask_2d,1,1,10);

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!