dcm4che3 java lib: метод Attributes.addAll, похоже, потерял несколько значений LO - PullRequest
0 голосов
/ 05 августа 2020

Этот вопрос возникает из-за ошибки, обнаруженной в этом сообщении: Как читать значение строки DICOM с backsla sh (VR = LO, Value = "0.4323 \ 0.2325")?

С dcm4che3 в java я читаю свои атрибуты файла dcm следующим образом:

public Attributes readDicomAttributes(MultipartFile file) throws IOException 
  {
    DicomInputStream dis = new DicomInputStream(file.getInputStream());
    Attributes dataSet = dis.readDataset(-1, Tag.PixelData);
    Attributes fmi = dis.readFileMetaInformation();
    dis.close();

    fmi.addAll(dataSet);

    return fmi;
  }

У меня есть частный тег в моем dicom, который равен LO (длинная строка) и несколько значений: 0.626492\0.342747

если я проверю свой var dataSet, я могу прочитать в нем (0011,0013) LO [0.626492\0.342747] PrivateCreatorID

Если я проверю fmi в конце, у меня будет (0011,0013) LO [0.626492] PrivateCreatorID

Кажется функция addAll бесполезна. Есть ли у вас другое решение, кроме:

dataSet.addAll(fmi);
return dataSet;
...