我想读取 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/