Тег DICOM RetrieveURL пуст в выводе JSON

Я использую DicomDataSet добавить теги и их значения, как показано ниже:

....
var ds = new DicomDataSet();
ds.Initialize(DicomClassType.StudyRootQueryStudy, DicomDataSetInitializeFlags.None);
ds.InsertElementAndSetValue(DicomTag.QueryRetrieveLevel, "STUDY"); 
ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR192");  
ds.InsertElementAndSetValue(DicomTag.RetrieveURL,  "http://localhost/Service/api/wado-rs/studies/" + row.StudyInstanceUID); 
....

когда я делаю json в ds Я не вижу ценности для 00081190 лайк json по этой ссылке.

изготовление json код файла:

string jsonFileNameOut = Path.Combine(@"C:\Study", $"{DateTime.Now.Ticks}.json"); 
// Save as JSON with no binary data 
// For the demo, keep the json output file size small by skipping the pixel data 
const DicomDataSetSaveJsonFlags jsonFlags = DicomDataSetSaveJsonFlags.IgnoreBinaryData |
                                            DicomDataSetSaveJsonFlags.TrimWhiteSpace;
ds.SaveJson(jsonFileNameOut, jsonFlags);

Зачем vrпредставление значения для RetrieveUrl (81190) тег есть UN(неизвестно), вывод выглядит примерно так:

[{
  "00080005" : { 
   "vr" : "CS", 
   "Value" : [ 
     "ISO_IR 192"
   ] 
   },
  "00080052" : { 
   "vr" : "CS", 
   "Value" : [ 
     "STUDY"
   ] 
   },
  "00081190" : { 
   "vr" : "UN"
   }
  }]

1 ответ

Решение

Я наконец-то нашел решение, прочитав много статей, и решил опубликовать решение здесь для тех, кто не знает этого, как я.

Таким образом, в протоколе DICOM есть некоторые частные теги, которые vr (Представление значения) для них UN по умолчанию после разбора на json или же xml поэтому они не будут выставлены на продажу.

Таким образом, мы должны сделать частный тег для публичного и установить vr вручную для них нравится то, что я делаю ниже:

DicomElement dm = ds.InsertElement(null, false, DicomTag.RetrieveURL, DicomVRType.UT, false, 1);
if (dm != null)
{
    ds.FreeElementValue(dm); 
    ds.SetStringValue(dm, url, DicomCharacterSetType.UnicodeInUtf8);
}

проблема решена InsertElement а также SetStringValue,

Другие вопросы по тегам