「DMフォーマット」の版間の差分

提供: Eospedia
移動: 案内検索
(DM3)
(DM3)
行17: 行17:
 
   closef    i1      Closed, 1 = open (normally = 0)
 
   closef    i1      Closed, 1 = open (normally = 0)
 
   ntags    i4be    Number of tags in root directory (12h = 18)
 
   ntags    i4be    Number of tags in root directory (12h = 18)
 +
 +
=== Tags and tag directories in root tag directory ===
 +
下記が繰り返される
 +
 +
  tag      i1      tag, 14h or 15h or 0 for end of file (0x14, 0x15, 0x00)
 +
  ltname    i2be    tag name length in bytes, may be 0
 +
  tname    a      tag name (length ltname), may be absent
 +
  ...              tag directory or tag data
 +
 +
=== ファイルの最後  ===
 +
  8*00    End of file is marked with 8 nulls
 +
 +
 +
=== 例(全体) ===
 +
 +
  00 00 00 03  バージョン 
 +
  00 22 59 b9   ファイルサイズ - 16
 +
  00 00 00 00  バイトオーダー
 +
  01                      Root tag: Stored
 +
  00                      Root tag: Closed
 +
  00 00 00 12  Root tagの数
 +
  15       TagID
 +
  00 11                TagNameのバイト数  
 +
  41 70 70  6c 69 63 61  74 69 6f 6e TagName("Application")
 +
  ......
 +
  00 00 00 00 00 00 00 00  ファイルの終わり
 +
 +
=== Tag directories と Tags ===
 +
Root tag directoryや下位層のtag directoriesにおけるタグやタグディレクトリ
 +
 +
  0x14 = 20 : タグディレクトリ(更に下位にタグディレクトリがある)
 +
  0x15 = 21 : タグ
 +
  0x00 = 00 : ファイルの終了
 +
 +
=== Tag directories ===
 +
 +
 +
  14  00 12  44 6f 63 75 6d 65 6e 74 4f 62 6a 65 63 74 4c 69 73 74
 +
  00  00  00 00 00 01
 +
  ......
 +
 +
  14            i1      identifies tag directory (14h = 20)
 +
  00 12        i2be    bytes in tag name (ltname), may be 0
 +
  44 6f 63 75  6d 65 6e 74  4f 62 6a 65  63 74 4c 69  73 74
 +
                a      tag name, length ltname "DocumentObjectList"  ここまでは共通
 +
  00            i1      1 = sorted? (can be 0 or 1) タグディレクトリの場合には下記が入ってくる
 +
  00            i1      0 = closed?, 1 = open (normally = 0)
 +
  00 00 00 01    i4be    number of tags in tag directory (01h = 1). Can be 0
  
 
===
 
===

2015年4月1日 (水) 00:36時点における版

GATAN DIgital Micrographのフォーマットです。 開発の際に、[http://www.er-c.org/cbb/info/dmformat/] にある情報を理解するためにこちらにまとめました。

DM3

 画像は、ヘッダー、タグディレクトリ、ファイルの最後を示したNULL(8文字)からなっている。タグディレクトリは、タグか複数のタグディレクトリを階層構造として持つ事ができる。

 画像は、"ImageList"と名付けられたtag directoryに格納されている。一つ以上の画像を格納できる。

Header

 version   i4be    DM version = 3
 rootlen   i4be    Size of root tag directory in bytes = file length - 16
 byteord   i4be    Byte order, 0 = big endian (Mac) order,
                               1 = little endian (PC) order

Root tag directory

 sortf     i1      Sorted, 1 = sorted (normally = 1)
 closef    i1      Closed, 1 = open (normally = 0)
 ntags     i4be    Number of tags in root directory (12h = 18)

Tags and tag directories in root tag directory

下記が繰り返される

 tag       i1      tag, 14h or 15h or 0 for end of file (0x14, 0x15, 0x00)
 ltname    i2be    tag name length in bytes, may be 0
 tname     a       tag name (length ltname), may be absent
 ...               tag directory or tag data

ファイルの最後

 8*00     End of file is marked with 8 nulls


例(全体)

 00 00 00 03  バージョン  
 00 22 59 b9   ファイルサイズ - 16
 00 00 00 00  バイトオーダー
 01                      Root tag: Stored
 00                      Root tag: Closed
 00 00 00 12  Root tagの数
 15       TagID
 00 11                TagNameのバイト数  
 41 70 70  6c 69 63 61  74 69 6f 6e TagName("Application")
 ......
 00 00 00 00 00 00 00 00  ファイルの終わり

Tag directories と Tags

Root tag directoryや下位層のtag directoriesにおけるタグやタグディレクトリ

 0x14 = 20 : タグディレクトリ(更に下位にタグディレクトリがある)
 0x15 = 21 : タグ
 0x00 = 00 : ファイルの終了

Tag directories

 14   00 12   44 6f 63 75 6d 65 6e 74 4f 62 6a 65 63 74 4c 69 73 74
 00   00   00 00 00 01
 ......
 14             i1      identifies tag directory (14h = 20)
 00 12        i2be    bytes in tag name (ltname), may be 0
 44 6f 63 75  6d 65 6e 74  4f 62 6a 65  63 74 4c 69  73 74
                a       tag name, length ltname "DocumentObjectList"  ここまでは共通
 00             i1      1 = sorted? (can be 0 or 1) タグディレクトリの場合には下記が入ってくる
 00             i1      0 = closed?, 1 = open (normally = 0)
 00 00 00 01    i4be    number of tags in tag directory (01h = 1). Can be 0

=

DM4

 DM4フォーマットは、DM3フォーマットに非常によく似ている。4バイト整数ではなく、8バイト整数を用い、2Gバイトを超えたファイルにも対応している。それぞれのタグのバイト数をもつことにより、知らないタグに関しても無視することができる。

Header

version i4be
rootLength i8be
byteOrder i4be