making volume from multiple slices

hi everyone. i have 429 slices of ct and i want to make a volume(called pic_3D in the code) from them. each image is 625*696. i have written the code bellow, but it still has the error wich is attached. and also i dont know why the im(number of images in the folder) in the workspace is 269, it should be 429
surf_read_dir='C:\Users\asus\Desktop\more crop\';
files=dir('C:\Users\asus\Desktop\more crop\*.jpg');
for im=1:size(files)
fdir = strcat(surf_read_dir , files(im).name);
slice_im = load(fdir);
pic = imread(fdir);
for i=1:600
frt_data(im,:,i)=pic(i,:,1);
end
pic_3D(:,:,im) = pic(:,:,1);
end

 Respuesta aceptada

KALYAN ACHARJYA
KALYAN ACHARJYA el 12 de Oct. de 2019
Editada: KALYAN ACHARJYA el 12 de Oct. de 2019
result=cat(Depth_size,slice1,slice2,slice3....);
Depth_size must be same as number of slices to be add
Say 3 slices then
result_3d=cat(3,slice1,slice2,slice3);
Look at multidimentional array, you may get more idea.

2 comentarios

talayeh ghodsi
talayeh ghodsi el 13 de Oct. de 2019
thanks for your answer, but could you tell how can i put all 429 slices in your code instead of 'slice'?
result=cat(429,slice1,slice2,slice3....);
KALYAN ACHARJYA
KALYAN ACHARJYA el 15 de Oct. de 2019
Editada: KALYAN ACHARJYA el 15 de Oct. de 2019
%Read all slices and save in structure array , like array_data={1,429}
Next
for i=1:length(array_data);
result(:,:,i)=cat(i,array_data{i});
%.................^ here we have to think about
end
%Please note, I did not tried it, may it works with minor modifications
Or
see reshape function

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

el 12 de Oct. de 2019

Editada:

el 15 de Oct. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by