現在、DICOMファイルを処理できる小さなデスクトップアプリケーションを構築しています。私はC#と.NETでコーディングしており、ClearCanvasライブラリを使用しています。私がしなければならないことの1つは、すべてのシーケンスを含むファイルの全内容を表示できるようにすることです。ただし、シーケンスは再帰的に実行されるため、各シーケンスの内部にさらに多くのシーケンスを含めることができます。現在、私のコードは最初の2つのレベルにアクセスできますが、n番目のレベルのシーケンスにアクセスできる必要があるため、これをテスターとして実行しています。だから私はどういうわけかこれを自動化する必要があります。これは、最初の2つのレベルでの私のコードの現在の外観です。
DicomSequenceItem[] seq = attrs2[i].Values as DicomSequenceItem[];
if (seq != null)
{
for (int j = 0; j < seq.Length; j++)
{
for (int n = 0; n < seq[j].Count; n++)
{
DicomSequenceItem[] level2 = seq[j].ElementAt(n).Values as DicomSequenceItem[];
if(seq[j].ElementAt(n).GetValueType().ToString().Equals("ClearCanvas.Dicom.DicomSequenceItem"))
{
for (int k = 0; k < level2.Length; k++)
{
for (int l = 0; l < level2[k].Count; l++)
{
text += "\t\t" + level2[k].ElementAt(l) + "\r\n";
}
}
}
else
{
text += "\t" + seq[j].ElementAt(n) + "\r\n";
}
}
}
}
任意のヘルプ(コードサンプル)をいただければ幸いです。
ありがとう!