我使用Profiler运行一些代码,代码处理DICOM文件,以及Matlab中的dicom...
函数。
在Profiler的主窗口中,我看到dicominfo>parseSequence
几乎占用了所有的运行时间。在这个内部函数中,它看起来像是:
你可以在这里看到dicominfo>parseSequence
总共需要241.488秒(在标题中),并且里面有一个名为dicominfo>processMetadata
的函数,它需要240.801秒,从那时起99.7%。< / p>
但是,当我点击它查看其内容时,它表示processMetadata
只需要50.391秒! :
怎么可能......?我所有的时间都去了......?
修改
我真的认为这是一个Profiler问题,但对于@Tokkot问,我附上了我描述的那段代码:
cd ([Fname '\' seq(m).name]);
files=dir; % Names of all files in current sequence
for n=4:length(files)
info=dicominfo([pwd '\' files(n).name]);
info.PatientName=PatientName; % convert the field Name to initials
info.PatientID=''; % delete ID
[X,~]=dicomread([pwd '\' files(n).name]);
dicomwrite(X, sprintf('anon%s', files(n).name), info, 'createmode', 'copy');
delete([pwd '\' files(n).name]);
end