How to loop all slice locations from a image volume as a single column vector?
    6 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hello, I am reading DICOM images from a folder and want to read all image slice locations such that I can have all slice locations as a column vector (I have 71 slices, so want to have 71 slice locations). Below is my attempt but could not able to figure out the way, can anyone help me?
%%
close all; clear; clc;
%% 
% List all files in the folder
Files = dir('/etc/*');
for k = 1 : length(Files)
    baseFileName = Files(k).name;
    fullFileName = fullfile(Files(k).folder, baseFileName);
    fprintf(1, 'Now reading %s\n', fullFileName);
end
%%
info = dicominfo(fullFileName);
slLoc = info.SliceLocation; % this will throw the slice location of the last Dicom image
% I want to write slLoc in a column vector such that all image slice locations are listed
0 Commenti
Risposta accettata
  Voss
      
      
 il 28 Giu 2022
        
      Modificato: Voss
      
      
 il 28 Giu 2022
  
      Move the last two lines inside the loop and assign info.SliceLocation to the kth element of slLoc:
%%
close all; clear; clc;
%% 
% List all files in the folder
Files = dir('/etc/*');
% slLoc = zeros(numel(Files),1); % pre-allocate slLoc
slLoc = cell(numel(Files),1); % pre-allocate slLoc
for k = 1:numel(Files)
    baseFileName = Files(k).name;
    fullFileName = fullfile(Files(k).folder, baseFileName);
    fprintf(1, 'Now reading %s\n', fullFileName);
    info = dicominfo(fullFileName);
%     slLoc(k,1) = info.SliceLocation;
    slLoc{k,1} = info.SliceLocation;
end
I don't know what class of data SliceLocation will be, so I've put it in a cell array there. Maybe it can be a numeric array or a string array.
8 Commenti
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Convert Image Type in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


