GSEloggerは、ロケットエンジンの燃焼試験などで取得されたGSEロガーデータ(CSV)を解析し、推力や圧力、温度などの各種物理量への変換、グラフの生成、およびトータルインパルスなどの数値を自動算出するGUIアプリケーションです。
- Rawデータ変換: ロガーが取得した生データ(ADC値)を、選択したロードセルやロガーのタイプに合わせて推力(N)、圧力(Pa)、温度(℃)へ高速に変換します。
- 自動解析:
- データの移動平均処理
- 定常偏差の算出と推力補正
- 燃焼開始・終了時刻、作動終了時刻の自動計算
- 燃焼区間・作動区間のトータルインパルスの算出
- プレビューと手動調整: 解析前に波形をプレビュー表示し、ズームやドラッグ操作で燃焼区間(開始・終了・作動終了)を手動で微調整することが可能です。
- グラフ生成: 推力や圧力の個別グラフ、および推力と圧力を重ね合わせた概要グラフを一括で生成します。
- 画像プレビュー&保存: 生成された高解像度グラフを専用のダイアログで確認し、必要な画像だけを選んで保存できます。
- CSV出力: 解析後のデータや間引きデータ(
LOG_light.csv,burntime.csv,onlythurst.csv)を出力し、他ツールでの二次利用をサポートします。
本アプリケーションを動作させるには、Python 3.x と以下のパッケージが必要です。
pip install pandas polars matplotlib japanize-matplotlib PyQt6 pyqtgraph- アプリの起動
コマンドラインから以下のコマンドを実行し、GUIを立ち上げます。
python gui.py
- データ読み込み・設定
- 「Rawデータファイル (CSV)」の【参照】ボタンから、解析したい生データのCSVファイルを選択します。
- ロードセル最大推力(500 / 250 / 1000)と、ロガータイプ(new / old)を選択します。
- プレビューと範囲設定(任意)
- 【プレビュー表示 / 選択範囲にズーム】ボタンを押すと、グラフプレビューが表示されます。
- グラフ上の縦線をドラッグして、開始時間や終了時間を手動で調整できます。
- 解析の実行
- 出力先フォルダを確認・設定し、【解析を実行】ボタンを押します。
- プログレスバーが進み、解析結果(定常偏差、燃焼時間、トータルインパルス等)が画面上に表示されます。
- 結果のエクスポート
- 【解析結果データをCSV出力】ボタンでデータを保存します。
- 【生成された画像を表示 / 保存】ボタンから、生成されたグラフ画像のプレビュー確認および保存が可能です。
gui.pyアプリケーションのメインファイル。PyQt6とpyqtgraphを利用したユーザーインターフェースと、各モジュールの実行制御を担います。analysis.pypolarsを利用した高速なデータ変換モジュール。ADC値から物理量(推力、圧力、温度)への計算、および間引きデータの作成を行います。dataanlysisgui.pypandasを利用した解析モジュール。移動平均の計算、各種時間の自動判定、補正計算、トータルインパルスの算出ロジックが含まれています。graphgenerator.pymatplotlibを利用したグラフ描画モジュール。個別グラフと概要グラフを生成し、一時フォルダや指定フォルダに画像として保存します。Logger_関数リファレンス.mddataanlysisgui.py内のLoggerクラスの仕様をまとめた開発者向けのリファレンスです。
- macOS等の高解像度ディスプレイ(Retinaディスプレイ等)では、プレビュー画像のスケールが自動的に最適化されて表示されます。
- 解析中は一時ディレクトリに画像が生成され、アプリケーション終了時または新規解析時に自動的に削除されます。