見出し画像

DICOM属性の必要・不要

DICOMオブジェクトを構成するのは属性(プログラマーに対しては、DICOMデータエレメントと言った方が正確かもしれません)です。属性はたくさん定義されています。しかし、品ぞろえがよいという柔軟性は、時として、曖昧さをもたらします。

何かの現実世界の概念を惑星DICOMへ転送するためには、必要なもののみを取捨選択できたほうが便利です。

極端な例でいえば、超音波画像に、CT画像で必須となるHU値(CT値)を保存することは、間違いであることは明確です。意味がありません。

DICOM規格のPS 3.3:情報オブジェクト定義(Information Object Definition)では、特定モダリティの画像のように、そのDICOMオブジェクトに必要なデータエレメントについて、詳しく説明しています。

これは明確な方法で提供されています。IODごとに、その背景を考慮して、IODを構成するすべてのデータエレメントに対して、必須なのか、条件付きで必須なのか、オプション(開発者に委ねる)でいいのか、という具体に、属性に優先度(重要度)を設け、分類しているのです(詳しくは、PS 3.5 の 7.4節参照)。

種類は5種類です。

データエレメントのタイプ(バージョン2022)

属性タイプと意味

  • 1:値が明示され、サポートされる属性(ないといけない属性)

  • 1C:特定の条件下で、値が明示され、サポートされる属性(ないといけない属性)

  • 2:値が明示される、あるいは、不明の場合には0データ長で扱われる属性。サポートされる属性(ないといけない属性)

  • 2C:特定の条件下で、値が明示される、あるいは、不明の場合には0データ長で扱われる属性。サポートされる属性(ないといけない属性)

  • 3:値が明示される、あるいは、不明の場合には0データ長で扱ってもよい属性。サポートされてもよいし、無視されてもよい(なくてもよい属性)

例えば、DICOMデータを臨床でデジタルに扱う場合を考えてみましょう。患者データは、名前ではなく患者IDで識別されることが多いです。

では、患者名はというと、タイプ2になります。「必須だけれども、中身は未知でもよい」(患者IDさえわかれば)という感じです。データを格納するための場所は確保しておくけれど、厳密には、値は要求しないレベルということです。

タイプ3は、あってもいいし、なくてもよいという感じです。

タイプ1~2に係る属性は、必須と考えてよいでしょう。条件付き(C付き)なのは、値が不明であってもよいだけで、タグ自体は必要です。

一般的に、DICOMアプリケーションは、必要な要素が欠けているDICOMオブジェクト(DICOMファイル)は不正とみなします。なので、自分のDICOMファイルがアプリケーションに拒否されたとき(何かの処理に不具合が生じるとき)には、何かの理由で、タグの値を読めない可能性があります。

アプリケーションが、あるはずのタグが読み込んだファイルにないときに、Nullとして計算しようとして、必要な処理をOutputできないなど、ありえることです。例えば、患者IDが指定されていない場合、そのDICOMオブジェクトは無視され、エラーになる、などが考えられます。

PS 3.3のIODには、各種DICOMオブジェクトにとっての属性の要・不要が示されています。

IODに必要とされる属性タイプがあることを知っているか否かは、開発者にとってはタイプ1、ユーザーにとっては(過去に述べた)神獣を召喚するためのリテラシーを判断される材料として必須という意味で、条件付き1(1C)と言えるのかもしれません。


Stay Visionary

この記事が気に入ったらサポートをしてみませんか?