How dicomCollection sorts dicom filenames?

조회 수: 4 (최근 30일)
drummer
drummer 2020년 8월 22일
댓글: drummer 2020년 10월 1일
Hi,
I'm having issues when using dicomCollection to read multi-slice dicom volumes.
I'm basically following steps in this link. But here's my situation:
When loading regular dicom images (the ones I haven't processed), dicomCollection sorts the image slices correctly.
But when I try to load dicom images I created (sub-sampled MR images), it sorts like crazy, with no apparently intuitive ordering.
collection = dicomCollection(MyMRfolder, 'IncludeSubfolders', true);
for idx = 1 : numel(collection.Row)
dicomFilename = collection.Filenames{idx};
end
FYI: there are numbers in my dicom filenames suggesting its order, as image1.dcm, image2.dcm and so on. It happens to the 'untouched' dicom images as well.
How would it sort, if dicom headers such as InstanceNumber were correctly written using dicomwrite?
Thanks

채택된 답변

drummer
drummer 2020년 8월 24일
I just used sort to fix the problem
for idx = 1 : numel(collection.Row)
dicomFilename = sort(collection.Filenames{idx});
collection.Filenames{idx} = sort(collection.Filenames{idx});
end
That will correctly sort the files so dicomreadVolume can read it and build the volume correctly.
  댓글 수: 2
Julianna Mather
Julianna Mather 2020년 9월 28일
Just be aware, files aren't always stored with filenames that sort correctly. (It's actually pretty common for them not to be.) The only way to get it right is to inspect the position metadata inside the file.
Consider using dicomreadVolume, which takes care of this for you.
drummer
drummer 2020년 10월 1일
Hi Jeff, indeed you're right. I've never seen such situation, but it certainly can occur.
Thanks for the tips using dicomReadVolume.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 DICOM Format에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by