Info

This question is closed. Reopen it to edit or answer.

help with reading DICOM

1 view (last 30 days)
Jim O'Doherty
Jim O'Doherty on 2 Oct 2012
Closed: MATLAB Answer Bot on 20 Aug 2021
All,
I'm reading in a 3D DICOM dataset using the following function. The file is 300 images of 512x512 slices. Each slice is a separate file.
eval(['filelist =handles.filelist_pl' num2str(num) ';'])
eval(['pathname =handles.pathname_pl' num2str(num) ';'])
count = 1; images = [];
for i=3:size(filelist,1)
if filelist(i).isdir ~= true
fname = filelist(i).name;
tmp = dicomread([pathname fname]);
dcm_data = dicominfo([pathname fname]);
images(:,:,count) = tmp;
count = count+1;
end
end
dims = size(images);
I'm running into memory problems trying to load this in as an array, which I presume is taking up one single huge chunk of memory. It works fine for smaller 3D datasets (like 512x512x50) but gives up for anything larger.
Is there a more efficient way to read this data in? Perhaps a cell array or something? I'm using 2011a
Thanks, Jim

Answers (0)

Community Treasure Hunt

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

Start Hunting!