3DボリュームがitkImage<unsigned char, 3>
で、DICOMシリーズとして保存したい。シリーズを保存することはこれまでのところは機能しますが、メタデータタグ "画像位置患者"と "画像方向患者"はdicomファイルに保存されません。その他のタグはすべて正しく保存されます。itkImageをDICOMとして保存すると画像の位置と向きが書き込まれない
メタデータ辞書をコンソールに印刷すると、これらのタグが正しく印刷されます。 ITK-SNAPでファイルを開くと、これらの2つのタグはミスインです。
0010 | 0010患者
0010 | 0020 12345
0020 | 0032 0 \ 0 \ 0
0020 | 0037 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