如何根据名称创建 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)
是否可以仅根据名称创建标签 (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)