Translate

理学療法士がプログラミング(特にpython)を勉強するべき理由、メリットについて-理学療法士に必須のpythonの環境構築-

 こんにちは。


私はこれまでにプログラミング(特にpython)のサンプルコードを書いたりトラブルシューティングを書いたりしてきましたが、実はバックボーンは理学療法士(PT)です。

今までの記事は雑多にいろんな簡単なpythonのサンプルコードの処理ばかりでしたが、今後は理学療法士(PT)の実際の臨床や研究にも生かせるようなサンプルコードや環境構築についても載せていこうと思います。

今回はその第一弾として、理学療法士がプログラミングを習得することでどのようなメリットがあるのか、またその導入のためには何をしていけばよいのかについてのスタートアップの記事として書かせていただきたいと思います。

プログラミングを学ぶことで臨床データや研究データの整理が圧倒的に楽になる。



理学療法士の世界に限らず、多くの場面でデータを取り扱ったり、グラフを描画したりといったことがあると思います。その際にはExcelなどの表計算ソフトを使用することが一般的だと思います。

これはデータの数が少なかったり、描画するグラフが簡単だったりする場合には、それで事足りるのですが、ちょっと凝ったグラフを書いたり、複数のデータに対して同じ処理を何十回を行うといった場面も出てきます。こうなってしまうとExcelだとかなり煩雑で面倒くさいものになってしまうことは必至です。

ですが、一度プログラミングを学んでいるとこういった煩雑さを回避することができ、かつ綺麗で整ったグラフィックでグラフや図表を作成することができるので、時間の面でもクオリティの面でも利用しない手はありません。


いろんなプログラミング言語はありますが、個人的に一番おすすめの言語はpythonです。

しかしながらプログラミングを勉強しようとなった時に最初の関門になるのが、どのプログラミング言語を習得しようという点にあるといえます。プログラミング言語はその用途によっていろいろな選択肢があります。組み込みのハードウェア系の計測機器を作成するのであればC++になりますし、ソフトウェアのユーザーインターフェスを作るならC#、機械学習ならpythonといったパターンがあります。


理学療法士の研究とか臨床現場で求められることとしては当然患者さんの計測や評価というのが第一に挙がります。そういった需要を解決するために向いているプログラムは私はpythonであると考えています。

pythonは主にパッケージと呼ばれる拡張モジュールを増やしていっていろいろな機能を使えるようにするのですが、その中にはexcelみたいな表計算処理(行列計算)を行うことができるパッケージだったりとか、データの波形処理を簡単に行うことができるパッケージが存在します。またグラフ描画に関しても専用のパッケージを導入すればモダンで凝ったデザインのものを作成することが可能です。

理学療法士、特に修士課程や博士課程に通っている方であれば、MATLABというプログラミング言語を使っているケースが多くあります。MATLABは私も個人的に使ってたことがあったのですが、できることが専用のツールボックスの中に限られる点や、有料のため他の人と共有しにくいといったことがあるのでpythonに移行しました。

しかしながら、MATLABもpythonも文法が似ているために、これらの言語の移行についてはそこまで難しくないというのが所感です。

理学療法士向けのpython環境構築。これがあれば大体のことはできる。

では実際にpythonを導入するといった場合にはどういったことが必要になるのでしょうか。いわゆるpythonを自身のパソコンに導入するということは、pythonに含まれる拡張パッケージが含まれた管理ソフトをインストールするという意味と同義になります。

その管理ソフトというのが「Anaconda」というものになります。これは公式ホームぺージにいってダウンロードするだけなので簡単です。

これをインストールしてからが本番です。そのままの状態だとpythonは割と使い物になりません。ここから先ほどちょっと出ていた拡張パッケージのインストールの処理が入ります。

手順としては以下のようになります。

①. windowsボタン→すべてのアプリ→Anaconda3→Anaconda Promptの順番で開く

②. そうすると文字が入力できる黒いポップアップ(以後コマンドプロンプト)が出てくるのでそこにインストールのためのコマンド打ち込む。

②については、プログラミングをしたことがない人だと全くなじみがないと思いますので、慣れるまでは写経だと思ってそのコマンドをコマンドプロンプトに打っていきましょう。

理学療法士の計測や評価、研究で主に必要になるパッケージは以下のものなると思います。以下の文章を一行ずつコピペしてコマンドプロンプトに貼っていきましょう。コピペした後にエンターキーを押すとインストールが始まります。yかnの入力を求められることがありますが、その際はyを押すと進みます。

conda install numpy
conda install matplotlib
conda install scipy 
conda install pandas
conda install statsmodels
conda install -c conda-forge opencv
conda install -c anaconda scikit-learn
pip install pillow


ひとまずこんな感じでしょうか。一つ一つ説明してきます。すんごくざっくりと説明するので正確には間違っている可能性はあります。

numpyはpython上で行列計算(行や列に対して一気に計算する方法。データをExcelっぽく処理する)を適用するためのパッケージになります。

matpltlibは主に図を描いたり、グラフを書いたりする際に使用します。

scipyはデータの補完やノイズの処理とかそういったことに使います。

pandasはデータの抽出や整理に利用します。

statsmodelはt検定とかそういった簡単な統計を行うために利用します。

opencvは動画データの処理に主に使います。

scikit-learnは機械学習や一部の統計処理に使います。

pillowは画像データの処理などに利用します。


とりあえず思いつく限り必要なパッケージは列挙してみました。これで大抵の解析を行うための下地が整ったといえます。

今後の記事では、こういった環境の下地を元に理学療法士の業務や研究で必要になる場面を想定してサンプルコードを載せていきたいと思います。