Я хочу извлечь все теги верхнего уровня из файла изображения 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]