making volume from multiple slices

1 vue (au cours des 30 derniers jours)
talayeh ghodsi
talayeh ghodsi le 12 Oct 2019
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

Réponse acceptée

KALYAN ACHARJYA
KALYAN ACHARJYA le 12 Oct 2019
Modifié(e) : KALYAN ACHARJYA le 12 Oct 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 commentaires
talayeh ghodsi
talayeh ghodsi le 13 Oct 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 le 15 Oct 2019
Modifié(e) : KALYAN ACHARJYA le 15 Oct 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

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by