我有一系列DICOM文件,我通过implay显示,但我不确定如何使用自动缩放语法,因此视频看起来不会全部粉刷。通常使用imshow或imtool" imtool(I,' DisplayRange',[])"但我怎么能这样做呢?
D = dir('*.dcm');
baseFilenames = {D.name};
numberOfFiles = length(baseFilenames);
for k = 1:numberOfFiles
fullFileName = baseFilenames{k};
imArray(:,:,k) = dicomread(fullFileName);
end
implay(imArray)
答案 0 :(得分:0)
我不认为implay
有自动缩放器。
如果您的数据类型为double,则应手动缩放,以使图像介于[0 1]之间 - 这是大多数图像处理工具箱功能所期望的。有许多功能,如imadjust
可用于此目的,但您可以简单地将相同的因子应用于整个图像堆栈。如果您实际上不想修改imArray
,因为以后需要原始DICOM值,您可以在implay
行中执行此操作:
implay(imArray./sf)
(如果你的DICOM中有负值,那么会稍微复杂一些)。