dicom - 如何在不读取/加载像素数据的情况下读取DICOM私有(private)标签?

标签 dicom pydicom

我想读取 DICOM 私有(private)标签。这些私有(private)标签位于十六进制标签x7fe11001下。
我知道其中一种 pydicom 配置会读取直到像素数据开始(因此内存未加载)。

pydicom.dcmread(raw, defer_size="2 MB", stop_before_pixels=True)

但是我尝试读取的私有(private)标签位于像素数据之后。所以我结束在内存中加载完整的文件,这不是最佳的。还有哪些其他方法可以以最佳方式阅读它?
我知道上述方法有一个配置参数,称为 specific_tags。但我找不到任何如何使用它的示例。

任何在不将像素数据加载到内存的情况下读取 DICOM 元数据的建议都很棒。

最佳答案

你是对的,special_tags 是执行此操作的正确方法:

ds = pydicom.dcmread(raw, specific_tags=[Tag(0x7fe1, 0x1001)]

在这种情况下,ds 应仅包含您的私有(private)标记和特定字符集 标记(始终读取)。
由于DICOM是顺序格式,所以其他标签仍然要一一跳过,但不读取它们的值。
请注意,您可以将任意数量的标签放入 special_tags 参数中。

关于dicom - 如何在不读取/加载像素数据的情况下读取DICOM私有(private)标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60295780/

相关文章:

java - 如何使用dcm4che3 movecu使用AccessionNumber查询PACS服务器?

matlab - 对彩色图像使用 dicomwrite

python - 从多个 jpg 图像创建一个 Dicom

python - 从 numpy 数组到 DICOM

dicom - 模态工作列表 - 为序列的 C-FIND 请求返回哪些项目?

python - pydicom 数据集 : send_c_find return success but status. Pixel_array 中有错误文本

python - 如何在灰色图像上覆盖红色的热图 numpy 数组?

python - 如何使用 Azure Synapse 和 pySpark 笔记本从 ADLS gen2 检索 .dcm 图像文件?

dicom - 在 Python 中将 DICOM 结构轮廓作为数组获取

dicom - 计算位图的窗口宽度和窗口中心