LoginSignup
6
4

More than 3 years have passed since last update.

HDF5ファイルの可視化&CSV変換ツールを作ってみた

Last updated at Posted at 2020-11-01

概要

HDF5ファイルをGUIで可視化し、CSV出力するツールをC#で作成してみました。
image.png
要望、バグ等ございましたら、コメント頂けると嬉しいです!

HDF5とは?

階層構造を保持できるファイル形式で、
AI・機械学習のモデル保存用によく用いられているそうです。
こちらによると、下記のようなメリット・デメリットがありそうです。

メリット

・階層構造を持つため、CSV等では複数に分割されるデータを1つのファイルで保持できる
・読込速度がCSV等よりも速い
・複数の言語で使用可能(PickleのようにPython専用ではない)
・圧縮や部分読込等、高速化や低容量化のための小技が充実している

デメリット

・Excel等の汎用ツールでは開けない
・他のファイルへの変換が容易ではない

HDF5と可視化

HDF5ファイルは基本的にPythonでの読み書きを前提としてるため、CSVファイルのようにExcelで気軽に中身を確認、といった事はできません。
一応公式の可視化ツールがありますが、登録やインストールが必要だったり、GUIが古めかしかったりと、使い勝手はあまり良くありません。

そこで今回、C#でGUIによるHDF5ファイル可視化ツールを自作してみました

可視化ツール概要

C# (.NET)向けのHDF5ライブラリ、HDF5DotNetを使用しています。
表示用のデータ作成はこちらを参考にさせて頂きました。
現状はWindows専用ですが、希望があれば他OS対応バージョンも作ろうと思います

コードの場所

こちらからダウンロードしてください。
コンパイル方法等はReadMeに記載しております

使用法

1. HDF5ファイルをドラッグ&ドロップ
image.png

2. 好きな最上位グループをクリックすると、下位のグループ・データが一覧表示される
(グループ名はベージュ色で、データ名は緑色で表示される)
image.png

3. 「戻る」をダブルクリックすると上位に、グループ名をダブルクリックすると下位グループに移動できる
image.png

※表示法「全データ」をチェックすると、全てのデータが一覧表示される
image.png

4. データ名をダブルクリックすると、データ内容が表示される
image.png

5.「出力」クリックすると、データ内容をCSV出力できる
(全データor表示データのみ出力するかと、エンコードを選択可能)
image.png

以上です!
要望、バグ等ございましたら、コメント頂けると嬉しいです!

おわりに

もしこのツールを良いと思われたら、GitHubにStar頂けるとありがたいです!

6
4
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4