1

次のようにopenDicom.netを使用してdicomタグを読んでいます:

string tag = "";
string description = "";
string val_rep = "";

foreach (DataElement elementy in sq)
{
    tag = elementy.Tag.ToString();
    description = elementy.VR.Tag.GetDictionaryEntry().Description;
    val_rep = elementy.VR.ToString();
}

dicom タグの値を読み取るにはどうすればよいですか?

4

3 に答える 3

1

value.ToString()メソッドは実装されていません。Value.cs に独自のメソッドを実装すると、"Value" の値が取得されます。

例 (文字列と数値のみ):

public override string ToString()
{
 return valueList[0].ToString();
}
于 2011-03-30T12:00:42.253 に答える
0

私は sq が Sequence であると仮定しています...

私は openDicom を扱ったことはありませんが、あなたがそこで行っていることは、あなたが望む結果をもたらさないと確信しています。

単一のタグ、説明、および val_rep 変数がありますが、foreach を使用してそれらを埋めています。つまり、シーケンスの最後の DataElement が取得する唯一の値になります。以下を使用して同じ効果を得ることができます。

string tag = sq[sq.Count - 1].Tag.ToString();
string description = sq[sq.Count -1].VR.Tag.GetDictionaryEntry().Description;
string val_rep = sq[sq.Count - 1].VR.ToString();

したがって、シーケンスから値の最後のセットを取得します。実行時に foreach をステップ実行すると、DICOM ファイルに含まれるさまざまな DataElements がすべて読み込まれることがわかると思います。

私がここから離れている場合は、お気軽にコメントを返すか、元の投稿に詳細情報を投稿してください。

于 2010-09-08T15:53:27.760 に答える