2016-09-29 1 views

答えて

2

あなたがEvil Dicomを使用したと仮定すると:

public class DicomManager 
{ 
    public List<Tag> ReadAllTags(string dicomFile) 
    { 
     var dcm = DICOMObject.Read(dicomFile); 
     return dcm.AllElements.Select(e => e.Tag).ToList(); 
    } 
} 

UPDATE: あなたのコメントを1として、あなたはUI上のコンポーネント内の要素を表示する必要があるとしましょう。コンソールアプリですべての要素をどのように表示するかの例を挙げますが、他のプレゼンテーションテクノロジでもトラバースアルゴリズムは同じです。

悪ダイコムでどのように定義されてIDICOMElementインタフェースを見てみましょう:

public interface IDICOMElement 
    { 
    Tag Tag { get; set; } 

    Type DatType { get; } 

    object DData { get; set; } 

    ICollection DData_ { get; set; } 
    } 

それは要素はあなたがそれで作業する必要があるすべての情報を有することを意味します。

要素を反復し、タグ名 - 要素値を表示します。

var dcm = DICOMObject.Read(dicomFile);  
dcm.AllElements 
     .ForEach(element => Console.WriteLine("{0} - {1}", element.Tag, element.DData)); 

あなたが望むすべてが値を示すことです場合は、見ることができるように - 以前のスニペットは十分なはずですが、要素にあなたに内部のオブジェクトの本当のタイプについての詳細情報を持っている - その文字列表現を複数の値を持つ要素の場合は、値のコレクションと同様です。

DICOMObject内のいくつかのVRが非常に大きくなる可能性があるため注意が必要です。非同期メソッドやワーカースレッドを使用して処理を行うことを忘れないでください。あなたは特に必要があります。

希望すると便利です。

+0

こんにちは、私は悪いディコムを使用して、それは魅力、感謝を働いた。 – James

+0

タグのデータも取得できますか?そのリストは "タグ名" - "データ"となるでしょうか? – James

+0

アップデートをチェックしてください! –

関連する問題