DICOM/Value Representation
Value Representation(ばりゅー・りぷれぜんてーしょん)とは、DICOMファイル/DICOMデータに格納されている個々のデータのDICOM/メタデータ(データ本体部分がどのようなデータであるかを示す情報)のひとつで、データ本体がどのような「データ型」であるかを示す情報である。
あまりに長い名称なので通常はVR(読み:ぶいあーる)とアルファベット2文字に略されて記述や呼称されているのが一般的である。強引に日本語にすると値表現などといった感じになる。
概要[編集 | ソースを編集]
VRはデータ本体の「型」を表す2バイトの値でありデータ本体が文字列なのか、数値なのか、日付なのか、などという情報を格納している。
VRはC言語やJava,C#などと言ったプログラミング言語でいう組込型(プリミティブ型)に相当するものであり、C言語のint型やchar型などと似たようなものと思って間違いない。ただし、DICOMのVRは少し高水準なデータ型であり、「YYYYMMDD形式の日付」や「半角英数字とアンダースコアとスペースが使える最大16バイトの文字列」などといったような感じになっている。
暗黙的VRと明示的VR[編集 | ソースを編集]
なお、DICOMでは暗黙的VR(Implicit VR)と明示的VR(Explicit VR)という規定があり、暗黙的VRの場合はメタデータ内にVRの値が存在しない。
その場合はDICOMタグからVRを適宜判断する必要がある。 たとえば患者名であれば文字列などと判断することができる。
つまりデータ型は基本的にDICOM/タグから判断できる項目でありVRは不要な存在であると言える。自らDICOMファイルを生成する際には親切丁寧に書いても良いが、第三者が生成したDICOMファイルを読み込む際にはぶっちゃけVRは書いてあっても信用ならんので無視してDICOMタグから推定するくらいが丁度良い。
DICOM value representation 一覧[編集 | ソースを編集]
Extracted from Chapter 6.2 of
- PS 3.5: Data Structure and Encoding (PDF, 1.43 MiB)
| Value Representation | 概要 | 
|---|---|
| AE | Application Entity | 
| AS | Age String | 
| AT | Attribute Tag | 
| CS | Code String | 
| DA | Date | 
| DS | Decimal String | 
| DT | Date/Time | 
| FL | Floating Point Single (4 bytes) | 
| FD | Floating Point Double (8 bytes) | 
| IS | Integer String | 
| LO | Long String | 
| LT | Long Text | 
| OB | Other Byte | 
| OF | Other Float | 
| OW | Other Word | 
| PN | Person Name | 
| SH | Short String | 
| SL | Signed Long | 
| SQ | Sequence of Items | 
| SS | Signed Short | 
| ST | Short Text | 
| TM | Time | 
| UI | Unique Identifier | 
| UL | Unsigned Long | 
| UN | Unknown | 
| US | Unsigned Short | 
| UT | Unlimited Text | 
注意事項:配列表現について[編集 | ソースを編集]
なお、データ本体に格納されている値は1つとは限らず、連続したデータ(プログラミングの世界でいう配列など)の場合もある。そのような場合はVRが示すデータ型に関係なくデータ本体には文字列型として格納されており、個々の値の区切り文字として半角バックスラッシュ(日本語フォントだと半角の「\」マーク)が用いられているので、適切に文字列分割をして、個々の文字列をVRが示すデータ型に変換して利用する。
