나는 3D 볼륨이 itkImage<unsigned char, 3>
이므로 DICOM 시리즈로 저장하려고합니다. 시리즈 저장은 지금까지는 작동하지만 "Image Position Patient"및 "Image Orientation Patient"메타 데이터 태그는 dicom 파일에 저장되지 않습니다. 다른 모든 태그는 올바르게 저장됩니다.itkImage를 DICOM으로 저장할 때 이미지 위치/방향이 기록되지 않음
콘솔에 메타 데이터 사전을 인쇄하면 이러한 태그가 올바르게 인쇄됩니다. ITK-SNAP에서 파일을 열면이 두 개의 태그가 없습니다. 0020 12345
0020 | |
0010 | 환자
0010 0010
0,020 0,032 0 \ 0 \ 0
| 0,037 1 \ 0 \ 0 \ 0 \ 1 \ 0
이것은 태그가 메타 데이터에 저장되는 코드의 일부입니다. 나는 작업 예제로 gist을 만들었습니다.
UC3ImageType::PointType position;
UC3ImageType::IndexType index;
index[0] = 0;
index[1] = 0;
index[2] = f;
image->TransformIndexToPhysicalPoint(index, position);
value.str("");
value << position[0] << "\\" << position[1] << "\\" << position[2];
itk::EncapsulateMetaData<std::string>(*dictionary, "0020|0032", value.str());
value.str("");
value << position[2];
itk::EncapsulateMetaData<std::string>(*dictionary, "0020|1041", value.str());
itk::EncapsulateMetaData<std::string>(*dictionary, "0020|0037", "1\\0\\0\\0\\1\\0");
이 코드의 잘못된 점은 무엇입니까? 이러한 태그가 저장되도록 필요한 다른 태그가 있습니까?
나는 이것이 'ITK'의 버그 였다고 생각한다. 정말 오래된 버전이 있습니까? 최근에 다시 나타나는지 확인하지는 않았지만 .. – drescherjm
@drescherjm 감사합니다. 4.6.1 버전을 사용하고 있습니다. – ipa
둘 다 ITK-4.9.1에서 작동하는 것 같습니다. – drescherjm