vscode拡張機能:HDF5の構造を表示する
vscodeでHDF5の階層構造だけを手軽に確認する拡張機能を作成した。
既存の拡張機能だと以下の欠点があった。
-
H5Web
- データの中身を読み込むので重い -
HDF5 Preview
- 簡素すぎてやや見づらい
- 巨大なHDF5ファイルだと表示まで時間がかかることがある
vscode拡張機能の作成は初めてだったため、作成には生成AIの助けを多分に借りた。
もとはC言語の自作コードh5treeをEmscriptenを使ってウェブアセンブリにしようと考えていた。
しかしhdf5ライブラリからh5wasmへの乗り換えなどが私には理解できず、結局jsで作り直した。
概要
拡張機能「H5Tree View」の動作イメージを下記画像に示す。
エクスプローラーで.h5ファイルをクリックするとタブが開き、ファイルの階層構造が表示される。
階層構造をクリックすると展開/折りたたみができる。

拡大すると次の画像のような表示となっている。
青文字はグループ、緑文字はデータセット、白文字は属性を示す。
データセットは型、形状、展開後の容量、圧縮形式も表示される。
属性は値とその型が表示される。

本拡張機能で可能なのは、上述の階層構造の表示のみ。
データセットの配列をテーブルやグラフで表示する機能は存在しない。
この機能についてはH5Webが強い。
巨大なデータに対してはどの程度の速度か未計測。
HDF5 Viewerと変わらず遅くなる可能性がある。
配布予定
時間と体力のある時にまた今度。
vscodeのマーケットプレイスでの公開方法を勉強するか、GitHubで公開するか。
配布におけるライセンスの確認もまだできていない。
内部で使用しているH5wasmのライセンス的にほぼ制限はなさそうであるが。
追記~完全敗北~
90 MBのファイルで試したところ、起動がH5WebよりもHDF5 Viewerよりも遅いという結果に。
完全敗北。
利点は見た目がHDF5 Viewerより少し良いだけ。
配布もしなくて良い気がしてきた。
Discussion