見出し画像

#10 Pythonで神経活動を可視化!Fletを使ったGUIアプリ開発


はじめに

 こんにちは、Dr. Fです!今回は Python を使って神経活動データを可視化するデスクトップアプリを開発した話を共有します.このプロジェクトでは,FletというPythonベースのGUIライブラリを使いました.ReactやElectronでデスクトップアプリを作った経験はあるのですが,普段Pythonを使って神経活動の解析をしているので,PythonでもGUIアプリが作れると解析アプリに展開しやすいなと思い立ったのがきっかけです.
 この記事では,アプリの概要からFletの選択理由具体的な機能,そして,実際に使っている様子の動画も紹介します.ぜひ最後までご覧ください!

このアプリでできること

 今回作成したアプリは,multielectrode array(MEA)で計測した神経活動データを加算平均波形として出力するツールです.具体的には,以下のような機能があります.

  1. CSVデータの読み込み
    MEA実験で得られた全試行データを含むCSVファイルを読み込みます.

  2. 平均波形の計算
    各試行のデータを加算平均し,波形を生成します.

  3. 波形画像の出力
    計算結果を画像として出力し,アプリ内に表示します(csvファイルが保存されているディレクトリに自動保存).

 このアプリは,神経活動データを実験中に素早く可視化したい研究者にとって便利なツールとなるはずです.

なぜFletを選んだのか?

 PythonでGUIアプリを作るには,Tkinterなど他の選択肢もあります.しかし,今回私はFletを選びました.その理由を挙げてみます.

  1. シンプルでモダンなデザイン
    FletはFlutterの影響を受けたライブラリで,シンプルにUIを作ることができます.

  2. Pythonネイティブ
    Pythonだけで書けるので,普段Pythonでオブジェクト指向な解析プログラムを書いている私にとってとても利用しやすい点が魅力的でした.

  3. 多くのプラットフォーム用にビルド可能
    Fletはウェブアプリ,Mac,さらに,Windowsと多くのプラットフォームへビルドが可能です.しかし,今回mac用とwindows用と,2種類ビルドしましたが,windows用にビルドする時は少し苦戦しました...Windows用にビルドしたい方は,設定から開発者モードに切り替えることをお忘れないように😅

アプリの使用

 実際にアプリを使用している様子を動画にしましたので,ぜひご覧ください!!


さいごに

 この記事では,PythonのFletを使って作成した神経活動データ解析アプリについて紹介しました.PythonでGUIアプリを開発してみたい方や,神経科学データの可視化に興味のある方の参考になれば幸いです.
 もしこの記事が役に立ったと思ったら,「スキ」や「フォロー」をお願いします!また,この記事やアプリについて質問があればぜひ教えてください.
 それでは,次回の記事でお会いしましょう!

いいなと思ったら応援しよう!