关键函数:DcmObject *DcmItem::nextInContainer(const DcmObject *obj),它是DcmObject 中的虚函数,被DcmItem类实现,由于DcmDataSet类继承于DcmItem,所以DcmDataSet对象使用此方法就能能够遍历0008 - 7FE0之间的TAG。
这个函数的原代码为
分析代码可知:
(1)当用nextInContainer(NULL)时,返回一个DcmObject 指针,使用这个指针的getTag()方法就能得到一个Tag1,这个Tag1是图像中组号为0008的第一个Tag。(此处定义一个nextInContainer(NULL)的返回对象:DcmObject * pObject_tg)
(2)当用nextInContainer(pObject_tg)时,也返回一个DcmObject 指针,同样使用这个指针的getTag()方法就能得到一个Tag2,这个Tag2是图像中组号为0008的第二个Tag。也就是跟在Tag1后面的Tag.
这样再设计一个很简单的循环就能遍历0008 - 7FE0之间的所有TAG了。
本文来源:http://blog.csdn.net/a36254094/article/details/7614428