Я хочу извлечь все теги верхнего уровня из файла изображения DICOM и вывести их в файл, используя C ++. Я хочу вывести строку тега, например «0020,000D», значение тега и описание. Я могу получить вторые два, используя следующий код, но как мне получить строку тега? Я не могу найти какую-то очевидную функцию.
for (gdcm::DataSet::ConstIterator it = ds.Begin(); it!=ds.End(); ++it) {
const gdcm::DataElement& elem = *it;
if (elem.GetVR() != gdcm::VR::SQ) {
const gdcm::Tag& tag = elem.GetTag();
auto pair = sf.ToStringPair(tag); // Gives description and value.
// How to get "####,####"?
}
}
Спасибо за любую помощь.
Павел
Вы можете использовать друга по умолчанию:
std::ostream & operator<< (std::ostream &_os, const Tag &_val)
Например:
std::cout << tag << std::endl;
Или используя устаревший API:
[std::string PrintAsPipeSeparatedString () const][1]