DICOM (.dcm, .dic)

背景

    • MIME 类型:application/dicom
    • DICOM 医学图像格式.
    • 常用于医学图像仪器和图片归档以及通信系统.
    • DICOM 是 Digital Imaging and Communications in Medicine(医学数字成像与通信)的缩写.
    • 存储多个光栅图像以及病人和设备信息.
    • 二进制格式.
    • 支持各种图像编码和数据压缩方法.
    • DICOM 版本 3.0 于 1993 年引入.

Import 与 Export

  • Import["file.dcm"] 导入 DICOM 文件并返回 Image 对象.
  • Import["file.dcm",elem] 从 DICOM 文件中导入指定的参数.
  • 导入格式可以用 Import["file","DICOM"]Import["file",{"DICOM",elem,}] 指定.
  • Export["file.dcm",expr] 以图像形式导出图形或任何其他表达式至 DICOM 文件.
  • 当导出 Wolfram 语言的图形或任意表达式至 DICOM,其结果图像具有与显示形式同样的光栅尺寸.
  • 默认情况下,图像对象按其光栅大小导出.
  • 因为 DICOM 是一个光栅图像格式,所以导出时,所有字体被光栅化.
  • 请到以下参考页面了解完整的基本信息:
  • Import, Export从文件导入或导出到文件
    CloudImport, CloudExport从云对象导入或导出到云对象
    ImportString, ExportString从字符串导入或导出到字符串
    ImportByteArray, ExportByteArray从字节数组导入或导出到字节数组

Import 参数

  • Import 的通用参数:
  • "Elements" 该文件可用的参数和选项列表
    "Summary"文件摘要
    "Rules"所有可用参数的规则列表
  • 表示数据的参数:
  • "Data"色彩值数组
    "Graphics"表示一个图像的 Graphics 对象组
    "Image"Image 对象形式表示的光栅图形
    "ImageList"图片列表
  • "RawData"存储在文件中的原位图数据
  • 叠加参数:
  • "Overlays"叠加图像或叠加列表
  • Import 在默认情况下对单帧 DICOM 文件使用 "Image",对于多帧 DICOM 文件使用 "ImageList".
  • 高级的 Import 参数:
  • "BitDepth"表示文件中每个颜色通道使用的位数
    "Channels"文件中使用的颜色通道数
    "ColorMap"颜色减少调色板,以颜色值列表形式给出
    "ColorSpace"文件中使用的颜色编码
    "ImageSize"光栅维数
    "MetaInformation"存储在文件中的元信息
    "RawMetaInformation"存储在文件中的原始元信息
    "Summary"文件摘要

Export 参数

  • 通用 Export 参数:
  • "Rules"elemexpr 形式导入的元素列表
  • Export["file.dcm",{elem1->expr1,},"Rules"] 使用规则指定要导出的元素.
  • 可用导出参数:
  • "Data"数值数据
    "Image"一个 Image 对象
    "Image3D"一个 Image3D 对象
    "ImageList"图像帧列表
    "MetaInformation"元数据标签和值的关联
    "Overlays"关联列表
  • "Overlays" 关联可以具有以下键:
  • "Description"叠加层说明
    "Image"一个或一组重叠图像
    "Label"叠加标签
    "Type"叠加层的类型
    "Subtype"叠加层的子类型
  • "Type" 的值可以是 "Graphics" 或 "RegionOfInterest". "Subtype" 可以是 "User" 或 "Automated".

选项

  • ImportExport 选项:
  • "ImageTopOrientation"Top存储在文件中的图像方向
    ImageSizeAutomatic整体图像大小
    IncludeMetaInformationAll导入和导出的元数据量
  • IncludeMetaInformation 的可用参数包括:
  • All包括所有可用的元数据
    None不包含元数据
    "Anonymized"包括匿名元数据
    "FullyAnonymized"包含完全匿名的元数据
  • Import 选项:
  • "DataTransformation"Automatic应用于文件中存储的数据的一组转换
  • "DataTransformation" 可与以下键进行关联:
  • "Modality"Automatic让数据制造商独立的模式转换
    "Polarity"Automatic假设最小值为黑色或白色
    "Presentation"Automatic是否转变为人类的知觉反应
    "ScalingWindow"Automatic用于导入数据的缩放方法,也称为关注值(VOI)
  • 默认情况下,使用文件中指定的模态转换. 使用 "Modality"None 可禁用此转换.
  • 默认情况下,使用文件中指定的极性转换. 可能的设置是:
  • "Normal"假设最小值为黑色
    "Reverse"假设最小值为白色
  • 默认情况下,使用文件中指定的模态转换. 使用 "Presentation"None 可禁用此转换.
  • "ScalingWindow" 可以进行以下设置:
  • Automatic自动缩放
    None无缩放
    "MinMax"缩放到所有帧中的数据的最小值和最大值
    "MinMaxPerFrame"缩放到每帧的最大值和最小值
    {center,w}缩放到 {center-w,center+w} 范围
    <|"Center"center,"Width"w|>缩放到 {center-w,center+w} 范围
    <|"Min"min,"Max"max|>缩放到 {min,max} 范围
  • 通过 "ScalingWindow"->Automatic,用存储在文件中的缩放值缩放值. 如果未存储任何缩放规格,则使用"MinMax" 方法缩放值.
  • Export 选项:
  • ColorSpaceAutomatic文件中使用的色彩空间
    CompressionLevelAutomatic使用的压缩级别
    ImageSizeAutomatic整体影像尺寸
    "BitDepth"Automatic用于存储图像数据的每个通道的位深
    "ImageEncoding"None使用的图像编码
    "ImageTopOrientation"Automatic文件中存储的图像方向
  • 支持 ColorSpace 的设定为 "Grayscale""RGB".
  • "ImageEncoding" 的可能值为 "JPEGLossless""JPEGLosslessNonhierarchical""JPEGLSLossless""JPEGLSLossy""JPEGLossy8Bit""JPEGLossy12Bit""RLE".

范例

打开所有单元关闭所有单元

基本范例  (3)

导入一个包含灰度图像的 DICOM 文件:

图片摘要:

将图像导入至 DICOM:

范围  (2)

显示文件中所有可用的 Import 参数:

从 DICOM 文件导入元数据:

导入参数  (15)

可用参数  (3)

可用元素列表:

将所有元素导入为规则列表:

导入部分图像选项:

"Options" 参数不会返回导入图像中存在的所有选项:

数据表示  (4)

"Data"  (1)

导入图像数据:

从导入数据创建图像:

"Graphics"  (1)

导入为 Graphics 对象:

"Image"  (1)

导入为 Image 对象:

这是 DICOM 的默认导入参数:

"RawPixelData"  (1)

导入存储在文件中的 DICOM 像素数据:

这些值在没有任何缩放的情况下返回,并且在图像中显示时可能不可见:

调整值以查看更多数据:

元数据  (8)

"BitDepth"  (1)

获取用于表示每个颜色通道的位数:

"Channels"  (1)

获取图像通道数:

"ColorSpace"  (1)

获取导出时使用的颜色编码:

使用 ImageColorSpace 获取导入图像的颜色空间:

"ImageSize"  (1)

获取存储在文件中的图像的尺寸:

在导入的图像上使用 ImageDimensions 可获得相同的结果:

"MetaInformation"  (1)

从 DICOM 文件中读取元信息:

元信息数据集:

"RawMetaInformation"  (2)

"MetaInformation" 不同,"RawMetaInformation" 不根据 DICOM 标准验证导入的值,并且不执行对 Wolfram 语言表达式的任何转换。从 DICOM 文件中读取原始元信息:

原始元信息的数据集:

"RawMetaInformation" 参数可能返回比 "MetaInformation" 更多的标签:

"Summary"  (1)

获取图像摘要:

导出参数  (10)

"Data"  (1)

NumericArray 作为原始像素值导出到 DICOM 文件:

"Graphics"  (1)

任何表达式都可以导出到 DICOM 文件. 如果不是图像,将对其进行栅格化:

"GraphicsList"  (1)

可以将任意表达式的列表导出到多帧 DICOM 文件中:

"Image"  (1)

导出为单个图像:

"ImageList"  (1)

将图像列表导出到多帧 DICOM 文件:

尺寸不同的图像符合相同的尺寸:

"Image3D"  (1)

将3D图像导出到多帧 DICOM 文件:

"MetaInformation"  (2)

将图像和元信息导出到 DICOM 文件:

没有图像就无法导出元数据:

"Overlays"  (2)

定义叠加层和要导出的图像:

使用适当放置的叠加层导出图像:

导入结果:

仅导入叠加层:

叠加层不可单独导出:

导出选项  (8)

ImageSize  (1)

默认情况下,图像以其完整分辨率导入:

指定导入的 BMP 图像的栅格大小:

"ImageTopOrientation"  (1)

默认情况下,图像以顶部方向导入:

指定应该在顶部的一面:

"DataTransformation"  (6)

使用默认的数据转换导入图像:

检查导入图像中像素值的范围:

导入无转换的图像:

检查导入图像中像素值的范围:

检查存储在文件中的窗口宽度和中心的值:

导入图像,明确指定文件中存储的窗口宽度和中心:

将介于 500 到 600 之间的图像缩放值导入到整个图像数据范围:

导入具有特定缩放比例值和反向极的图像:

比较禁用模态转换和更改极性如何影响导入的图像:

导出选项  (18)

BitDepth  (3)

Export 自动使用最合适的位深度:

强制将导出图像的位深度设置为 8:

支持的位深度为 Automatic、8 和 16:

ColorSpace  (3)

默认情况下,Export 使用最合适的色彩空间:

强制颜色空间为灰度:

支持 Automatic"Grayscale""RGB"的值:

CompressionLevel  (4)

压缩级别应在 0 到 1 之间:

CompressionLevel0 进行无压缩和获得最佳图像质量:

这将导致更大的文件:

CompressionLevel1 进行最大压缩,尽可能减小文件大小:

这样可以减小文件大小:

但是,通常会引入伪影:

无损图像编码会忽略压缩级别:

"ImageEncoding"  (3)

默认情况下,导出的 DICOM 图像不使用任何编码:

导出有损 12 位 JPEG 编码的 DICOM 图像:

比较不同编码的文件大小:

ImageSize  (1)

默认情况下,以全分辨率导出图像:

指定导出图像的栅格大小:

IncludeMetaInformation  (3)

导入带有嵌入式元数据的图像:

默认情况下,嵌入式元数据与 "MetaInformation" 元素中指定的元数据合并:

IncludeMetaInformationNone 时,将忽略嵌入式元数据:

包括带有部分匿名性的嵌入式元信息:

请注意,患者姓名已删除:

虽然其他一些元数据(例如过程开始时间)仍然存在:

包括带有完全匿名化功能的嵌入式元信息:

请注意,大多数元数据都已删除或匿名化:

"ImageTopOrientation"  (1)

默认情况下,使用 "ImageTopOrientation"->Top 导出直立图像:

指定方向: