蛍光顕微鏡画像の解析でImageJ(フリーの画像解析ソフト)を使っているのが当研究室。
先輩方は手作業でやってて大変そうだな~~と勝手に思っていたら自分でも使うことになってしまった!ってのがM1になった2020年5月くらいの出来事。
この時点では多少Pythonに触れたことはあった(それこそみんなのPythonとかで)が、全くもって使えない状態だったのにもかかわらず。画像解析ってプログラミングでオートメーション化できたら楽じゃない?っていう素人思考に乗っ取られてPythonでの画像解析を開発することに。
https://satoshithermophilus.hatenablog.com/
とか参考にしながらある程度の画像解析を見よう見まねで作ったは良い物の、自分の思い通りの開発なんてモノは一切出来ないので、改めてPythonを勉強しようとなったのが2021年1月(現在)というわけだ。
さぁみんなのPythonで勉強するぞ!ってツイートしたら著者に補足されて後に引けなくなった人がpythonで研究できるように色々頑張った話。(みんなのPythonの話は今回はほとんど出てこない)(柴田さんはご丁寧にリツイートまでしてくれた)
※独自の解釈を多分に含む
※こうやると良いよ!ではなくやったことの議事録
○Pythonの導入
Python自体はプログラム言語の一つであるが、加えて数理計算やデータサイエンス、機械学習でよく使う機能をパッケージングしたのがAnacondaである。ざっくり言うとPythonより強い奴、Anacondaだしね。このAnaconda、結構癖が強くて苦しむことになるが、数理計算(グラフ描写等も含めて)は必要な機能なのでAnacondaでの導入をすることにした。
AnacondaのWebサイトでwindows用Anacondaをインストールし、説明の英語はよくわからんので推奨設定のままインストール。
○Pathを通す
ここら辺からプログラムとかパソコンに疎い(研究室の中では強い方)自分には意味がわからないことになってくる。このpathは顔パスのパスと同義(多分)、pathを通すとpythonを開いて!ってコマンドプロンプトで命令するときにC:Users/ユーザー名/Anaconda3/Python.exe 的なことを書かずにPythonって書けば良くなるらしい。何言ってるかわからないと思うが、windowsなら「環境変数を編集」って左下から検索して、ユーザー環境変数のpathをクリックして編集をクリック。新規→参照かPython.exeが保存されているフォルダを選択して環境変数に追加してあげればパスが通ることになるらしい。他にもいろいろPathを通さなければならないらしいが、環境変数の設定についてちゃんと書かれているwebサイトを適宜調べてやるのが良いと思う。
ちなみにAnacondaのインストール時に推奨設定通りではなく一回チェックするとこのpathを通しておいてくれる、言っといてくれよ。
○VScodeの導入
Virtual Studio Codeはプログラムを書くためのツール。
いろいろ色がついて格好いい・・・のではなく、編集に便利。(下にエラー出まくってるのは気にしないで)
導入もサイトからインストールするだけ、Pythonの実行環境をAnaconda環境やそうじゃない環境で選べるようなのでどこかしらで便利になるだろう。みんなのPython中で使用しているJupyter Notebookが便利なので、VScodeでも使えるようにしておいた(Jupyterの説明は適宜検索)
○ImageJをVScodeで動かせるのか
ImageJでpythonを使っていたときはImageJがJavaで出来ているため、ImageJ内のツールでJython(Java+Python)を使って書いてImageJ内で動かしていた。これを外部のソフト(VScode)から動かせないか、と言う疑問が湧いた(動かせるのであればVScodeの仕様でやった方が楽そう)。外部のPythonからImageJを動かすにはpyImageJというモジュールが必要のようだった。これをcondaを使ってインストール・・・というところでプロキシの問題があって断念(ラボでやったから大学のプロキシに引っかかったくさい)。もう最後のこの文章なんの解説もしてないけどいいや。
体感としてはImageJをVScodeで外から動かすことは出来そうだけど自分の能力的な問題も込みでまだ難しそう。
☆要はどういう環境構築したの
・Python(Anaconda)をインストールしpathを通した。
・VScodeで編集できるようにした
・ついでにJupyterNotebookをVScodeで使えるようにした
とりあえずはこんな感じ。研究に即利用できる感じではないが、勉強するには十分だと思う。
というわけで明日から本当にみんなのPythonを勉強する(はず)。