こんにちは。
特に理学療法研究とかのリハビリテーション関係の研究ではMATLABを使うことが結構ありますよね。リハビリテーション領域では結構な割合でMATLABを解析ツールとして使うことが一般的です。特に大学院生であれば、たくさんのツールボックスを低価格で利用できる学生版を利用することが多いです。
しかしながら企業や病院といった民間の法人でMATLABを導入する場合には、かなりのコストがかかってしまいます。そのための代替手段としてpythonを利用するという手があります。
そうなるとMATLABを使っている病院・企業と使っていない病院・企業間でのデータ解析の互換が問題になります。特にデータを辞書型の形で保存するmatファイルという形式で解析データを管理している場合には、MATLABのない病院・企業だとそのデータにアクセスすることが難しいことが想定されます。
しかしながら、matファイルはうまいこと工夫することでpythonでも読むことができます。今回はpythonパッケージであるscipyとtkinterを併用することで、マウスでmatファイルを選択するだけでmatファイル内のデータをロードする方法・コードについて紹介していきたいと思います。
matファイルをpythonでGUIで読むコードはこんな感じ
#必要なパッケージのインポート import scipy
import tkinter, tkinter.filedialog, tkinter.messagebox
def get_data(dir_name,str_name): #ファイルパスの取得をGUIで行う関数 # dir_name:対象となるディレクトリ名(dataが保存されているディレクトリ名) # str_name:matファイルのstruct形式の変数名 idir = dir_name root = tkinter.Tk() file_path = tkinter.filedialog.askopenfilename(initialdir = idir) #delete root window root.withdraw() dataset = scipy.io.loadmat(file_path)[str_name] return dataset
data = get_data('raw_data', 'Results')
data2 = data[0,0]