0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MDFフォーマットの測定データをPythonで読み込む

Posted at

測定データフォーマットの1つであるMDFファイルをPythonで読み込む.

チャンネル名の取得およびそのデータプロット用サンプルプログラム
このプログラムのポイントは,ファイル内のチャンネルをターミナルウィンドウに一覧表示してくれるので,グループとチャンネルを指定して,何度でも任意のチャンネルデータをプロット表示させることができる.

read_mdf_file.py
from asammdf import MDF
import numpy as np
import matplotlib.pyplot as plt

# MDFファイルを読み込む
mdf_file = 'test_data.mdf'
mdf = MDF(mdf_file)

# 利用可能なチャンネルの一覧を表示
try:
    print("利用可能なチャンネル:")
    # グループごとのチャンネル情報を取得
    for group_index, group in enumerate(mdf.groups):
        for channel_index, channel in enumerate(group.channels):
            if channel.name:  # チャンネル名が存在する場合のみ表示
                print(f"- Group {group_index}, Index {channel_index}: {channel.name}")

    # 特定のグループとインデックスを指定してチャンネルを取得
    # 例: 最初のグループ(3)の2番目のチャンネル(0)を取得
    signal = mdf.get(group=3, index=0)
    
except IndexError as e:
    print(f"エラー: {e}")
    exit(1)
    
# データをプロット
plt.figure(figsize=(10, 6))
plt.plot(signal.timestamps, signal.samples)
plt.title(signal.name)
plt.xlabel('Time [s]')
plt.ylabel(f'{signal.name} [{signal.unit}]')
plt.grid(True)
plt.show()

# データを配列として取得
timestamps = signal.timestamps  # 時間データ
values = signal.samples        # 測定値データ
0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?