DICOMデータ(3)−バイナリーエディタでDICOMデータを調べるー
1.16進数
DICOMデータ(1)でタグについて簡単に説明しました。タグとはバイト箱に記憶させた16進数の値であると理解してください。16進数との言葉がでてきました。
先ほどまでは10進数と2進数をみてきたのですが、16進数はどうして必要になるのでしょうか?それは16進数は数字を2桁で表示できるから、2進のように長々とならないから16進数でメモリの中身を示したほうが簡単で、しかも読みやすいから16進数で表現してあるのです。
先ほどの電卓を使って16進数が2桁で表現されることを調べてください。
2.タ グ
タグ(0008、0070)は製造者名・・・と説明書には書いてあります。この意味は、バイト箱に16進数で(00)、次のバイト箱に(08)、その次のバイト箱に(00)、その次のバイト箱に(70)と連続した値の後に製造者名が記述されるというDICOMデータの約束事なのです(パソコンのメモリはバイト箱が連続したものであると先ほども述べました)。
しかし実際のデータをバイナリーエディタを使用して調べてみますと連続する(00)(08)(00)(70)ではなく、これが逆に並んだ(08)(00)(70)(00)の連続する組が発見できます。なぜ並びが逆になっているのでしょう? これはDICOM(1)で説明したリトルエンディアン方式で記憶されているからです。
4.バイナリーエディタでDICOMデータを調べてみよう
DICOMデータがどのようになっているのかバイナリーエディタを使って調べてみましょう!はじめにすることは
1)フリーソフトとして取得できるバイナリエディタ入手します。
2)DICOM画像を準備します。
3)バイナリエディタでDICOM画像を開いてみます。
赤丸で囲んだ1バイトの16進数表示部分(08)、(00)、(70)、(00)が発見できます。そのあとに製造者名がくるの ですが、(08)、(00)、(70)、(00)の後には(1A) (00) (00) (00)があり、その後に(46)から製造者名が記述してあります。右に書いてあるアスキー領域にFUJI・・・・と明記してあります。
ではこの4バイト分の(1A) (00) (00) (00)には何が記述されているのでしょうか?
これは製造者名の記述に使用するメモリ容量を示す場所で、これを値長さと呼んでいます。
製造者名は何バイト利用されていますか?青マルの46はFに対応し、そこから26バイト分で製造者名が記述してあります。
(1A)(00)(00)(00)の(1A)は10進数では26です。すなはち、製造社名を記述するためのメモリ容量は26バイトであると言う意味なのです。