我在同一个文件夹中有两种不同类型的 dicom(医学影像文件)。我想将它们分为两个不同的数组,一个用于 SE006,另一个用于 SE014。
MR-ST001-SE006-0001.dcm... MR-ST001-SE006-0021.dcm
MR-ST001-SE014-0001.dcm... MR-ST001-SE014-0013.dcm
我一直在使用类似下面这段代码的东西,但它是错误的,我认为我有一些语法错误。
if image == 'MR-ST001-SE006-%4.4.dcm'
SE006(end+1) = image
if image == 'MR-ST001-SE014-%4.4.dcm'
SE014(end+1) = image
有人有任何提示可以帮助改进它以使其有效吗?
最佳答案
您可以使用 DIR 将所有文件读取到元胞数组中命令,然后使用 CELLFUN从@jonsca 向量化解决方案。
files = dir('MR-ST001-SE*.dcm');
dcmnames = {files(:).name}';
idx06 = ~cellfun(@isempty,strfind(dcmnames,'SE006'));
idx14 = ~cellfun(@isempty,strfind(dcmnames,'SE014'));
SE006 = dcmnames(idx06);
SE014 = dcmnames(idx14);
关于string - 在 Matlab 中对图像名称文件进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6207298/