如何根据名称创建 pydicom 标签?

How to create a pydicom Tag from its name?

是否可以仅根据名称创建标签 (pydicom.tag.Tag)?例如,'Rows' 关联到 (0028,0010)。为其创建标签为:

tag=pydicom.tag.Tag(0x28,0x10)

我想用它的名字创建相同的标签,比如

tag=pydicom.tag.Tag('Rows')

这是行不通的。

有谁知道是否可以这样做?或者等价地,是否有一个函数可以从标签的名称中找到标签的编号?

谢谢!

更新:从 pydicom 1.3 开始,现在可以使用关键字创建 Tag 实例,例如

>>> from pydicom.tag import Tag
>>> Tag("Rows")
(0028, 0010)

原回答:

在 DICOM 标准中,标签 'name' 被正确地称为 'keyword'。 pydicom.datadict 中的 tag_for_keyword method 满足您的要求:

>>> from pydicom.datadict import tag_for_keyword
>>> from pydicom.tag import Tag
>>> tag_for_keyword("Rows")  # just as a number, not a Tag instance
2621456
>>> tag = Tag(tag_for_keyword("Rows"))
>>> tag
(0028, 0010)