「DICOM/Value Representation」の版間の差分

提供:メディカルウェア
ナビゲーションに移動 検索に移動
編集の要約なし
 
(3人の利用者による、間の6版が非表示)
1行目: 1行目:
'''Value Representation'''(ばりゅー・りぷれぜんてーしょん)とは、[[DICOMファイル]]/[[DICOMデータ]]に格納されている個々のデータのメタデータ(データ本体部分がどのようなデータであるかを示す情報)のひとつで、データ本体がどのような「データ型」であるかを示す情報である。あまりに長い名称なので通常は'''VR'''(ぶいあーる)とアルファベット2文字に略されているのが一般的である。
'''Value Representation'''(ばりゅー・りぷれぜんてーしょん)とは、[[DICOMファイル]]/[[DICOMデータ]]に格納されている個々のデータの[[DICOM/メタデータ]](データ本体部分がどのようなデータであるかを示す情報)のひとつで、データ本体がどのような「データ型」であるかを示す情報である。
 
あまりに長い名称なので通常は'''VR'''(読み:ぶいあーる)とアルファベット2文字に略されて記述や呼称されているのが一般的である。強引に日本語にすると'''値表現'''などといった感じになる。
 
== 概要 ==
VRはデータ本体の「型」を表す2バイトの値でありデータ本体が文字列なのか、数値なのか、日付なのか、などという情報を格納している。
 
VRはC言語やJava,C#などと言ったプログラミング言語でいう組込型(プリミティブ型)に相当するものであり、C言語のint型やchar型などと似たようなものと思って間違いない。ただし、DICOMのVRは少し高水準なデータ型であり、「YYYYMMDD形式の日付」や「半角英数字とアンダースコアとスペースが使える最大16バイトの文字列」などといったような感じになっている。


== 暗黙的VRと明示的VR ==
== 暗黙的VRと明示的VR ==
VRはデータ本体の「型」を表す2バイトの値でありデータ本体が文字列なのか、数値なのか、日付なのか、などという情報を格納している。


なお、[[DICOM]]では[[暗黙的VR]]([[Implicit VR]])と[[明示的VR]]([[Explicit VR]])という規定があり、暗黙的VRの場合はメタデータ内にVRの値が存在しない。
なお、[[DICOM]]では[[暗黙的VR]]([[Implicit VR]])と[[明示的VR]]([[Explicit VR]])という規定があり、暗黙的VRの場合はメタデータ内にVRの値が存在しない。


その場合は[[DICOM/タグ]]からVRを適宜判断する必要がある。
その場合は[[DICOMタグ]]からVRを適宜判断する必要がある。
たとえば患者名であれば文字列などと判断することができる。
たとえば患者名であれば文字列などと判断することができる。


つまりデータ型は基本的にDICOM/タグから判断できる項目であり、VRは不要な存在であると言える。DICOMファイルを生成する際には親切丁寧に書いても良いが、DICOMファイルを読み込む際はぶっちゃけ書いてあっても信用ならんので無視してDICOM/タグから推定するくらいが丁度良い。
つまりデータ型は基本的にDICOM/タグから判断できる項目でありVRは不要な存在であると言える。自ら[[DICOMファイル]]を生成する際には親切丁寧に書いても良いが、第三者が生成した[[DICOMファイル]]を読み込む際にはぶっちゃけVRは書いてあっても信用ならんので無視して[[DICOMタグ]]から推定するくらいが丁度良い。


== DICOM value representation 一覧==
== DICOM value representation 一覧==
20行目: 26行目:
|-
|-
! Value Representation
! Value Representation
! Description
! 概要
|-
|-
| AE
| [[DICOM/Value Representation/AE|AE]]
| Application Entity
| Application Entity
|-
|-
| AS
| [[DICOM/Value Representation/AS|AS]]
| Age String
| Age String
|-
|-
| AT
| [[DICOM/Value Representation/AT|AT]]
| Attribute Tag
| Attribute Tag
|-
|-
| CS
| [[DICOM/Value Representation/CS|CS]]
| Code String
| Code String
|-
|-
| DA
| [[DICOM/Value Representation/DA|DA]]
| Date
| Date
|-
|-
| DS
| [[DICOM/Value Representation/DS|DS]]
| Decimal String
| Decimal String
|-
|-
| DT
| [[DICOM/Value Representation/DT|DT]]
| Date/Time
| Date/Time
|-
|-
| FL
| [[DICOM/Value Representation/FL|FL]]
| Floating Point Single (4 bytes)
| Floating Point Single (4 bytes)
|-
|-
| FD
| [[DICOM/Value Representation/FD|FD]]
| Floating Point Double (8 bytes)
| Floating Point Double (8 bytes)
|-
|-
| IS
| [[DICOM/Value Representation/IS|IS]]
| Integer String
| Integer String
|-
|-
| LO
| [[DICOM/Value Representation/LO|LO]]
| Long String
| Long String
|-
|-
| LT
| [[DICOM/Value Representation/LT|LT]]
| Long Text
| Long Text
|-
|-
| OB
| [[DICOM/Value Representation/OB|OB]]
| Other Byte
| Other Byte
|-
|-
| OF
| [[DICOM/Value Representation/OF|OF]]
| Other Float
| Other Float
|-
|-
| OW
| [[DICOM/Value Representation/OW|OW]]
| Other Word
| Other Word
|-
|-
| PN
| [[DICOM/Value Representation/PN|PN]]
| Person Name
| Person Name
|-
|-
| SH
| [[DICOM/Value Representation/SH|SH]]
| Short String
| Short String
|-
|-
| SL
| [[DICOM/Value Representation/SL|SL]]
| Signed Long
| Signed Long
|-
|-
| SQ
| [[DICOM/Value Representation/SQ|SQ]]
| Sequence of Items
| Sequence of Items
|-
|-
| SS
| [[DICOM/Value Representation/SS|SS]]
| Signed Short
| Signed Short
|-
|-
| ST
| [[DICOM/Value Representation/ST|ST]]
| Short Text
| Short Text
|-
|-
| TM
| [[DICOM/Value Representation/TM|TM]]
| Time
| Time
|-
|-
| UI
| [[DICOM/Value Representation/UI|UI]]
| Unique Identifier
| Unique Identifier
|-
|-
| UL
| [[DICOM/Value Representation/UL|UL]]
| Unsigned Long
| Unsigned Long
|-
|-
| UN
| [[DICOM/Value Representation/UN|UN]]
| Unknown
| Unknown
|-
|-
| US
| [[DICOM/Value Representation/US|US]]
| Unsigned Short
| Unsigned Short
|-
|-
| UT
| [[DICOM/Value Representation/UT|UT]]
| Unlimited Text
| Unlimited Text
|}
|}


=== 注意事項:配列表現について ===
なお、データ本体に格納されている値は1つとは限らず、連続したデータ(プログラミングの世界でいう配列など)の場合もある。そのような場合はVRが示すデータ型に関係なくデータ本体には文字列型として格納されており、個々の値の区切り文字として半角バックスラッシュ(日本語フォントだと半角の「\」マーク)が用いられているので、適切に文字列分割をして、個々の文字列をVRが示すデータ型に変換して利用する。
なお、データ本体に格納されている値は1つとは限らず、連続したデータ(プログラミングの世界でいう配列など)の場合もある。そのような場合はVRが示すデータ型に関係なくデータ本体には文字列型として格納されており、個々の値の区切り文字として半角バックスラッシュ(日本語フォントだと半角の「\」マーク)が用いられているので、適切に文字列分割をして、個々の文字列をVRが示すデータ型に変換して利用する。
* [[DICOM/Value Multiplicity]]も参照


== 関連項目 ==
== 関連項目 ==

2015年4月3日 (金) 16:10時点における最新版

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

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が示すデータ型に変換して利用する。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]