在“implay”中自动缩放 DICOM 图像
Posted
技术标签:
【中文标题】在“implay”中自动缩放 DICOM 图像【英文标题】:Autoscale DICOM images in "implay" 【发布时间】:2014-06-10 05:06:25 【问题描述】:我有一系列通过 implay 显示的 DICOM 文件,但我不确定如何使用自动缩放语法,因此视频看起来并不全是粉饰。通常使用 imshow 或 imtool 它的 "imtool(I,'DisplayRange',[])" 但我怎样才能对 implay 做同样的事情?
D = dir('*.dcm');
baseFilenames = D.name;
numberOfFiles = length(baseFilenames);
for k = 1:numberOfFiles
fullFileName = baseFilenamesk;
imArray(:,:,k) = dicomread(fullFileName);
end
implay(imArray)
【问题讨论】:
【参考方案1】:我认为implay
没有自动缩放器。
如果您的数据是 double 类型,您应该手动对其进行缩放,以便您的图像介于 [0 1] 之间 - 这是大多数图像处理工具箱功能所期望的。有多种函数,如 imadjust
可用于此目的,但您可能只需将相同的因素应用于整个图像堆栈。如果您实际上不想修改imArray
,因为您以后需要原始DICOM 值,您可以在implay
行中进行:
implay(imArray./sf)
(当然,如果您的 DICOM 中有负值,会变得稍微复杂一些)。
【讨论】:
我确实需要稍后使用 DICOM 值,所以我尝试了“./sf”但我收到此错误:错误使用 stateflow\private\sflibrary 输出参数太多。 您需要定义一个实际的比例因子 - 这只是我放入的占位符,因为我不知道您的数据是什么样的。 谢谢!有没有办法找出自动缩放器使用的缩放因子?以上是关于在“implay”中自动缩放 DICOM 图像的主要内容,如果未能解决你的问题,请参考以下文章
DICOM医学图像处理:基于DCMTK工具包学习和分析worklist
DICOM医学图像处理:基于DCMTK工具包学习和分析worklist