3

DICOM ファイルとして保存された放射線治療計画から情報を抽出した後、私の問題は別のものになりました。

(例) を使用して、既存のプランのアイテムを追加または更新できることを知っています。

file.Dataset.AddOrUpdate(Dicom.DicomTag.PatientAge,23);

シーケンスで DicomTags を処理することでさえ、(eg) の問題ではありません。

file.Dataset.Get<Dicom.DicomSequence>(Dicom.DicomTag.BeamSequence).Items[1].
            Get<Dicom.DicomSequence>(Dicom.DicomTag.ControlPointSequence).Items[0].
            Get<Dicom.DicomSequence>(Dicom.DicomTag.BeamLimitingDevicePositionSequence).Items[2].
            AddOrUpdate(Dicom.DicomTag.LeafJawPositions, "-30\\30");

しかし、完全な新しいシーケンスを作成し、そこに情報を保存することが可能かどうか疑問に思っています。これが必要な場合は、1 つのアイテムだけでなく、このアイテムに関するより多くの情報を作成する必要があることを私は知っています。

fo-dicom API ドキュメントで、Dicom.IO.Writer名前空間を見つけました。ざっと見ましたが、期待していたものは見つかりませんでした。私の最初の本能に従って、私はこれを書いたでしょう

string filename = "output.dcm";
DicomWriter file = new DicomWriter(@filename);
... trying to create TagElements

また、コンストラクターはオプションのみを受け取りたいため、他のコマンドラインDicomFileWriter file = new DicomFileWriter(...);は機能しません。他のDicomWriter()コンストラクターはこれに似ています。

file.Datasetまた、新しいタグを作成する可能性もチェックしましたが、成功しませんでした。だから、あなたの誰かが私が間違ったステップをしたヒントを教えてくれることを願っています.

4

1 に答える 1